1 / 35

INTRODUCTION

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

keala
Download Presentation

INTRODUCTION

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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

  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

  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)

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

  5. Types of clients

  6. 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

  7. Processing a business partner request

  8. To Achieve this level of business partner connectivity, there must be a way to • Publish • Describe • Locate • Call a web service

  9. 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.

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

  11. Registry Data • Businesses register public informationabout themselves • Standards bodies, Programmers, Businesses register information about their Service Types WhitePages YellowPages GreenPages Service Type Registrations

  12. 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

  13. 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

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

  15. Peter Smythe businessEntity 872-6891 4281 King’s Blvd, Sydney, NSW Peter@harbourmetals.co.au TB993… Harbour Metals www.harbourmetals.co.au “Serving Inner Sydney Harbour for … contacts businessServices identifierBag categoryBag businessService businessService 23T701e54683nf… Online catalog “Website where you can … BindingTemplates Key Name Description BindingTemplates BindingTemplate keyedReference keyedReference 5E2D412E5-44EE-… http://www.sydneynet/harbour… tModelInstanceDetails EE123… NAICS 02417 DFE-2B… DUNS 45231 tModelInstanceInfo 4453D6FC-223C-3ED0… http://www.rosetta.net/catalogPIP tModelKeys Example of a Registration

  16. 4. 3. Consumers and businesses discover Harbour Metals and do business with it Marketplaces and search enginesquery UBR, cache Harbour Metals data, and bind to its services UDDI at Work 1. SydneyNet.com UDDI Registry Harbour Metals createsonline website with local ASP 2. ASP registersHarbour Metals with UBR

  17. 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.

  18. 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.

  19. 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 1.1 WSDL 1.1 Document Structure WSDL Document [Types] {Messages} {PortTypes} {Bindings} {Services}

  20. 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

  21. 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.

  22. SOAP 1.1 Message Structure SOAP Envelope Header Entries [Header Element] Body Element [Fault Element] • 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.

  23. 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

  24. 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).

  25. 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.

  26. An EJB business layer

  27. 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

  28. 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.

  29. Using the JAX* APIs to invoke a business web service

  30. REFERENCES • ServerSide.com Web Site – White paper http://www.theserverside.com/resources/article.jsp?l=WebServices-Dev-Guide • UDDI.org http://www.uddi.org/whitepapers.html • Cocoon: A Framework for Web Services , Pankaj Kumar,Web Services Architect,HP Middleware

More Related