research issues in corba what keeps corba people awake at night!
Post on 13-Jan-2016
21 Views
Preview:
DESCRIPTION
TRANSCRIPT
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
Research Issues in CORBA
What keeps CORBA peopleawake at Night!
Peter de Jong
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
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
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
Software Bus
Object Request Broker
Application Interfaces
Object Services
Domain Interfaces
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
CORBA 2.0 Architecture
Client Server
DII Stub Skeleton DSI
ORB
ORB
IIOP-RPCDCE-RPC
RPC
IDLCompiler
ObjectAdapter
InterfaceRepository
NamingTrading
TransactionsSecurity
Object Services
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
OMG IDL
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
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
IDL Operations and Inheritance Operation Attribute Return value Operation Parameter direction User exception
module Tests { interface Demo1 { exception Ex {string reason;}; long func1(in string inbound, out string outbound,
inout string common) raises(Ex); oneway void greetings(); };};
it is an error to inherit from two or more interfaces having operations or attributes with the same name
A
B C
D
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
IIOP Transport
IIOP Wire FormatIIOP Wire Format
Object Reference(IOR)
Object Reference(IOR)
JavaORB
C++ORB
ClientORB
ServerORB
LocatorORB
Type (hint)Host:portObject_key
Object KeyPrimitive types
char, octet, short, unsigned short, long, unsigned long, float, double, boolean, enum, wstring, wchar, long double, long long, fixed
Constructed TypesStruct, Union, Array, Sequence, String
Pseudo-Object TypesTypeCode, Any, Principal, Context, Exception
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
Object References
Client ServerObject
=
Contents Opaque to client or servant Object
Given an Object Referencean ORB will find and activatean object if possible
Can be Stringified and stored
Can not reliably testfor equality
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
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
boolean booleanchar char data_conversion
wchar charoctet bytestring String Marshal,data_conversion
wstring String Marshal
short shortunsigned short shortlong intunsigned long long
long long longunsigned long long longfloat floatdouble double
long double ???fixed BigDecimal data_conversion
enum classstruct classunion classsequence arrayarray arrayinterface class
userexception classany class
IDL Type Java type Exceptions
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
Binary Compatibility in Java Mapping
ClientApplication
ServerApplication
org.omg.CORBA
mapping
mapping
JavaMappingCommonClasses
ORB VendorImplementationClasses
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
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
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
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
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
Issue 3 - Transports
Type RPC Async Message Streams Multi-cast
Quality Load Balance Highly
Available Transactional Secure Real-time Embedded
RPC
Async
Queue
ORB ORB
ORB
Stream
RPC
A
ORB
A
ORB ORBA
A
ORB ORB
ORB
A
A
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
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
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
Issue 4 - Application Coordination
ORB ORB WebBrowser A
AADataBase
ORB ORB ORB
AA
ORB ORB
A
ORBNetwork
Client/Server
Peer to Peer
Publish/Link/Retreive (WWW)
A
ORBA
ORB
Work Flow/AgentsThree tier Remote Database access
Publish/Subscribe
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
Issue 5 - Reuse of Services
Widely Used
Events
Naming
Trading
Transactions & Concurrency
Security & Time
Lifecycle
Not Widely Used
Collections
Externalization
Licensing
Persistence
Properties
Query
Relationships
Domain Interfaces
Manufacturing
Telecom
Notification
Topology
Streams
Electronic Commerce
Financial
Health Care
Object Analysis and Design
Reasons for not reusing services
Inefficient
Wrong functionality or structure
Does not scale
Obsolete
Possible Relationships between services (doesn't use, use)
Notification
Events
Trading
Naming
Properties
Query
Topology
Relationships
Messaging
Events
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
Issue 6 - Interoperability/Portability 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
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
Issue 7 - Interworking
CORBAObject
COM
MIDL view of CORBA Object
DCOM
IIOP
CORBA IDLview of COM Object
Com/CORBA
Transaction
CORBAObject
CORBAClient
IIOPTransactional Info
XA Transaction
CORBA Transaction Manager
Security Interworking ? Interdomain Communication (e.g. Kerberos/SSL) MS Security / CORBA Security
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
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
Administrator
AADataBase
ORB ORB ORB
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
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
HResearch Issues in CORBAPeter de Jong Hewlett-PackardUsenix 8/12/97
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
top related