Presentation is loading. Please wait.

Presentation is loading. Please wait.

INTRODUCTION A WEB SERVICE is an application that accepts requests from other systems across the Internet or an Intranet, mediated by lightweight, vendor-neutral.

Similar presentations


Presentation on theme: "INTRODUCTION A WEB SERVICE is an application that accepts requests from other systems across the Internet or an Intranet, mediated by lightweight, vendor-neutral."— Presentation transcript:

1 INTRODUCTION A WEB SERVICE is an application that accepts requests from other systems across the Internet or an Intranet, mediated by lightweight, vendor-neutral communications technologies The XML standards which a web services system is built upon allows for an implementation-neutral approach to performing business collaborations. This talk is about Java and XML technology approach for implementing a web services architecture These communications technologies allow any network-enabled systems to interact. Web services are evolving and beginning to operate in an extremely intelligent and dynamic way. By using a standards-based approach, developers can build a system that provides maximum interoperability for their web services. WEB SERVICES

2 OVERVIEW There have been many barriers to two or more businesses collaborating in electronic transactions Major challenges in building a web service Build client-tier connectivity Implement the web service Connect to back-end systems Java 2 Platform, Enterprise Edition (J2EE) can be used to achieve these goals Widely disparate systems, security issues, and incompatible data formats have made large-scale B2B integration the sole domain of large businesses and their large partners Build client-tier connectivity to allow applets, applications, business partners, web browsers, and PDAs connect and make use of a web service. Implement the web service including any workflow logic, data transformation logic, business logic, and data access logic. This is the functionality behind the web service that performs work on behalf of the clients. Connect to back-end systems which may include one or more databases, existing enterprise information systems, business partners that publish their own web services, and a shared context repository for user information shared across many systems. WEB SERVICES

3 WEB SERVICES DEVELOPMENT MODEL WITH J2EE
Relies on two technologies XML technologies XML is a data format that represents data in a serialized form that can be transported over the network from one endpoint to another Java technology Developers have the APIs necessary to build a web service using J2EE Ex : the Java API for XML Parsing (JAXP) WEB SERVICES

4 architectural overview of the heart of a web services system based on J2EE.
Figure 1. Major subsystems and protocols in a J2EE-based web services environment. WEB SERVICES

5 CLIENT TIER CONNECTIVITY
Client Tier Connectivity refers to how consumers of web services access your system. WEB SERVICES

6 Types of clients WEB SERVICES
Business partners could be using a variety of programming languages, middleware, and hardware. So when a business partner calls your system, the web service request arrives in the form of an XML document. WEB SERVICES

7 Business Partner Connectivity
Business partners could be using a variety of programming languages, middleware, and hardware When a business partner calls your system, the web service request arrives in the form of an XML document When a business partner issues a request to a web service, the recipient of the XML document is a Java servlet WEB SERVICES

8 Processing a business partner request
To achieve this level of business partner connectivity, there must be a way to publish, describe, locate, and call a web service WEB SERVICES

9 To Achieve this level of business partner connectivity, there must be a way to
Publish Describe Locate Call a web service WEB SERVICES

10 Universal Description, Discovery, and Integration (UDDI)
Project aimed towards providers and seekers of web services Members of the UDDI Project operate a web service called the UDDI Business Registry (UBR), which is global, public directory of businesses and services. Web service providers can register and describe their services in the UBR. Users can query the UBR to discover web services and to locate information needed to interoperate with the services. WEB SERVICES

11 Business Registrations
How UDDI Works Marketplaces, search engines, and business apps query the registry to discover services at other companies 4. 1. SW companies, standards bodies, and programmers populate the registry with descriptions of different types of services Business Registrations Businesses populate the registry with descriptions of the services they support 2. UDDI Business Registry Business uses this data to facilitate easier integration with each other over the Web 5. Segrvice Type Reistrations 3. UBR assigns a programmatically unique identifier to each service and business registration WEB SERVICES

12 Registry Data White Pages Yellow Pages Green Pages Service Type
Businesses register public information about themselves Standards bodies, Programmers, Businesses register information about their Service Types Yellow Pages Green Pages Service Type Registrations WEB SERVICES

13 Industry: NAICS (Industry codes - US Govt.)
White Pages Business Name, Text Description , Contact info-names, phone numbers, fax numbers, web sites… Known Identifiers list of identifiers that a business may be known by - DUNS, Thomas, other Yellow Pages Business categories 3 standard taxonomies Industry: NAICS (Industry codes - US Govt.) Product/Services: UN/SPSC (ECMA) Location: Geographical taxonomy Implemented as name-value pairs to allow any valid taxonomy identifier to be attached to the business white page Green Pages New set of information businesses use to describe how to “do e-commerce” with them WEB SERVICES

