Académique Documents
Professionnel Documents
Culture Documents
Component Architecture
Outline
Component based software for distributed
applications
Component based software for real-time
distributed applications
Location transparent
Interface separate from implementation
Self-describing interface
Composibility
Additional Interfaces
Special Services
Exceptions
Changeable
Properties
Out-Events
Component
Objects
In-Events
States
Exceptions
Integration process of
distributed components
12
components
Re-establish connections with other components in case
of temporary communication errors
Invoke exception handler when connection with related
components fail
14
IDL
Adapter.Req()
Adapter.Req()
TC
IDL
Serv()
Serv()
A1.Req()
A1 Adapter
TC.Serv()
Connection table
method
Req()
target method
TC Serv()
assign
15
Group
Adapter
Prime GA2.1
for
wa
rd
Component
Component
IDL
C3
C3
Incoming
Component
Component
Group
IDL
events
C1
C1
Adapter
GA2.2
Component
Component
IDL
C2.2
C2.2
Component
Component
IDL
C2.1
C2.1
negotiate/
update states
broadcast
Group
Adapter
GA2.3
Component
Component
IDL
C2.3
C2.3
17
Implementation issues
a prototype distributed component-based
software development environment on Orbix/OrbixWeb 3.0
CORBA
Distributed Component Model: defined in OMG IDL 2.0
Integration Tool: developed using Java, tested on
Windows 95/NT/Solaris
Example Distributed Components: on both Windows/Solaris,
using C++/C/Java
18
19
20
Gateway components
Dynamic Self-explaining Service Publishing
Composibility/Location Transparency: Adapters
Ease of fault-tolerant server implementation:
Group Adapters
Ease of distributed component management
21
Future Work
Implement the approach based on real-time operating
Disadvantages of
IBM Component Broker
No fault-tolerance support
Not expandable: for example, real-time support
IBM dependency: The CB requires its own Object
Builders IDL compiler to generate component
interfaces. This may force migration from popular
CORBA products like Orbix. Our approach works with
all ORB-compliant products.
23
Advantages of
IBM Component Broker
CBs advantages come from its better implementation:
Security on component communication
Pre-developed legacy application adapters: DB2,
CICS, Encina, IMS, MQSeries
More component management: Monitoring, logging
Certain capability to import information from some
CASE tools, like Rational Rose.
24
Decomposition
Components
acquisition
Components
Development
Process
Management
Distributed
Integration
Component
Repository
Server
Executing/Testing
26
Distributed Component-Based
Software Architecture
27
Location transparent
Interface separate from implementation
Self-describing interface
Composibility
28
29
Component-based approach
for real-time software
30
Replicated Components
SubComponent
SubComponent
Gateway
Component
Exceptions
C om m o n Interface
Changeable
Properties
Out-Events
Component
Objects
In-Events
States
Exceptions
32
34
RT Component
RT Adapter
RT Scheduler
Request Queue
...
35
Implementation issues
Distributed Component Interfaces
Every component implements ComponentInfo interface
to skeptically describe its interfaces;
Details interface syntax will be retrieved accordingly from
interface repository.
IDL files of each components are released with the component
as a package. So interface repository entry can be established
wherever the component runs.
36
Integration Tool
Adapter
Adapters are separate processes to the components residing
on the same hosts.
Adapters use Dynamic Skeleton Interface to accept requests
and Dynamic Invocation Interface to relay them. This
allows two methods in different interfaces to be connected.
37
38
10
Yahoo
Query
Client
Java/NT
enpc978
True
Query
Name IsDiscount
Reservation
Reservation
Discount
Reservation
Reservation
Agent
C++/NT
UA
Discount
Reservation
enpc666
Query
Name
Airline
B
MSN
False
Query
Discount
Name WaitTime Query Reservation Name IsDiscount
Reservation
Query
Reservation
Reservation
Discount
Java/NT
C++/NT Reservation
Client
Agent
enpc667
enpc665
enws631
Reservation
enws632
C++/Solaris
40
Discussions
Advantages of the approach:
Easy to satisfy the heterogeneous environments requirements in
many distributed systems
Easy to upgrade and reintegrate existing distributed
real-time systems.
41
Discussions (Cont.)
Limitations:
Component-based software method introduces overhead
with extra communication relays through adapters and group
communication.
In the current implementation, the real-time control is in
adapters which run in separate processes.
The communication time between components and
their adapters depend on the operating systems scheduling.
So this implementation does not support
hard real-time requirements.
42