IBM WebSphere software platform for e-business

Similar documents
XML. Objectives. Duration. Audience. Pre-Requisites

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

XML and Java: Lessons Learned in Building Application. Ted Leung Technical Lead, XML4J Parser

Structured documents

Extreme Java G Session 3 - Sub-Topic 5 XML Information Rendering. Dr. Jean-Claude Franchitti

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML

Data Presentation and Markup Languages

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

Introduction to XML. XML: basic elements

XML Parsers. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML

Introduction p. 1 An XML Primer p. 5 History of XML p. 6 Benefits of XML p. 11 Components of XML p. 12 BNF Grammar p. 14 Prolog p. 15 Elements p.

XML. extensible Markup Language. Overview. Overview. Overview XML Components Document Type Definition (DTD) Attributes and Tags An XML schema

The main Topics in this lecture are:

Markup Languages SGML, HTML, XML, XHTML. CS 431 February 13, 2006 Carl Lagoze Cornell University

Introduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

XML. COSC Dr. Ramon Lawrence. An attribute is a name-value pair declared inside an element. Comments. Page 3. COSC Dr.

HTML and XML. XML stands for extensible Markup Language

XML Overview, part 1

XML. Presented by : Guerreiro João Thanh Truong Cong

Introduction to XML 3/14/12. Introduction to XML

Document Parser Interfaces. Tasks of a Parser. 3. XML Processor APIs. Document Parser Interfaces. ESIS Example: Input document

Read & Download (PDF Kindle) XML For Dummies

Introduction to XML. Large Scale Programming, 1DL410, autumn 2009 Cons T Åhs

Oracle Application Server 10g Oracle XML Developer s Kit Frequently Asked Questions September, 2005

Introduction to XML (Extensible Markup Language)

XML for Java Developers G Session 2 - Sub-Topic 1 Beginning XML. Dr. Jean-Claude Franchitti

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11

What is XML? XML is designed to transport and store data.

Web Programming Paper Solution (Chapter wise)

COP 4814 Florida International University Kip Irvine XSLT. Updated: 2/9/2016 Based on Goldberg, Chapter 2. Irvine COP 4814

Data Exchange. Hyper-Text Markup Language. Contents: HTML Sample. HTML Motivation. Cascading Style Sheets (CSS) Problems w/html

XML: and related technologies

XML Master: Professional V2

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

IBM. XML and Related Technologies Dumps Braindumps Real Questions Practice Test dumps free

XML: Managing with the Java Platform

Introduction Syntax and Usage XML Databases Java Tutorial XML. November 5, 2008 XML

EXAM IN SEMI-STRUCTURED DATA Study Code Student Id Family Name First Name

The Xlint Project * 1 Motivation. 2 XML Parsing Techniques

Manipulating XML Trees XPath and XSLT. CS 431 February 18, 2008 Carl Lagoze Cornell University


Introduction to XML. M2 MIA, Grenoble Université. François Faure

A DTD-Syntax-Tree Based XML file Modularization Browsing Technique

XML Extensible Markup Language

.. Cal Poly CPE/CSC 366: Database Modeling, Design and Implementation Alexander Dekhtyar..

Repurpose Your Data! XSL Transformations in e-business solutions

Next Generation Query and Transformation Standards. Priscilla Walmsley Managing Director, Datypic

DICOM Structured Reporting: Implementation Experience

AIM. 10 September

XML. Rodrigo García Carmona Universidad San Pablo-CEU Escuela Politécnica Superior

M359 Block5 - Lecture12 Eng/ Waleed Omar

XML for Java Developers G Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti

Exam : Title : XML 1.1 and Related Technologies. Version : DEMO

Electronic Commerce Architecture Project LAB ONE: Introduction to XML

COMP9321 Web Application Engineering

Contents. Markup Language and the need of XML. Using environment XML and growth direction. To understand dxml standard.

XML Update. Royal Society of the Arts London, December 8, Jon Bosak Sun Microsystems

Part 2: XML and Data Management Chapter 6: Overview of XML

National Language Support for Windows NT and AIX Now Available with IBM WebSphere Application Server V3.0.1, Standard Edition

Inf 202 Introduction to Data and Databases (Spring 2010)

XSLT program. XSLT elements. XSLT example. An XSLT program is an XML document containing

The Extensible Markup Language (XML) and Java technology are natural partners in helping developers exchange data and programs across the Internet.

