1 / 21

Research Issues in CORBA What keeps CORBA people awake at Night!

Research Issues in CORBA What keeps CORBA people awake at Night!. Peter de Jong. Contents. CORBA Introduction Issues 1. Language Heterogeneity 2. Components 3. Transports 4. Application Coordination 5. Reuse of Services 6. Interoperability 7. Interworking

bunny
Download Presentation

Research Issues in CORBA What keeps CORBA people awake at Night!

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. Research Issues in CORBA What keeps CORBA peopleawake at Night! Peter de Jong

  2. Contents • CORBA Introduction • Issues • 1. Language Heterogeneity • 2. Components • 3. Transports • 4. Application Coordination • 5. Reuse of Services • 6. Interoperability • 7. Interworking • 8. Tracking Computation • 9. Tracking Resources • 10. Scale

  3. Software Bus

  4. CORBA 2.0 Architecture Object Services Naming Trading Transactions Security Interface Repository Object Adapter Client Server RPC O R B O R B IIOP-RPC DCE-RPC Stub Skeleton DII DSI IDL Compiler

  5. C++ like Mappings to multiple languages C C++ Java Ada SmallTalk Cobol ILU (Xerox Parc) Common Lisp Python Basic types long, unsigned long short, unsigned short long long, unsigned long long fixed float, double, long double char, wchar boolean octet any Constructed types union, enum, structure sequence, string, array, wstring exception OMG IDL

  6. IDL Operations and Inheritance • Operation Attribute • Return value • Operation • Parameter direction • User exception

  7. IIOP Transport Locator ORB Client ORB Server ORB Type (hint) Host:port Object_key Java ORB Object Reference (IOR) C++ ORB IIOP Wire Format

  8. Object References Client Server Object =

  9. Issue 1 - Language Heterogeneity • IDL to Java Mapping • Multiple Inheritance • Class slot - corba object class • Rest are interfaces • Out parameters • Holder classes • Any • Helper classes • Exceptions • java exceptions • Object Reference • Java class reference

  10. Binary Compatibility in Java Mapping

  11. Other Language Issues • Pseudo Code (Almost IDL) • Local Objects (ORB API's) • Native Language Constructs • Local By-Pass (inproc) • Direct to IDL • Java to IDL rather than IDL to Java • Objects by Value • Object state (Not described in IDL) • Migrating implementations • Scripting Languages • Language specification rather than IDL specification

  12. Issue 2 - Components • Component CORBA • Absorb Java Soft RMI into CORBA • Java to IDL mapping (OMG RFP) • Objects-by-Value (OMG Submissions being merged) • Distributed Garbage Collection • Migration of object implementation (Information in java serialization, not in IIOP) • Component RFP • Component identity • Properties • Interfaces for component-events • Introspection • Mapping to Java Beans • Related Object Services • IIOP Firewall (OMG RFP) • Scripting Language (OMG RFP) • Java Script • Object locality constrains (getting rid of PIDL) • Multiple interfaces

  13. Issue 3 - Transports • Type • RPC • Async Message • Streams • Multi-cast • Quality • Load Balance • Highly Available • Transactional • Secure • Real-time • Embedded

  14. The Next IIOP? • IIOP 2.0? (Proposals by Bill Janssen, Xerox Parc) • Minimize information transfer via Caching • Efficient type negotiation • Port Mapper • Transfer Syntax changes (alignment, any) • MUX (http://www.w3.org.pub/Protocols/MUX) • Multiple protocols multiplexed over the same connection • IIOP, HTTP run over the socket built over protocol • 128 sessions per TCP/IP connection • MUX handles fragmentation for all protocols • HTTP-NG (http://www.w3.org.pub//Protocols/HTTP-NG) • Possible future replacement for IIOP

  15. Issue 4 - Application Coordination

  16. Issue 5 - Reuse of Services

  17. Interoperability (CORBA 2.0) IIOP (Compliance point) Transactions Security General Architecture Kerberos (compliance point ) SSL Portability Pseudo Objects Portable Object Adaptor Language Mappings Profiles and Conformance Embedded ORBs Research Problems Implementations more detailed then specs Revision Task Forces Compliance tests written by XOPEN Proposals for Semantic specifications Balance between implementation freedom and conformance Special purpose ORBs Issue 6 - Interoperability/Portability

  18. Issue 7 - Interworking

  19. Issue 8 - Tracking Computation • Distributed debugging • Distributed profiling • Distributed Administration • Bootstrap • Install and Configure • Object Locator, Persistent servers • CORBA object services servers - Naming, Event, Trading, Security, Transactions • Discover distributed executing objects • Monitor execution • Start, Stop, Modify object operation

  20. Issue 9 - Tracking Resources • Distributed Garbage Collection • Distributed Scheduling • Real-Time constraints • Parallel searching • Agents • Copy and transmission constraints • Killing • Error handling • At most once semantics • Network partitioning • Computation continuing in one partition • Error recovery in the other • Versioning

  21. Issue 10 - Scale • Integration of all Services • Security, Transactions, Fault tolerant, Real-Time, Persistent storage, Messaging, ... • One Object distributed system which does everything well • Massively Distributed Systems • Integrate with the organizational Applications • Track organizational change • Goal of Object Bus - Integration vs execution • Integration • Legacy applications, multiple - object models, standards, OS, languages • Execution • High performance, secure distributed computation

More Related