230 likes | 247 Views
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.
E N D
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