Introduction. " Documents have tags giving extra information about sections of the document

XML for Business to Business Data Exchange

Introduction to XML. When talking about XML, here are some terms that would be helpful:

Chapter 1: Getting Started. You will learn:

The XML Metalanguage

BizTalk Server Introduction. Marius Rochon Technical Evangelist

Author: Irena Holubová Lecturer: Martin Svoboda

1.264 Lecture 13 XML

CLASS DISCUSSION AND NOTES

extensible Markup Language

Agenda. XML Generics. XML for Java Developers G Session 1 - Main Theme Markup Language Technologies (Part I)

EXAM IN SEMI-STRUCTURED DATA Study Code Student Id Family Name First Name

DocumentFrameworks. markup your mind!

Introduction. " Documents have tags giving extra information about sections of the document

XML Metadata Standards and Topic Maps

I R TECHNICAL RESEARCH REPORT. An XML-Based Approach to Integrating Semiconductor Process Information. by Jing Chen, Raymond A. Adomaitis TR

Download DocBook Xsl: The Complete Guide (4th Edition) PDF

XSLT: How Do We Use It?

Exam Name: IBM Forms 4 - Form Design and Development

Create web pages in HTML with a text editor, following the rules of XHTML syntax and using appropriate HTML tags Create a web page that includes

TagSoup: A SAX parser in Java for nasty, ugly HTML. John Cowan

Chapter 13 XML: Extensible Markup Language

Contents. Introduction... xvii

Parallel/Distributed Databases XML

XML: Extensible Markup Language

Indexing into Controlled Vocabularies with XML

XML Applications. Prof. Andrea Omicini DEIS, Ingegneria Due Alma Mater Studiorum, Università di Bologna a Cesena

Introduction to XML the Language of Web Services

The Adobe XML Architecture

Part III: Survey of Internet technologies

COMP9321 Web Application Engineering. Extensible Markup Language (XML)

The Specification Xml Failed To Validate Against The Schema Whitespace

Understanding Page Template Components. Brandon Scheirman Instructional Designer, OmniUpdate

XML: the document format of the future?

Multi-modal Web IBM Position

Transcription:

IBM WebSphere software platform for e-business XML Review Cao Xiao Qiang Solution Enablement Center, IBM May 19, 2001 Agenda What is XML? Why XML? XML Technology Types of XML Documents DTD XSL/XSLT Available XML Tools from IBM Competitive Perspectives Summary For More Information...

What is XML? What is XML? EXtensible Markup Language New technology for web applications Based on tags User-defined tags identify the kind of data represented Designed to easily represent data in a very portable manner What is the key message of Java? Code portability (i.e. Write Once, Run Anywhere) What is the key message of XML? Data portability

What is XML? XML and Java technology are the "yin and yang of cross-platform computing" -- Jon Bosak "Father of XML" What is XML? XML tags are user defined Can be enforced by rules (covered later) <OBCustomerList> <customer> <cust-fname>rob</cust-fname> <cust-lname>roy</cust-lname> <account> <acct-number>1000</acct-number> <acct-balance>1000.25</acct-balance> </account> </customer> </OBCustomerList> <MyTuesdayDinner> <appetizer>buffalo Wings</appetizer> <entree>sirloin Steak></entree> <vegetable>peas</vegetable> <desert>ice Cream</desert> </MyTuesdayDinner>

Why XML? XML provides a standard way of exchanging data: Business-to-Business (B2B) B2B revenue $109 billion in 1999 B2B revenue $2.7 trillion by 2004 (Forrester) How would B2B data exchange without XML? EDI, TextFiles, PDF, proprietary messages? XML certainly has applicability in non-b2b environments as well Bottom Line: XML simplifies B2B transactions the web What's wrong with just HTML? HTML simply defines how something should be rendered Does not define what the data is CustList.html <p><b>customer List</b> <hr> <br>customer: Rob Roy <br>account # 1000 <br>balance: 1000.25</p>

