Web services and SOA


Published on

My personal note about SOAP and REST Web Services and SOA.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Gartner is an information technology research and advisory company providing technology related insight. More info http://www.databaseanswers.org/web_services_history.htm
  • <types> The data types used by the web service <message> The messages used by the web service <portType> The operations performed by the web service <binding> The communication protocols used by the web service
  • Along with this you must also know the tools like Java2WSDL, and WSDL2Java Java2WADL, and WADL2Java in case you break your deployment with the Web service.
  • [http://www.xml.com/pub/at/29] [http://www.javaworld.com/javaworld/jw-03-2003/jw-0321-wssecurity.html] [http://www.ibm.com/developerworks/java/library/j-jws4/] Security! • "SOAP is firewall friendly" – Normally transported over HTTP – Firewalls expect HTTP to be Web requests, not procedure calls • Fetch the brochure… • Not update my bank account… – This is probably a good thing! • Have to rely on strong security rather than weaker physical security WS-Security • Proposal from IBM & MS • SOAP header extensions – Protect integrity and confidentiality of messages – Attach encoded security tokens • X509, Kerberos • Leverage XML standards – XML Signature – XML Encryption More WS-Security • WS-Policy – Specifying requirements & capabilities – Policies including privacy, encoding security tokens, QoS, … – First published Dec 2002 • WS-Trust – Establishing trust relationships – Trusted security tokens – First published Dec 2002 More WS-Security • WS-Privacy • WS-SecureConversation • Ws-Federation • Ws-Authorization And probably a few more… More Security Standards • SAML – Representing authentication and authorisation information • XACML – Access Control • XrML – Digital Rights
  • Web services and SOA

    1. 1. Web Services And SOA [email_address]
    2. 2. What’s Inside <ul><li>SOA </li></ul><ul><li>Web Services Vision </li></ul><ul><li>Web Services </li></ul><ul><li>History of Web services </li></ul><ul><li>Type of Web services </li></ul><ul><li>SOAP Web Service </li></ul><ul><li>WSDL </li></ul><ul><li>UDDI </li></ul><ul><li>RESTful Web Service </li></ul><ul><li>WADL </li></ul><ul><li>Testing </li></ul><ul><li>Security </li></ul>
    3. 3. Intent <ul><li>Most enterprises have made extensive investments in system resources over the course of many years. Such enterprises have an enormous amount of data stored in legacy enterprise information systems (EIS),so it's not practical to discard existing systems. It's more cost-effective to evolve and enhance EIS. But how can this be done ? </li></ul><ul><li>SOA and WebServices is the key </li></ul>
    4. 4. SOA <ul><li>SOA is a Software Design Approach </li></ul><ul><li>Conceptually a collection of services on a network that communicate with one another. </li></ul><ul><li>Services are loosely coupled </li></ul><ul><li>SOA is a higher level of application development. </li></ul><ul><li>SOA typically leverages on standards based integration. </li></ul><ul><li>The key players include service provider and service consumer </li></ul>
    5. 5. Advantages of SOA <ul><li>Service-oriented architecture (SOA) helps organizations more easily transform their business processes for high performance by simplifying the underlying information systems </li></ul><ul><li>Service-oriented architectures enable organizations to become more agile </li></ul><ul><li>Drives cost reductions </li></ul><ul><li>Simpler systems </li></ul><ul><li>Lowering maintenance costs </li></ul><ul><li>Enhancing architectural flexibility </li></ul><ul><li>Lowering integration costs. </li></ul>
    6. 6. A Vision… <ul><li>A peaceful, harmonious services-based world… </li></ul><ul><li>Applications everywhere exporting services and working together </li></ul><ul><li>Seamless, easy integration between applications, across departments, across organizations. </li></ul><ul><li>One common set of standards </li></ul><ul><li>A programmable Web… </li></ul>
    7. 7. Web Services Vision
    8. 8. What Are Web Services ? <ul><li>Software Components that can be published, located and run over the internet </li></ul><ul><li>Web services are application components </li></ul><ul><li>Web services communicate using open protocols </li></ul><ul><li>Web services are self-contained and self-describing </li></ul><ul><li>Web services can be discovered using UDDI </li></ul><ul><li>Web services can be used by other applications </li></ul><ul><li>XML is the basis for Web services </li></ul><ul><li>Web Services helps in reusability </li></ul><ul><li>Web services support interoperability </li></ul><ul><li>The Concept of SOA is realized using web services </li></ul>
    9. 9. W3C (working group) definition <ul><li>&quot;A Web service is a software application identified by a URI, whose interfaces and bindings are capable of being defined, described and discovered as XML artifacts. A Web service supports direct interactions with other software agents using XML based messages exchanged via internet-based protocols.&quot; </li></ul>
    10. 10. History of Web services <ul><li>Web Services have evolved through three distinct Phases. </li></ul>Phase Period Description 1 1999-01 Set timeline for the adoption of Web Services. Many Web Services development tools delivered from Microsoft, IBM, Sun, Software AG, Oracle and many others. 2 2002-04 Business Web Services start to appear in large numbers. Adoption of UDDI Registries in 2003. 40% of financial services transactions leveraged in Web Services models. 3 2005-> A number of issues of previous phases are addressed. These include: Quality of Service (QoS); network reliability; transaction recovery; real-time messaging; security; and billing mechanisms. Adapted dynamic Web Services. Organizations changed not only their business processes, but also their business models as they move to real-time collaboration and integration of processes both within and between enterprises..
    11. 11. Type of Web services SOAP REST and more ..
    12. 12. SOAP - a type of Web Service <ul><li>Web-based applications that dynamically interact with other Web applications using open standards that include XML, UDDI and SOAP. </li></ul><ul><li>JAX-WS </li></ul><ul><li>Let’s see an example </li></ul>
    13. 13. SOAP Web Services Architecture
    14. 14. What is SOAP ? <ul><li>SOAP is an XML-based protocol to let applications exchange information over HTTP. </li></ul><ul><li>SOAP stands for Simple Object Access Protocol </li></ul><ul><li>SOAP is a communication protocol </li></ul><ul><li>SOAP is a format for sending messages </li></ul><ul><li>SOAP is designed to communicate via Internet </li></ul><ul><li>SOAP is platform independent </li></ul><ul><li>SOAP is language independent </li></ul><ul><li>SOAP is based on XML </li></ul><ul><li>SOAP is simple and extensible </li></ul><ul><li>SOAP allows you to get around firewalls </li></ul><ul><li>SOAP is a W3C standard </li></ul>
    15. 15. Skeleton of SOAP Message <?xml version=&quot;1.0&quot;?> <soap:Envelope xmlns:soap=&quot;http://www.w3.org/2001/12/soap-envelope&quot; soap:encodingStyle=&quot;http://www.w3.org/2001/12/soap-encoding&quot;> <soap:Header> ... </soap:Header> <soap:Body> ... <soap:Fault> ... </soap:Fault> </soap:Body> </soap:Envelope>
    16. 16. WSDL - about Web Services <ul><li>WSDL stands for Web Services Description Language </li></ul><ul><li>WSDL is written in XML </li></ul><ul><li>WSDL is an XML document </li></ul><ul><li>WSDL is used to describe Web services </li></ul><ul><li>WSDL is also used to locate Web services </li></ul><ul><li>WSDL is a W3C recommendation </li></ul><ul><li>WSDL Describes Web Services </li></ul>
    17. 17. The WSDL Document Structure <definitions> <types> definition of types........ </types> <message> definition of a message.... </message> <portType> definition of a port....... </portType> <binding> definition of a binding.... </binding> </definitions>
    18. 18. UDDI - a registry of Services <ul><li>UDDI is a platform-independent framework for describing services, discovering businesses, and integrating business services by using the Internet. </li></ul><ul><li>UDDI stands for Universal Description, Discovery and Integration </li></ul><ul><li>UDDI is a directory for storing information about web services </li></ul><ul><li>UDDI is a directory of web service interfaces described by WSDL </li></ul><ul><li>UDDI communicates via SOAP </li></ul><ul><li>UDDI is built into the Microsoft .NET platform </li></ul>
    19. 19. UDDI Publishing and Searching
    20. 20. Testing SOAP <ul><li>SoapUI </li></ul><ul><li>Web Service Call Composer </li></ul><ul><li>WebInject </li></ul><ul><li>JMeter </li></ul><ul><li>SOAPSonar Personal Edition </li></ul><ul><li>SOA Cleaner </li></ul><ul><li>Vordel SOAPbox </li></ul><ul><li>Storm </li></ul>
    21. 21. REST - another Web Service <ul><li>REST (representational state transfer) is an approach for getting information content from a Web site by reading a designated URI that contains an XML file that describes and includes the desired content. </li></ul><ul><li>That’s it! You use HTTP (GET,PUT,…) to a URI, with XML as the payload </li></ul><ul><ul><li>create – POST </li></ul></ul><ul><ul><li>read – GET </li></ul></ul><ul><ul><li>update – PUT </li></ul></ul><ul><ul><li>delete – DELETE </li></ul></ul><ul><li>JAX-RS </li></ul><ul><li>Let’s see an example </li></ul>
    22. 22. WADL - REST equivalent of a WSDL WADL – Web Application Description Language
    23. 23. Testing REST <ul><li>SoapUI </li></ul><ul><li>SOA Cleaner </li></ul><ul><li>Rest-client </li></ul><ul><li>FireFox Add-Ons </li></ul><ul><li>Firebug </li></ul><ul><li>Poster </li></ul><ul><li>RESTClient </li></ul><ul><li>RESTTest </li></ul><ul><li>HTTP Resource Test </li></ul>
    24. 24. Security <ul><li>&quot;SOAP is firewall friendly” </li></ul><ul><li>SOAP header extensions </li></ul><ul><ul><li>XML Signature </li></ul></ul><ul><ul><li>XML Encryption </li></ul></ul><ul><li>More WS-Security </li></ul><ul><li>WS-Policy </li></ul><ul><li>WS-Trust </li></ul><ul><li>WS-Privacy </li></ul><ul><li>WS-SecureConversation </li></ul><ul><li>Ws-Federation </li></ul><ul><li>Ws-Authorization </li></ul><ul><li>And probably a few more… </li></ul>
    25. 25. Resources <ul><li>http://www.w3schools.com/webservices/default.asp </li></ul><ul><li>http://www.databaseanswers.org/web_services_history.htm </li></ul><ul><li>http://www.w3schools.com/soap/default.asp </li></ul><ul><li>http://www.w3schools.com/wsdl/default.asp </li></ul><ul><li>www.genomeutwin.org/events/SENGER_060504_webservices.ppt </li></ul><ul><li>www.ict.csiro.au/mu/Trends/Presentations/CSIROWebServices.pdf </li></ul><ul><li>RESTful Web Services.pdf By Daniel Glauser </li></ul>
    26. 26. Thank You