1 / 14

Is XML-RPC the right model?

Is XML-RPC the right model?. Larry Cable, CTO, iPlanet Application Server. What am I here for?. Convince you that my problem is your problem! Explain why a standard solution is crucial Suggest that XML-RPC isnt sufficent explore the requirements of the real solution.

ownah
Download Presentation

Is XML-RPC the right model?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Is XML-RPC the right model? Larry Cable, CTO, iPlanet Application Server

  2. What am I here for? • Convince you that my problem is your problem! • Explain why a standard solution is crucial • Suggest that XML-RPC isnt sufficent • explore the requirements of the real solution

  3. XML based Internet APM

  4. Common beliefs? • HTTP(S) is the transport for the Internet • XML is (increasingly) the data representation for exchange of data between loosely coupled (hetrogeneous) systems • (Traditional) RPC protocols and MOM will continue to be used in intra/extranet deployments because they exhibit useful properties that are not (yet) available from HTTP(S) or XML

  5. What is the problem statement? • Define a mechanism to enable the efficient transfer of a broad range of structured data between hetrogeneous, distributed applications over inter/extra/intranets using a variety of transports

  6. What’s the problem? … • Data Transportation: • performance: • latency • bandwidth • service type: • sync/async • guaranteed delivery • security: • identity • encryption • transactions • encapsulation • interoperability • ... • Data Representation: • transformation • presentation • interpretation • interrogation • interoperation • portability • reuse • internationalization • ...

  7. Pro: (verifiable) universal, self-describing, extensible syntax I18N “ready” namespace support (composition) transport independent ... Con: not time/space efficient not intrinsically secure no transaction support no transport semantics ... XML as a data representation

  8. RPC: (typically) binary representation protocol model transport dependent programming language centric not extensible secure robust not easily transformed It’s implementation-centric XML: text representation document/message model transport independent language independent extensible not secure (yet) not robust easily transformed It’s application-centric RPC Vs XML

  9. Appl icat ion XML RDBMS RPC App Vs Implementation Implementation

  10. Pros: it’s XML based it uses HTTP(S) it’s (quite) simple it’s based around an RPC model which is (hopefully) a well understood concept … Cons: it’s XML based it uses HTTP(S) it’s too simple! It’s RPC based … XML-RPC ...

  11. What’s important? • Isolate application(s) from schema evolution • use the power of XML to create application-centric markups and exchange those between applications • separate the data being exchanged from: • the transport protocol characteristics • the semantics to be applied to the data • the security model • the transaction model • the encapsulation model • ...

  12. XML-RPC … why it’s not the right solution • should not be (exclusively) bound to HTTP(S) • should not be bound to a particular transport “semantic” (RPC) • should not define a markup language based upon a (meta) programming language type system this is not using XML’s best feature! • should not mix data, behavior, and protocol in the markup • ...

  13. What should we define? • An XML based exchange protocol that: • allows application(s) to embed their own application-specific XML (schema-defined) documents within it • allows these encapsulated messages to be delivered across a variety of transports (RPC, point-to-point messaging, publish and subscribe, …) • separates the behavior from the state • can also contain other associated information • has bindings to particular transports such as HTTP(S)

  14. What does this enable? • Data is self-describing according to public (vertical) XML schemas • Data is delivered (bound) via an appropriate transport • the implementation of the behavior is abstracted • loosely-coupled applications are possible since applications can deal with schema evolution

More Related