W3C Workshop on Web Services Mark Nottingham

Slides:



Advertisements
Similar presentations
Web Services & EAI.
Advertisements

SIP and Instant Messaging. SIP Summit SIP and Instant Messaging What Does Presence Have to Do With SIP? How to Deliver.
0 McLean, VA August 8, 2006 SOA, Semantics and Security.
Oct, 26 th, 2010 OGF 30, NSI-WG: Network Service Interface working group Web Services Overview Web Services for NSI protocol implementation
XPointer and HTTP Range A possible design for a scalable and extensible RDF Data Access protocol. Bryan Thompson Presented to the RDF Data Access.
XPointer and HTTP Range A possible design for a scalable and extensible RDF Data Access protocol. Bryan Thompson draft Presented to the RDF.
Enabling Secure Internet Access with ISA Server
Introduction to Web Services
Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
SOAP.
Introduction to push technology © 2009 Research In Motion Limited.
1 Content Delivery Networks iBAND2 May 24, 1999 Dave Farber CTO Sandpiper Networks, Inc.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Understand Web Services
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
Hypertext Transfer Protocol Kyle Roth Mark Hoover.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Peoplesoft: Building and Consuming Web Services
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
Caching and Content Distribution Networks. Web Caching r As an example, we use the web to illustrate caching and other related issues browser Web Proxy.
 Proxy Servers are software that act as intermediaries between client and servers on the Internet.  They help users on private networks get information.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
1 Content Distribution Networks. 2 Replication Issues Request distribution: how to transparently distribute requests for content among replication servers.
E-Quotes A Suite for Dynamic Integration of Stock Exchange Web Services Ajay Mansata Arpan Biswas Gaurav Sharma Sameer Yeolekar.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
1 3 Web Proxies Web Protocols and Practice. 2 Topics Web Protocols and Practice WEB PROXIES  Web Proxy Definition  Three of the Most Common Intermediaries.
Web Caching: Replication on the World Wide Web Jonathan Bulava CSC8530 – Distributed Systems Dr. Paul Schragger.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
1 Chapter 1 Web Components (Introduction) Web Protocols and Practice.
Dynamic Content On Edge Cache Server (using Microsoft.NET) Name: Aparna Yeddula CS – 522 Semester Project Project URL: cs.uccs.edu/~ayeddula/project.html.
Application of Content Computing in Honeyfarm Introduction Overview of CDN (content delivery network) Overview of honeypot and honeyfarm New redirection.
Computer Emergency Notification System (CENS)
Lemonade Requirements for Server to Client Notifications draft-ietf-lemonade-server-to-client-notifications-00.txt S. H. Maes C. Wilson Lemonade Intermediate.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Introduction to DFS. Distributed File Systems A file system whose clients, servers and storage devices are dispersed among the machines of a distributed.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network, Enhanced Chapter 11: Internet Authentication Service.
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
Kemal Baykal Rasim Ismayilov
CS 6401 The World Wide Web Outline Background Structure Protocols.
REST By: Vishwanath Vineet.
Content Delivery Networks: Status and Trends Speaker: Shao-Fen Chou Advisor: Dr. Ho-Ting Wu 5/8/
IPS Infrastructure Technological Overview of Work Done.
© 2004 IBM Corporation WS-ResourceFramework Service Groups Tom Maguire.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
WREC Working Group IETF 49, San Diego Co-Chairs: Mark Nottingham Ian Cooper WREC Working Group.
In this session, you will learn to: Understand managed code Create managed database objects Define the Hypertext Transfer Protocol endpoints Implement.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 9 Web Services.
WCDP: A protocol for web cache consistency Renu Tewari IBM Almaden Research Thirumale Niranjan IBM Software Group
WSO2 Identity Server. Small company (called company A) had few services deployed on one app server.
Presentation on Distributed Web Based Systems Submitted by WWW
CS6320 – Performance L. Grewe.
Improving searches through community clustering of information
Peer-to-peer networking
Web Software Model CS 4640 Programming Languages for Web Applications
Web Caching? Web Caching:.
Representational State Transfer
Proposal: A General Infrastructure for Efficient Application-Level Protocols Steven Czerwinski Goal: To investigate ways to make.
Database Driven Websites
Lecture 1: Multi-tier Architecture Overview
AWS Cloud Computing Masaki.
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
ONLINE SECURE DATA SERVICE
EE 122: Lecture 22 (Overlay Networks)
Knowledge Byte In this section, you will learn about:
Presentation transcript:

