Professional Documents
Culture Documents
(CORBA – RMI)
-Shalini Pradhan
Common Architectures
Data Flow Systems
Batch Sequential & Control Loops
Pipes and Filters
Call and Return Systems
Main Programs & Subroutines
Object Oriented Systems
Independent Components
Communicating Processes & Event Systems
Data – Centered Systems (Repositories)
Databases & Blackboards
Virtual Machines
Rule based systems
Object Oriented Architecture
Component Architecture
Component
Independent unit of Software
It satisfies a set of behavior rules
Component Architecture
Specifices set of interfaces and rules of
interaction
[http://www-unix.mcs.anl.gov/~curfman/cca/web/cca_paper.html]
How do Components Interact?
Components interact via clearly specified interfaces
iGetMoney()
iReceiveItem()
iReceiveInventory()
iOrderInventory()
iReceiveOrder()
Wholesaler
Retailer
http://students.cec.wustl.edu/~dm9/DCA/CORBA.htm
Advantages
CORBA supports many existing languages. CORBA also
supports mixing these languages within a single
distributed application.
CORBA supports both distribution and Object
Orientation.
CORBA is an industry standard.
CORBA provides a high degree of interoperability. This
insures that distributed objects built on top of different
CORBA products can communicate.
Over 600 companies back CORBA, including hardware
companies, software companies, and cable companies,
phone companies, banks, etc.
Limitations
Not free
costs can be substantial
developer licenses ($800+ per developer)
runtime licenses (cost varies with vendor)
standardized extensions (“Object services” inOMG
speak) add more costs
Harder to use
no support for detecting software version mismatches
runtime, sometimes resulting in silent errors
Add-on to the language
[http://www.ociweb.com/javasig/knowledgebase/February1998/RMI_CORBA.pdf]
Application
RMI Registry
Client VM
Server VM
stub skeleton
OBJ
Advantages
Simple to use - sending objects
implement “Serializable” interface
optionally specify codebase
automatic version mismatch detection
Integrated into platform
remote method calls are nearly identical to normal
method calls
distributed garbage collection preserves automatic
memory management
Can pass objects
Supports Distributed Processing
Limitations