Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Introduction to Web Services and Proteus’ RTI S. Ghandeharizadeh, E. Alwagait, S. Manjunat Database Lab., CS Department

Similar presentations


Presentation on theme: "An Introduction to Web Services and Proteus’ RTI S. Ghandeharizadeh, E. Alwagait, S. Manjunat Database Lab., CS Department"— Presentation transcript:

1 An Introduction to Web Services and Proteus’ RTI S. Ghandeharizadeh, E. Alwagait, S. Manjunat Database Lab., CS Department http://dblab.usc.edu/Sangam University of Southern California

2 Outline Introduction Introduction What is a Web Service (WS)? What is a Web Service (WS)? XML XML Performance Metrics Performance Metrics Partitioning versus Replication Partitioning versus Replication Conclusion and Future Research Conclusion and Future Research

3 A Shift in Computing 1985-20001999+ Server-centricDistributed Dumb clientsSmart clients Hardware-drivenSoftware-driven User to appUser to app; app to app Information accessInformation action One-wayTwo-way Monolithic islandspeer-to-peer Integration an afterthoughtIntegration by design Challenge: scaleChallenge: value Internet

4 Future Vision In the future, any two IT components will automatically integrate and “communicate” with one another, even though they were not specifically designed to interoperate. In the future, any two IT components will automatically integrate and “communicate” with one another, even though they were not specifically designed to interoperate. How? How?  Semantics  Standards  Concept of “software and data” as a service, web service, e.g.,  Google as a web service  Microsoft Teraserver web services  Experian (TRW) credit report web services  Etc.

5 XML A standard for data interoperability among web services A standard for data interoperability among web services  Language independent  Sun’s Java, Microsoft’s C#  Device and software platform independent Motorola i85s Motorola i85s J2ME J2ME Compaq iPAQ Compaq iPAQ Windows CE Windows CE StrongARM StrongARM Tomcat Tomcat PERL PERL Apache 2.0 Apache 2.0 MySQL MySQL Linux Linux.NET.NET SQL 2000 SQL 2000 Commerce server Commerce server Windows XP/2000 Windows XP/2000

6 eXtensible Markup Language (XML) XML: XML:  A World-Wide-Web Consortium (W3C) standard.  Enables you to create your own tags.  Emerging as a standard for interoperability among applications that wish to exchange data.  Separates content (document) from presentation (style sheet).

7 XML Terminology An XML element is made up of a start tag, an end tag, and data in between: An XML element is made up of a start tag, an end tag, and data in between:  csci485  csci485  Tags without text can contain the end marker at the end of the start tag, I.e., is equivalent to:  Tags without text can contain the end marker at the end of the start tag, I.e., is equivalent to: An element may contain one or more attributes: An element may contain one or more attributes:  csci485  csci485  An attribute is a name-value pair separated by ‘=‘  Attribute values must be enclosed in quotation marks. Document Type Definition (DTD): defines the tags contained in your document, what tags contain other tags, number and sequence of tags, the attributes your tags may have, and optionally, the values those attributes may have. Document Type Definition (DTD): defines the tags contained in your document, what tags contain other tags, number and sequence of tags, the attributes your tags may have, and optionally, the values those attributes may have. Describes data within the tags! “class” is a tag!

8 XML Name Space (xmlns) Collection of names used as element or attribute names in an XML document. Collection of names used as element or attribute names in an XML document. Qualifies element names on the Web to avoid conflicts between elements with the same name. Qualifies element names on the Web to avoid conflicts between elements with the same name. A name space is identified by a globally unique URI (across the Internet). A name space is identified by a globally unique URI (across the Internet). Name spaces are declared in 2 ways: Name spaces are declared in 2 ways: 1. Explicit 2. Implicit

9 Explicit xmlns <BOOKS> Web Services Web Services 22.95 22.95 </bk:BOOK></BOOKS>

10 Explicit xmlns <BOOKS> Web Services Web Services 22.95 22.95 </bk:BOOK></BOOKS> Declares “bk” and “money” to be shorthand for the full names of their respective namespaces. Bk and money are name spaces.

11 Explicit xmlns <BOOKS> Web Services Web Services 22.95 22.95 </bk:BOOK></BOOKS> This is the namespace value for “bk” variable!

12 Explicit xmlns <BOOKS> Web Services Web Services 22.95 22.95 </bk:BOOK></BOOKS> All elements/attributes beginning with “bk:” or “money:” are considered to be from the namespace “urn:BookLovers.org:BookInfo” or “urn:Finance:Money”

13 Explicit xmlns <BOOKS> Web Services Web Services 22.95 22.95 </bk:BOOK></BOOKS> This is the bk namespace prefix qualifying the TITLE tag!

14 Explicit xmlns <BOOKS> Web Services Web Services 22.95 22.95 </bk:BOOK></BOOKS> What is this?

15 Explicit xmlns <BOOKS> Web Services Web Services 22.95 22.95 </bk:BOOK></BOOKS> Price tag value!

16 Explicit xmlns <BOOKS> Web Services Web Services 22.95 22.95 </bk:BOOK></BOOKS> What is this?

17 Explicit xmlns <BOOKS> Web Services Web Services 22.95 22.95 </bk:BOOK></BOOKS> Currency Attribute value!