14 Service Type Registration
Pointer to the namespace where service type is described What programmers read to understand how to use the service Identifier for who published the service Identifier for the service type registration called a tModelKey Used as a signature by web sites that implement those services WEB SERVICES

15 Business Registration
Phone Address Contact Phone Address Contact XML document Created by end-user company (or on their behalf) Can have multiple service listings Can have multiple taxonomy listings businessEntity businessKey name URL description contacts businessServices identifierBag categoryBag businessService businessService serviceKey tModelKey Name Description BindingTemplates Key Name Description BindingTemplates keyedReference tModelKey keyName keyValue keyedReference tModelKey keyName keyValue keyedReference tModelKey keyName keyValue WEB SERVICES

16 Example of a Registration
4281 King’s Blvd, Sydney, NSW Peter Smythe businessEntity TB993… Harbour Metals “Serving Inner Sydney Harbour for … contacts businessServices identifierBag categoryBag businessService Key Name Description BindingTemplates 23T701e54683nf… Online catalog “Website where you can … keyedReference DFE-2B… DUNS 45231 EE123… NAICS 02417 BindingTemplate 5E2D412E5-44EE-… tModelInstanceDetails tModelKeys tModelInstanceInfo 4453D6FC-223C-3ED0… WEB SERVICES

17 WEB SERVICES

18 UDDI at Work 1. SydneyNet.com 2. 4. 3. UDDI Registry
Harbour Metals creates online website with local ASP 2. Consumers and businesses discover Harbour Metals and do business with it 4. Marketplaces and search engines query UBR, cache Harbour Metals data, and bind to its services 3. ASP registers Harbour Metals with UBR WEB SERVICES

19 JAXR Java APIs for XML Registries (JAXR)
JAXR is a convenience API which provides a Java API to perform the various publishing, querying, and editing tasks these registries support. Note that JAXR is not required to build web services today; you can still use the more general XML APIs to interact with the protocols directly WEB SERVICES

20 WSDL (Web Services Description Language)
For a business to discover a service it wants to use, it needs to understand the call syntax and semantics prior to actually making a call. WSDL is an XML document which describes the interface, semantics, and administrative info of a call to the web service Java API for WSDL (JWSDL) will provide an API for manipulating WSDL documents without interacting with the XML documents directly. WEB SERVICES

21 WEB SERVICES

22 WSDL 1.1 A WSDL document describes What the service can do
WSDL 1.1 Document Structure A WSDL document describes What the service can do Where it resides How to invoke it WSDL are like IDL but lot more flexible and extensible Defines binding for SOAP1.1, HTTP GET/POST and MIME WSDL descriptions can be made available from an UDDI registry WSDL Document [Types] {Messages} {PortTypes} {Bindings} {Services} WEB SERVICES

23 WEB SERVICES

24 Simple Object Access Protocol (SOAP)
After business partner looks up your WSDL description using UDDI, it can call one or more operations on your web service using the Simple Object Access Protocol (SOAP)). specification for performing business method requests as XML documents can support a variety of lower level protocols such as HTTP(S) or SMTP lightweight and very easy-to-understand technology easy to implement XML is used because of its programming language-neutrality, extensibility, and massive industry support HTTP is used because any Internet-enabled system can communicate on a socket, because it is a simple protocol that can interoperate with any system, and because it can navigate through firewalls using port 80, which is typically accessible. WEB SERVICES

25 how to represent various pieces of administrative info
SOAP specifies how to represent various pieces of administrative info how to encode parameters. A SOAP envelope surrounds the optional header and the body and is most commonly transported as an HTTP POST action to an http server, although other forms of transport (such as SMTP) are also possible. SOAP supports both message-passing and RPC call semantics. This is a sample SOAP call as it appears on-the-wire. WEB SERVICES

