Computer Science E-259



Similar documents
Agents and Web Services

CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services Skilltop Technology Limited. All rights reserved.

Agenda Summary of Previous Session

Presentation / Interface 1.3

Session Topic. Session Objectives. Extreme Java G XML Data Processing for Java MOM and POP Applications

High Performance XML Data Retrieval

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS CIW XML/DHTML/CSS/XHTML WEB 2350

Web services payment systems. Master Thesis Technical University of Denmark

JAVA/J2EE DEVELOPER RESUME

Introduction to XML Applications

Concrete uses of XML in software development and data analysis.

Internet / XML / SOA, XML and Web Services

BASI DI DATI II 2 modulo Parte II: XML e namespaces. Prof. Riccardo Torlone Università Roma Tre

XML- New meta language in e-business

REDUCING THE COST OF GROUND SYSTEM DEVELOPMENT AND MISSION OPERATIONS USING AUTOMATED XML TECHNOLOGIES. Jesse Wright Jet Propulsion Laboratory,

VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR DEPARTMENT OF COMPUTER APPLICATIONS SUBJECT : MC7502 SERVICE ORIENTED ARCHITECTURE

JOHN KNEILING APRIL 3-5, 2006 APRIL 6-7, 2006 RESIDENZA DI RIPETTA - VIA DI RIPETTA, 231 ROME (ITALY)

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

Developing XML Solutions with JavaServer Pages Technology

By Koji MIYAUCHI* ABSTRACT. XML is spreading quickly as a format for electronic documents and messages. As a consequence,

IT6503 WEB PROGRAMMING. Unit-I

Overview Document Framework Version 1.0 December 12, 2005

An Oracle White Paper May Creating Custom PDF Reports with Oracle Application Express and the APEX Listener

An Overview of XML and Related Technologies

WebSphere Suite Overview

Consuming and Producing Web Services with WST and JST. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Jamcracker Web Services. David Orchard Standards Architect

Research on the Model of Enterprise Application Integration with Web Services

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

Building Web Applications, Servlets, JSP and JDBC

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

T Network Application Frameworks and XML Web Services and WSDL Tancred Lindholm

Sun Training Guide. Optimise Your Data Centre. October 2004

Application Servers G Session 1 - Main Theme Legacy Application Server Technology. Dr. Jean-Claude Franchitti

Cocoon 2 Programming: Web Publishing with XML and Java"

DataDirect XQuery Technical Overview

Last Week. XML (extensible Markup Language) HTML Deficiencies. XML Advantages. Syntax of XML DHTML. Applets. Modifying DOM Event bubbling

For Course Details, visit:

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Siena Web Services. A Solution To Personal Computing With Established Desktop Programs Exploiting Web Technologies

Consuming and Producing Web Services with Web Tools. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Java 2 Platform, Enterprise Edition (J2EE): Enabling Technologies for EAI

Efficiency of Web Based SAX XML Distributed Processing

Extensible Markup Language (XML): Essentials for Climatologists

JAVA ENTERPRISE IN A NUTSHELL. Jim Farley and William Crawford. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo.

What is a Web service?

4 Understanding. Web Applications IN THIS CHAPTER. 4.1 Understand Web page development. 4.2 Understand Microsoft ASP.NET Web application development

Building Web Services with Apache Axis2

Using Altova Tools with DB2 purexml

NetBeans IDE Field Guide

XML Processing and Web Services. Chapter 17

XML Integrated Development Environments Accelerating XML Application Development in the Enterprise

JÁN LACKO, EUGEN RUŽICKÝ WEB TECHNOLOGIES AND DESIGN

Keywords: XML, Web-based Editor

Invited Expert on XForms and HTML Working Group

Web Services Technologies

DEVELOPMENT OF THE INTEGRATING AND SHARING PLATFORM OF SPATIAL WEBSERVICES

Strategic Information Security. Attacking and Defending Web Services

ISM/ISC Middleware Module

Easy CramBible Lab DEMO ONLY VERSION Test284,IBM WbS.DataPower SOA Appliances, Firmware V3.6.0

Windows 2000 / NT 4.0 / 95 / 98, MS-DOS, Suse Operating Systems

XML WEB TECHNOLOGIES

XForms. National Informatics Centre, Open Technology Centre. -a new generation e-form Introduction

What Is the Java TM 2 Platform, Enterprise Edition?

How To Understand A Services-Oriented Architecture

SOFTWARE ENGINEERING PROGRAM

Service Oriented Architecture

World Wide Web Aka The Internet. Karst Koymans. Friday, October 2, 2015

CSET 3100 Advanced Website Design (3 semester credit hours) IT Required

Network Security. Chapter 10. Application Layer Security: Web Services. Part I: Introduction to Web Services

How to make a good Software Requirement Specification(SRS)

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture # Apache.

Virtual Credit Card Processing System

