Distributed Systems Lab 1
Distributed Systems Lab 1
5 October 2009
Widely used in
enterprise resource planning, billing, inventory application systems (client business applications residing in multiple desktop systems interact with a central database server).
CORBA
Common Object Request Broker Architecture industry wide, open standard initiative, developed by the Object Management Group (OMG) differs from the traditional client/server model: it provides an object-oriented solution that does not enforce any proprietary protocols or any particular programming language, operating system, or hardware platform Interface Definition Language (IDL) is a specific interface language designed to expose the services (methods/functions) of a CORBA remote object. defines a collection of system-level services for handling lowlevel application services like life-cycle, persistence, transaction, naming, security, and so forth.
ORB
Object Request Broker is an object bus that provides a transparent mechanism for sending requests and receiving responses to and from objects, regardless of the environment and its location. intercepts the clients call and is responsible for finding its server object that implements the request, passes its parameters, invokes its method, and returns its results to the client. provides interfaces to the CORBA services, which allows it to build custom-distributed application environments. CORBA 2.0 added interoperability between different ORB vendors by implementing an Internet Inter-ORB Protocol (IIOP): IIOP defines the ORB backbone, through which other ORBs can bridge and provide interoperation with its associated services.
CORBA advantages
OS and programming-language independence. Legacy and custom application integration. Rich distributed object infrastructure. Location transparency. Network transparency. Dynamic invocation interface.
CORBA disadvantages
High initial investment. CORBA-based applications require huge investments in regard to new training and the deployment of architecture, even for small-scale applications. Availability of CORBA services. The Object services specified by the OMG are still lacking as implementation products. Scalability. Due to the tightly coupled nature of the connection-oriented CORBA architecture, very high scalability expected in enterprise applications may not be achieved.
Java RMI
enables object-oriented distributed computing developed by Sun Microsystems as the standard mechanism to enable distributed Java objects-based application development allows to call remote Java objects and passing them as arguments or return values. it uses Java object serializationa lightweight object persistence technique that allows the conversion of objects into streams.
RMI-based application architectures are tightly coupled because of the connection-oriented nature.
Achieving high scalability in such an application model becomes a challenge.
Microsoft DCOM
Microsoft Component Object Model (COM) a way for Windows-based software components to communicate with each other by defining a binary and network standard in a Windows operating environment. enables COM applications to communicate with each other using an RPC mechanism, which employs a DCOM protocol
Common challenges while implementing a MOM-based application environment : Most of the standard MOM implementations have provided native APIs for communication with their core infrastructure
this has affected the portability of applications across such implementations and has led to a specific vendor lock-in.
The MOM messages used for integrating applications are usually based upon a proprietary message format without any standard compliance.
Maintenance of various versions of stubs/skeletons in the client and server environments is extremely complex in a heterogeneous network environment Quality of Service (QoS) goals like Scalability, Performance, and Availability in a distributed environment consume a major portion of the applications development time. Interoperability of applications implementing different protocols on heterogeneous platforms almost becomes impossible
E.g. a DCOM client communicating to an RMI server or an RMI client communicating to a DCOM server.
Most of these protocols are designed to work well within local networks
They are not very firewall friendly or able to be accessed over the Internet.
second generation: server-side scripting third generation: business-to-business (B2B) and business-toconsumer (B2C) on Internet In this context J2EE
provides a programming model based upon Web and business components that are managed by the J2EE application server. the application server consists of many APIs and low-level services available to the components. low-level services provide security, transactions, connections and instance pooling, and concurrency services,
which enable a J2EE developer to focus primarily on business logic rather than plumbing.
Application tier (Business tier) deals with the core business logic processing (workflow & automation).
retrieve data from the information systems with well-defined APIs provided by the application server.