26 SOAP 1.1 XML based protocol for exchange of information
Encoding rules for datatype instances Convention for representing RPC invocations Designed for loosely-coupled distributed computing Used with XML Schema Transport independent SOAP with Attachments allow arbitrary data to be packaged. SOAP 1.1 Message Structure SOAP Envelope [Header Element] Header Entries Body Element [Fault WEB SERVICES

27 JAX/RPC To aid developers in building XML-based requests such as SOAP requests, the Java APIs for XML based RPC (JAX/RPC) is used. JAX/RPC is used for sending and receiving (including marshalling and unmarshalling) method calls using XML-based protocols such as SOAP, or others such as XMLP (XML Protocol). JAX/RPC isolates you from the specifics of these protocols, enabling rapid application development. There is no longer any need for developers to interact directly with XML WEB SERVICES

28 JAXM (Java API for XML Messaging )
Specification for interacting with XML messaging standards ( eg SOAP messaging , ebXML messaging) This allows developers to focus on interacting with the payload and not worry about the other message details. The difference between JAXM and JAX/RPC is analogous to the difference between message-oriented middleware (MOM) and remote procedure calls (RPCs). For more extended business exchanges where there is a need for an agreed-upon structure for business transactions, multi-request transactions, schemas, and document flow, application requirements often stretch the limits of a purely SOAP based implementation. While SOAP provides a low-level foundation which you can build these extended business exchanges on top of, one might hope for a more advanced framework which already has these issues in mind. This is the motivation for ebXML, a suite of XML specifications and related processes and behavior designed to provide an e-infrastructure for B2B collaboration and integration. It is a full-featured specification which will revolutionize the way businesses adopt partners and conduct business with each other. WEB SERVICES

29 WEB SERVICES

30 Implementing Web Services
Before building web service , first challenge building an interface layer to translate the incoming XML data into a format suitable for processing by our business service translating the results of the business service into an XML format to return to the client. Java API for XML Processing (JAXP)can be used Business layer Once incoming XML data has been translated into Java objects, the data is ready to be sent to an EJB business layer for processing. EJB technology is a standard for building business components in Java. Using EJB components, you can gain high-end services from the container, such as security, transactions, persistence, connection pooling, load-balancing, and failure recovery services. A developer thus needs robust mechanisms for parsing XML, binding them to Java objects, generating XML, and transforming various XML formats. Sometimes, because of the variety of interfaces our application supports (e.g. SOAP from B2B partners, HTML from web browser based customers, and WML from wireless browser based customers all going to the same set of services) we may need different routines for each client with their own dedicated web service interface to deal with the semantic differences associated with the different types of client environments WEB SERVICES

31 An EJB business layer WEB SERVICES
There are three types of EJB components specified in the EJB 2.0 standard: Session Beans perform work on behalf of clients (they are verbs). Session beans are generally short-lived and perform fairly quick actions, such as trading a stock, submitting a purchase order, or calculating taxes on a transaction. Entity Beans represent business data (they are nouns). They are generally long lived and map to an underlying storage, such as an RDBMS or OODBMS system. There are two subtypes of entity beans: bean-managed persistent (where you write the persistence logic) and container-managed persistent (where the container generates the persistence logic for you). Some examples of entity beans include stocks, orders, customers, employees, and accounts. MessageDriven Beans are message-oriented components. They receive messages using message-oriented middleware, such as IBM MQSeries or TIBCO Rendezvous. Messages can also be sent from Java clients using the Java Message Service (JMS) standard. When a message arrives for a message-driven bean, it is similarly accessed using the JMS API. Examples of message-driven beans include a logging service, a stock trading service, or an order submission service An EJB business layer WEB SERVICES

32 Performing Back-End Integration
Last challenge connecting to back-end systems, such as databases, legacy systems, and other business partners. Database Connectivity The JDBC API SQL/J Legacy system Connectivity Connecting to existing systems has historically been one of the most challenging and burdensome tasks of creating any enterprise deployment. Most enterprises comprise a mix of existing systems such as SAP R/3, Siebel, i2, and custom systems. Integration has been a manual task, because there are very few adapters available for existing systems WEB SERVICES

33 Business Partner Connectivity
The final type of back-end system that we might connect to is another business partner's web service. This business partner system exposes itself using the same universally agreed-upon XML standards that we would use when publishing our own web service. Namely, UDDI as a web service registry, WSDL for describing the web service, and SOAP and ebXML for performing business transactions. WEB SERVICES

34 Using the JAX* APIs to invoke a business web service
WEB SERVICES

35 REFERENCES ServerSide.com Web Site – White paper
UDDI.org Cocoon: A Framework for Web Services , Pankaj Kumar,Web Services Architect,HP Middleware WEB SERVICES


Download ppt "INTRODUCTION A WEB SERVICE is an application that accepts requests from other systems across the Internet or an Intranet, mediated by lightweight, vendor-neutral."

Similar presentations


Ads by Google