Towards XML-based Network Management for IP Networks

Web technologies - past, present, future

Leveraging the iseries with XML

Developing Web Services with Eclipse

N CYCLES software solutions. XML White Paper. Where XML Fits in Enterprise Applications. May 2001

Complete Java Web Development

Java 2 Platform, Enterprise Edition (J2EE) Bruno Souza Java Technologist, Sun Microsystems, Inc.

An introduction to creating JSF applications in Rational Application Developer Version 8.0

Architectures, and. Service-Oriented. Cloud Computing. Web Services, The Savvy Manager's Guide. Second Edition. Douglas K. Barry. with.

Extreme Java G Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti

Cloud Computing, Interactive Websites, and Scientific Research/Education

The inkml (language) and other W3C techs applied to a multichannel. processing system.

JAVA. EXAMPLES IN A NUTSHELL. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo. Third Edition.

SOFTWARE ARCHITECTURE FOR FIJI NATIONAL UNIVERSITY CAMPUS INFORMATION SYSTEMS

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Internet Technologies_1. Doc. Ing. František Huňka, CSc.

XML-based Supply Chain Management as SIMPLEX as it is

Web Services as a mechanism for exposing smart services. Brasche Program Director gobrasch@microsoft.com

Business Process Management

Creativity. Technology. Results.

EMC Documentum Documentum Foundation Classes

CIS 241 INTRODUCTION TO E-COMMERCE

BMC Remedy Action Request System Integration Guide

Web application development landscape: technologies and models

Introducing Oracle BI / XML Publisher