Why XML XML defines the data Rendering can easily be applied to XML using Style Sheets (XSL) (covered later) CustList.xml <customer> <cust-fname>rob</cust-fname> <cust-lname>roy</cust-lname> <account> <acct-number>1000</acct-number> <acct-balance>1000.25</acct-balance> </account> </customer> CustList.html <p><b>customer List</b> <hr> <br>customer: Rob Ro <br>account # 1000 <br>balance: 1000.25</p> CustList.WM <card> <hr> <br>customer: Rob Roy <br>account # 1000 <br>balance: 1000.25</p> CustList.doc </card> Customer Rob Roy Account List Account # 1000 Acct Balance: 1000.25 Key Benefits of XML Vendor and Platform Independence Easily model data at any level of complexity Extremely Extensible Define new tags as needed Easily validate data to check for structural correctness Media independence to publish content in multiple formats: e.g. HTML, WML, CompactHTML, etc.

Practical Uses for XML B2B Communication Company A wants to exchange information with Company B Company A doesn't need to understand how Company B organizes their data Company A simply follows some simple rules when sending the data These rules are defined in a DTD (covered later) Smart Searches Search Engines can't process HTML intelligently e.g.: Search for Rock Results: Rock Bands, Rock Candy, Rock the movie, etc. XML addresses data content XML Technology

Anatomy of an XML Document <?xml version="1.0" encoding="iso-8859-1? standalone="yes"> <!-- OnlineBank.com customer list --> <OBCustomerList> <customer id="12000"> <cust-fname>rob</cust-fname> <cust-lname>roy</cust-lname> <account> <acct-number>1000</acct-number> <acct-balance>1000.25</acct-balance> </account> </customer> </OBCustomerList> Legend XML Prolog XML Comment XML Element XML Attribute What are DTDs? Document Type Definition "Schema" definition for XML documents Defines the structure of an XML document Defines what tags can go in an XML document Defines what tags can contain other flags XML References DTD in <!DOCTYPE> XML prolog CustList.xml <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE OBCustomerList SYSTEM "CustList.dtd" > <OBCustomerList>...

