230 likes | 376 Views
SOAP Routing: The Missing Link. Rohit Khare 16 May 2002 O’Reilly Emerging Technology Conf UC Irvine & KnowNow, Inc. Our Vision. The future of software development requires integrating network services that are very far away and owned by strangers. Three Elements of Our Vision.
E N D
SOAP Routing: The Missing Link Rohit Khare 16 May 2002 O’Reilly Emerging Technology ConfUC Irvine & KnowNow, Inc.
Our Vision The future of software development requires integratingnetwork servicesthat are very far awayand owned by strangers O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
Three Elements of Our Vision • The abstract unit of software is a network service • Prior levels of abstractions were subroutines, libraries, processes, objects, … • In this view, the only way to understand software is to watch its message traffic • Latency is an absolute limit of system architecture • Just as “real” architects grapple with gravity, so with the speed of light • London will always be 30ms from New York, regardless of Moore’s Law • Decentralization means crossing agencyboundaries • The essential complication above and beyond distributed (parallel) computing is extending a system to achieve consensus between several separate agencies • Every computing and communication device is owned by someone. O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
How Our Vision is Emerging Today • The technological shift from a component model to a service model of software is already underway • SOAP and Web Services technologies make it easy to write new protocols • The Internet is inexorably shifting to higher-latency, decentralized connectivity • Ad-hoc, peer-to-peer networking, mainly wireless, is being deployed at every scale from one meter (handhelds) to billions of meters (space probes) • Enterprise Application Integration (EAI) is only now reaching ‘outside the firewall’ to business partners • The next revolution in productivity requires reengineering processes end-to-end O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
So What’s This Talk About? • There is a ‘missing link’ between the near-future predicted by today’s Web Services hype and realizing the true potential of our vision • It is a new architectural style for software integration we call Application-Layer Internetworking (ALIN) • ALIN applies networking concepts to software engineering • The primary way that developers will use ALIN is an unheralded implication of SOAP 1.2: Routing • … so this talk is about a new style and a new device O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
Talk Overview • What’s really new about Web Services • What a SOAP Router is • What a SOAP Router can do for you • How an SOAP Router works • ALIN in theory • ALIN in practice O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
Web Services are NOT New • There is nothing new under the sun in distributed (or parallel , or grid, …) computing • These are all efforts to lash many systems together to act as one • SOAP today is a distributed computing technology • ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC • Sure, it works across the public Internet, but only by treating it as a very slow LAN • Trade rags already lament the ‘gap’ at this boundary: real security, reliability, and performance problems reveal the fallacy of assuming TCP/IP ‘just works’ O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
Web Services ARE new • Decentralizationdoes pose brand-new challenges • Latency • Services are no longer mere milliseconds away. • We need middleware for seconds up to weeks • Agency • Services can be owned by other organizations • We need middleware for translating semantics • Because SOAP messages are self-contained, they can be stored, analyzed, and replayed at will O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
SOAP is Simpler Than You Think • Starts w/point-to-point, synchronous invocations • just as Web page servers are accessed today • Main virtue is that it is not DCOM, IIOP, or RMI • Encapsulates the messy details of cross-platform, cross-language binding using standard marshalling formats • Getting started requires very little re-education. • On the other hand, straight RPC message exchange patterns (MEPs) don’t inherently reduce the tight coupling between client and server semantics. O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
SOAP is Cooler Than You Think: • The vastly underestimated power of SOAP is that its model is genuinely asynchronous • Today, we use it as a form of XML RPC • Underneath, that’s merely a pair 1-way messages • Furthermore, SOAP Actors are not hosts • An actor is a much more general concept than a fixed service provider machine and port • One actor may be a proxy for many others • Ideally, actors represent actual business models O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
What is ‘SOAP Routing’? • Today, the canonical Web Services diagram directly connects SOAP endpoints • There will also be a complementary technology that sits in the middle: • Store-and-forward reliable messaging • Filtering, transformation, & analysis of flows • Intelligent “active proxy chaining” of actors O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
What Good is ‘SOAP Routing’? 1/2 • Internet-scale Middleware • Just as distributed objects needed message-oriented-middleware (MOM)… • … decentralized services will need mediators • Wrappers: SOAP brokers to legacy systems • Monitors: SOAP transaction correlation & audit • Queues: decouples SOAP provider from requestor • Pub/Sub: decouples SOAP actors entirely • The difference is coping with firewalls and other kinds of agency boundaries O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
What Good is ‘SOAP Routing’? 2/2 • Add new ilities without modifying either end. • Security: Router can authenticate and authorize • Reliability: Router can store-and-forward msgs • Availability: Router can redirect to live servers • Scalability: Router can redistribute messages • Interoperability: Router can transform msgs • Interactivity: Router can update msgs ‘in-flight’ • Routing lets us reason about a “network of services” -- not just pipelines, but graphs O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
How ‘SOAP Routing’ Works 1/2 • Consider a simple Bank ATM service • In the old world, you would have fine-grained account objects and setUserName() functions • As Web Services, you have more flexible XML-document services like getStatement() • A client-side ATM program can easily call it directly today by composing a SOAP message and POSTing it to the Bank server O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
How ‘SOAP Routing’ Works 2/2 • First, it provides ‘simple middleware’ • Recall how CGI scripts directly invoked scripts. • Later, Application Servers emerged to ‘encapsulate’ the effort of storing state &c • By passing the message through a SOAP router: • It can enforce the Bank’s security policy • It can store a copy of the message for audit logs • It can redirect requests across a server farm • …This is exactly what Web proxies do today O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
How ‘SOAP Routing’ Helps 1/2 • Second, it affords flexibility of connections • What if you wanted to change banks? • The router can filter the captured message stream so that messages from the new bank ‘look like’ the old bank • What if you wanted to change currencies? • This is equivalent to routing ‘through’ another actor • The router can transform messages; with plugin scripts today, XML schemas tomorrow • What if you wanted to know if cash is running out? • The router can analyze messages for trends O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
How ‘SOAP Routing’ Helps 2/2 • Third, it allows 3rd & 4th-party extensions • What if you wanted to check on your bonds, too? • The router can multicast the balance inquiry to the Bank service and a Broker service • What if you wanted to buy more bonds? • The router can monitor the joint transaction of a money transfer to the broker and the purchase of the bonds • What if you wanted your limit kids’ access? • The router can delegate access control rights O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
ALIN in theory 1/3 • ALIN is NOT merely Actor intermediation (piping) • Actor chains today are like UUCP !path addressing; it’s source-routing only • It’s the ability to infer semantic chains, decouple political control, etc. • SOAP Routers directly address the twin novel challenges of decentralized service integration: • Latency • by decomposing every communication into a one-way, asynchronous message, routers force us to confront extreme latency, rather than hiding it • Agency • by introducing a trusted 3rd-party between the original endpoints, routers allow us to represent the interests of many other 4th-party agencies O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
ALIN in theory 2/3 • The Internet itself is a result of addressing high latency and diverse agency at Layer 3 • IP Routers store-and-forward packets across autonomous systems, each containing many LANs • IP-format packets are a generic interchange for LANs • Consequently, “Internet-scale” services must: • Scale Across Time: Interfaces must be stable for decades • Scale Across Space: Protocols must handle >100ms delays • Scale Across Organizations: Namespaces must ‘peer’ • This is merely an application-layer router for *TPs O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
ALIN in theory 3/3 • This architectural style builds on REST & C2 • Beyond merely transferring representation, now we can mediate them • Can connect any graph, not just a strict lattice • It generalizes other MOM styles • Queues, sync/async, 1-1, N-N, transactional • Pub/Sub, address-based and content-based • The most contentious aspect of ALIN for MOM folks is “best-effort”: it is still difficult to sell TCP over IP • If your ‘bottom turtle’ is already transactional, it rules out scalability and perf • The very definitionof agency boundary is that transactions can’t span them! O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
ALIN in practice • Lots of ink is being spilled on ‘missing infrastructure for Web Services’ • Major software platform vendors are only beginning to market RPC-style Web Services • Existing middleware products are having difficulty “outside the firewall” • JMS, for example, is single-vendor, single-language • High-performance EAI tools often assume multicast IP • Early Internet-scale messaging startups include KnowNow, Bang, Kenamea, SonicXQ, Grand Central, and others • Microsoft has outlined its WS-Routing proposal • IBM has Business Rule Beans and MQ Event Broker in WS5.0 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
Distributed vs. Decentralized • We already have lots of techniques for decomposing systems to run on many distributed processors acting as one • The genuinely novel potential of Web Services is decentralization • Marketplaces, rather than central brokers • Routing is a new technique for integrating services provided by 3rd and 4th parties O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
A Parting Thought • The dirty little secret is that the 7-Layer ISO Network model is insufficient to model decentralized computing. • It’s really all about integration at Layer 8 & 9 You Are Here O'Reilly Emerging Technology Conference: SOAP Routing (Khare)