Web Services Igor Wasinski Olumide Asojo Scott Hannan What are Web Services ? “Web Services are a set of communication protocols and technical standards -- HTTP, Simple Object Access Protocol (SOAP), Universal Description Discovery and Integration (UDDI) and Extensible Mark-up Language (XML) -- that enable applications to share information via the Internet. Web services enable more efficient application-toapplication integration and form the foundation of service-oriented architectures.” http://www.ebstrategy.com/services/service_arch/serv_arch_faq.htm Web Services A method of making various applications communicate with each other automatically over the Internet. (Layman’s term.) Source: www.ncipher.com/investors/glossary.php Why Use Web Services ? To provide easy online self service to customers To provide a wider variety of products and services with minimal overhead i.e. lower operating costs. Better handling real time transactions with customers. E.g. Cell Phone activation Application integration within and across organizational boundaries. More Benefits of Web Services Open the door to new business opportunities by making it easy to connect with partners. Deliver dramatically more personal, integrated experiences to users via the new breed of smart devices—including PCs. Save time and money by cutting development time. Increase revenue streams by easily making your own Web services available to others. Web Services in the organization For web services to meet business demands of a company, service blueprint needs to be created. A key objective of any self-service blueprint is to align the business strategy, process, and applications. Every self-service blueprint is conceptually segmented into four layers Service Blueprint Layers http://www.awprofessional.com/articles/article.asp?p=102153 Service Blueprint Layers The focal point layer defines the real business impact that needs to be accomplished. The services layer defines the critical composite processes that support the focal point. Customers prefer to deal with holistic end-to-end processes, not piecemeal fragments. The process layer is where the core business processes are defined and then digitized, using various applications to implement new customer experiences and support the services strategy. The integrated enterprise applications layer is the foundation and infrastructure of a business—the technology plumbing and wiring that links the systems, databases, and applications. Practical Side of Web Services There are four main issues that organizations need be aware of before they considering the adoption or implementation of web service technology. These issues are Design, Development, Scalable Deployment and Support. Design Issues Scalability and Availability : Web Services and Applications have to deal a large number of user and must be designed to as such. One popular design is using Clusters or Grid Invocation and Run-Time Instantiation : Web service applications need to be carefully designed to run in multi-tenant mode or be deployed with a dedicated instance if it is intended for use by several user groups. Development Configuration Management : Clear guidelines and policies are needed for assignment, tracking and management of unique version numbers for each software build. Composition Management: Since most web service applications are made up of simpler web services which may be physically hosted on different machines on the net and can be from a variety of service providers it is very important to keep track of what services are being used Deployment of Web Services Monitoring service level agreements (SLA) for web services is more complicated than other classical types of software because of the fact that web services are composed of other services each with its own individual SLA. Support Issues in Web Services Deployment Support : It is important to have a well defined methodology to deploy patches and fixes. Provisioning : This involves turning on and turning off services Network Identity : It is important for each user to have a unique identity. Security : Authentication, authorization, auditing and encryption should be key issues and need to be well supported McAfee VirusScan on Desktop (after virus definition update) Desktop Client Reporting Web service (VirusUpdateCheckinExpanded) activate desktop client client calls web service web service returns status status shown on screen Desktop Client (on port 80) transmits the following XML to the web service <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <VirusUpdateCheckinExpanded xmlns="http://tempuri.org/VirusUpdateNotifierWS/Service1"> <MyHostName>SOMEHOSTNAME</MyHostName> <MyEngineVersion>1.2.3.4</MyEngineVersion> <MyVirusDefinitionVersion>1234</MyVirusDefinitionVersion> <MyVirusDefinitionDate>02/29/2004</MyVirusDefinitionDate> </VirusUpdateCheckinExpanded> </soap:Body> </soap:Envelope> Desktop Client (on port 80) then receives the following XML from the web service <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <VirusUpdateCheckinExpandedResponse xmlns="http://tempuri.org/VirusUpdateNotifierWS/Service1"> <VirusUpdateCheckinExpandedResult>success</VirusUpdateCheckinExpandedResult> </VirusUpdateCheckinExpandedResponse> </soap:Body> </soap:Envelope> Questions ?