Presentation on theme: "XML and eBusiness Technology"— Presentation transcript:
1XML and eBusiness Technology Web ServicesXML and eBusiness Technology
2Introduction Web services - the next big thing? HTTP has become the network standardXML defines business transactionsBusiness applications execute over the WebDistributed computing in a heterogeneous environment – how do you make this happen?Web services, SOAP, Java, and networksComputing in the early 21st century
3Four Paradigms of Computing MainframeThe era of “big iron”Client – Server (C/S)Networks and cheap desktop computingInternet Computing (n-tier architecture)Web moves to a computing platformWeb servicesWeb moves to a business platform
4Web Services XML, Java, SOAP, and networks Critical for B2Bi Used in “light EAI”Creates a “network application platform”Sun ONE (Open Network Environment)Facilitates “any to any” and “many to many” computingLets applications and process talk to each otherCreates a peer-to-peer computing environmentUDDI - directory of services for “client discovery”
5Service Oriented Architecture Service providerCreates services and publishes to registryService brokerHolds information on how to find and “bind” to a (web) serviceService requesterSearches the registry, finds services, and “invokes” them after “binding”
7Web Services ParadigmWeb services are the building block of a Service Oriented Architecture (SOA)Publish application servicesFind published servicesBind to the service foundInvoke the bound servicePassing required parameters for proper execution of the selected service
8Web Services - Protocols WSDL - descriptionUDDI - discoverySOAP - messagingBPEL – executionebXML - orchestrationHTTP – transportXML – the lingua franca for data
12Web Services Architecture Overview Service creation and assemblyA visual design environment, possibly UMLService delivery and service integrationMessaging interfaces to Internet and network APIsApplications and Web servicesWeb services containersOther legacy applicationsApplication platformIdentity and PolicySecurity and WorkflowCollaboration services
16Network LayerLowest level in the Web services architecture is the conduit for transmission of XML messagesHTTP is most common protocol in useHTTPR (R stands for reliable)HTTP carries traffic through firewallsSo it is the best “business conduit”HTTPR provides “VAN like” services (re: EDI)“exactly once” delivery of messages, notification, etc.
17Network Layer – Logical Stack WSIL, WSFL, WSHTApplication services and service flowUDDI – Service discoveryUDDI – Service publicationWSDL – Service descriptionWSIL / SOAP – XML messagingHTTP, HTTPR, SMTP, MQ, IIOPNetwork layer for messaging
18Web Services Stack from WebServices.org LayerExampleService NegotiationTrading Partner AgreementWorkflow, Discovery, RegistriesUDDI, ebXML registries, IBM WSFL, MS XLANG, BPEL4WSService Description LanguageWSDL/WSCLMessagingSOAP/XML ProtocolTransport ProtocolsHTTP, HTTPS, FTP, SMTPBusiness IssuesManagement, Quality of Service, Security, Open Standards
19SOAP Simple Object Access Protocol (SOAP) Internet protocol for requesting a serviceLets loosely coupled entities cooperateRelies on HTTP/HTTPS for transportPicks up where IIOP and CORBA left offConduit for Remote Method Invocation (RMI)
20SOAP Message – 3 Parts The message, envelope, and “channel” SOAP envelopeThe SOAP packet structureXML body of the messageThe XML grammar of SOAP requestSpecification of transport bindingThe “SOAP” messaging protocol
21Anatomy of a SOAP Transaction Client SOAPRequest packet (marshal and unmarshal)TransportSOAP running over HTTP (HTTPr / HTTPs)Supplier SOAPResponse packet (marshal and unmarshal)
25UDDIUniversal Description, Discovery, and Integration (UDDI)SOAP creates a request for a serviceBut how do you know that the service exists?UDDI is a distributed registry (like DNS system)Service providers post in the UDDI registryUDDI defines a set of SOAP messages that provide the client API for accessing a UDDI registry
28UDDI Services Publisher API Inquiry API save_business save_service save_bindingsave_tModeldelete_businessdelete_servicedelete_bindingdelete_tModelget_authTokendiscard_authTokenInquiry APIfind_businessfind_servicefind_bindingfind_tModelget_businessDetailget_serviceDetailget_bindingDetailget_tModelDetail
29WSDL Web Service Description Language (WSDL) WSDL is XML based language that describes the attributes of a Web serviceRegister the service in the UDDI directoryInterface is the format of the SOAP requestRequest / response to execute and receive results of Web service on SOAP envelope
32WSFL Web Services Flow Language (WSFL) XML based language for defining the composition of web servicesA flow composition defines how a sequenced execution of web services perform a higher level business processDefines the interaction between a set of business partners executing Web services
33Preparing a Web Service Develop the functionality you want in a serviceCreate the WSDL to describe the serviceGenerate server-side SOAP deploymentPublish deployment descriptor in UDDI registryIBM WebSphere Studio Application Developer:WSDL for entry in UDDI registryXML-Java mapping for complex Java objectsDeployment descriptor for installing (WS) on a server
35Using A Web Service Create a Java client to find and call the service Search the UDDI registry for the desired serviceFrom WSDL description create SOAP messageSOAP message will contain input parametersSend SOAP request message and wait for replyReceive SOAP response with service executionExtract the results of service from the message and process them through a (Java etc.) client
37Java Java is ideal development environment Object oriented with APIs for XML:Java API for XML Messaging (JAXM)Java API for XML Processing (JAXP)Java API for XML Registries (JAXR)Java API for XML - based RPC (JAX-RPC)
49Advantages to Web Services Flexibility for loose-coupling / late-bindingFlexibility in scope: Internet / intranetLimit to enterprise or extend to trading partnerBased on HTTP, XML, and SOAP standardsSelf-describing in WSDL / UDDI registriesAggregate Web services for complex and threaded business process / B2Bi etc.
51Microsoft .Net Initiative Microsoft .Net initiative based on SOAPUses Java tools / visual process designDesigned for compatible clients on endsSimilar use of XML and SOAP messageMore similar to COM objects than EJB
52Sun ONE Open Network Environment Web services stack Blend servers and services“Smart Web Services”Networked business process
53Smart Web Services Architecture Smart deliveryAggregation, presentation and deliveryPersonalization, content, and contextual sensitivitySmart processAutomated workflow managementSmart policyIdentity, content and rolesSmart managementPrivacy and SecurityRights and AdministrationUser management
57Micro Service Developer Model XML documentHTTPSOAPJAXM, JAX, RPCWeb serverJSPJava servletsApplication serverJDBCJMSJ2EEJAXM JAX / RPC
58Micro Web Services Developer Model From a developer's perspective a micro Web service consists of:Web service interface and one or more service components.The Web service interface manages and manipulates XML messages; it can also be a front end to a legacy application.“Service components” contain the business logic that implements the requested service.Business components frequently interact with external resources and services through a variety of integration servicesA Web service communicates by passing XML documents over standard Web protocolsUsing HTTP to pass SOAP, XHTML, and other XML messages
62Distinguishing Business Process Modeling and Management Enterprise business processes ebPML: e-business Process Modeling LanguageExecutable business processesBPEL: Business Process Execution LanguageebXML business processes(a.k.a. collaborations) Business process activities BPMI and BPML (and ebPML)Workflows and managementBPMS: Business Process Management Systems
63PML – Process Modeling Languages BPMLIBM WSFLMS XLANGBPML / ebPMLBPEL, BPEL4WSUML
64BPML Business Process Modeling Language A method to bind “UML” and Web servicesThe Business Process Modeling Language (BPML) is a meta-language for the modeling of business processes, just as XML is a meta-language for the modeling of business data.BPML provides an abstracted execution model for collaborative & transactional business processes based on the concept of a transactional finite-state machine.
69ebPML Electronic Business Process Modeling Language "Business is complicated. Any solution that doesn't reflect that complexity is not a real solution. ebXML is no more complicated than it has to be in order to implement real-world business collaborations. Conversely, Web services as they are currently defined seem simple precisely because they're not trying to deal with the complexities of real business relationships involving independent enterprises."A grain of wisdom from John Bosak -
74UML 2.0 Unified Modeling Language Looks at the entire picture of a process from the view of actors and use casesState, activity, and collaboration diagrams show interactions of actorsUML diagrams can now be saved in XML formats, aiding their use with WS
78Summary “Distributed computing” on a network platform Computing for the early 21st CenturyUses XML, SOAP, WSDL, UDDI standardsServices are self-describing for discoverySOAP interface to messaging interfaceJava clients for request / response formattingWeb services are applications with an IP addressThink of it as “hyper-linking” network applications!
80Self Quiz What are Web services? Why Web services? What is the “protocol stack” ?Write out the WS process flowWhat things do Web services do well?Where are Web services lacking?What are WS process initiatives about?
81Vocabulary Checklist - http://whatis.com/ ArchitectureBPELBPMIBPMLebXMLJavaJ2EEHTTPHTTPr and HTTPs.NetProtocolProtocol stackSOASOAPSun ONETransport layerUDDIWSDLWSFLXML
82So what is all this XML? Just another markup language? No – the “mother of all markups”Technically, XML + HTML = SGMLHTML is about presentationXML is about representationWrite your own markup languagesDTDs and schema define the rules
83A Song Description in HTML <dt>Hot Cop</dt><dd> by Jacques Morali, Henri Belolo, and Victor Willis</dd><ul><li>Producer: Jacques Morali<li>Publisher: PolyGram Records<li>Length: 6:20<li>Written: 1978<li>Artist: Village People</ul>
84A Song Description in XML <title>Hot Cop</title><composer>Jacques Morali</composer><composer >Henri Belolo</composer><composer >Victor Willis</composer><producer>Jacques Morali</producer><publisher>PolyGram Records</publisher><length>6:20</length><year>1978</year><artist>Village People</artist></song>