Anatomy of a DTD DTD Symbols: Symbol Meaning Example ELEMENT Declaration of Element <!ELEMENT customer(name, email)> ATTLIST Attribute List for an element <!ATTLIST customer gender(male female)> OR operator <!ATTLIST person gender(male female)>? Element is optional <!ELEMENT customer(name,email?)> + Must be 1 or more elements <!ELEMENT customer(name,account?> * Must be 0 or more elements <!ELEMENT customer(name,account*> #PCDATA String Data <!ELEMENT name (#PCDATA) Anatomy of a DTD The OBCustomerList element contains 0 or more customer elements CustList.DTD <!ELEMENT OBCustomerList (customer)*>

Anatomy of a DTD The customer element contains: 1 cust-id element 1 cust-fname element 1 cust-lname element 1 cust-addr element 0 or 1 cust-email elements 0 or more account elements CustList.DTD <!ELEMENT customer (cust-id, cust-fname, cust-lname, cust-addr,cust-email?,account*)> Three Types of XML Documents Well-formed Documents Documents which follow the XML tag rules, but don't have a DTD Invalid Documents Documents which doesn't follow the rules defined in its DTD Documents which are incorrect syntactically Invalid: <a><b></a></b> Valid: <a><b></b></a> Valid Documents Documents which follow the rules defined in their DTD

Interpreting (Parsing) XML Documents XML Parsing is the mechanism used to interpret the content of an XML document Two Approaches to Parsing XML documents Document Object Model (DOM) Simple API for XML (SAX) DOM is a standard of the World Wide Web Consortium (W3C) SAX is the "de-facto" standard for parsing XML documents DOM Parsing DOM creates a tree view of your XML document Recursion is used to navigate the tree <OBCustList> <Customer> <Customer> <account> <account>

SAX Parsing SAX is event driven Events are sent as the XML document is parsed e.g. StartDocument, StartElement, EndElement, characters, etc. Application program determines what elements are important SAX vs. DOM DOM has richer set of functions for interpreting content in XML document than SAX DOM should be used when you need to know a lot about the structure of a document In-memory tree constructed of XML document SAX has a simpler programming model Event driven (SAX) vs. recursion (DOM) SAX uses less memory than DOM SAX doesn't constuct the XML document in-memory

SAX vs. DOM Use DOM when: You need to use the information in an XML document more than once DOM creates an in-memory tree which you can navigate many times while only parsing the XML document once You need to know a lot about the structure of a document e.g. Relationships between elements Use SAX when: You need to parse/navigate XML document once You need only a few elements in XML document Small memory requirements XSL XSL is a transformation and formatting language An XSL stylesheet is used to transform XML into another format e.g. HTML, XML, etc XSL stylesheets contain templates that define how the XML elements should be transformed

XSL Example CustList.XSL <?XML version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/transform"> <xsl:template match="obcustomerlist"> <html> <xsl:apply-templates/> <html> </xsl:template> <xsl:template match="customer"> <P><B>Customer Found: <xsl:value-of select="cust-id"/> </B></P> </xsl:template> XML Element }Template Rule XSL Transformation Where can the transformation happen? Client Side (with XML/XSL capable browser): XML document and style sheet are served to client Microsoft Internet Explorer 5.0 support this Server Side: Server applies XSL style sheet to XML document and sends the transformed document to the client WebSphere with LotusXSL AlphaWorks XML Enabler A "third" program performs transformation and places transformed document on server XT or Microsoft msxsl tool Server Side transformation are usually best

XML Tools from IBM XML Tools from IBM IBM XML Parser for Java Industry leading DOM/SAX XML parser LotusXSL Server-side XSL processor Available in WebSphere or AlphaWorks XML Enabler Uses LotusXSL to implement server-side XSL processing Visual XML Tools Visual DTD Visual XML Creation Visual XML Transformation Visual XML Query

XML Tools from IBM (continued) Xeena Visual XML authoring tool XML Viewer View XML/DTD from a single window XML Generator Generate XML test cases from a DTD XML Security Suite Digital Signature, element-wise encryption XSL Editor Visually edit/test XSL stylesheets Alphaworks contains 40+ XML tools/solutions What does VisualAge for Java Support? Everything we've covered! VisualAge for Java 3.5 ships with: IBM XML Parser for Java IBM XML Generator Import LotusXSL to test/build XSL based solutions Many of the AlphaWorks Java based tools can be imported into VisualAge for Java as well Launch External XML tools from Resources Page

IBM XML Tooling: Usage Scenario Develop DTD Primary Tool IBM Visual XML Tools Generate XML Test Cases Primary Tools IBM VisualAge for Java IBM XML Generator Develop backend XML application Primary Tools IBM VisualAge for Java IBM XML Parser for Java Build XML Primary Tools IBM Xeena IBM Visual XML Tools Build XSL Primary Tools IBM XSL Editor IBM Visual XML Tools Unit Test XML Application Primary Tools IBM VisualAge for Java WebSphere Test Env. Deploy XML Application Primary Tools IBM WebSphere Studio IBM WebSphere AS Competitive Perspectives

Competitive Perspectives Microsoft making major investments in XML Have XML, XSL, DTD solutions today XML Software Development Kit (SDK) XML support in (or coming): Windows 2000 Windows DNA 2000 Microsoft BizTalk Server 2000 (may slip to 2001) aka Microsoft XML Server Microsoft SQL Server 7.0 Microsoft Office 2000 SOAP.NET framework IBM and Microsoft are the two XML leaders in industry Competitive Perspectives IBM XML technology based primarily on Java XML and Java offer great portability and openness Microsoft technology not Java based Linking XML technology with their product solutions

Summary Summary - IBM and XML IBM provides the most comprehensive XML solution in industry: Some key products enabled for XML: WebSphere http://www-4.ibm.com/software/webservers/appserv MQSeries http://www2.itworld.com/cma/ett_article_frame/0,2848,1_245,00.html DB2 UDB 7.1 http://www-4.ibm.com/software/data/db2/udb/pdfs/whatsnew.pdf Industry leader in quality XML development tools Why are they free from AlphaWorks? Leadership! Tools are consistently ranked very high by users Microsoft XML tools in SDK include an xml parser, xsl parser, and code examples non-productive tools

Summary XML is changing How companies manage/exchange data In an open and portable manner B2B data exchange will be a major factor in driving XML The ultimate success of XML outside of high-end applications may depend on easy-to-use tooling: "XML is today where PostScript was before Adobe Illustrator" http://www.zdnet.com/zdnn/stories/comment/0,5859,2594206,00.html IBM is positioned to be the leader in XML technology For More Information...

For More Information... http://www.ibm.com/xml Links to all things XML http://pdbeam.uwaterloo.ca Several XML Tutorials http://www.javaworld.com Several articles on programming XML in Java http://www.alphaworks.ibm.com Many XML Tools XML and Java - Developing Web Applications Hiroshi Maruyama, Kent Tamura, Naohiko Uramoto