23
SOAP Routing: The Missing Link Rohit Khare 16 May 2002 O’Reilly Emerging Technology Conf UC Irvine & KnowNow, Inc.

SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

  • Upload
    vudiep

  • View
    214

  • Download
    2

Embed Size (px)

Citation preview

Page 1: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

SOAP Routing: The Missing Link

Rohit Khare16 May 2002

O’Reilly Emerging Technology ConfUC Irvine & KnowNow, Inc.

Page 2: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'Reilly Emerging Technology Conference: SOAP Routing

(Khare) 2

Our Vision

The future ofsoftware development

requires integratingnetwork services

that are very far awayand owned by strangers

Page 3: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'Reilly Emerging Technology Conference: SOAP Routing

(Khare) 3

Three Elements of Our Vision

The abstract unit of software is a network servicePrior 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 architectureJust as “real” architects grapple with gravity, so with the speed of lightLondon will always be 30ms from New York, regardless of Moore’s Law

Decentralization means crossing agency boundariesThe essential complication above and beyond distributed (parallel) computing is extending a system to achieve consensus between several separate agenciesEvery computing and communication device is owned by someone.

Page 4: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'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

Page 5: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'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 visionIt 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

Page 6: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'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

Page 7: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'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’

Page 8: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'Reilly Emerging Technology Conference: SOAP Routing

(Khare) 8

Web Services ARE new

Decentralization does pose brand-new challengesLatency

Services are no longer mere milliseconds away.We need middleware for seconds up to weeks

AgencyServices can be owned by other organizationsWe need middleware for translating semantics

Because SOAP messages are self-contained, they can be stored, analyzed, and replayed at will

Page 9: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'Reilly Emerging Technology Conference: SOAP Routing

(Khare) 9

SOAP is Simpler Than You Think

Starts w/point-to-point, synchronous invocationsjust as Web page servers are accessed today

Main virtue is that it is not DCOM, IIOP, or RMIEncapsulates 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.

Page 10: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'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 RPCUnderneath, that’s merely a pair 1-way messages

Furthermore, SOAP Actors are not hostsAn actor is a much more general concept than a fixed service provider machine and portOne actor may be a proxy for many othersIdeally, actors represent actual business models

Page 11: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'Reilly Emerging Technology Conference: SOAP Routing

(Khare) 11

What is ‘SOAP Routing’?

Today, the canonical Web Services diagram directly connects SOAP endpointsThere will also be a complementary technology that sits in the middle:

Store-and-forward reliable messagingFiltering, transformation, & analysis of flowsIntelligent “active proxy chaining” of actors

Page 12: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'Reilly Emerging Technology Conference: SOAP Routing

(Khare) 12

What Good is ‘SOAP Routing’? 1/2

Internet-scale MiddlewareJust 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

Page 13: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'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 authorizeReliability: Router can store-and-forward msgsAvailability: Router can redirect to live serversScalability: Router can redistribute messagesInteroperability: Router can transform msgsInteractivity: Router can update msgs ‘in-flight’

Routing lets us reason about a “network of services” -- not just pipelines, but graphs

Page 14: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'Reilly Emerging Technology Conference: SOAP Routing

(Khare) 14

How ‘SOAP Routing’ Works 1/2

Consider a simple Bank ATM serviceIn the old world, you would have fine-grained account objects and setUserName() functionsAs 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

Page 15: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'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 policyIt can store a copy of the message for audit logsIt can redirect requests across a server farm…This is exactly what Web proxies do today

Page 16: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'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 actorThe 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

Page 17: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'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

Page 18: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'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 onlyIt’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

Page 19: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'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 LANsIP-format packets are a generic interchange for LANs

Consequently, “Internet-scale” services must:Scale Across Time: Interfaces must be stable for decadesScale Across Space: Protocols must handle >100ms delaysScale Across Organizations: Namespaces must ‘peer’

This is merely an application-layer router for *TPs

Page 20: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'Reilly Emerging Technology Conference: SOAP Routing

(Khare) 20

ALIN in theory 3/3

This architectural style builds on REST & C2Beyond merely transferring representation, now we can mediate themCan connect any graph, not just a strict lattice

It generalizes other MOM stylesQueues, sync/async, 1-1, N-N, transactionalPub/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!

Page 21: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'Reilly Emerging Technology Conference: SOAP Routing

(Khare) 21

ALIN in practiceLots 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-languageHigh-performance EAI tools often assume multicast IP

Early Internet-scale messaging startups include KnowNow, Bang, Kenamea, SonicXQ, Grand Central, and othersMicrosoft has outlined its WS-Routing proposalIBM has Business Rule Beans and MQ Event Broker in WS5.0

Page 22: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'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 oneThe 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

Page 23: SOAP Routing: The Missing Link [DRAFT] - SRM · PDF fileSOAP Routing: The Missing Link Rohit Khare ... ‘Sprinkling angle-bracket pixie dust’ over plain ol’ client/server RPC

16 May 2002O'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

PoliticalEconomic

You Are Here

ApplicationPresentation

SessionTransportNetwork

LinkPhysical