XML and Derivative Technologies

advertisement
XML and Derivative
Technologies
Introduction
• In fact, Web services in its current form
would not exist without XML.
• All of the core Web services standards SOAP, WSDL and UDDI - are based on
XML.
History of Extensible Markup
Language (XML)
• In 1960, IBM researchers Charles
Goldfarb, Edward Mosher and Raymond
Lorie addressed the problem by building a
powerful, yet portable, system for
exchanging and manipulating documents.
• Decide to use a markup language as the
basis of their system
History of Extensible Markup
Language (XML)
• Markup language
– not a program language
– a way of tagging data to identify structure
and/or describe the data of a document
– Describe data, rather than how the data
should be formatted
– Formatting information located in separate
style sheets files
History of XML
• Documents could be processed reliably
only if the documents were structured
correctly - i.e., if they conformed to a
syntax
– Needed a system that could recognize valid
documents and reject invalid documents
– Document Type Definition (DTD) was
developed to specify the correct rules
– A system then processes and verifies the
document against these rules
History of XML
• Valid document
– A document that conforms to a DTD is a
• Well-formed documents
– Documents that do not conform to Dills, but are
syntactically correct, are called
• DTDs are used to
– Verify that documents are correct
– Allow machines to process the documents quickly
and reliably
History of XML
• XML Schema
– Used to replace DTDs
• Generalized Markup Language (GML)
– By 1969, the IBM research team had developed a language with
all of these capabilities, called the
• parser
– Goldfarb proved that In 1974
– Software capable of analyzing the structure and syntax of a
document
– Was easy to create and could validate a GML document
History of XML
• GML, eventually leading to the 1986
adoption of the Standardization
Generalized Markup Language (SGML) as
an International Organization for
Standardization (ISO) standard.
History of XML
• In 1989 Tim Berners-Lee of CERN (the
European Organization for Nuclear Physics)
began to develop a technology for sharing
information via hyperlinked text documents.
• Use his new language on SGML and called it
the HyperText Markup Language (HTML)
– Use new communication protocols, HTTP , to form
the backbone of the new hypertext information
system, which he termed the World Wide Web
History of XML
• As popularity of the Web exploded in the 1990s,
HTML's limitations became apparent
– HTML's lack of extensibility
– The lack correctly structured documents allowed
erroneous HTML to proliferate
– Browser vendors created platform-specific tags,
which are names enclosed in angle brackets, as
HTML extensions
– This forced Web developers to support multiple
browsers
• significantly complicated Web development.
• To address these and problems, the W3C
developed XML
History of XML
• XML
– Combines the power and extensibility of its parent
language, SGML, with simplicity
– An open, standard technology
– a meta-language
• A language used as a basis for other languages
• Offers a high level of extensibility
• Using XML, the W3C created the Extensible
Hypertext Markup Language (XHTML), an XML
vocabulary
– Provides a common, extensible format for the Web.
– XHTML is expected to replace HTML.
History of XML
• Extensible Stylesheet Language (XSL)
– Composing of several technologies to
manipulate data in XML documents for
presentation purposes
– Transform data from an XML document into
other types
• In addition to serving as the basis for other
languages, developers use XML for data
interchange and e-commerce systems
– there were more than 450 XML standards
History of XML
• In 1998, the XML version 1.0 specification
was accepted as a W3C Recommendation
– Stable for wide deployment in industry
• The W3C continues to oversee the
development of XML, as well as SOAP
and WSDL
Web Services Technology Stack
• Introduced by Bill Smith, the director of Sun
Microsystems' XML Technology Center
• Technology Stack
– How technologies build on other technologies
– E.g., TCP/IP is part of the lowest layer in the Web
services stack.
– Technologies higher in the stack use the lower-level
technologies
– Hide the more technical details
– Developers do not have to understand all the lowerlayers’ underlying details
Web Services Technology Stack
• Internet and Web protocols (e.g., TCP/IP
and HTTP) form the foundational layer for
Web services
• Core XML-processing technologies
– Include XML and associated technologies,
such as XSL, DTDs and XML Schema.
Web Services Technology Stack
• Horizontal XML vocabularies
– Provide functionality that can be used across
industries
– E.g., Ectronic Business XML (ebXML)
• A framework for enabling global e-business
• Uses XML to define, and subsequently automate, business
processes
– Developers and industry consortia are building
consensus for such technologies
– It is expected that Web services will be deployed in
business processes described by horizontal
vocabularies
Web Services Technology Stack
• The top layer contains vertical languages, which
are XML-based technologies that define specific
processes for a single industry or group of
industries.
– Many industries share common processes, which can
be described in horizontal vocabularies
– Each industry also supports unique processes and
products
• E.g., all industries send invoices, but the products and
product specifications contained in the invoices are different
Case Study - RosettaNet
• A non-profit consortium that is developing an e-business
framework to define business processes for the
information-technology, electronics and semiconductor
industries
• More than 400 companies are members of the
organization, including American Express, Intel, Cisco
Systems, Hewlett-Packard, IBM, Microsoft, National
Semiconductor and Nokia, etc.
• Creating open standards
– Members of a supply chain can coordinate and align their
processes to conduct e-business more efficiently
Case Study – RosettaNet (cont.)
• Accomplish the dictionaries and frameworks that
help companies implement business-process
standards
– plans to define approximately 10,000 terms used in
the information-technology, electronics and
semiconductor industries
• E.g., price, end user and confirmation number
– Provides the core properties for the RosettaNet
Partner Interface Processes (PIPs)
• XML specifications describing processes and business
documents shared between business partners
Case Study – RosettaNet (cont.)
• Use PIPs for
– Administration
– Partners, Product and Services Review
– Product Information
– Order Management
– Inventory Management
– Marketing and Information Management
– Service and Support
– Manufacturing
Case Study – RosettaNet (cont.)
• RosettaNet Implementation Framework
(RNlF)
– A specification describing how RosettaNet
partners exchange information
– Provides information on packaging, routing
and transmitting PIP messages
XML Technologies that Enable
Business-Processing systems
• The problem
– For example, contacting companies to correct
personal data, such as a shipping address
– Shipments are not received, and invoices are not paid
promptly When erroneous information exists between
• Solve
– Using XML-based business-process systems
• all data must be validated by either a DTD or a schema
• If information is missing, the document will not be processed,
and, therefore, incorrect information will not enter a system
– DTDs and schemas will reduce the amount of
erroneous information
XML Technologies that Enable
Business-Processing systems
• simply marking up documents in XML does not
guarantee that the files are available for
transactions.
• Must Establish sets of business rules that every
partner implements
• Many of the technologies explicitly describe
incorporating Web services and its related
technologies
– such as SOAP, WSDL and UDDI, into the processes
Electronic Busmess XML
( ebXML)
• ebXML
– an open, XML-based infrastructure
– enables global companies to conduct reliable,
interoperable e-business
– Offers a set of specifications that defines an
alternative to Electronic Data Interchange
(EDI) systems
– Allows businesses of various sizes to partner
and conduct global business-to-business
transactions using XML and the Internet
Trading Partners
• Organizations involved in ebXML transactions
• Collaboration Protocol Profiles (CPPs) and
Collaboration Protocol Agreements (CPAs)
– two document types that contain trading partner
information
– XML documents that provide a standard, portable way
of describing companies' services
Trading Partners
• CPPs
– contain information about a trading partner's
capabilities
– including business collaboration and businessinformation exchange
– XML elements in a CPP describe
• information about the types of agreements that the trading
partner is willing to accept
• information for exchanging and transporting documents
• the characteristics of messages such as security and
reliability
Trading Partners
• CPAs
– contain information about business
collaborations
– the seller's business processes and messageexchange capabilities
– the buying processes of the buyer
– provide constraints for using ebXML core
components
– can include a framework for creating CPAs
Trading Partners
• Conduct business
– partners negotiate a CPA
• A combination of the participating businesses'
CPPs
• An agreement to transact business
• Describes the specific messaging service and
business-Process requirements to which the
trading partners agree
• Must be updated if as of an agreement change
after the CPA has been formed and accepted
ebXML Architecture
Trading Partners
• An ebXML registry, accessible via Internet, stores CPPs,
CPAs and other documents that contain information
about business that support ebXML transactions
• Search Process
– Trading Partner A searches the registry fm a suitable trading
partner
– The search returns Trading Partner B's CPP,
• documents Trading Partner B's ebXML capabilities restrictions
– Trading Partner A sends a request to Trading Partner B to
engage in a business process using ebXML Message Service
– Before the process begins, Trading Partner A submit a business
arrangement proposal (i.e., CPA) to Trading Partner B's ebXMLcompliant software.
– A and B negotiate the agreement
– Begin the business transaction using ebXML when they agree on
the CPA
Business Process and
Information Modeling
• Business Process and Information Meta
Model
– An ebXML specification
– Helps an organization describe its business
processes and scenarios in a CPP
– Developers use it to compose processes
defined in CPPs
Core Components
• “Building blocks “ for common
• Can be a single piece of business
information or can consist of a set of
business information components
• Reusable processes that developers use
as a basis for CPPs
• Developers can extend core components
to create custom components specific to
an organization' s CPP
ebXML Registries
• Allow trading partners to store and share .
formation
• Store CPPs, CPAs, schemas, DTDs, businessprocess models and more
• Define and register ebXML registries in UDDI
registries
• Enable trading partners to learn about other
trading partners and to share information
• Also stores reusable business collaboration
definitions and business documents
ebXML Registries
• Include services that help companies form
business agreements and perform
business transactions
– A business submits Business Profile
information
• Describes a company's ebXML capabilities and
constraints
• business scenarios - i.e., XML files that define how
business activities are accomplished
ebXML Registries
• Where is it ?
– Reside on a Web server or
– Can be hosted by an application service
provider (ASP)
• Distributes and manages services over a
distributed-computing network from a central data
source
ebXML Registries
• Unique Identifier (UID)
– The ID every item in a registry
– For item to be uniquely identified in a registry
• Can be assigned through several different
methods
– E.g., a reference, such as a uniform resource
identifier (URI)
• A URL (such as http:// www.deitel.com) is a type of URI
• Ensure that each item has a unique reference
ebXML Registries
• Universally Unique Identifiers (UUIDs)
• Used for global uniqueness within a registry
• Created by using a combination of the host's
network address, a timestamp and a random,
generated component
– Guarantees that the UUID is unique
• Unique identification simplifies the process
of querying registries.
Messaging Service
• ebXML Messaging Service provides a standard
method for exchanging business messages
between trading partners
– reliable and standardized
• Includes a specification that describes
– how to encapsulate ebXML messages for different
transport protocols
• such as HTTP, FTP, SMTP, etc.
• Integrated Web services messaging framework,
SOAP into the ebXML messaging system
Business Transaction Protocol
(BTP)
• Developed by OASIS Business Transactions
Technical Committee
• Coordinate and manage complex transactions
between businesses using Web services
• Work with existing business-messaging
standards
– e.g., ebXML and RosettaNet
• Protocol's goal
– define how organizations can coordinate their
systems to achieve automated business transactions
Business Transaction Protocol
(BTP)
• Defines a transaction as the point at which
the two business' processes, which are
private, intersect to accomplish a goal
(such as a transaction)
• Describes a transaction as either an atom
or a cohesion
Business Transaction Protocol
(BTP)
• Atom
– Takes part in a two-phase commit transaction
• A process either fully commits to a transaction or
rolls back (i.e., cancels) the transaction
• E.g., A single Web services operation and the
internal processes that support the operation
– However, many transactions are not this
simple
Business Transaction Protocol
(BTP)
• Cohesion
– A group of atoms that work as a unit to complete a
transaction
– Allows certain portions of transactions that involve
multiple participants to fail without canceling the
transaction
– Applicable to many types of transactions
• E.g., a customer purchases an item from a Web site
– credit-card authorization might fail
– the order still can be sent to the warehouse to prepare the
inventory to ship
– the authorization can he re-tried
Business Process Modeling
Language (BPML)
• A meta-language for modeling business processes
• Offers a model for businesses to communicate by
exchanging messages.
• Provides a method for describing business processes
and to share business-process details using XML
• Companies can use BPML for
–
–
–
–
–
Model
deploy and manage order
customer-care
demand-planning and
product-development processes
Business rocess Query Language
(BPQL)
• BusIness Process Query Language
( BPQL)
– deploys processes
– BPQL manages process models (created
using BPML) that reside in the process
repository
– BPQL employs UDDI to register and discover
business processes deployed on a process
repository
Business Process Management
Initiative (BPMI)
• Business Process Management Initiative
(BPMI, www .bpmi.org)
– an organization with more than 130 members
– Created BPML and BPQL using open
standards
– facilitates integration with other technologies
and systems, including SOAP, WSDL, ebXML
and RosettaNet
Business Process Management
System (BPMS)
• Released by BPMI
• a framework for managing a system of
integrated processes, from the strategic
planning phase to implementation
e-business Transaction
• BPMI considers an e-business transaction to
consist of at least three components
– public Interface
• Interaction shared by partners involved in a business process
• Supported by RosettaNet and ebXML protocols
– two private implementations
• The proprietary processes that are specific to the partners
that participate in the business interaction
• Defined by each company
• Can be described by any language, including BPML
e-business Transaction
• Once the private implementation for a business
process is developed, the private
implementation must be deployed on a platform
that can execute the process
• Then BPMI developed BPQL to interact with a
business-process-management infrastructure
– Includes a process server, which executes processes
and
– a process repository, on which processes are
deployed
Web Services Flow Language
(WSFL)
• An XML-based language created by IBM
• To incorporate Web services as part of a
business's workflow
– i.e., the operations required to accomplish a
process or transaction
– The specification is available at www3.ibm.com/software/solutions/webservices
/pdf/WSFL.pdf.
Web Services Flow Language
(WSFL)
• Offers a framework
– Web services providers and Web services consumers
can define the work to perform and the flow the work
needs to follow to implement business processes
• IBM developed WSFL to function as a layer on
top of WSDL
– WSFL uses WSDL for describing Web services
characteristics
– WSFL also describes characteristics of services not
covered by WSDL
• E.g., Quality of Service (QoS).
Web Services Flow Language
(WSFL)
• Describes Web services compositions
– i.e., collections of Web services that work together
• Two types of WSFL composition models
– flow model
• Describes the sequence of steps required by a collection of
Web Services to accomplish a business process
– E.g., a transaction
– global model
• Describes an interaction pattern composition,
• Specifies how the Web services in a composed Web service
relate to each other
– Rather than the sequence of Interactions
Web Services Flow Language
(WSFL)
• Supports both hierarchical and peer-topeer interactions.
• Usually, “Global” refers to the
decentralized and distributed aspect of
these interactions
Web Services Flow Language
(WSFL)
• Recursive compositions
– An essential part of WSFL
– Every composition become a part of another
composition to create a new Web service.
– Ensure that the language is scalable
– Have become an important aspect WSFL.
Summary
• Web services and XML Web services
• History of XML
• ebXML
– trading-partner information,
– business-process and information modeling
– ebXML registry
– ebXML messaging service.
– Business Transaction Protocol (BTP)
• Business Process Modeling Language
(BPML)
• Business rocess Query language (BPQL)
• Business Process Management Initiative
(BPMI)
• Business Process Management System
(BPMS)
• Web Services Flow Language (WSFL)
Download