www.objectweb.org
OpenCCM: The Open CORBA Components Platform
OSMOSE WP3 CCM Meeting14th November 2003, LIFL, Lille, France
Philippe Merle
Jacquard ProjectINRIA Futurs – Lille
OpenCCM Project Leader
www.objectweb.org ObjectWeb - D2 - November 2003
Outline
Objectives
Supported environments
Main features: From design to administrationThe open production tool chainThe open packaging and assembling tool chainThe open distributed deployment infrastructureThe open container runtime frameworkThe open management framework
Perspectives
www.objectweb.org ObjectWeb - D3 - November 2003
Objectives
Become the reference implementation of the OMG CORBA Components specification
To design, define, implement, compile, package, assemble, deploy, install, instantiate, configure, execute, discover, introspect, manage, and reconfigure distributed CORBA component-based applications
Provide an Open CORBA Components platform Open source licensed under LGPLORB product independentFlexible, extensible and adaptable frameworks for CCM++
Become a world-wide used platform for R&D around CORBA component-based middleware and applications
Cadena from Kansas University, …
www.objectweb.org ObjectWeb - D4 - November 2003
Supported Environments
OpenCCM = Open CORBA Components Platform
SUN JDK 1.2.1, 1.3.x & 1.4.x
Operating systems Linux Solaris Windows Windows CE for PDA
ORBs Borland Enterprise Server (BES) 5.0.2 & 5.2 JacORB 2.0 The Community OpenORB 1.2.1, 1.3.0, 1.3.1 & 1.4.0 ORBacus 4.1.x
www.objectweb.org ObjectWeb - D5 - November 2003
Main Features:From Design to Administration
The open production tool chainDesign, define, implement, and compile CORBA components
The open packaging and assembling tool chainPackage and assemble CORBA components
The open distributed deployment infrastructureDeploy, install, instantiate, and configure CORBA components
The open container runtime frameworkHost and execute CORBA components
The open management frameworkDiscover, introspect, manage, monitor and reconfigure CORBA
components
www.objectweb.org ObjectWeb - D6 - November 2003
The Open Production Tool Chain
Front-end compilers forOMG Interface Definition Language 3.0 (OMG IDL)OMG Persistent State Definition Language (OMG PSS)OMG Component Implementation Definition Language (OMG CIDL)UML Profile for CORBA Components
Middle-end repositoryAbstract Syntax Tree (AST)CORBA 3.0.x Interface Repository
Back-end generators forClient and server equivalent OMG IDL 2.x mappingCIDL related Java container codePSDL related Java interfaces and implementations Java templates for implementing componentsOMG IDL 3.0, PSDL, CIDL, and UML pretty-printers
To doGeneration of XML CCD, CSD, and CPF from OMG CIDL
www.objectweb.org ObjectWeb - D7 - November 2003
Modular and Extensible Production Chain Architecture
XMLComponent descriptor
XMLComponent descriptor
XML CORBAComponent descriptors
Container code
OMGIDL/PSDL/CIDL
Front end
Implementationtemplates
XMI filesXMI filesXMI UML
IDL/CIDL files
IDL/CIDL files
OMG IDL/PSDL/CIDLIDL/PSDL/CIDL
GeneratorsIDL/PSDL/CIDL
Generators
Stubs/skeletonsGenerators
Container codeGenerators
XML CCDGenerators
XML CCDGenerator
XMIGenerators
XMI UMLGenerator
XMI UMLFront end
XMI UMLfiles
XMI UMLfilesXMI UML
IDLCIDL files
IDLCIDL files
OMG IDL/PSDL/CIDL
UML
OpenCCMRepository
Other Files
ComponentImplementation
Generators
ComponentImplementation
Generators
Other GeneratorsOther generators
Other Front endsOther Front ends
Other filesOther filesOther Notations
www.objectweb.org ObjectWeb - D8 - November 2003
Example of Use : Cadena = Eclipse Plug-in + OpenCCM
www.objectweb.org ObjectWeb - D9 - November 2003
The Open Packaging and Assembling Tool Chain
A stand-one packaging and assembling toolAll CCM XML descriptors and ZIP archives supported
www.objectweb.org ObjectWeb - D10 - November 2003
The Open Packaging and Assembling Tool Chain
A software framework for building customized packaging and assembling tools
Users can build their own P&A tool
4 DTD XMLdu CCM
4 DTD XMLdu CCM
4 DTD XMLdu CCM
CCM XML DTDs
Apollon+ Zeus
Browser Framework
XML Plug-in
Data Binding
Swing Binding
XML Plug-in
ZIP ArchivesCode
www.objectweb.org ObjectWeb - D11 - November 2003
The Open Distributed Deployment Infrastructure
All CCM XML descriptors and ZIP archives supported
CosNaming, CosTrading, and HomeFinder services supported
All Components::Deployment API supported
Component-based deployment infrastructureIST COACH Distributed Computing Infrastructure (DCI)
As hosted by CCM containers, possible injection of non functional properties as persistency, transactions, security, etc.
Transactional distributed deployment
Rollback deployment when failures
www.objectweb.org ObjectWeb - D12 - November 2003
COACH Distributed Computing Infrastructure
www.objectweb.org ObjectWeb - D13 - November 2003
OpenCCM DCI Components
DCIManager = a deployment domain Provides AssemblyFactory and HomeFinder
NodeManager = a virtual host Provides ComponentInstallation and ServerActivator
ComponentServerManager = a component server Provides ComponentServer
ContainerManager = a container Provides Container
AssemblyManager = an assembly deployment controller Provides Assembly
Each component provides other ports for management and supervision purposes
www.objectweb.org ObjectWeb - D14 - November 2003
Permanent DCI Components
Node_1 Node_2 Node_3
COACHCOACH MiddlewareMiddleware
NodeManager NodeManager NodeManager
DCIManager
www.objectweb.org ObjectWeb - D15 - November 2003
Assembly Installation
Node_1 Node_2 Node_3
COACHCOACH MiddlewareMiddleware
NodeManager NodeManager NodeManager
DCIManager
Installed Assembly
AssignedAssembly
XML+ Code
www.objectweb.org ObjectWeb - D16 - November 2003
Assembly Instantiation
Node_1 Node_2 Node_3
AssemblyMgr
COACHCOACH MiddlewareMiddleware
NodeManager NodeManager NodeManager
DCIManager
Installed Assembly
instantiate
www.objectweb.org ObjectWeb - D17 - November 2003
Assembly Instantiation
Node_1 Node_2 Node_3
AssemblyMgr
COACHCOACH MiddlewareMiddleware
NodeManager NodeManager NodeManager
DCIManager
Installed Assembly
www.objectweb.org ObjectWeb - D18 - November 2003
Interconnexion and Running Components
Node_1 Node_2 Node_3
AssemblyMgr
COACHCOACH MiddlewareMiddleware
NodeManager NodeManager NodeManager
DCIManager
Installed Assembly
Running Assembly
www.objectweb.org ObjectWeb - D19 - November 2003
The Open Container Runtime Framework
Built on top of CORBA 2.4 and provided services
Scripts to start / stop servicesCosNaming, CosTrading, and CosTransactions
Runtime library for session componentsSet of classes inherited by generated container code
OMG Persistent State Service (PSS) implementationBuilt on top of Java Data Object (JDO)Currently Kodo productSoon ObjectWeb Speedo
Flexible Container Framework soonIST COACH Extensible Container Architecture (ECA)
www.objectweb.org ObjectWeb - D20 - November 2003
Runtime Architecture
CORBA ComponentsDCI Components
CosNamingService
CosTransactionsService
CosTradingService
CORBA 2.4 or higher
OpenCCM Flexible Container Framework
OpenCCM PSS Runtime
Data Stores
JDO Runtime
Plugin Plugin
Domain Node Server
CosPersistentStateService
Philosopher Observer Fork
www.objectweb.org ObjectWeb - D21 - November 2003
The Open Management Framework
A software framework to build graphical UI management browser
Extensible by plug-ins
Various browser plug-ins forCORBA Object, Component and HomeInterface RepositoryCosNamingCosTradingDCI
IST COACH monitoring and testing infrastructure
www.objectweb.org ObjectWeb - D22 - November 2003
The OpenCCM Browser
www.objectweb.org ObjectWeb - D23 - November 2003
IST COACH Monitoring and Testing Infrastructure
OpenCCM component servers
Portable Interceptors for monitoring
CORBA
CORBA Components
InterfaceRepository
Actor GUI
LoggingComponents
Web Browser
www.objectweb.org ObjectWeb - D24 - November 2003
IST COACH Monitoring and Testing Infrastructure
www.objectweb.org ObjectWeb - D25 - November 2003
IST COACH Monitoring and Testing Infrastructure
www.objectweb.org ObjectWeb - D26 - November 2003
IST COACH Monitoring and Testing Infrastructure
www.objectweb.org ObjectWeb - D27 - November 2003
Perspectives for OpenCCM 1.0
Improve and complete current features
Provide full container supportCORBA Component Descriptor generatorService, Process, and Entity containersAll CCM container APIServices injected in containers
Persistency, transaction, security, notification
IST COACH Extensible Container Architecture
Open Model-Driven CORBA Components platformDesign components, implementations, and assemblies with UMLGenerate OMG IDL, CIDL, implementations, CAD filesReady to be deployed and managed
www.objectweb.org ObjectWeb - D28 - November 2003
Thanks You – Q/A
http://openccm.objectweb.org