Sayali Ghanekar.ppt


Published on

  • 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

Sayali Ghanekar.ppt

  1. 1. Vinci: A Service-Oriented Architecture for Rapid Development of Web Applications Presented by: Sayali Ghanekar [email_address]
  2. 2. Vinci: A Service-Oriented Architecture for Rapid Development of Web Applications <ul><li>Research Area: Service Oriented Architecture </li></ul><ul><li>Authors: Rakesh Agrawal, Roberto J. Bayardo Jr., Daniel Gruhl, Spriros Papadimitriou </li></ul><ul><li>Publisher: ACM - Proceedings of the tenth International Conference on World Wide Web, Hong Kong, Hong Kong, 2001, Pages 355-365 </li></ul>
  3. 3. Vinci - Contents <ul><li>Basics </li></ul><ul><li>Goal </li></ul><ul><li>Architecture </li></ul><ul><li>Application Development: A Case Study </li></ul><ul><li>Performance Evaluation </li></ul><ul><li>Conclusion </li></ul><ul><li>Research Work </li></ul><ul><li>References </li></ul>
  4. 4. Vinci – Basics <ul><li>Web Service </li></ul><ul><ul><li>A Web service is a component that runs on a Web server and allows client programs to call its methods. </li></ul></ul><ul><ul><li>For example, calling a function adding 2 and 2 </li></ul></ul><ul><li>Service Oriented Architecture </li></ul><ul><ul><li>A collection of services </li></ul></ul><ul><ul><li>Communication between services-for example, data passing or coordinating activity between two or more services </li></ul></ul>
  5. 5. Vinci – Basics [Cont…] <ul><li>Service Oriented Architecture </li></ul>
  6. 6. Vinci – Goal <ul><li>Provide an architecture to quickly build systems which can be scaled effortlessly and easily moved from prototype to production. </li></ul><ul><li>Light-weight infrastructure </li></ul><ul><ul><li>Execution speed </li></ul></ul><ul><ul><li>Code base </li></ul></ul><ul><ul><li>Memory footprint </li></ul></ul><ul><li>LAN </li></ul>
  7. 7. Vinci – Architecture
  8. 8. Vinci – Architecture [Cont…] <ul><li>Communication Layer </li></ul><ul><ul><li>Components and services communicate by exchanging XML documents </li></ul></ul><ul><ul><li>For example, client wishes to get information from library server </li></ul></ul><ul><ul><li>XTalk </li></ul></ul><ul><ul><ul><li>Communication between components </li></ul></ul></ul><ul><ul><ul><li>Efficient- speed, size </li></ul></ul></ul><ul><li><QUERY </li></ul><ul><li>xmls: vinci=“”> </li></ul><ul><li><vinci: COMMAND>lookup</> </li></ul><ul><li><TITLE>Zen and the Art of Motorcycle Maintenance</> </li></ul><ul><li></> </li></ul>
  9. 9. Vinci – Architecture [cont…] <ul><li>Old Server Response </li></ul><ul><li><RESPONSE> </li></ul><ul><li><ISBN> 0553277472</> </li></ul><ul><li></> </li></ul><ul><li>Modified Server Response </li></ul><ul><li><RESPONSE> </li></ul><ul><li><ISBN> 0553277472</> </li></ul><ul><li><AUTHOR>Robert M. Pirsig</> </li></ul><ul><li><PUBLISHER>Bantam Books</> </li></ul><ul><li></> </li></ul>
  10. 10. Vinci – Architecture [Cont…] <ul><li>Libraries </li></ul><ul><ul><li>Classes to retrieve document off the network </li></ul></ul><ul><ul><li>Convert </li></ul></ul>
  11. 11. Vinci – Architecture [Cont…] <ul><li>Environment </li></ul><ul><ul><li>Find services </li></ul></ul><ul><ul><li>Monitoring </li></ul></ul><ul><ul><li>Service lifetime management </li></ul></ul><ul><ul><li>Scale-up facilities </li></ul></ul>
  12. 12. Vinci – Architecture [Cont…] <ul><li>Environment </li></ul><ul><ul><li>Vinci Name Server (VNS) </li></ul></ul><ul><ul><ul><li>Server Connected on startup </li></ul></ul></ul><ul><ul><ul><li>Port negotiation </li></ul></ul></ul><ul><ul><ul><li>Host-port pairs for client </li></ul></ul></ul><ul><ul><ul><li>Priorities to individual service locations </li></ul></ul></ul><ul><ul><li>Caching </li></ul></ul><ul><ul><ul><li>Store responses </li></ul></ul></ul><ul><ul><ul><li>Cache expiration policy </li></ul></ul></ul>
  13. 13. Vinci – Architecture [Cont…] <ul><li>Remote Services, Proxy, Gateways </li></ul><ul><ul><li>Proxy </li></ul></ul><ul><ul><ul><li>XTalk within the LAN </li></ul></ul></ul><ul><ul><ul><li>Conversion to SOAP </li></ul></ul></ul><ul><ul><ul><li>Receive response </li></ul></ul></ul><ul><ul><ul><li>Reformat to XTalk </li></ul></ul></ul>
  14. 14. <ul><li>Remote Services, Proxy, Gateways </li></ul><ul><ul><li>Gateway </li></ul></ul><ul><ul><ul><li>Exactly opposite </li></ul></ul></ul>Vinci – Architecture [Cont…]
  15. 15. Vinci – Architecture [Cont…] <ul><li>Control layer </li></ul><ul><ul><li>Quality of Service </li></ul></ul><ul><ul><li>Availability </li></ul></ul><ul><ul><li>Server Status </li></ul></ul>
  16. 16. Vinci – Architecture [Cont…] <ul><li>Control layer </li></ul><ul><ul><li>Two approaches </li></ul></ul><ul><ul><ul><li>Starter service </li></ul></ul></ul><ul><ul><ul><ul><li>Listens on a fixed port </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Can start other services </li></ul></ul></ul></ul><ul><ul><ul><li>Local agent </li></ul></ul></ul><ul><ul><ul><ul><li>Periodic ping </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Instant Messaging to Service Owner </li></ul></ul></ul></ul>
  17. 17. Vinci – Application Development <ul><li>Problem Statement </li></ul><ul><li>You have been given the task of supplying news portlets to company portal page. The news comes from sources like websites or contracted news feeds. These sources have to be normalized and a selection criteria has to be provided to select the contents for portlets. </li></ul>
  18. 18. Vinci – Application Development [Cont…] <ul><li>Content Creation </li></ul><ul><ul><li>Acquire article </li></ul></ul><ul><ul><li>Normalize article </li></ul></ul><ul><ul><li>Configure </li></ul></ul><ul><ul><li>Index keys </li></ul></ul><ul><li>Content Selection and Presentation </li></ul><ul><ul><li>Assemble query document </li></ul></ul><ul><ul><ul><li>Search terms </li></ul></ul></ul><ul><ul><ul><li>Formatting service (HTML) </li></ul></ul></ul><ul><ul><li>Identify relevant articles </li></ul></ul><ul><ul><li>Formatting </li></ul></ul>
  19. 19. Vinci – Application Development [Cont…]
  20. 20. Vinci – Performance Evaluation <ul><li>Single Multi-threaded Server </li></ul><ul><li>Load Sharing </li></ul><ul><li>Local Cache (Client side) </li></ul><ul><ul><li>90% hit ratio </li></ul></ul><ul><li>Remote Cache (Server side) </li></ul><ul><li>Validation </li></ul><ul><ul><li>Interception of service request </li></ul></ul><ul><ul><li>Validation of constraints for all services </li></ul></ul><ul><li>Validation with Cache </li></ul>
  21. 21. Vinci – Performance Evaluation [Cont…]
  22. 22. Vinci – Conclusion <ul><li>Vinci supports fast development of efficient, scalable and evolvable applications composed of loosely coupled services </li></ul><ul><li>Vinci services participate in interactive applications in addition to back-end integration tasks </li></ul><ul><li>Vinci allows service creation and communication by allowing complexity to be layered with minimal impact on code base </li></ul>
  23. 23. Vinci – Research Work <ul><li>Service Oriented Monitoring registry (SOMR) </li></ul><ul><ul><li>Registry service </li></ul></ul><ul><ul><li>Notification service </li></ul></ul><ul><li>Indigo in upcoming Microsoft Windows </li></ul><ul><ul><li>Service Oriented Architecture and Programming </li></ul></ul><ul><ul><li>Infrastructure unifies wide range of transport (TCP, UDP), security mechanisms, topologies and assurances for connectivity between many existing systems </li></ul></ul>
  24. 24. Vinci – References <ul><li>Code Name Indigo </li></ul><ul><li>A Guide to Developing and Running Connected Systems with Indigo </li></ul><ul><ul><li>Article Publisher: MSDN Magazine, January 2004 </li></ul></ul><ul><ul><li>Don Box </li></ul></ul><ul><li>A Service-Oriented Monitoring Registry </li></ul><ul><ul><li>Bahman Kalali, Don Kowan </li></ul></ul><ul><ul><li>ACM Magazine-Proceedings of the 2003 Conference of the Center for Advanced Studies Conference on Collaborative Research, October 2003, Pages 107-121 </li></ul></ul>
  25. 25. <ul><li>Thank You! </li></ul>