Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

  • Be the first to comment

  • Be the first to like this


  1. 1. Cheap N Fast Web Service Sandeep Anantharaman Mahim Lakhani
  2. 2. Introduction <ul><li>Sending home a gift for Christmas? </li></ul><ul><li>Sending your resume to an employer? </li></ul><ul><li>You should be really tired of looking up various websites to find the cheapest option. </li></ul><ul><li>That is why we have come up with this web service called Cheap N Fast. </li></ul><ul><li>You can check the prices of services offered by all the companies on a single website. </li></ul><ul><li>Sounds Exciting!! Lets explore it further… </li></ul>
  3. 3. A Deeper Look.. <ul><li>UPS, DHL and USPS </li></ul><ul><li>Instead of checking each website, compare all the prices on a single website. </li></ul><ul><li>Get the best deal by choosing the fastest and cheapest option to send your package. </li></ul><ul><li>Very advantageous to the people who use the internet to check the prices of package delivery services and request for a pick online. </li></ul><ul><li>First website to offer such a service. </li></ul>
  4. 4. Objectives <ul><li>Provide data entry facility for inputs to the system. </li></ul><ul><li>Fetch the data based on weight and dimensions of the package. </li></ul><ul><li>Allow the user to enter the source and destination of the package. </li></ul><ul><li>Display the prices of services offered by the three companies on the same page for the given source and destination. </li></ul><ul><li>Provide a link to access the selected service directly from the results page. </li></ul><ul><li>Display the contents of the webpage in a printable format if required by the user. </li></ul>
  5. 5. Design Features <ul><li>Process Enabled SOA has light weight frontends, which generally should be the case while developing web applications. A simple front end ensures that complexity at front end is minimum, which should be the case for application specific services. </li></ul><ul><li>A Process Enabled SOA hides business complexities, which is going to be the case with the project since the business complexities are present inside server and handled by the client only by web services. Hence abstraction and encapsulation are also supported to a large extent. </li></ul><ul><li>Lastly, since the project uses web services from different organizations, using a Process Enabled SOA would ease out the difficulties that might arise due to the integration of independent services on one platform. </li></ul>
  6. 6. Architecture Diagram
  7. 7. Architecture Diagram <ul><li>The various services provided by the application can be shown in this way. Every process in a layer refers to services in its immediate lower layer, hence doing proper justice with the Process Enabled SOA. </li></ul>
  8. 8. Architectural Model
  9. 9. Architectural Model <ul><li>The Architectural model shows the highest level view of the flow of data. </li></ul><ul><li>It also shows the interaction with the databases. </li></ul>
  10. 10. SOA Architecture
  11. 11. SOA Architecture <ul><li>Figure shows the SOA architecture of the PackageDeliveryService </li></ul><ul><li>The service runs inside the Java EE 5 container as shown in the above diagram. It serves two clients, the web browser and WSDL/SOAP based consumer </li></ul><ul><li>The WSDL/SOAP based consumer is some application that interprets the WSDL and communicates using SOAP </li></ul><ul><li>The PackageDelivery provides SOAP and WSDL web services to handle these consumers and at the same time the PackageDelivery also consumes the web services </li></ul>
  12. 12. Technology Used <ul><li>The entire application is developed using Web Services. </li></ul><ul><li>The programming language used is JAVA. </li></ul><ul><li>The J2EE Application Server 9 has been used. </li></ul><ul><li>The IDE used for the development of the application is NetBeans. </li></ul><ul><li>WSDLs have been taken from an online resource. </li></ul>
  13. 13. Why this Technology? <ul><li>Java was chosen as the language to develop the application because of its effective class features which makes the implementation effective. </li></ul><ul><li>Another prime reason for choosing Java is that both the developers are very familiar to this language compared to the other languages. </li></ul><ul><li>NetBeans was the IDE used to implement the code because of its effective integration of the build tools required and the easy availability of resources to get familiar with the environment. </li></ul>
  14. 14. Implementation Details <ul><li>The project is going to one client known as the project client which would have the implementation of all the web services calls. </li></ul><ul><li>The client contains the WSDL of all the services in different packages. </li></ul><ul><li>After all the service WSDLs are added the client is going to compile and generate the class files in the directory build/WEB-INF/classes/ (package structure). </li></ul>
  15. 15. Details Contd… <ul><li>The services are tested individually for each of the companies. As in DHL, UPS and USPS are tested individually. </li></ul><ul><li>A JSP for each service is used to test the functionality and working of the service. </li></ul><ul><li>The front end of the application is a java servlet known as This java servlet would call all the methods that are needed to be called thru the web service in the client application. </li></ul>
  16. 16. Error Handling <ul><li>Error code obtained from the web service shown in case of invalid data. </li></ul><ul><li>Separate errors shown for all the three web services. </li></ul>
  17. 17. Integration Project Servlet DHL Web Service FedEx Web Service DHL Web Service UPS Web Service Result JSP
  18. 18. Integration Details <ul><li>A few web pages are designed to serve as the front end of the application. </li></ul><ul><li>The first page contains the input fields with which the user would like to query the service for desired results. </li></ul><ul><li>The fields will be the source, destination and weight of the package that the user would like to send. </li></ul><ul><li>Another JSP page will be used to display the results of the query. This will enable the user to compare the prices offered by various services for providing the same service. </li></ul>
  19. 19. Details Contd… <ul><li>The client calls the methods for UPS, USPS and DHL for comparing the prices of shipment based on size, weight, source and destination addresses. </li></ul><ul><li>The client would then give the comparison of all the prices to the user. This comparison would be shown on the results JSP page. </li></ul>
  20. 20. Problems Encountered <ul><li> BEA-382505: ALSB Validate action failed validation. </li></ul><ul><li>java.lang.reflect.InvocationTargetException </li></ul><ul><li>Invalid SSL Handshake Error. </li></ul>
  21. 21. Project Demo <ul><li>Let us watch the project demo now. </li></ul>
  22. 22. References <ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li>SOA using JAVA Web Services by Mark D. Hansen </li></ul><ul><li>Enterprise SOA : Service Oriented Architecture Best Practices by Krafzig, Banke and Slama. </li></ul><ul><li> </li></ul>
  23. 23. References <ul><li>Special thanks to Dr. Bina Ramamurthy for her guidance during the entire course of the project. </li></ul>
  24. 24. Thank You!!