Title: ACE XML in the CORBA Component Model
1ACE XML in the CORBA Component Model
- Krishnakumar B
- kitty_at_cs.wustl.edu
- Center for Distributed Object Computing
- Department Of Computer Science
- Washington University, St.Louis, MO
2Overview
3Software Composition Challenges
- Context
- Component composition is increasingly common
software paradigm - Meta-data is needed to decouple
- Components from Components
- Components from infrastructure
- Problems
- Flat representation of meta-data
- Increased task specific glue code
- Overwhelming configuration options
- Non-standard feature descriptions
- Lack of extensibility
- Limited reuse
Display
File
Print
Database
4CCM Provides a Partial Solution
- CCM Specifies
- Component Descriptor
- Functional Capabilities
- Assembly Descriptor
- Specify collection of components
- Specify partitions
- Specify connections
- How to specify QoS ?
- XML for Meta-data
Your Motif
5CIAO Provides an Extended Solution Real-Time QoS
ltcomponentassemblygt ... ltpartitioninggt
ltciaocreatethreadpool id"tp_a" priority"30"
number"10"/gt
ltciaocreatethreadpoolwithlane id"tp_l"gt
ltciaoprioritylevel lane"30" number"3"/gt
ltciaoprioritylevel lane"60" number"3"/gt
ltciaoprioritylevel lane"80" number"10"/gt
lt/ciaocreatethreadpoolgt
- XML in CIAO
- Specify attributes
- Specify QoS requirements
- Specify policies
lthomeplacement id"ProximityHome"gt
ltcomponentfileref idref"Proximity"/gt
ltcomponentinstantiation id"left"gt
ltcomponentpropertiesgt ltfileinarchive
name"left-switch.cpf"/gt
ltciaousethreadpool idref"tp_a"/gt
lt/componentpropertiesgt lt/componentinstantiat
iongt ltcomponentinstantiation id"right"gt
ltcomponentpropertiesgt
ltfileinarchive name"right-switch.cpf"/gt
ltciaousethreadpoolwithlane idref"tp_l"
lane"60"/gt
lt/componentpropertiesgt lt/componentinstantia
tiongt lt/homeplacementgt
6CIAO Support for Packaging Deployment
- Context
- Packaging Deploying COTS middleware
- Problem
- Handling dependencies
- Initialization order of inter-dependent
components - CIAO uses XML to
- Specify dependencies
- Setup inter-connections
Software Package
Assembly Descriptor
Component Assembly
Component Descriptor
XML
Component
Component
Component Descriptor
7Overview of ACE XML
Default Handler
- ACE XML library
- SAX v2.0
- Events-based API
- Low memory footprint
- Fully functional Parser
- Features
- XML Namespaces
- Locator
- Filters
- DTD Validator
- Extensible
- Plug-in Content Handlers
Client
2 create
1 extend
Content Handler
3 instantiate
4 register
ACEXML Parser
6 callback
5 read
lt?xml version"1.0"?gt ltdocgt ltparagtHello,
world!lt/paragt lt/docgt
XML File
8ACE XML Service Configurator
- ACE Service Configurator
- A framework based on the Component Configurator
pattern - Assembles/configures services
- Lazy binding
- Run-time or installation-time
- New ACE XML Service Configurator
- XML DTD for svc.conf file
- Implemented as a SAX ContentHandler
- Dynamically loads Parser
9ACE XML Service Configurator Example
- Classic SVC Conf
- dynamic Test_Object_1 Service_Object
Service_Config_DLL_make_Service_Config_DLL() "2
3" - dynamic Test_Object_4 Service_Object
Service_Config_DLL_make_Service_Config_DLL() "5
6" - dynamic Final_Object Service_Object
Service_Config_DLL_make_Service_Config_DLL()
"FINAL"
- XML SVC Conf
- lt?xml version'1.0'?gt
- ltACE_Svc_Confgt
- ltdynamic id"Test_Object_1" type"Service_Object"gt
- ltinitializer init"_make_Service_Config_DLL"
path"Service_Config_DLL" params"2 3"/gt
lt/dynamicgt - ltdynamic id"Test_Object_4" type"Service_Object"gt
- ltinitializer init"_make_Service_Config_DLL"
path"Service_Config_DLL" params"5 6"/gt
lt/dynamicgt - ltdynamic id"Final_Object" type"Service_Object"gt
- ltinitializer init"_make_Service_Config_DLL"
path"Service_Config_DLL" params"FINAL"/gt
lt/dynamicgt - lt/ACE_Svc_Confgt
10Concluding Remarks
- Goal Separate meta-data from implementation
- CIAO
- Uses XML to describe meta-data
- Uses ACE XML for the XML infrastructure needed
- ACE XML available under ACE_ROOT/ACEXML
- Parser is complete as of ACE 1.2.3
- Validator will be available in the next beta
- XML as default for svc.conf in ACE/TAO soon
- define ACE_HAS_XML_SVC_CONF 1
- CIAO Deployment Packaging
- Will be available by the end of 2002