The second <valid> element is valid because the unprefixed attribute a is in no namespace (remember that default namespace declarations don't affect attributes), and the ns1:a at[r]
Trang 1Introduction to XML and Related Technologies
(Course Code XM301)
Student NotebookERC 4.1
cover
Trang 2July 2004 Edition
The information contained in this document has not been submitted to any formal IBM test and is distributed on an “as is” basis without any warranty either express or implied The use of this information or the implementation of any of these techniques is a customer responsibility and depends on the customer’s ability to evaluate and integrate them into the customer’s operational environment While each item may have been reviewed by IBM for accuracy in a specific situation, there is no guarantee that the same or similar results will result elsewhere Customers attempting to adapt these techniques to their own environments do so at their own risk.
© Copyright International Business Machines Corporation 2001, 2004 All rights reserved.
This document may not be reproduced in whole or in part without the prior written permission of IBM.
Note to U.S Government Users — Documentation related to restricted rights — Use, duplication or disclosure is subject to restrictions
Trademarks
IBM® is a registered trademark of International Business Machines Corporation
The following are trademarks of International Business Machines Corporation in the United States, or other countries, or both:
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc in the United States, other countries, or both
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both
UNIX is a registered trademark of The Open Group in the United States and other
countries
SET and the SET Logo are trademarks owned by SET Secure Electronic Transaction LLC.Other company, product and service names may be trademarks or service marks of others
Trang 3TOC Contents
Trademarks xi Course Description xiii Agenda xv
Unit 1 Introduction to XML and Related Technologies 1-1
Introduction 1-2Course Description 1-3Audience 1-4Prerequisites 1-5Course Objectives (1 of 2) 1-6Course Objectives (2 of 2) 1-7Agenda - Day 1 1-8Agenda - Day 2 1-9Agenda - Day 3 1-10Unit Summary 1-11
Unit 2 Issues in Electronic Information Exchange 2-1
Unit Objectives 2-2Electronic Information Exchange (1 of 2) 2-3Electronic Information Exchange (2 of 2) 2-4Intra-Application Information Exchange 2-5Agile Views - Multiple Client/Device Support 2-6Inter-Application Information Exchange 2-7Context-free Communication 2-8B2B Intercompany Information Exchange 2-9Need to Establish Common Ground for Communication 2-10Inter-system Information Exchange 2-11Exchanging Messages 2-12The Semantic Web 2-13
A Common Solution? 2-14Checkpoint Questions (1 of 2) 2-15Checkpoint Questions (2 of 2) 2-16
Trang 4Element Rules - Rule 1 Single Root Element .3-9Element Rules - Rule 2 Element Tag Rules .3-10Element Rules - Rule 3 Element Nesting .3-11Element Nesting Example .3-12Element Rules - Rule 4 XML Naming Rules 3-13Rule 4 Tag Naming - Samples 3-14Rule 4 Element Content (1 of 2): General 3-15Rule 4 Element Content (2 of 2): Data 3-16Rule 4 PCDATA - Parsed Character Data 3-17Rule 4 CDATA - Character Data 3-18Rule 4 CDATA Examples .3-20Element Rules - Rule 5 Element Attributes 3-21Element Rules - Rule 6 XML Declaration (1 of 2) 3-22Element Rules - Rule 6 XML Declaration (2 of 2) 3-23Comments .3-24Internationalization and Encoding (1 of 2) .3-25Internationalization and Encoding (2 of 2) .3-26Processing Instruction .3-27Well-formed versus Valid 3-28HTML versus XML (1 of 2) 3-29HTML versus XML (2 of 2) 3-30HTML and XML Key Differences .3-31Checkpoint Questions (1 of 3) .3-32Checkpoint Questions (2 of 3) .3-33Checkpoint Questions (3 of 3) .3-34Unit Summary 3-35
Unit 4 WebSphere Studio Application Developer Overview 4-1
Unit Objectives 4-2Roles-based Development 4-3Development Environment Goals 4-4IBM WebSphere Studio Family 4-5Family Contents 4-6WebSphere Studio Workbench .4-7WebSphere Studio Workbench Rationale .4-8WebSphere Studio Application Developer 4-9Terminology .4-10Perspectives 4-11Views .4-12Editors 4-13Online Help 4-14Cheat Sheets .4-15Application Developer Design Points 4-16Tooling .4-17Java IDE (1 of 3) 4-18Java IDE (2 of 3) 4-19Java IDE (3 of 3) 4-20J2EE Tooling (1 of 2) .4-21
Trang 5TOC J2EE Tooling (2 of 2) 4-22
Portlet Tooling 4-23Data Tooling (1 of 2) 4-24Data Tooling (2 of 2) 4-25Web Tooling (1 of 2) 4-26Web Tooling (2 of 2) 4-27XML Tooling (1 of 3) 4-28XML Tooling (2 of 3) 4-29XML Tooling (3 of 3) 4-30Performance/Trace Tooling 4-31Team Development 4-32Web Services Tooling (1 of 2) 4-33Web Services Tooling (2 of 2) 4-34Standards Support 4-35Review 4-36Unit Summary 4-37
Unit 5 Document Type Definition (DTD) 5-1
Unit Objectives 5-2Review: Well-Formed XML 5-3Why Do We Need DTDs? 5-4What Is a DTD? 5-5What is Allowed in a DTD? (1 of 2) 5-6What is Allowed in a DTD? (2 of 2) 5-7XML and DTD Example 5-8What Is Allowed .Declaring Elements 5-9Element Content Models 5-10EMPTY Content Model 5-11ANY Content Model 5-12Elements Content Model 5-13Elements Content Examples (1 of 3) 5-14Elements Content Examples (2 of 3) 5-15Elements Content Examples (3 of 3) 5-16Mixed Content Model 5-17What Is Allowed .Declaring Attributes 5-18Organizational Note 5-19Attribute Types 5-20
Trang 6Parameter ENTITYs - Another Example 5-34What Is Allowed Declaring Comments .5-35Joining a DTD to an XML Instance 5-36External DTD Subset .5-37Internal DTD Subset 5-39Split DTD Subsets .5-41Whitespace and DTDs 5-42Ignorable Whitespace Example .5-43Validating versus Non-validating Processors 5-44Example DTDs 5-45What's Wrong with DTDs? 5-47Status of DTDs 5-48Tooling .5-49Checkpoint Questions (1 of 2) .5-50Checkpoint Questions (2 of 2) .5-51Unit Summary 5-52
Unit 6 XML Namespaces 6-1
Unit Objectives 6-2Problem: Element and Attribute Names can be Ambiguous 6-3Elaboration 6-4Namespaces: The Big Idea .6-5XML Namespaces .6-6Qualified Names (QNames) 6-7Declaring Namespaces (1 of 2) .6-8Declaring Namespaces (2 of 2) .6-9Namespace Scope 6-10Default Namespaces .6-11Example - Default Namespaces 6-12Documents with Multiple Namespaces 6-13Elements with No Namespace 6-14Attributes and Namespaces 6-15Namespace Processing 6-16Example: Use of Namespaces 6-17Problems with Namespaces 6-18Best Practices 6-19Status of Namespaces 6-21More Information 6-22Checkpoint Questions 6-23Unit Summary 6-24
Unit 7 XML Schema 7-1
Unit Objectives 7-2Approach .7-3What Is an XML Schema? .7-4Why Do We Need XML Schema? .7-6DTD versus XML Schema (1 of 2) 7-8DTD versus XML Schema (2 of 2) 7-9
Trang 7TOC Requirements Applied to the XSD Language (1 of 3) 7-10
Requirements Applied to the XSD Language (2 of 3) 7-12Requirements Applied to the XSD Language (3 of 3) 7-13Anatomy of an XML Schema 7-14
A Simple XML Document - Return to Basics 7-15
A Simple XML Document - Basic Nomenclature 7-16
A Simple XML Document - Basic Schema Concepts 7-17Simple Types Built-in to XML Schema 7-18
A Simple XML Document - How Studio Sees It 7-19
A Simple XML Document - XSD Part 1 (1 of 7) 7-20
A Simple XML Document - XSD Part 1 (2 of 7) 7-22
A Simple XML Document - XSD Part 1 (3 of 7) 7-23
A Simple XML Document - XSD Part 1 (4 of 7) 7-24
A Simple XML Document - XSD Part 1 (5 of 7) 7-25
A Simple XML Document - XSD Part 1 (6 of 7) 7-26
A Simple XML Document - XSD Part 1 (7 of 7) 7-27
A Simple XML Document - XSD Part 2 (1 of 4) 7-28
A Simple XML Document - XSD Part 2 (2 of 4) 7-29
A Simple XML Document - XSD Part 2 (3 of 4) 7-30
A Simple XML Document - XSD Part 2 (4 of 4) 7-31
A Simple XML Document - XSD Part 3 (1 of 2) 7-32
A Simple XML Document - XSD Part 3 (2 of 2) 7-33
A Simple XML Document - XSD Part 4 (1 of 2) 7-34
A Simple XML Document - XSD Part 4 (2 of 2) 7-35
A Simple XML Document - Connecting the Schema to the Instance 7-36What's Next? 7-38 .but first 7-39XML Schema Part II 7-40Before We Begin: Some Notes about Studio 7-41Complex Type Definitions, Element and Attribute Declarations 7-42Parts of XSD Speech (1 of 2) 7-43Parts of XSD Speech (2 of 2) 7-44Resetting Expectations 7-451.1 Simple Type (simpleType) Definition 7-46All the Built-in Simple Types 7-47Creating New Simple Types 7-49Facets 7-50
Trang 8Example: minOccurs and maxOccurs .7-631.4 Attribute Declaration 7-64Declaring Attributes .7-65Example: Attribute Declaration 7-66Example: An Element with Attributes (1 of 2) 7-67Example: An Element with Attributes (2 of 2) 7-682.1 Attribute Group Definitions 7-69Anonymous Types in Attribute Declarations 7-702.1 Attribute Group Definitions 7-71Attribute Groups 7-722.3 Model Group Definitions (1 of 2) 7-732.3 Model Group Definitions (2 of 2) 7-742.4 Notation Declarations (1 of 2) 7-752.4 Notation Declarations (2 of 2) 7-763.1 Annotations 7-773.2 Model Groups (1 of 2) 7-783.2 Model Groups (2 of 2) 7-79Example: Compositors (Model Groups) 7-80Model Groups and Compositors 7-82Example: Global Definitions and Declarations 7-843.5 Attribute Uses 7-85Part III Associating a xsd with a xml 7-86 .but first 7-87Namespaces, Schemas and Qualification .7-88Namespaces, Schemas and Qualification .7-89Putting a Schema in a Namespace .7-90XML Schemas and Namespaces 7-91Target Namespace and Schema Location 7-92Finding the Schema 7-93Best Practices (1 of 2) .7-95Best Practices (2 of 2) .7-97References 7-98Unit Summary 7-99
Unit 8 XPath - XML Path Language 8-1
Unit Objectives 8-2What Is XPath? 8-3Why Is It Called XPath? 8-4Example Tree Representation of XML 8-5XPath Expression Evaluation 8-6XPath Current Context 8-7XPath Step Syntax 8-8XPath Address Notation 8-9Example: Absolute Addressing 8-10Example: Absolute Addressing with Predicates 8-11Relative Addressing using Studio 8-12Example: Relative Addressing 8-13XPath - The Thirteen Axes 8-15
Trang 9TOC Abbreviated Step Notation 8-16
XPath - Partitioning the Document 8-17Example: Addressing with Axes 8-18XPath Axis Node Type and Node Tests 8-19Sample Node Tests 8-20XPath - Predicates (1 of 2) 8-21XPath - Predicates (2 of 2) 8-22Predicate Core Functions 8-23Predicate String Functions (1 of 2) 8-24Predicate String Functions (2 of 2) 8-25Predicate Number and Boolean Functions 8-26Reference Information 8-27Checkpoint Questions (1 of 3) 8-28Checkpoint Questions (2 of 3) 8-29Checkpoint Questions (3 of 3) 8-30Unit Summary 8-31
Unit 9 eXtensible Stylesheet Language: Transformations (XSLT) 9-1
Unit Objectives 9-2Why Do We Need XSL Transformations? 9-3Why Do We Need XSL? 9-4XSL: Three Parts 9-5XSLT Language Characteristics (1 of 2) 9-7XSLT Language Characteristics (2 of 2) 9-9XSLT Features 9-10XSL Transformations (XSLT) Overview 9-11The XSLT Process 9-13Anatomy of a Stylesheet 9-15Elements to Generate Output 9-16
<xsl:stylesheet Element 9-17XSL Optional Elements 9-18
<xsl:template Element 9-19
<xsl:apply-templates Element 9-20Pattern Matching (XPath) Examples 9-21Default of <xsl:apply-templates /> 9-23
<xsl:value-of Element 9-24Control Elements 9-25
Trang 10<xsl:if Element .9-37
<xsl:choose Element .9-38
<xsl:choose Example 9-39Elements to Generate Output (XML to XML) 9-40
<xsl:element Element 9-42
<xsl:attribute> 9-43XML to XML Example (1 of 2) 9-44XML to XML Example (2 of 2) 9-45Numbers, Sorting, and Functions 9-46Working with Numbering in XSLT 9-47
<xsl:number Element format Attribute Values .9-49
<xsl:number Example 9-50
<xsl:sort Element .9-51
<xsl:sort Attributes .9-52Sort Example .9-53XPath/XSLT Functions 9-54Other Elements 9-56Attribute Value Templates .9-57Attribute Value Templates Example 9-58XSLT Processors 9-59Xalan 9-60XSL Resources from IBM 9-61XSL References 9-62Checkpoint Questions 9-63Unit Summary 9-64
Appendix A Introduction to Databases and XML A-1 Appendix B Additional Information for XML Schema B-1 Appendix C What’s New in WebSphere Studio V5.1.1 C-1 Appendix D Additional Information and Examples D-1 Appendix E Bibliography and References E-1 Appendix F Acronyms and Abbreviations F-1 Appendix G Glossary G-1 Appendix H Checkpoint Answers H-1
Trang 11TMK Trademarks
The reader should recognize that the following terms, which appear in the content of this training document, are official trademarks of IBM or other companies:
IBM® is a registered trademark of International Business Machines Corporation
The following are trademarks of International Business Machines Corporation in the United States, or other countries, or both:
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc in the United States, other countries, or both
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both
UNIX is a registered trademark of The Open Group in the United States and other
countries
SET and the SET Logo are trademarks owned by SET Secure Electronic Transaction LLC
Trang 13pref Course Description
Introduction to XML and Related Technologies
Duration: 2.5 days
Purpose
This course provides an introduction to XML (eXtensive Markup Language) and related technologies Students will gain conceptual and practical knowledge of the concepts that are required to work with XML The course will build the basic skills to enable architects,
designers, analysts, developers, testers, and administrators to use XML and its related technologies in the context of building e-business applications The course is a 2.5-day classroom course with hands-on lab exercises that reinforce the lecture material
Audience
This course is designed for information technology individuals, including enterprise application architects, designers, developers, and content modelers and creators
Prerequisites
Knowledge of Internet technologies is required Some experience with using HTML would be helpful, but is not necessary
Objectives
After completing this course, you should be able to:
• Describe the important XML standards and recommend their use in business applications
Trang 15pref Agenda
Day 1
Unit 1 - Introduction to XML and Related TechnologiesUnit 2 - Issues in Electronic Information ExchangeUnit 3 - What Is XML?
XML Basics LabUnit 4 - WebSphere Studio Application Developer OverviewIntroduction to WebSphere Studio Application Developer LabUnit 5 - Document Type Definition (DTD)
DTD LabUnit 6 - XML NamespacesXML Namespaces Lab
Day 2
Unit 7 -XML SchemaXML Schema LabUnit 8 - XPath - XML Path LanguageXPath Lab
Unit 9 - XSL - eXtensible Stylesheet Language Part 1XSLT Lab Part 1 - Simple Transforms
Trang 17Uempty Unit 1 Introduction to XML and Related
Technologies
What This Unit is About
This unit describes the audience, prerequisites, and overall objectives for XM301 The overall agenda for the course is also covered
What You Should Be Able to Do
After completing this unit, you should be able to:
• Describe the target audience for XM301
• Explain the prerequisites for the course
• Describe the major objectives for the course
• Describe the agenda for this course offering
Trang 18Please introduce yourself and provide your:
Name and organization
Job Role
Experience with Markup languages
Goals you hope to achieve
Trang 19This course is designed to introduce students to the fundamentals
of XML and its significant derivative companion technologies: XML Schema, Namespaces, XPath, and XSL Transformations
Document Type Declarations (DTDs) are also introduced.
The focus of the course is on the creation, specification and processing of XML documents
The course is 2.5 days in length and provides extensive hands-on labs throughout.
It is expected that additional, after class work (see notes below) will
be required to adequately understand the material we will introduce.
Trang 20Figure 1-3 Audience XM3014.1
Notes:
© Copyright IBM Corporation 2004
Audience
The course is targeted to Information Technology professionals
involved in the exchange of information using XML as the data
transport mechanism.
Trang 22Figure 1-5 Course Objectives (1 of 2) XM3014.1
Notes:
© Copyright IBM Corporation 2004
Course Objectives (1 of 2)
After completing this course, you should be able to:
Describe/differentiate the use of HTML and XML
Enumerate the rules of a well-formed XML document
Create and maintain XML documents
Describe the purpose and use of Document Type Definitions
(DTDs)
Create DTDs describing the validation rules for specific XML
instances*
Describe the purpose and use of XML Schema
Enumerate the benefits of XML Schema over DTDs
Create XML Schemas describing the validation rules for specific XML instances*
* using IBM WebSphere Studio Application Developer
Trang 23After completing this course, you should be able to:
Describe the purpose of XML Namespaces Declare and use XML Namespaces in an XML document*
Describe the use of an XPath in the context of XSLT and XML Schema
Create XPath expressions that locate specific information in an XML instance*
Describe the use of XSL in the processing of XML documents Create an XSL Transformation to transform an XML document into some other instance*
* using IBM WebSphere Studio Application Developer
Trang 24Figure 1-7 Agenda - Day 1 XM3014.1
Notes:
© Copyright IBM Corporation 2004
Agenda - Day 1
Welcome and Introductions
Issues in Information Exchange
Trang 25Lab Exercise XSL Transformation - Part 1 Lab Exercise
Trang 26Figure 1-9 Agenda - Day 3 XM3014.1
Trang 29Uempty Unit 2 Issues in Electronic Information Exchange
What This Unit is About
This unit examines the different ways in which information is exchanged in modern computer systems, identifying issues in each case The discussion is restricted to what is exchanged (the content) not how it is exchanged (the mechanism) A set of messaging criteria are developed that, if met, will reduce the impact of the issues
identified
This unit shows some of the business drivers for XML, and gives examples of how XML is being used by businesses today
What You Should Be Able to Do
After completing this unit, you should be able to:
• Describe the types of information exchange that occur in modern computer systems
• Describe information exchange issues that exist in modern computer systems
• Describe what is needed to address many of the issues that exist in information exchange
How You Will Check Your Progress
Accountability:
• In class discussion
• Checkpoint
Trang 30Figure 2-1 Unit Objectives XM3014.1
Notes:
© Copyright IBM Corporation 2004
Unit Objectives
After completing this unit, you should be able to:
Describe the types of information exchange that occur in modern
Trang 31Notes:
© Copyright IBM Corporation 2004
Electronic Information Exchange (1 of 2)
Electronic information exchange is a simple concept:
Electronically encoded information of one sort or another moves among software units during the execution of some domain- (business) related function.
There are several contexts for information exchange:
Intra-application - information movement among the parts of an application.
Inter-application - information movement between applications in the same company system.
Intercompany - information movement between companies.
Inter-system - information movement between systems in the same company.
There are problem dimensions in each context that shape the way information is exchanged Some of the problems are common but each context also has unique issues to deal with.
Trang 32Figure 2-3 Electronic Information Exchange (2 of 2) XM3014.1
Notes:
© Copyright IBM Corporation 2004
Electronic Information Exchange (2 of 2)
IntercompanyInter-System
Inter-ApplicationIntra-Application
Company n
Trang 33Notes:
© Copyright IBM Corporation 2004
Intra-Application Information Exchange
In a well-structured application, information flows between three different layers:The presentation layer (often called the View): presents information to the user and collects information from the user This layer is often coupled to a particular presentation technology, for example, Presentation Manager, X-Windows, and
so forth Therefore, it often must change significantly when the presentation mode changes
The processing layer (often called the Controller): operates on the information
in accordance with the functional requirements of the application
The business layer (often called the Model or Business Model): maintains the operational constraints that govern the business as a whole It ensures that no individual application contradicts those rules by performing an operation that is inconsistent with those constraints
Presentation Layer (View)
Process Layer (Controller)
Business Layer (Model)
In this context, the biggest Information Exchange issues occur with the View
Trang 34Figure 2-5 Agile Views - Multiple Client/Device Support XM3014.1
Notes:
© Copyright IBM Corporation 2004
Agile Views - Multiple Client/Device Support
Prior to the arrival of the World Wide Web, applications were largely presented via
workstations or dumb terminals, and required (relatively) infrequent modification of their presentation layer The World Wide Web has changed this.
Now, the addition of the mobile work force and use of handheld devices presents new opportunities for business and new challenges for application developers.
Applications must be presented via:
Cell phones and Handhelds, Wireless Markup Language (WML)
Web Browsers (HTML, Style Sheets, JavaScript)
And so forth
Many Web applications suffer from coupling issues where applications habitually
generate output that combines Presentation information (font, color, and so forth) with business information (bank balance, product information, and so forth) making it difficult
to reuse the data stream.
Ideally, the presentation layer would emit/consume a generic, structured information
stream that can be filtered for the target device.
An external rendering engine worries about how it looks, while the application worries
about what should be viewed.
Enables speedy, low-cost support for new client devices.
Need a View-independent, structured
information stream
Trang 35Notes:
© Copyright IBM Corporation 2004
Inter-Application Information Exchange
Ideally, the design of a system takes into account all the operations that it will perform and the applications that will perform them
It is rare that enough information exists to perform such an analysis and rarer still that the design remains stable as the applications that compose the system are constructed (typically at disparate points in time)
Technology does not stand still; it is common to see applications built late in the life of a system using technology that is completely different from that used by the initial ones, for example, COBOL versus Java
Experience has shown that it is best to focus on the application at hand and allow the plans for a system to evolve as further applications are built based on new knowledge of the problem and new technologies
The way that applications communicate should not make assumptions about implementation technology or how information will be used
Trang 36Figure 2-7 Context-free Communication XM3014.1
This means that the information that flows between applications should not be
coupled to a particular technology or to an assumption about how it will be used.When possible, send an application domain entity, for example, a Purchase
Order rather than the individual pieces, for example, a total, an item description, and so forth
Don't use a message that is bound to an implementation technology, for
example, a Serialized Java Object (a Java-specific bit stream)
Ideally, the communication medium would be based on simple, ubiquitous
technology, for example, straight text
Should be structured and self-describing to eliminate the need for context
awareness in the receiver
Requires a structured information (text) format that supports the expression of semantics
Trang 37Notes:
© Copyright IBM Corporation 2004
B2B Intercompany Information Exchange
In this case, the presentation is focussed on the Business to Business (B2B) relationships that exist in e-business
In such cases, the systems involved often talk to multiple business partners;
sometimes for the same service where selection is based on price, availability, and so forth, for example, Credit Transaction Validation
Scenario 2
Communicate with business partners through an intermediate 'Marketplace' vendor.
Forced to evolve at the rate of the intermediary
C1
C2C3
CnM
Scenario 1
Communicate directly with business partners, potential for 'n' communication protocols
C2C3
CnC1
Trang 38Figure 2-9 Need to Establish Common Ground for Communication XM3014.1
Notes:
© Copyright IBM Corporation 2004
Technology issues aside, it is clear that successful, unfettered B2B information exchange depends greatly on the creation of
implementation-independent, vendor-neutral languages in which to conduct business.
Markup languages have existed as a means to embed semantics in electronic documents (for example, SGML).
SGML was created as a language for describing documents B2B communication may benefit from a similar solution, that is, use a
markup language to describe information.
Such a language could be used to describe documents that whole industries agree on as a means to exchange the information they
need to conduct business.
Need to Establish Common
Ground for Communication
Requires an implementation-independent, vendor-neutral markup language for describing information; enabling the creation of domain-specific business languages
Trang 39Notes:
© Copyright IBM Corporation 2004
Inter-system Information Exchange
The exchange of information between systems is subject to most of the problems discussed so far except, perhaps, view coupling Typically, this sort of
communication does not involve a presentation layer
When laying out the infrastructure in which systems will reside, it is wise to establish a means of insulating systems from one another with a layer that is devoid of implementation and process coupling let's call this the Interface Layer (it's also known as an Abstraction of the System)
The role of the interface layer is to capture the semantics of a system as seen from an external point of view, and to represent it as a dialog, with messages providing the units of communication in the dialog
As long as the definition of the system doesn't change, the dialog (the interface to the system) should remain stable The implementation may change significantly
Need a way to exchange messages in an implementation-independent way
Trang 40Figure 2-11 Exchanging Messages XM3014.1
The exception is that though inter-system information exchange
requires an established protocol (the interface), the system does not necessarily benefit from that protocol being an accepted standard for B2B communication
There are other differences, for example, the likely use of Message Oriented Middleware in system integration (MOM), but this presentation is focused on
the information being exchanged not on the exchange mechanism.
So, in common with B2B communication:
Requires an implementation-independent, vendor-neutral
markup language for describing information