18 Implicit xmlns A namespace without a prefix becomes the default namespace A namespace without a prefix becomes the default namespace<BOOKS> Web Services Web Services 22.95 22.95 </BOOK></BOOKS>

19 XML Formatters SOAP formatted messages are larger than their binary counter-part, e.g., Query 10 of TPC-H benchmark: SOAP formatted messages are larger than their binary counter-part, e.g., Query 10 of TPC-H benchmark: Binary 9.47 MB SOAP 25.57 MB

20 Query10 Result 5MB Query10 Result 5MB SOAP message 25MB SOAP message 25MB ServerClient Internet Producer.NET Consumer MICROSOFT.NET

21 Performance A system must exhibit high performance. Key metrics are: A system must exhibit high performance. Key metrics are:  Response time  Throughput

22 Performance A system must exhibit high performance. Key metrics are: A system must exhibit high performance. Key metrics are:  Response time: delay from when a request is issued until return results are returned.  Throughput: number of requests per seconds.

23 Performance A system must exhibit high performance. Key metrics are: A system must exhibit high performance. Key metrics are:  Response time: delay from when a request is issued until return results are returned.  Throughput: number of requests per seconds. How to provide high performance? How to provide high performance?

24 Performance A system must exhibit high performance. Key metrics are: A system must exhibit high performance. Key metrics are:  Response time: delay from when a request is issued until return results are returned.  Throughput: number of requests per seconds. How to provide high performance? How to provide high performance?  Limit the number of accesses a client may make to a popular WS, e.g., NCBI’s policy is for a client to issue no more than one request every 3 seconds; Google limits the total number of requests a client may make during a 24 hour period.  Replicate those WS with a read-only workload across many nodes.  Partition those WS with workloads dominated by updates.

25 REPLICATION OF A WS One approach to distribute a WS is to replicate it across M nodes. One approach to distribute a WS is to replicate it across M nodes.  Hypotheses: The workload of the WS will be distributed across M nodes  Limitation: The database must be maintained up to date. The rate of updates will increase quadraticly as a function of M 2 To explain the limitation, assume that the WS observes T updates per second. To explain the limitation, assume that the WS observes T updates per second. With M nodes, the system scales if each node continues to perform T updates per second. With M nodes, the system scales if each node continues to perform T updates per second.

26 REPLICATION OF A WS With replication, copies of the database must be kept up to date: With replication, copies of the database must be kept up to date: The rate of updates per second observed by the system increased from T to 9T! The rate of updates per second observed by the system increased from T to 9T! With M nodes, the update rate increases by M 2 T. With M nodes, the update rate increases by M 2 T. If updates dominate the system workload then replication will hurt system performance. If updates dominate the system workload then replication will hurt system performance. TTT 2T 3T

27 REPLICATION OF A WS If the workload is 100% updates and T updates per second results in 100% system utilization, then 3 nodes can perform at most 3T updates per second! If the workload is 100% updates and T updates per second results in 100% system utilization, then 3 nodes can perform at most 3T updates per second! The performance of 3 nodes is identical to the performance provided by one node! The performance of 3 nodes is identical to the performance provided by one node! In general, the 3 node configuration will observe a performance lower than T updates per second because it is difficult to distribute the workload evenly. In general, the 3 node configuration will observe a performance lower than T updates per second because it is difficult to distribute the workload evenly. System performance becomes worse as M increases in value. System performance becomes worse as M increases in value. 0.33 T TTT 0.66 T

28 References S. Ghandeharizadeh, et. al., “Proteus: A System for Dynamically Composing and Intelligently Executing Web Services,” In ICWS, Las Vegas, Nevada, June 2003. S. Ghandeharizadeh, et. al., “Proteus: A System for Dynamically Composing and Intelligently Executing Web Services,” In ICWS, Las Vegas, Nevada, June 2003. S. Ghandeharizadeh, et. al., “NAM: A Network Adaptable Middleware to Enhance Response Time of Web Services,” Journal of Web Services Research, Volume 2, Issue 4, October 2005. S. Ghandeharizadeh, et. al., “NAM: A Network Adaptable Middleware to Enhance Response Time of Web Services,” Journal of Web Services Research, Volume 2, Issue 4, October 2005. J. Gray, et. al., “The Dangers of Replication and a Solution,” SIGMOD Conference, Montreal, Canada, June 1996. J. Gray, et. al., “The Dangers of Replication and a Solution,” SIGMOD Conference, Montreal, Canada, June 1996. M. Saxena, et. al., “Sangam: A Data Integration Framework for Studies of Stimulus-Circuitry-Gene Coupling in the Brain,” Society of Neuroscience, Neuroscience 2005, Washington D.C., Nov 12-16, 2005. M. Saxena, et. al., “Sangam: A Data Integration Framework for Studies of Stimulus-Circuitry-Gene Coupling in the Brain,” Society of Neuroscience, Neuroscience 2005, Washington D.C., Nov 12-16, 2005.


Download ppt "An Introduction to Web Services and Proteus’ RTI S. Ghandeharizadeh, E. Alwagait, S. Manjunat Database Lab., CS Department"

Similar presentations


Ads by Google