SOAP RMI A NewOld Programming Model for Web
SOAP RMI A New-Old Programming Model for Web Services Aleksander Slominski, Madhusudhan Govindaraju, Randall Bramley, Dennis Gannon Indiana University Extreme! Lab
Outline n Web Services and RMI (Triangle) n RMI and SOAP n RMI system for Java and C++ n Is XML enough for interoperability? n Can RMI/XML be fast (enough)? n Further Steps n Conclusions
Web Services Today n Apache SOAP, MS SOAP, … Optionally: WSDL or IDL Optionally: Create IDL. . Interact Client Service
Web Services Tomorrow Registry Publish Lookup Interact Client Service
Classical RMI Overview Lookup RMI Registry Client Remote Reference Publish Server Remote Object Interact Stub Transport Layer Skeleton
Improving RMI n Reusing instead of inventing … n Language independent RMI model needs common protocol: SOAP n making C++ and Java work together … n n Naming n = <name, remote reference> well known naming service: LDAP n Working n with future standards UDDI, WSDL, …
Implementation Goals: n Compatibility with non-RMI SOAP implementations (platform neutral) n over 40 available now n Minimal overhead on application writer n Easier Naming Service (JNDI, LDAP) n Multi-protocol fail-over (prototyped) n Allow subscription to services from behind firewall (prototyped)
Soap. RMI and Java/C++ SOAP is wire protocol n Binding to language constructs n For C++ n n n Stub Skeleton XML related classes (mapping) For Java n n Can be static: as in C++ Or dynamic: n Only interfaces and XML mapping info
Dynamic vs. Static Stubs Static stubs: classic stubs compiled from IDL – faster but needs to be regenerated each time IDL changes n Dynamic stubs: created with use of advanced reflection in JDK 1. 3 (java. lang. reflect. Proxy) – runtime overhead n Good to have both (and be able to run in JDK 1. 2 as well – maybe …) n
Soap. RMI/Java Design n Subset of RMI like API n Transport Layer n RPC services n Pluggable client and server protocols n XML mapping
Design: RMI API RMI Server API Unicast. Remote. Object Naming. bind RMI Client API Remote, Remote. Exception Naming. lookup()
Design: Transport Layer RMI Server API Unicast. Remote. Object Naming. bind RMI Client API Remote, Remote. Exception Naming. lookup() HTTP Soap. Embedded. Server HTTP java. net. Http. URLConnection
Design: RPC Layer RMI Server API Unicast. Remote. Object Naming. bind RMI Client API Remote, Remote. Exception Naming. lookup() SOAP RPC Soap. Services HTTP Soap. Embedded. Server HTTP java. net. Http. URLConnection
Design: Protocol Providers RMI Server API Unicast. Remote. Object Naming. bind RMI Client API Remote, Remote. Exception Naming. lookup() SOAP RPC Soap. Services Dispatcher (dynamic-skeleton) HTTP Soap. Embedded. Server Invoker (dynamic-stub) HTTP java. net. Http. URLConnection
Design: SOAP/XML layer RMI Server API Unicast. Remote. Object Naming. bind RMI Client API Remote, Remote. Exception Naming. lookup() SOAP RPC Soap. Services Dispatcher (dynamic-skeleton) SOAP Encoding with Mapping HTTP Soap. Embedded. Server Invoker (dynamic-stub) HTTP java. net. Http. URLConnection
XML mapping objectives n interoperability on the wire n n easy to process n n mapping described in XML and object model flexible enough n n n supporting multi-ref, xsi: type, … XML schema types IDL port types (interfaces) powerful enough to allow n n n code generation dynamic stubs SOAP serialization, deserialization
Performance and beyond XML n is not designed for performance our paper in SC ’ 00 n… but for robustness!!! n Intranet/Internet: Java RMI/IIOP/SOAP n SOAP – simplicity is important but n our take: Simple Open Access Protocol n RMI n abstraction layer Multi-protocol approach possible
Further work n Standardized n remote references dynamic WSDL or future standards n Multi protocol selection (prototyped) n Security aspects (under consideration) n Exception model (needs more work) n Fail-over (prototyped) n Routing n Transactions n…
Conclusions n Web n ubiquitous and Internet ready n RMI n Services model simple but typically only Java n Coexistence of New and Old Systems n Open Source Soap. RMI 1. 1 is available now! n http: //www. extreme. indiana. edu/soap
- Slides: 19