Web Services
What is a Web service <ul><li>An application or block of executable code that is hosted on a web server and whose function...
What Is A Web Service –Take 1 <ul><li>A Web Service is any piece of software that makes itself available over the Internet...
What Is A Web Service – Take 2 <ul><li>A Web Service performs one or more tasks that are Internet accessible through stand...
What Are XML Web Services <ul><li>An XML Web service is a software service exposed on the Web through SOAP, described with...
Web Services  <ul><li>Web Services are application components that:  </li></ul><ul><ul><li>Communicate via open protocols ...
Web Services Discovery – UDDI <ul><li>U niversal  D escription,  D iscovery and  I ntegration  </li></ul><ul><li>UDDI is a...
Web Service Description <ul><li>W eb  S ervice  D escription  L anguage </li></ul><ul><li>WSDL makes it possible to descri...
Web Service Stack Network Infrastructure HTTP, TCP/IP, email, etc. XML-Based Messaging SOAP Service Description WSDL Servi...
The Large Picture
The Short History of Web Services <ul><li>1999 Hewlett-Packard introduced the concept of Web services in its e-Speak, prob...
Web services: A Natural Progression <ul><li>OO languages enable two objects within the same application to interact </li><...
Web Services Are Here To Stay
Web Services Advantages <ul><li>Operate using text-based open standards, which enable components written in different prog...
Web Services Advantages (2) <ul><li>Can significantly reduce the costs of </li></ul><ul><ul><li>enterprise application int...
Web Services Advantages (3) <ul><li>Enable systems in different companies to interact with each other, more easily than be...
Web Services:  why should you use them <ul><li>Web services are written according to international standards:  </li></ul><...
Web Services Change  Software Development <ul><li>Allowing your application to access web services may  </li></ul><ul><ul>...
Web Services challenges <ul><li>Standards are still in their improvement stages </li></ul><ul><li>Uncertainty in Quality o...
Organizations Working On Web Services Standards <ul><li>OASIS – Organization for the Advancement of Structured Information...
Future Of Web Services <ul><li>Web Services defines a simple, interoperable, messaging framework for web-based application...
Alternatives to SOAP over http <ul><li>XML documents over HTTP </li></ul><ul><ul><li>Less need to do this with commonplace...
Distributed Systems and RPC <ul><li>How did apps once communicate with each other across machine and OS boundaries? </li><...
So What’s Different? <ul><li>Open format usable from any platform </li></ul><ul><ul><li>(Not depend on a specific format, ...
No Reason Not to use SOAP <ul><li>Really </li></ul><ul><ul><li>Advantages of using SOAP </li></ul></ul><ul><ul><ul><li>Mor...
Web Services Toolkits http://dev2dev.bea.com/products/wlworkshop81/index.jsp WebLogic Workshop and WebLogic Server BEA htt...
Some Applications  <ul><li>Services a web application might need </li></ul><ul><ul><li>Credit card verification </li></ul>...
References <ul><li>Specs </li></ul><ul><ul><li>SOAP Specification, http://www.w3.org/TR/soap/ </li></ul></ul><ul><ul><li>W...
Upcoming SlideShare
Loading in …5
×

[ ] WS.ppt

787 views
731 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
787
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

[ ] WS.ppt

  1. 1. Web Services
  2. 2. What is a Web service <ul><li>An application or block of executable code that is hosted on a web server and whose functions are exposed through standard XML protocols. </li></ul><ul><li>The W3C defines a Web service[1] as a software system designed to support interoperable Machine to Machine interaction over a computer network. </li></ul>
  3. 3. What Is A Web Service –Take 1 <ul><li>A Web Service is any piece of software that makes itself available over the Internet using a standardized XML messaging system; therefore a Web Service is also called XML Web Service . </li></ul><ul><li>Because all communication is in XML, Web Services are not tied to any OS or programming language -- Java can talk with Perl; Windows applications can talk with Unix applications, etc. </li></ul><ul><li>A Web service can have a public interface. The interface, defined using Web Service Description Language (WSDL), describes all the public services available to a client. </li></ul><ul><li>A Web service can be searched. The most prominent directory of Web services is Universal Description, Discovery, and Integration (UDDI) </li></ul>
  4. 4. What Is A Web Service – Take 2 <ul><li>A Web Service performs one or more tasks that are Internet accessible through standardized XML messaging. </li></ul><ul><li>Communication with the Web Service uses XML messaging such as SOAP </li></ul><ul><li>The details of the Web Service are described using WSDL </li></ul><ul><li>If the Web Service is registered using UDDI, it can be discovered </li></ul><ul><li>Both WSDL and UDDI documents follow XML grammar so they are platform independent </li></ul>
  5. 5. What Are XML Web Services <ul><li>An XML Web service is a software service exposed on the Web through SOAP, described with a WSDL file, and registered in UDDI. </li></ul><ul><ul><li>Not an object (of OOP) </li></ul></ul><ul><ul><li>Independent of platforms and programming languages </li></ul></ul><ul><ul><li>Stateless </li></ul></ul><ul><ul><li>Atomic </li></ul></ul><ul><ul><li>Different from COM and CORBA </li></ul></ul>
  6. 6. Web Services <ul><li>Web Services are application components that: </li></ul><ul><ul><li>Communicate via open protocols (HTTP, SMTP, TCP/IP, etc.) </li></ul></ul><ul><ul><li>Process XML messages using SOAP </li></ul></ul><ul><ul><li>Describe their messages using XML Schema </li></ul></ul><ul><ul><li>Provide an endpoint description using WSDL </li></ul></ul><ul><ul><li>Can be discovered using UDDI </li></ul></ul><ul><li>Web Services need to be invoked. </li></ul><ul><li>A Web Service may return messages. </li></ul>
  7. 7. Web Services Discovery – UDDI <ul><li>U niversal D escription, D iscovery and I ntegration </li></ul><ul><li>UDDI is an industry-wide initiative to standardize how Web Services are discovered. </li></ul><ul><li>UDDI defines a SOAP-based API for querying centralized Web Service repositories. </li></ul><ul><li>UDDI makes it possible for developers to discover the technical details of a Web Service (WSDL) as well as other business-oriented information and classifications. </li></ul><ul><li>UDDI is a useful tool for developers when they need dynamic discovery in their enterprise or when they need to identify potential business partners on the Web at development time. </li></ul>
  8. 8. Web Service Description <ul><li>W eb S ervice D escription L anguage </li></ul><ul><li>WSDL makes it possible to describe an endpoint and its behavior. </li></ul><ul><li>WSDL layers additional information over the XML Schema definitions that describe the actual service. </li></ul><ul><li>This extra information makes it possible for toolkits to automatically generate proxy and stub classes that know how to invoke Web Service operations without developer intervention. </li></ul>
  9. 9. Web Service Stack Network Infrastructure HTTP, TCP/IP, email, etc. XML-Based Messaging SOAP Service Description WSDL Service Discovery/Publication UDDI APPLICATION C#, Java, VB, Windows, Macintosh OS X, etc.
  10. 10. The Large Picture
  11. 11. The Short History of Web Services <ul><li>1999 Hewlett-Packard introduced the concept of Web services in its e-Speak, probably the first Web services technology, and certainly the first commercially marketed Web services technology </li></ul><ul><li>June 2000 Microsoft coined the actual term “Web services” as a key component of its .NET initiative </li></ul><ul><li>2000 W3C started working on Web Services standard, </li></ul><ul><li>August 8, 2003 Web Services Architecture W3C Working Draft </li></ul><ul><li>September 13, 2003 Sun announced support for Web Services for Remote Portlets (WSRP). </li></ul>
  12. 12. Web services: A Natural Progression <ul><li>OO languages enable two objects within the same application to interact </li></ul><ul><li>Microsoft’s COM (Component Object Model) and the alike enable two objects on two different applications, but on the same computer, to interact </li></ul><ul><li>Microsoft’s DCOM and COBRA enable two objects on different computers (linked with a LAN) to interact </li></ul><ul><li>Web services enable two objects on different computers linked with the Internet to interact, regardless operating systems and programming languages </li></ul>
  13. 13. Web Services Are Here To Stay
  14. 14. Web Services Advantages <ul><li>Operate using text-based open standards, which enable components written in different programming languages and for different platforms to communicate </li></ul><ul><li>Promote a modular approach to software development, so multiple organizations can communicate with the same Web service </li></ul><ul><li>Are an easy and inexpensive way to implement (relatively) </li></ul><ul><li>Most applications can be repackaged as Web services, so companies do not have to adopt entirely new software. </li></ul>
  15. 15. Web Services Advantages (2) <ul><li>Can significantly reduce the costs of </li></ul><ul><ul><li>enterprise application integration (EAI) and </li></ul></ul><ul><ul><li>business-to-business (B2B) communications, </li></ul></ul><ul><ul><li> thus offering companies tangible returns on their investments. </li></ul></ul><ul><li>Can be implemented incrementally, rather than all at once. </li></ul><ul><ul><li>reduces the cost of adopting Web services and disruption resulting from an abrupt switch in technologies. </li></ul></ul>
  16. 16. Web Services Advantages (3) <ul><li>Enable systems in different companies to interact with each other, more easily than before </li></ul><ul><li>Enable companies to conduct more business electronically, with more potential business partners, in more and different ways than before, and at a reasonable cost </li></ul><ul><li>Supported by almost all the major players in every industry!!! </li></ul><ul><li>Have (on going) standards to follow! </li></ul>
  17. 17. Web Services: why should you use them <ul><li>Web services are written according to international standards: </li></ul><ul><ul><li>all parties work from the same basic design </li></ul></ul><ul><ul><li>companies can add value and business advantage to the basic design to meet the needs of their customers </li></ul></ul><ul><ul><li>companies can extend these added capabilities to other trading partners, since they are built on standards </li></ul></ul><ul><ul><li>they make it possible for many players to enter the market, which increases competition and brings down the costs </li></ul></ul><ul><ul><li>they helps prevent being locked-in to a specific vendor or type of computer or software. </li></ul></ul>
  18. 18. Web Services Change Software Development <ul><li>Allowing your application to access web services may </li></ul><ul><ul><li>Reduce the complexity of your application, which reduce costs and maintainability </li></ul></ul><ul><ul><li>Reduce the development time, therefore costs </li></ul></ul><ul><ul><li>Change the funding model of the application </li></ul></ul><ul><ul><ul><li>You may have to budget the costs of using other’s web services </li></ul></ul></ul><ul><ul><ul><li>You may recover your spending with a popular web service </li></ul></ul></ul><ul><ul><li>Make your application more dependent on the Internet </li></ul></ul><ul><ul><ul><li>Infrastructure costs </li></ul></ul></ul><ul><ul><ul><li>Security risks </li></ul></ul></ul>
  19. 19. Web Services challenges <ul><li>Standards are still in their improvement stages </li></ul><ul><li>Uncertainty in Quality of Services (QoS) </li></ul><ul><li>Delayed releasing of some standards </li></ul>
  20. 20. Organizations Working On Web Services Standards <ul><li>OASIS – Organization for the Advancement of Structured Information Standards </li></ul><ul><li>W3C – World Wide Web Consortium </li></ul><ul><li>WS-I – Web Services Interoperability Organization </li></ul><ul><li>IETF – The Internet Engineering Task Force </li></ul><ul><li>RosettaNet </li></ul>
  21. 21. Future Of Web Services <ul><li>Web Services defines a simple, interoperable, messaging framework for web-based applications. </li></ul><ul><li>Many of the important distributed system features are yet to be defined (like security, routing, transactions, etc). </li></ul><ul><li>These pieces will be rolled out over time through standard SOAP headers. For now, embrace the fundamental XML technologies and don't expect too much too soon. </li></ul><ul><li>As standards evolve, Web Services will match in functionality to the sophisticated but proprietary distributed platforms of the past. </li></ul>
  22. 22. Alternatives to SOAP over http <ul><li>XML documents over HTTP </li></ul><ul><ul><li>Less need to do this with commonplace SOAP toolkits </li></ul></ul><ul><ul><li>But these are still web services </li></ul></ul><ul><li>XML RPC </li></ul><ul><ul><li>Simpler than SOAP and longer history </li></ul></ul><ul><ul><li>Limitations on objects that can be exposed </li></ul></ul><ul><ul><li>With current SOAP toolkit support little reason to use </li></ul></ul>
  23. 23. Distributed Systems and RPC <ul><li>How did apps once communicate with each other across machine and OS boundaries? </li></ul><ul><li>remote procedure calls </li></ul><ul><ul><li>Java RMI </li></ul></ul><ul><ul><li>.NET Remoting </li></ul></ul><ul><ul><li>Corba </li></ul></ul><ul><ul><li>DCOM </li></ul></ul>
  24. 24. So What’s Different? <ul><li>Open format usable from any platform </li></ul><ul><ul><li>(Not depend on a specific format, programming language, OS, etc) </li></ul></ul><ul><li>Easy to understand and debug </li></ul><ul><ul><li>Relatively simple </li></ul></ul><ul><li>Stable support interfaces </li></ul><ul><li>Standards enable “expose service once” and have multiple consumers </li></ul><ul><li>Scalable </li></ul>
  25. 25. No Reason Not to use SOAP <ul><li>Really </li></ul><ul><ul><li>Advantages of using SOAP </li></ul></ul><ul><ul><ul><li>More flexible data types </li></ul></ul></ul><ul><ul><ul><ul><li>It allows data structures and DataSets to be encoded in XML just as easily as integers and strings </li></ul></ul></ul></ul><ul><ul><ul><li>Support for headers and extensions </li></ul></ul></ul><ul><ul><ul><ul><li>SOAP allows for added features like tracing, encryption, and security </li></ul></ul></ul></ul><ul><ul><ul><li>True cross-platform support </li></ul></ul></ul><ul><ul><ul><ul><li>SOAP provides the best option for a non .NET client to consume a .NET service </li></ul></ul></ul></ul>
  26. 26. Web Services Toolkits http://dev2dev.bea.com/products/wlworkshop81/index.jsp WebLogic Workshop and WebLogic Server BEA http://www.systinet.com Systinet Server 5.0 Systinet http://java.sun.com/webservices/jwsdp/index.jsp Java Web Services Developer Pack 1.4 Sun ws.apache.org/axis Apache Axis IBM/open source microsoft.com/vstudio http://msdn.microsoft.com/webservices/building/wse/default.aspx Visual Studio.NET Web Services Enhancements Microsoft URL Product Company
  27. 27. Some Applications <ul><li>Services a web application might need </li></ul><ul><ul><li>Credit card verification </li></ul></ul><ul><ul><li>Package shipping </li></ul></ul><ul><ul><li>Currency conversion </li></ul></ul><ul><ul><li>Stock quotes </li></ul></ul><ul><li>Internal architecture of multiple server applications </li></ul><ul><ul><li>User authorization web service </li></ul></ul><ul><ul><li>Remote procedure calls </li></ul></ul><ul><li>Heavy computational tasks </li></ul><ul><ul><li>Optimizers </li></ul></ul><ul><ul><li>Routing </li></ul></ul><ul><li>Factor out business logic to expose to many application front ends </li></ul>
  28. 28. References <ul><li>Specs </li></ul><ul><ul><li>SOAP Specification, http://www.w3.org/TR/soap/ </li></ul></ul><ul><ul><li>WSDL Specification, http://www.w3.org/TR/wsdl </li></ul></ul><ul><ul><li>UDDI Specification, http://www.uddi.org/specification.html </li></ul></ul><ul><li>Tools </li></ul><ul><li>Visual Studio, http://microsoft.com/vstudio </li></ul><ul><li>Microsoft Web Services Enhancements, http://msdn.microsoft.com/webservices/building/wse/default.aspx </li></ul><ul><li>Apache Axis, http://ws.apache.org/axis </li></ul>

×