CORBA AND SOAP
E N D
Presentation Transcript
CORBA AND SOAP Unmesh Kulkarni i2 Group Ashish V. Tendulkar Directory Database integration group (www.eusersolutions.com) Persistent Systems Pvt. Ltd. Pune (www.pspl.co.in)
OUTLINE • Introduction to middleware • CORBA Concepts • Problem Domain • SOAP • Synergies • Conclusion
What is Middleware? • Glue for Components • Sits Between OS and Applications • Distributed Object Services • CORBA, COM, DCE, Java/RMI … • XML?
CORBA - Objectives • OS Independence • Language Independence • Remote Methods • Static/Dynamic Invocations • Distributed Services
Interoperability Standardization of – • Binary Formats : in-memory • API’s : Programming Support • IDL, Type Libraries, File Formats • Data Representation – CDR/NDR • Transfer Protocol
The PRO’s : IDL Stub-skeleton generators Services API’s CDR IIOP And The CON’s Complexity Vendor dependency Costly - large volumes Behavior marshalling Internet / Firewalls COM-CORBA Inter-operability CORBA provides..
The problem.. Proxy Server Server Client App. Application Server Firewall
Implications • Industry not shifted completely to either one • Vendor specific • Lack of interoperability • Require high-tech runtime environment
Why XML? • Simple text markup language • Platform, language and vendor agnostic • Easily extensible • Capable of solving interoperability problem
Why HTTP? • Ubiquitous • Supported by every web browser and server • Effective technology for transferring text, graphics and other information
XML + HTTP = SOAP • HTTP is used for transport • XML as encoding scheme • Endpoint HTTP based URL for the target • Object mapping: implementation specific
HTTP Headers SOAP method name SOAP Envelope SOAP Header SOAP Body SOAP Component Object Endpoint ID Method/Interface ID Extension Headers Parameter Data Call element
Uses of SOAP • SOAP greatly simplifies data exchange in B2B application over extranet • Enables web site to integrate services from other sites • Remote scripting more prevalent with SOAP • Non-browser client could seamlessly access a service across web
Example Message POST /string_server/Object17 HTTP/1.1 Host: 209.110.197.2 Content-Type: text/xml Content-Length: 152 SOAPMethodName: urn:strings-com:IString#reverse <Envelope> <Body> <m:reverse xmlns:m='urn:strings-com:IString'> <theString>Hello, World</theString> </m:reverse> </Body> </Envelope>
Example Response 200 OK Content-Type: text/xml Content-Length: 162 <Envelope> <Body> <m:reverseResponse xmlns:m='urn:strings- com:IString'> <result>dlroW ,olleH</result> </m:reverseResponse> </Body> </Envelope>
IOR : Object Reference Interface Name /Method Name Method Invocation with Parameters POST/ObjectURI HTTP/1.1 SOAP:MethodName SOAP:Envelope SOAP:Header SOAP:Body SOAP:CallElement CORBA vs SOAP
Advantages • Simplest Data Representation • Hardware/Language Neutral • No Vendor Dependencies • Simple and Human-readable • Typing Flexibility • Firewall Issues
Then Why Not XML? • Distribution Support • Resource location, control and management • Services – Transactions, Events, Security etc. • Error Handling • Non-text data • Quality of Service – Reliability • Efficiency (Redundancy Elimination)
XML With CORBA • XML – Structure • CORBA – Infrastructure • XMI – Metadata Interchange • XML Interfaces – Components accepting/emitting XML documents
XML With CORBA…. Examples : • XMI – Exchange of UML models between Design tools and repositories • Persistent storage of components in IDE’s: • JavaBean Persistence • Resilience to versioning of libraries/VM’s • Defaults/Redundancy elimination
Conclusion • SOAP is platform independent, language neutral protocol • SOAP does not replace COM and CORBA • SOAP works in place of DCOM and IIOP • SOAP does not pose huge security risks • Supports interoperation between different vendor specific implementations