W3C Workshop on Web Services Mark Nottingham mnot@akamai.com Scaling Web Services Scaling Web Services W3C Workshop on Web Services Mark Nottingham mnot@akamai.com

Motivation Web Services need: Scalability: handling increased load, while managing investment in providing service Reliability: high availability Performance: end-user perceived latency Problems (and solutions) similar to those in scaling the Web infrastructure in general. - come from different context – web caching community many of the companies here participate in the web caching community, but probably there isn’t must crossover (yet) A few are customers XMLP offers chance for more

Intermediary Solutions Intermediaries can address these needs by making a service available from a number of devices. They can be deployed on behalf of the client (proxy) or server (surrogate/CDN). We classify intermediaries into two broad categories: functional and optimizing. Service Origin akamai is a cdn

Functional Intermediaries Make services available by taking responsibility for (parts of) them. Typically, functional solutions execute service-specific code (and need to distribute and manage it). If removed, service cannot be provided, because it performs meaningful processing on messages. Brute force approach PSP

Optimizing Intermediaries Enhance service by exploiting certain aspects of services’ semantics, to: Eliminate or delay connections to the origin server Reduce the number of bytes sent to or from the origin server Removing from the message path has no effect, except to reduce scalability, performance and reliability.

Why Optimizing Intermediaries? Generally, it is easier to retrofit optimization onto existing services. Potential to support a wide range of applications, while avoiding code deployment and management issues. Optimizing isn’t for every service! Functional intermediaries are useful when optimization isn’t powerful or flexible enough. here to find out and discuss if this is Possible Interesting Useful

Use Case: getStockQuote() Information services (stock quotes, RSS, etc.) can exploit request locality and reuse response components Different components have different triggers: Delayed stock price – cache for 5 minute delta Last close – invalidate at 5am daily Company information – update upon notification

Use Case: Authentication Service Optimized by caching state in distributed intermediaries Request locality should keep cached state near users Updates can be triggered by other messages (new password), notifications, and/or incorrect passwords Accounting takes place through traditional logging, or aggregated store-and-forward.

Use Case: Distributed File Store Users interact with a local intermediary, writing to and reading from the cache. Events such as ‘logout’ synchronize the cache to a master server. login logout

Proposed Optimization Model Optimization hints about a service are made available to an intermediary. Intermediaries process messages and apply optimization techniques based on the hints. Techniques may be applied to XML elements at a fine granularity, and are triggered by a variety of events.

Applying Optimization Techniques XML offers much finer granularity of application (per-element) than traditional HTTP optimization (per-message). To associate a technique with an element, different mechanisms might be used: External XML Markup in XML Schema Markup in WSDL Message Header (using Xpath, etc.) Inline XML Attributes <foo m:cache=“30”> Namespaces <m:cache value=“30”><foo/></m:cache>

Triggering Optimization Techniques Time (delta, absolute, schedule) 30 seconds Tuesday at 5pm Jan 1 12:00 2002 Message to the intermediary directly XMLP service exposed on the intermediary Message passing through the intermediary Presence or value of another message’s element (Query?)

Technique: Caching Exploits request/response message exchange patterns with locality in requests and similarity in responses. Cache can be indexed by some combination of Service (URL) Element location (Xpath) Element identity Artificial index (URI) Cache is kept coherent through invalidation with various triggers.

Technique: Store-and-Forward Exploits large or frequent client to server transfers that do not require immediate processing (but may require acknowledgement) Forwarding is triggered. Acknowledgement message might be standardized, or constructed from cache.

Technique: Partial Messaging Specify that only part of a message should be sent Can be used to send only the changed parts of a message (e.g., to update a cache) Can be used to send parts of messages at different times (e.g., store-and-forward)

Technique: Aggregation Exploits locality in messages to combine multiple messages, where possible, into a single message. Messages should have at least one common endpoint.

Next Steps Validate techniques’ applicability to real-world Web Services Design a language for Web Service optimization Implement Interested? mailto:mnot@akamai.com