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)