soap routing: the missing link rohit khare 16 may 2002 o’reilly emerging technology conf uc irvine...
TRANSCRIPT
SOAP Routing: The Missing Link
Rohit Khare16 May 2002
O’Reilly Emerging Technology ConfUC Irvine & KnowNow, Inc.
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
2
Our Vision
The future of software development
requires integratingnetwork services
that are very far away and owned by strangers
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
3
Three Elements of Our VisionThe 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 agency boundaries 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.
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
4
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
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
5
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
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
6
Talk Overview
What’s really new about Web ServicesWhat a SOAP Router isWhat a SOAP Router can do for youHow an SOAP Router worksALIN in theoryALIN in practice
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
7
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’
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
8
Web Services ARE new
Decentralization does 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
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
9
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.
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
10
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
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
11
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
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
12
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 systemsMonitors: SOAP transaction correlation & auditQueues: decouples SOAP provider from requestorPub/Sub: decouples SOAP actors entirely
The difference is coping with firewalls and other kinds of agency boundaries
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
13
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
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
14
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
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
15
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
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
16
How ‘SOAP Routing’ Helps 1/2
Second, it affords flexibility of connectionsWhat 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
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
17
How ‘SOAP Routing’ Helps 2/2
Third, it allows 3rd & 4th-party extensionsWhat 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
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
18
ALIN in theory 1/3ALIN 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
Agencyby introducing a trusted 3rd-party between the original
endpoints, routers allow us to represent the interests of many other 4th-party agencies
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
19
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
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
20
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 definition of agency boundary is that
transactions can’t span them!
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
21
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
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
22
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
16 May 2002 O'Reilly Emerging Technology Conference: SOAP Routing (Khare)
23
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
Political
EconomicYou Are Here
Application
Presentation
Session
Transport
Network
Link
Physical