Service Oriented Computing: SOAP, WSDL and UDDI. Dr. Cristian Mateos Diaz ( ISISTAN - CONICET

XML. CIS-3152, Spring 2013 Peter C. Chapin

Transcription:

XML with Java, Java Servlet, and JSP Lecture 1: Introduction 17 September 2007 David J. Malan malan@post.harvard.edu 1

The Hype In the Press "XML, as a context-rich, data-neutral file format, is probably the most important new technology development of the last two years." Michael Vizard, InfoWorld "An idea almost as good as peanut butter and chocolate!" XML/EDI Group "'[A] spreading ooze of data' will expand as people exchange data more easily with XML." Rita Knox, Gartner Group 2

The Hype In the Classroom XML s strength is its wide adoption and excellent tools. XML itself is not that exciting. XML is very zen. If you get XML, it s rarely about the XML, it s about the data and the tools. If you don t get it, it s all about angle brackets and buzzword-compliance. 3

Goals of the Course Cut through the hype and get to the value Focus on practicality: what you need to know to do real work applications: what are the tools and technologies necessary to put XML to use possibilities: what are some of the most common ways XML is being used in applications Emphasize understanding from the bottom up 4

Rewards of the Course A solid understanding of XML, the syntax, data structures, and algorithms that surround it Xperience DTD, SVG, XForms, XInclude, XLink, XML Base, XML Encryption, XML Key Management, XML Namespaces, XML Schema, XML Signature, XPath, XPointer, XQuery, XSL-FO, and XSLT SAX and DOM JAXP and TrAX JavaServer Pages and Java Servlet HTTP, SOAP, web services, WSDL FOP, Stylus Studio, Tomcat, Xalan, Xerces, XMLSpy... 5

Agenda Computer Science E-259 J2EE XML What Who When How Why Computer Science E-259 6

J2EE API http://java.sun.com/javaee/5/docs/api/ 7

J2EE J2SE http://java.sun.com/j2se/1.5.0/docs/api/ 8

XML What XML is a language for creating other languages! XML lets you define schemas for tag-based languages (ergo, markup language ) XML allows you to extend any existing language (schema) with your own tags (ergo, extensible ) Examples of XML schemas financial transactions (stock transactions) business documents (purchase order, invoice) remote procedure calls (SOAP) configuration files (security, server properties) 9

XML Who World Wide Web Consortium (W3C) http://www.w3c.org/ 10 Image from http://www.w3.org/consortium/process-20010719/tr, copyright 1999 2005, W3C.

XML When The World Wide Web Consortium (W3C) formed an XML Working Group in 1996 with these design goals 1. XML shall be straightforwardly usable over the Internet 2. XML shall support a wide variety of applications 3. XML shall be compatible with SGML 4. It shall be easy to write programs which process XML documents 5. The number of optional features in XML is to be kept to the absolute minimum, ideally zero 6. XML documents should be human-legible and reasonably clear 7. The XML design should be prepared quickly 8. The design of XML shall be formal and concise 9. XML documents shall be easy to create 10. Terseness in XML markup is of minimal importance 11

XML When XML 1.0 became a standard (W3C recommendation) on 10 February 1998 effort grew out of experience with SGML cooperation between various W3C member organizations (including Microsoft, Sun, IBM, HP, Adobe) XML 1.1 became a standard (W3C recommendation) on 4 February 2004 less rigid constraints on names addresses issues involving character sets 12

XML How element child element start tag end tag attribute <ORDER> <SOLD-TO> value <PERSON ID="123"> <LASTNAME>Malan</LASTNAME> <FIRSTNAME>David</FIRSTNAME> </PERSON> </SOLD-TO> <SOLD-ON>20050621</SOLD-ON> <ITEM> <PRICE>29.95</PRICE> <BOOK> <TITLE>Harry Potter and the Order of the Phoenix</TITLE> <AUTHOR>J.K. Rowling</AUTHOR> </BOOK> </ITEM> </ORDER> text 13

14 XML How <ORDER> <SOLD-TO> <PERSON ID="123"> <LASTNAME>Malan</LASTNAME> <FIRSTNAME>David</FIRSTNAME> <INITIAL>J</INITIAL> <ADDRESS> <STREET>Oxford Street</STREET> <NUMBER>33</NUMBER> <CITY>Cambridge</CITY> <STATE>MA</STATE> </ADDRESS> </PERSON> </SOLD-TO> <SOLD-ON>20050621</SOLD-ON> <ITEM>... </ITEM> </ORDER> extend structure without breaking existing data and applications

XML Why: Content v. Presentation http://www.blockbuster.com/ 15

XML Why: Application Integration Databases Legacy New App ERP, Accounting, HR 16

XML Why: Application Integration Databases Legacy New App <XML/> ERP, Accounting, HR Enterprise Data Dictionary 17

XML Why: Application Integration Databases Databases App App App <XML/> The Internet App App App ERP, Accounting, HR ERP, Accounting, HR 18

XML Why: Platform-Independent Services In the past, functionality was exposed to remote clients via various remote object standards COM/DCOM CORBA Java RMI Using these remote objects required a significant investment in a platform Web Services provide a new way to expose functionality use XML and XML data types for transport work with any platform provide a bridge to existing business services 19

Prerequisites Comfort with Java and HTML or XHTML is assumed. 20

Expectations Attend or watch all lectures Complete four assigned projects Design and implement a final project 21

Grades Project 1 Project 2 Project 3 Project 4 Final Project 22

Lectures Lecture 1: Introduction Lecture 2: XML 1.1 and SAX 2.0.2 Lecture 3: DOM Level 3 Lecture 4: XPath 1.0 (and 2.0) and XSLT 1.0 (and 2.0) Lecture 5: XPath 1.0 (and 2.0) and XSLT 1.0 (and 2.0), Continued Lecture 6: Namespaces in XML 1.1 (Second Edition), SVG 1.1, and XSL (XSL-FO) 1.0 Lecture 7: HTTP 1.1, JavaServer Pages 2.1, and Java Servlet 2.5 Lecture 8: XQuery 1.0 and DTD Lecture 9: XML Schema (Second Edition) Lecture 10: XML Schema (Second Edition), Continued Lecture 11: Web Services, SOAP 1.2, and WSDL 1.1 Lecture 12: Web Services, SOAP 1.2, and WSDL 1.1, Continued Lecture 13: Ajax Lecture 14: Conclusion 23

Projects Project 1: My First XML Parser Project 2: XTube Project 3: Wahoo! Project 4: Scamazon.com 24

Final Project Pre-Proposal Proposal Status Report Implementation and Documentation 25

Exams No Midterm No Final Exam 26

Books Core Servlets and JavaServer Pages, Vol. 1: Core Technologies, Second Edition Essential XML Quick Reference XML Pocket Consultant XSLT Programmer s Reference, Second Edition 27

nice.fas.harvard.edu 28

Website http://www.fas.harvard.edu/~cscie259/ 29

Staff cscie259@fas.harvard.edu 30

Listserv cscie259@lists.dce.harvard.edu 31

Academic Honesty With the exception of the final project, on which some collaboration is allowed, all work that you do toward fulfillment of this course s expectations must be your own. Viewing or copying another individual s work (even if published in a world-accessible directory) or lifting material from a book, magazine, website, or other source even in part and presenting said matter as your own constitutes academic dishonesty, as does showing or giving your work, even in part, to another student. Similarly is dual submission academic dishonesty: you may not submit the same or similar work both to this class and to another. Moreover, submission of any work that you intend to use outside of the course (e.g., at work) must be approved by the staff. All forms of cheating will be dealt with harshly. 32 You are welcome to discuss the course s material with others in order to better understand it. You are also welcome to discuss projects setups with others in order to resolve technical difficulties. But you may not discuss projects content with other students beyond superficial details. If in doubt as to the appropriateness of some discussion, contact the staff.

Brownie Points 33

XML with Java, Java Servlet, and JSP Lecture 1: Introduction 17 September 2007 David J. Malan malan@post.harvard.edu 34