Sun ONE Developer Model Anne Thomas Manes Director Market Innovation
Agenda Web Services Sun ONE Overview ONE Architecture ONE Developer Model
Web Services Definition "Web services are loosely coupled software components delivered over Internet standard technologies." Daryl Plummer, Gartner June 15, 2001
Web Services Next phase in the continuum –Next generation Web applications –Web-accessible XML-based services –Internet, Intranet, Extranet –B2B, B2C, P2P Evolutionary in terms of technology, revolutionary in terms of business impact
Web Services Application Services – , scheduling, gift registry, buy a car, stock quotes, credit card clearance, mortgage pre- qualification, billing, payroll, provisioning, logistics, procurement… System Services –storage, database, transactions, directory, security, content management, messaging, streaming media, collaboration… May be provided by someone else … somewhere else
Web Services Characteristics Programmatic interface Using standard Web protocols Loosely-coupled connections i.e., XML Messaging
Web Services The Service Grid Service discovery Service invocation and delivery Service Registry Service registration Service Descriptions
Web Services (current state) The Service Grid Service discovery XML Messaging (SOAP/ebXML) UDDI Service registration WSDL
Web Services Emerging Standards
XML Messaging Systems SOAP V1.1 SOAP V1.2 (W3C XMLP) SOAP with Attachments ebXML Message Service
<SOAP-ENV:Envelope xmlns:SOAP-ENV= <SOAP-ENV:Body SOAP-ENV:encodingStyle= “ xmlns:SOAP-ENC=“ xmlns:xsd=“ xmlns:xsi=“ > <mywsdl:getQuote xmlns:mywsdl=“ SUNW SOAP Request Example
<SOAP-ENV:Envelope xmlns:SOAP-ENV= <SOAP-ENV:Body SOAP-ENV:encodingStyle= “ xmlns:SOAP-ENC=“ xmlns:xsd=“ xmlns:xsi=“ > <mywsdl:ReturnLastTradePrice xmlns:mywsdl=“ SOAP Response Example
SOAP Implementations See –19 Java implementations Examples: –Apache: SOAP –Idoox: WASP (plug-ins for Forte and jBuilder) –The Mind Electric: GLUE –jBoss: ZOAP –Enhydra: kSOAP
WSDL Definitions Schema types Message formats Port types Bindings Service ports
<definitions name=“myStockQuote" targetNamespace=“ xmlns=“ xmlns:tns=“ xmlns:xsd=“ xmlns:soap=“ <schema targetNamespace=“ xmlns=“ WSDL Example
<binding name=“MyStockQuoteSoapRPCBinding" type="tns:MyStockQuotePortType"> <soap:binding style=“rpc” transport=“ <soap:body encodingStyle= “ namespace=“ use=“encoded”/> <soap:body encodingStyle= “ namespace=“ use=“encoded”/>
My Stock Quote Service <port name=“MyStockQuotePort" binding="tns:MyStockQuoteSoapRPCBinding"> <soap:address location=“
UDDI Business Registry Service Type Registrations Business Registrations Marketplaces, search engines, and business apps query the registry to discover services at other companies 4.4. SW companies, standards bodies, and programmers populate the registry with descriptions of different types of services Assigns a unique identifier to each service and business registration Businesses populate the registry with descriptions of the services they support 2.2. Business uses this data to facilitate easier integration with each other over the Web 5.5.
ebXML BP Model ebXML BO Library ebXML BP Model ebXML BO Library 3 Build local system implementation Request ebXML specifications 1 ebXML specifications detail 2 Query about Company X 6 Company X’s Profile 7 Submit CPA 8 Accept CPA 9 Request Company X’s Scenario 10 Company X’s Scenario 11 Register scenarios and implementation Register company business profile 4 Confirm profile and scenarios 5 DO BUSINESS! 12 INDUSTRY INPUT Scenarios Profiles Specifications
Sun's Web Services Strategy Sun Open Net Environment (Sun ONE) Smart web services vision Open architecture Products Third party/ASP efforts
ONE Architecture Freedom of Choice Platform for Web services –Future smart services Open, vendor-neutral Industry standards Guidelines and recommendations Build your system your way
ONE Architecture Product Agnostic
ONE Architecture Standards Backplane
Sun ONE Integratable Stack Our Product Implementations
Integratable Stack Build it Your Way
ONE Developer Model: Overview Interface Logic Business Logic Integration Logic Process XML Messages Implement the Service Access data, applications, and services
ONE Developer Model: Based on Proven Platform: J2EE Interface Logic Business Logic Integration Logic JSP & Servlets and/or EJB JDBC, JMS, JCA & Web services
ONE Developer Model Anatomy of a Web Service
JAX Pack Java APIs for XML JAXP: Java API for XML Processing –(SAX, DOM, XSLT) JAXB: Java Architecture for XML Binding JAXM: Java API for XML Messaging –SOAP, ebXML (document style JAX/RPC: Java API for XML based RPC –SOAP (RPC style) JAXR: Java API for XML Registries –UDDI, ebXML reg/rep JWSDL: Java API for WSDL
Inside the Interface XML Message SOAP ebXML etc Servlet Receive XML Message Extract Payload Determine Contents Determine Action Convert XML to Java Invoke Action Processor JAXM or JAX/RPC (ebXML or SOAP) JAXP JAXB or JAXP RMI EJBs Get results Personalize data Convert Java to XML Transform XML to suit client requirements Package Payload Return XML Message XML Message RMI JAXB or JAXP JAXP (XSLT) JAXM or JAX/RPC (ebXML or SOAP)
JSR 109 – Enterprise Web Services Web Services Invocation Framework –Extends J2EE container model –See Generate portable client stub from WSDL –Makes use of WSIF WSIF automates –Payload extraction –XML to object binding –Service invocation
Summary: ONE Architecture Guidelines for Web services –Create –Assemble –Deploy Based on Java, XML, and pervasive industry standards Fully interoperable with.Net Sun ONE = Sun’s implementation
ONE = Freedom of Choice Open, vendor-neutral Your business should drive your technology decisions Don’t let your technology drive your business decisions
ONE versus.Net ONE Choice Based on proven, existing platform, available today Supports existing applications Supports integration with through standard XML.Net No choice Based on new, unproven platform, not available today Requires re-write of existing applications Customers are saying that BizTalk doesn’t interoperate
How Much is Vapour? You can build Web services today –Build with Java and XML Additional tools and services are in development by Sun and partners –Tools: Forte, Cape Clear, Idoox, Tradia, IBM, The Mind Electric, Bind Systems,... –Services: ebXML, UDDI, WSDL, SOAP, etc. Future (vision) = smart services –Depends on new standards