Chapter 8 Web Services Designing and Other Tools (Case Study)
Objectives By case study in the chapter, you will be able to: Examine typical existing systems for the Web service applications possible Convert the existing systems to Web service applications Describe what are the uniqueness of Web services designs Exam development tools in Web services Questions and Discussion Homework
Case study: incentive reporting system Analysis the existing incentive reporting system –See figure in next slide to understand the existing reporting system –Reasons for dissatisfaction The president of the corporation cannot get what information he/she wants in a timely manner The president of the corporation cannot get the accurate information because the information has to rely on reports from each company’s report –Goal of redesign the system To receive accurate information on a monthly basis on time
The original XYZ company’s distributed accounting system
Case study: incentive reporting system (continue) –Basic analysis for Web service design The volume of data to be transferred is relatively small The geographic locations of the companies involved make an Internet-based approach attractive The security reasons are manageable if they use firewall All IT department in each company can choose whatever language for their part of programming to create their server Future adding of a new company into the system will be able to integrate rapidly For all of above, it’s a good candidate for Web service application
Case study: incentive reporting system (continue) New terminology – styles of data transmission –request/response The client initiates the action by making a request of the server –Solicit/response The server makes the first move by soliciting a response from a client Defining the server and the clients –The rule is that always begin the transmission with the party that wants the result first –It make sense in this case to create the system using solicit/response transmission style –The corporation computer is defined as solicit type server –The company’s computers is defined as Web service clients
Case study: incentive reporting system (continue) Designing the message –The next logical step is to design the message that will be exchanged between a server and clients –Two types of messages need to be sent from the server to the clients in a solicit/response style: Is the report ready for uploading Please give me your report
Case study: incentive reporting system (continue) –Likewise, the clients need two different response message: Yes, the report is ready (or no, it is not ready) Here is my report Description of usage of the system –On a certain date each month, the server solicits the report from each client by sending out the “Is the report ready?” message –Upon receiving “yes” answer from any client, the server sends a “Please give me your report” message”
Case study: incentive reporting system (continue) –Following that, the client process all the data and sends the “Here is my report” message with the report –If the client answers “No” since report is not ready, a time for next retry is assigned and the server sleeps until it’s time to try soliciting again –See next slide for the new designed system Designing the project –One of the big advantage of Web services is the fact that every one of the 14 different accounting systems can use a different computer language and development tool to create its client code
New designed Web services system
Case study: incentive reporting system (continue) –In addition, each client can still use its own logic of accounting process without problem in the Web service design and development –Selection an available Web service development tool for creating the new system Development steps –Write the serve software –Create the WDSL document based on the server code –Using the document as a guide, IT staff in each company write the client code using their own selected computer languages or/and development tools that are best fit into their knowledge and legacy system
Case study: incentive reporting system (continue) –Run a special test version of the Web service upon the completion of each of the individual subsidiaries –The whole system is tested and results are compared to data that is known to be created upon the completion of all of the subsidiaries –Deploy the system and ready to go into production
Case study: Designing an E-shop Initiative thought –Along with the popularity of Web services and availability of commercial information, our system in the case study will discover the lower-priced cameras wholesalers’ lists and we will call this E- shop “CheapestCameras.com” Goal of the system –We could design the E-shop that involves the discovery and interconnection of clients to Web services without human intervention for the cheapest camera sales
Case study: Designing an E-shop (continue) Defining the servers and clients –The customers as clients in our website will make requests first for cheapest cameras, so our E-shop website will be client –All the wholesalers, as well as credit card service, will be Web services –So our system should be request/response style Designing the message –The following messages will be sent to each of wholesaler Web services:
Case study: Designing an E-shop (continue) How many cameras of model number XXXX do you have for sale? What is the price of camera model number XXXX? Please send n cameras with model number XXXX to address YYYY Please send the current price list –The camera wholesaler Web services respond with the following message: We have n cameras with model number XXXX Camera model XXXX is $ This is a confirmation that n cameras with model XXXX were sent to address YYYY Here is the current price list Any error message indicating that the camera is out of stock or that doesn’t exist
Case study: Designing an E-shop (continue) –CheapestCameras.com website will send the following message to the credit card validation website: Will you approve a purchase of $ on credit card number ? –The credit card Web service will send the following messages: A purchase of $3.00 on credit card number is approved/not approved, or An error message stating that credit card number is unknown
Case study: Designing an E-shop (continue) Description of usage of the system –At a certain time of every night, our website would search the Web services repository for new wholesalers to buy from –If found a new one, the wholesaler to the list of current vendor in our website will be added –The message to each wholesaler’s Web service asking for the current price list will be the sent out –The latest price list will be returned from each wholesaler’s Web service
Case study: Designing an E-shop (continue) –Our website will recalculate the prices and reflect these changes –When a customer goes to our E-shop, she chooses a camera to buy. During the checkout, the website sends a message to the credit card validation Web service. –If the credit card number is approved, a message is sent to the wholesaler for that model asking if that item is still available. –If it is, a message ordering that camera is sent
Case study: Designing an E-shop (continue) –The wholesaler’s Web service will confirm the order and ship the product directly to the customer –If the camera is not available from this wholesaler, the next cheapest vendor’s Web service is sent the same message –This will continue until the requested item is located –See next slide for details
Design logic for CheapestCameras
Case study: Designing an E-shop (continue) Designing the project and development steps –The first step is to perform a search to find camera wholesalers who are Web services enabled –Each wholesaler Web service will provide a WSDL document, these documents need to be downloaded –Our website software will be written to act as a client and communicate with each wholesaler Web service to obtain prices and to place orders
Case study: Designing an E-shop (continue) –Part of our website code must be written to process the dynamic discovery and setup of new wholesalers that it finds the Web service registry –Part of our software must also be written being capable of acting as client to the credit card Web service –The GUI of our website must be developed –When the project team completes its work, the whole system is tested –Deployment of the system and ready to go
Uniqueness of Web services designs In addition to the common characteristics in distributed computing technology, Web services designs have the following unique features we must consider: –No incentive data transmission performance Systems in which timing is critical are not good candidates for Web services Systems in which timing is critical are not good candidates for Web services –Lack of rollback There is not standard approach available to rolling back part of a Web service transaction if a later step fails. A Web service may not satisfy this requirement There is not standard approach available to rolling back part of a Web service transaction if a later step fails. A Web service may not satisfy this requirement
Uniqueness of Web services designs (continue) –Cascading business process execution No current standard way available to chain together set of Web services into a single transaction using if-then- else logic No current standard way available to chain together set of Web services into a single transaction using if-then- else logic –Lack of sophisticated security technology at present only Secure Socket Layer (SSL) can be used in Web services; there is no sophisticated encryption and decryption or digital signature available today at present only Secure Socket Layer (SSL) can be used in Web services; there is no sophisticated encryption and decryption or digital signature available today
Uniqueness of Web services designs (continue) On the other hand, Web services frees you from many restrictions that exist for other technology as follows: –The geographic locations –Firewalls –Computer languages and other programming tools
Development tools in Web services Apache Axis Java Web services developer pack Microsoft.Net BEA WebLogic IBM WebSphere Many other Web services development tools –
Summary of Web service development steps Step one: analyzing the legacy system if it exists Step two: establishing goal of the Web service system Step three: defining the servers and clients Step four: designing the message Step five: describing usage of the system
Summary of Web service development steps (continue) Step six: designing the project by selecting Languages and tools Step seven: writing the software Step eight: testing and modifying code Step nine: deploying the software package into production
Questions and Discussion
Homework for Extra Points Using the examples and Web service development steps discussed in the chapter to create CheapestBooks.com Web service system Due: Wednesday, May 25, 2005 in the class