Title: CS590L Distributed Component Architecture
1CS590L Distributed Component Architecture
- Yugi Lee
- STB 555
- (816) 235-5932
- leeyu_at_umkc.edu
- www.sice.umkc.edu/leeyu
- This presentation is designed based on Michael
Stals COM, CORBA, EJB Presentations
2Motivation
- Driven by the Internet as well as mobile and
embedded devices distributed solutions are now
considered common place. - However, building distributed applications is a
non- trivial task. - Thus, the question is how can we efficiently
build and deploy such applications? - Basic architectural understanding of OO
Middleware. - Better leveraging Component Platforms.
3Distributed Applications
4Services of the Middle Tier
- The services in the Middle Tier participate in
different kinds of tasks - They must participate in the workflow of
integrated business processes. - They must connect to databases and other backend
systems for data storage and service access.
5Services of the Middle Tier
- Problem Functionality in the middle tier is
always subject to change and adaptation. It is
used in unforeseen contexts (from different
clients). - Solution The middle tier should not be
structured as a monolithic unit but rather be
decomposed.
6Component-based Software
- Components are the appropriate means for
decomposition - Presentation Tier components
- they typically represent sophisticated GUI
elements. - they share the same address space with their
clients. - their clients are containers that provide all the
resources. - they send events to their containers.
- Middle Tier components
- they typically provide server-side functionality.
- they run in their own address space.
- they are integrated into a container that hides
all system details.
7Building distributed applications is complex
- How to cope with heterogeneity?
- How to access remote services in a
location-transparent way? - How to handle (de-) marshaling issues?
- How to find remote objects?
- How to activate remote objects?
- How to keep state persistent and consistent?
- How to solve security issues?
- Synchronous/ asynchronous communication?
8Distributed Objects are the answer
- What we need is an architecture that ...
- supports a remote method invocation paradigm
- provides location transparency
- allows to add, exchange, or remove services
dynamically - hides system details from the developer
9Requirements for Distributed Component-based
Applications
- Transparent, platform-neutral communication.
- Activation strategies for remote components.
- Non-functional properties such as performance,
scalability, Quality of Service. - Mechanism to find and create remote components.
- Keeping state persistent and consistent.
- Security issues.
- Data transformation.
- Deployment and configuration.
10Component/Container Approach
- In order to shield components from the underlying
infrastructure specifics, containers are
introduced. - Containers
- manage components and notify components about
events such as activation, passivation,
transactions. - provide components access to services such as
transactions, security, persistence. - help to register and deploy components.
11Application Servers (Servers Containers)
12Select the right standard
- COM, Windows DNA 2000, Microsoft. NET or
- CCM (Corba Component Model), CORBA 3 or
- EJB v2, J2EE
- Andrew Tanenbaum The best thing about standards
is that there are so many to choose from
13EJB 2.0
- There are three flavors of enterprise Beans
- A session bean type (mandatory for EJB 1.0 and
EJB 1.1 compliant containers) - An entity bean type (mandatory in EJB 1.1
compliant containers) - A message bean type (mandatory in EJB 2.0
compliant containers)
14(No Transcript)
15CORBA-3
- In the year 2000 the OMG has published CORBA 3
which offers solutions in the 3 areas - Internet
- Quality of Service
- Components
- With CORBA 3, the OMG offers a full range of
enterprise technologies. - the specification of CCM (Corba Component Model),
11/2001 - Interoperability (COM, EJB)
- Portable Object Adapter (POA)
16CORBA Architecture
17COM
- First of all COM COM Services
- COM is MTS 3.0
- It is integrated to Windows 2000
- It contains a lot of services such as
- Transaction Serrvices (MTS)
- Security Services
- Synchronization Services
- Queued Components
- Event Service
- COM Catalog RegDB Registry
18COM Architecture
19Middleware Comparision-1
20Middleware Comparision-2
21Middleware Comparision-3
IIOP Internet Inter-Orb Protocol, OTS Object
Transaction Services, JTS Java Transaction
Services, MTS Microsoft Transaction Services
ADSI Active Directory Service Interfaces JNDI
Java Naming and Directory Interface AMI Asynch
Messaging Interface
22Middleware Comparision- 4
UPnP Universal Plug and Play
23Universal Plug and Play
- an architecture for pervasive peer-to-peer
network connectivity of PCs of all form factors,
intelligent appliances, and wireless devices. - a distributed, open networking architecture that
leverages TCP/IP and the Web to enable seamless
proximity networking in addition to control and
data transfer among networked devices in the
home, office, and everywhere in between. - MS XP support for UPnP Internet gateways,
providing broadband users for online games,
videoconferencing and other peer-to-peer
services.
24JINI/JXTA
- Jini an open architecture that enables
developers - to create network-centric services that are
highly adaptive to change. - to build adaptive networks that are scalable,
evolvable and flexible as typically required in
dynamic computing environments. - JXTA
- a set of open, generalized peer-to-peer (P2P)
protocols, defined as XML messages, that allow
any connected device on the network ranging from
from cell phones and wireless PDAs to PCs and
servers to communicate and collaborate in a P2P
manner. - JXTA peers create a virtual network where any
peer can interact with other peers and resources
directly even when some of the peers and
resources are behind firewalls and NATs or are on
different network transports.
25References
- Henning, Vinoski Advanced CORBA Programming with
C, Addison- Wesley, - 1999.
- Donald Box Essential COM, Addison Wesley, 1998.
- Chappel, Understanding Windows 2000 Distributed
Services, Microsoft Press, 2000. - Rofail, Shohoud, COM and COM, Sybex, 2000.
- Buschmann, Meunier, Rohnert, Sommerlad, Stal
Pattern- Oriented Software Architecture - A
System of Patterns, Wiley, 1996. - Schmidt, Stal, Rohnert, Buschmann Pattern-
Oriented Software Architecture 2 - Patterns for Concurrent and Networked Objects,
Wiley, 2000. - Gamma, Helm, Johnson, Vlissides Design Patterns
- Elements of Reusable Object-Oriented Software,
Addison Wesley, 1995.