260 likes | 477 Views
Web Services 101 Introduction to Web Services. 2110472 Computer Networks Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University. Outline. What is web service ? Any why ? Service-Oriented Architecture. Web Services Products. Existed and Future Applications.
E N D
Web Services 101Introduction to Web Services 2110472 Computer Networks Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University
Outline • What is web service ? Any why ? • Service-Oriented Architecture. • Web Services Products. • Existed and Future Applications. • Trends and Future.
What is web service ? “Next-generation service-oriented Internet applications.” “Component-based software architecture.” “A concept of a programmable Internet.”
OK, what really is web service ? • Well…nobody really knows for sure. • Everyone has its own definition. • Something in common • Software components with well-defined interfaces. • Communicating through XML-based messaging. • Connecting via HTTP-based protocol.
Why then ? • Everybody is doing it !!!
Driving Forces • E-business trends • Flexible architecture. • From RPC to messaging-centric model. • Business needs • EAI – Enterprise Application Integration. • B2B / G2G.
The Ultimate Goals • Web service is • Platform independent. • Implementation independent. • Software Components. • Features • Described using a service description language. • Published to a registry of services. • Discovered through a standard mechanism. • Invoked through a declared API over a network. • Composed with other services.
Service Oriented Architecture • Publish – Find – Bind. Service Registry WSDL UDDI Find Publish SOAP Service Requestor Service Provider Bind
Web Services Interoperability Stacks • Proposed to W3C by IBM and Microsoft in March 2001 • Wire stack. • Description stack. • Discovery stack.
Wire Stack • Determine how a message is sent from the service requestor to the service provider. • Components • HTTP (SMTP, FTP, RMI/IIOP, MQSeries). • XML. • SOAP. “XML-based RPC over HTTP”
SOAP RPC Request POST /bws/inventory.jws HTTP/1.0 … <?xml version=“1.0” encoding=“UTF-8”?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance> <SOAP-ENV:Body> <doCheck> <arg0 xsi:type=“xsd:string”>947-TI</arg0> <arg1 xsi:type=“xsd:int”>1</arg1> </doCheck> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
SOAP RPC Response HTTP/1.0 200 OK … <?xml version=“1.0” encoding=“UTF-8”?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance> <SOAP-ENV:Body> <doCheckResponse> <doCheckResult xsi:type=“xsd:boolean”>true</doCheckResult> </doCheckResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
SOAP Messaging <?xml version=“1.0” encoding=“UTF-8”?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance> <SOAP-ENV:Body> <po xmlns=http://www.skatestown.com/ns/po id=“503383” submitted=“2001-12-06”> <billTo> <company>The Skateboard Warehouse</company> <street>One Warehouse Park</street> … </billTo> … </po> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Description Stack • Describe the details of the service • What a service does (provided methods). • How a service is accessed (data format & protocol). • Where a service is located (e.g. URL). • WSDL / WSEL • XML-based format. • Service implementation and interface. • Endpoint description.UDDI.
Discovery Stack • Provide service discovery mechanism. • There are 2 levels • Inspection – discovering the service description given that service identifier (URL) is known. • IBM’s ADS and Microsoft’s DISCO. • Directory – capabilities-based lookup. • UDDI.
What are in the market ? • J2EE • BEA – WebLogic Server. • IBM – WebSphere SOAP toolkit. • Sun – SunOne. • Iona – XMLBus • Macromadia – JRun 3.1 / JRun 4.0. • Apache – Axis (SOAP API). • University of Indiana – SOAP-RMI. • Mind Electric – GLUE. • Microsoft’s .NET
Any existing applications ? • Yes…there are some… • Dealersphere • National Auto Dealer Association. • Car dealers to communicate with other companies via ebXML and SOAP. • Features? • Handling credit checks. • Getting the exact color and car options. • Locating the car at another dealer.
Any existing applications ? • Public eService Infrastructure (PSi) • iDA Singapore. • Integrate over 600 online services from several government agencies. • Ex: • Request for a new driver’s license. • Service provided by Land Transport Authority of Singapore. • However, citizen information is needed from Citizen Department. • And payment must be made online. • Other services also need these information.
Future applications ? • Authentication services • Microsoft’s Passport. • Liberty Alliance. • Agent-based shopping. • Internet syndication.
Conclusion • Web services is still unclear • Open areas. • Or just a hype! • Publish + find + bind = WSDL + UDDI + Soap
References • S. Graham et. al, “Building Web Services with Java”, SAMS Publishing, 2002. • http://www.webservices.org • And others…