www.objectweb.org
OpenCCM: The Open
CORBA Components Platform
3rd ObjectWeb Conference
20th November 2003, INRIA Rocquencourt, France
Philippe Merle
INRIA Futurs – Lille – Jacquard Project
OpenCCM Project Leader
Outline
Î
CORBA Components specification
Î
OpenCCM goals
Î
OpenCCM main features
¾The open production tool chain
¾The open packaging and assembling tool chain ¾The open distributed deployment infrastructure ¾The open container runtime framework
¾The open management framework
Î
OpenCCM supported environments
www.objectweb.org ObjectWeb - D3 - November 2003
CORBA Components
Specification
Î
Defined by the Object Management Group (OMG)
Î
A set of concepts, notations, and APIs to
¾Design ¾Implement ¾Package ¾Assemble ¾Deploy ¾Execute
distributed, heterogeneous, secure, transactional,
server-side scalable, CORBA component-based
applications
OpenCCM Goals
Î
Federate a world-wide community around CORBA
component-based middleware and applications
¾Users, developers, and contributors ¾Industrial and academic R&D
zTHALES, Cadena from Kansas University, …
Î
Provide the Open CORBA Components platform
¾Reference implementation ¾ORB product independent
¾Modular, extensible and adaptable for building CCM++
Î
See at
http://openccm.objectweb.org
¾Open source licensed under LGPL ¾Hosted by the ObjectWeb consortium
www.objectweb.org ObjectWeb - D5 - November 2003
Main Features
Î
The open production tool chain
¾Design, define, implement, and compile CORBA components
Î
The open packaging and assembling tool chain
¾Package and assemble CORBA components
Î
The open distributed deployment infrastructure
¾Deploy, install, instantiate, and configure CORBA components
Î
The open container runtime framework
¾Host and execute CORBA components
Î
The open management framework
¾Discover, introspect, manage, monitor and reconfigure CORBA components
The Open Production Tool
Chain
Î
Front-end compilers for¾OMG 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 repository¾Abstract Syntax Tree (AST) ¾CORBA 3.0.x Interface Repository
Î
Back-end generators for¾Client and server equivalent OMG IDL 2.x mapping ¾CIDL related Java container code
¾PSDL related Java interfaces and implementations ¾Java templates for implementing components ¾OMG IDL 3.0, PSDL, CIDL, and UML pretty-printers
Î
To dowww.objectweb.org ObjectWeb - D7 - November 2003
The Open Production Tool Chain
Modular & Extensible Architecture
XML Component descriptor XML Component descriptor XML CORBA Component descriptors Container code OMG IDL/PSDL/CIDL Front end Implementation templates XMI files XMI files XMI UML IDL/CIDL files IDL/CIDL files OMG IDL/ PSDL/CIDL IDL/PSDL/CIDL Generators IDL/PSDL/CIDL Generators Stubs/skeletons Generators Container code Generators XML CCD Generators XML CCD Generator XMI Generators XMI UML Generator XMI UML Front end XMI UML files XMI UML files XMI UML IDL CIDL files IDL CIDL files OMG IDL/ PSDL/CIDL UML
OpenCCM
Interface
Repository
Other Files Component Implementation Generators Component Implementation Generators Other Generators Other generators Other Front endsOther Front ends
Other files Other filesOther Notations
IDE
Cadena
from Kansas University
=
www.objectweb.org ObjectWeb - D9 - November 2003
The Open Packaging and
Assembling Tool Chain
Î
A stand-one packaging and assembling tool
¾All CCM XML descriptors and ZIP archives supported
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 XML
du CCM 4 DTD XML
du CCMCCM XML DTDs
Zeus + Apollon
Generic Browser Framework
XML Plug-in Data Binding
Swing Binding
XML Plug-in ZIP Archives
Code
Zeus = XML DTD ÆJava Data classes Apollon = XML DTD ÆJava GUI classes
www.objectweb.org ObjectWeb - D11 - November 2003
The Open Distributed
Deployment Infrastructure
Î
Main supported features
¾All CCM XML descriptors and ZIP archives
¾CosNaming, CosTrading, and HomeFinder services ¾All Components::DeploymentAPI
Î
Component-based deployment infrastructure
¾
IST COACH Distributed Computing Infrastructure (DCI)
¾
Possible injection of non functional properties as
persistency, transactions, security, etc. via containers
Î
Transactional distributed deployment
¾
Rollback deployment when failures
COACH Distributed Computing
Infrastructure
www.objectweb.org ObjectWeb - D13 - November 2003
Permanent Components
Node_1 Node_2 Node_3
CORBA
CORBA
Middleware
Middleware
NodeManager NodeManager NodeManager DCIManager
CORBA Assembly Installation
Node_1 Node_2 Node_3
COACH
COACH
Middleware
Middleware
NodeManager NodeManager NodeManager DCIManager
Installed Assembly Assigned
Assembly
www.objectweb.org ObjectWeb - D15 - November 2003
CORBA Assembly Instantiation
Node_1 Node_2 Node_3 AssemblyMgr
COACH
COACH
Middleware
Middleware
NodeManager NodeManager NodeManager DCIManager
Installed Assembly
instantiate
CORBA Assembly Instantiation
Node_1 Node_2 Node_3 AssemblyMgr
COACH
COACH
Middleware
Middleware
NodeManager NodeManager NodeManager DCIManager
www.objectweb.org ObjectWeb - D17 - November 2003
CORBA Component
Configuration & Interconnection
Node_1 Node_2 Node_3 AssemblyMgr
COACH
COACH
Middleware
Middleware
NodeManager NodeManager NodeManager DCIManager
Installed Assembly Running Assembly
OpenCCM DCI Components
Î
DCIManager= a deployment domain¾Provides AssemblyFactoryand HomeFinder
Î
NodeManager = a virtual host¾Provides ComponentInstallationand 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 purposeswww.objectweb.org ObjectWeb - D19 - November 2003
The Open Container Runtime
Framework
Î
Built on top of CORBA 2.4
Î
Scripts to start / stop CORBA services
¾CosNaming, CosTrading, and CosTransactions
Î
Runtime library for
session
components
¾Set of classes inherited by generated container code
Î
OMG Persistent State Service (PSS) implementation
¾Built on top of Java Data Object (JDO) ¾Currently Kodo product
¾Soon ObjectWeb Speedo
Î
Flexible Container Framework soon
¾IST COACH Extensible Container Architecture (ECA)
Runtime Architecture
Application Components DCI Components CosNaming Service CosTransactions Service CosTrading ServiceCORBA 2.4 or higher
OpenCCM Flexible Container Framework
OpenCCM PSS Runtime Data Stores JDO Runtime Plugin Plugin Domain Node Server CosPersistentState Service Philosopher Observer Fork Assembly
www.objectweb.org ObjectWeb - D21 - November 2003
The Open Management
Framework
Î
A software framework for building graphical UI
management browser
¾Extensible by plug-ins
Î
Various browser plug-ins for
¾CORBA Object, Component and Home ¾Interface Repository
¾CosNaming ¾CosTrading ¾DCI
Î
IST COACH monitoring and testing infrastructure
www.objectweb.org ObjectWeb - D23 - November 2003
IST COACH Monitoring and
Testing Infrastructure
OpenCCM component servers
Portable Interceptors for monitoring
CORBA CORBA Components Interface
Repository
Actor GUI
Logging Components
Web Browser
IST COACH Monitoring and
Testing Infrastructure
www.objectweb.org ObjectWeb - D25 - November 2003
IST COACH Monitoring and
Testing Infrastructure
IST COACH Monitoring and
Testing Infrastructure
www.objectweb.org ObjectWeb - D27 - November 2003
Supported Environments
For All OpenCCM Features
Î
Java 1.2.1, 1.3.x & 1.4.x
Î
Operating systems
¾Linux ¾Solaris ¾Windows
¾Windows CE for PDA
Î
CORBA products
¾Borland Enterprise Server (BES) 5.0.2 & 5.2 ¾IONA ORBacus 4.1.x
¾JacORB 2.0
¾The Community OpenORB 1.2.1, 1.3.0, 1.3.1 & 1.4.0 ¾Potentially any full CORBA 2.4 implementation
Perspectives for OpenCCM 1.0
Î
Improve and complete all current main features
Î
Provide the full container support
¾CORBA Component Descriptor generator ¾Service, Process, andEntitycontainers ¾All CCM container API
¾Services injected in containers
zPersistency, transaction, security, notification
¾IST COACH Extensible Container Architecture
Î
Lightweight CORBA Components in C++
¾THALES contribution in ITEA OSMOSE project
Î
Open Model-Driven CORBA Components platform
¾Design components, implementations, and assemblies with UML ¾Generate all OMG IDL, CIDL, implementations, CAD files ¾Ready to be deployed and managed
www.objectweb.org ObjectWeb - D29 - November 2003
Thank You – Q/A
Î
Current release =
0.8.1
Î
Web site
¾On-line information and documentation
¾
http://openccm.objectweb.org
Î
Forge site
¾Releases, CVS, bug tracking, current tasks