frameworks for component based client server computing scott m lewandowski l.
Skip this Video
Loading SlideShow in 5 Seconds..
Frameworks for Component Based Client/Server Computing -Scott M. Lewandowski PowerPoint Presentation
Download Presentation
Frameworks for Component Based Client/Server Computing -Scott M. Lewandowski

Loading in 2 Seconds...

play fullscreen
1 / 27

Frameworks for Component Based Client/Server Computing -Scott M. Lewandowski - PowerPoint PPT Presentation

  • Uploaded on

Frameworks for Component Based Client/Server Computing -Scott M. Lewandowski. Presented by : Manish Mehta Tulika Rathi Sucharita Simhadri Anupama Vasanth. What is in this paper?. Introduction to Client/Server computing

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

Frameworks for Component Based Client/Server Computing -Scott M. Lewandowski

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
frameworks for component based client server computing scott m lewandowski
Frameworks for Component Based Client/Server Computing-Scott M. Lewandowski

Presented by:

Manish Mehta

Tulika Rathi

Sucharita Simhadri

Anupama Vasanth

what is in this paper
What is in this paper?
  • Introduction to Client/Server computing
  • Introduction to component technologies -- CORBA and DCOM (JavaBeans is not discussed)
  • Frameworks for Client/Server computing using distributed objects.
what is client server computing
What is Client/Server computing?
  • Two logical parts

-Server: that provides service(s).

-Client : that requests services of the server.

Both client and server together form a complete computing system with a distinct division of responsibilities.

  • Traditional servers were passive.
  • Recent research shows some systems fulfilling the theoretical organization of Client/Server in which servers can be active.
  • Can divide the task in subtasks and delegate each subtask to other servers.
why is client server so popular
Why is Client/Server so popular?
  • Client/Server computing has gained popularity in recent years due to proliferation of low-cost hardware.
  • Monolithic applications fail when the number of users accessing a system grows too high or when too many features are integrated into a single system.
  • Most of the clients have a modern Graphical User Interface(GUI)
  • GUI is usually provided with the help of operating system to maintain consistency across multiple applications.(“Swing” is different)
fat v s thin client server
Fat v/s Thin -- client/server
  • A part of the system with disproportionate(more) amount of functionality is “FAT”.
  • A portion of a system with less responsibilities delegated to it is “THIN”.

FAT Servers

for example: Web Servers

FAT Clients

for example: Most Database Systems

n tier systems
N-tier Systems
  • The canonical C/S model assumes exactly two discrete participants i.e “Two-tier” system.
  • It is also possible to have the application logic reside separately from the user interface and data, turning the system into “N-tier” system.
  • N-tier system provides more flexibility than traditional 2-tier system because of the separation of the application logic.
  • Decoupling the application logic from the data allows data from multiple sources to be used in a single transaction.
  • To provide transparent access to non-local services and resources distributed across the network.

Database Middleware: ODBC, SQL, Oracle Glue

Groupware Middleware: Microsoft Exchange, Lotus notes

Internet Middleware: HTTP, SSL

Object-Oriented Middleware: CORBA, DCOM

functions benefits of c s system
Functions & benefits of c/s system


  • Regulate access to shared resources when multiple clients attempt to access the same resource via server.
  • Provide a standardized system through which network services can be utilized to provide location transparent access to all services.


  • Natural mapping of applications into a c/s framework.(Phone Number)
  • Resource intensive applications can be designed to run on multiple low-cost systems.
distributed objects and components
Distributed Objects and Components

Classical object v/s Distributed object

  • Classical objects are entities that encapsulate data and a set of operations(methods) that act on that data.
  • Classical objects do not exist as separate entities once the program is complied.
  • Distributed objects can reside any where in the network and continue to exist as physical standalone entities while remaining accessible by other objects.
benefits of distributed objects
Benefits of Distributed objects
  • Self-managing distributed objects take responsibility for their own resources, work across network, and interact with other objects.
  • They allow applications to be split up into lightweight pieces that can be executed on separate machines.
  • Distributed objects can generate events to notify other objects that an action should take place. This synchronization is very useful.
  • With middleware, we can ensure interoperation between/among objects.
  • Components are the smallest self-managing, independent, and useful parts of a system that work in multiple environments.
  • Components are most often distributed objects incorporating advanced self-management features.
  • Components may contain multiple distributed or local objects, and they are often used to centralize and secure an operation.
new models for c s computation
New models for c/s computation

We discuss three models

  • Client/server using distributed objects like CORBA and DCOM
  • Client/server applications using Java
  • Client/server applications using Java and CORBA.
client server with corba
Client/Server with CORBA

CORBA (Common Object Request Broker Architecture)

  • Most important part is ORB
  • ORB defines the object model and provides bi-directional location-transparent object access.
  • Internet Inter-ORB Protocol(IIOP) provides inter-vendor ORB compatibility by adding several CORBA-specific messages to the TCP/IP schema.
  • ORB intercepts method invocations form client objects and routes them to an appropriate server.
corba contd
CORBA (contd.)
  • Interface Definition Language (IDL) is used to specify the services that an object can provide.
  • IDL is defined independent of the factors affecting interoperability such as Implementation language, tool, Operating System.
  • The flexibility is achieved at the expense of equipping each client component with an IDL stub for each server used.
  • CORBA supports Dynamic Method Invocation, handled through Dynamic Invocation Interface (DII) .DII allows a component to learn about the methods of other components at run time.
corba contd17
CORBA (contd.)
  • To accommodate components without IDL-based stubs, CORBA provides a Dynamic Skeleton Interface (DSI) that binds incoming method calls for such objects at run-time.
  • Server demands are met via an Object Adapter, which provides the core run-time functionality required by servers.

Two ways to locate another object

  • Naming Service – like while pages in a phone book
  • Trade Service – like yellow pages (choose from pool)
client server with dcom
Client/Server with DCOM
  • Primarily uses ActiveX components
  • Integration of Java with DCOM is possible through Visual J++.
  • Binding provided with Visual J++ are strong enough so that ActiveXs written in other languages can be made to look like remote Java objects.
  • Uses IDL based on Distributed Computing Environment (DCE)-- Not compliant with CORBA.
client server with dcom contd
Client/Server with DCOM (contd.)
  • A request for a reference to a DCOM objects results in arbitrary handle.
  • DCOM supports a registry of available interfaces.
  • For a DCOM client to access the methods of an object, it must use a virtual lookup table to obtain a pointer to that function.
  • Since DCOM objects have no unique object identification, there are no naming or trading services.
corba v s dcom
  • DCOM “objects” do not have a state; rather they are collections of interfaces.
  • The object can be located using Naming or Trading services in CORBA. But, in DCOM, a client object can not request to be connected to a given server.It can only ask to be connected to arbitrary server supporting the services needed.
  • Benchmarks incorporating network communication and simple method invocation show DCOM to be almost 20% slower than CORBA.
corba as the dominant model
CORBA as the Dominant Model
  • More portable (Not only Microsoft)
  • Open System in the third generation.
  • CORBA uses universal security mechanism which is independent of platform and OS-level security.DCOM uses Windows NT security Model.
  • CORBA provides seamless integration for the most popular OO languages.DCOM language support is limited to Java, C, C++ and VB.
  • CORBA hides the IDL from programmer.
  • All industry giants are rallying behind CORBA.
java for client server applications
Java for Client/Server Applications
  • Mobile code system provided through bytecodes, which solves portability and security problems.
  • VM translates the bytecodes into actual machine instructions on-the-fly.
  • Packages allow dynamic class linking with methods that can be overridden at runtime.
  • Native support for multi-platform multi-threading and thread synchronization.
  • Java provides some core frameworks relevant to Client/Server computing. (Java Applet, Java Beans, Java Security)
c s using java corba
C/S using Java & CORBA
  • Integration of Java and CORBA can provide a platform for universal network computing.
  • Advantages of Integration : ( by CORBA )
    • Superior performance and flexibility.- for example HHTP/CGI
    • Scalability- load balancing
    • Component infrastructure- feature of CORBA
    • Split Components- split components in Client and Server side components.
c s using java corba contd
C/S using Java & CORBA (contd.)
  • Advantages of Integration (by Java)
    • Simplified code distribution
    • Mobile code
    • Agenting
    • Superior language feature - Multi-threading
  • Frameworks are tools to help programmers construct software systems structures in the same way as the analogous real-world system.
  • Frameworks provide a way to manage a system of interacting objects and to develop objects that will integrate seamlessly into the framework.
  • The framework is ideally suited for capturing the elements common to a family of related systems.
  • Frameworks are a valuable tool for ensuring the availability of object services.
  • Distributed objects promise to revolutionize the stagnant C/S market.
  • CORBA, with many advantages over DCOM is becoming the Distributed Object standard.
  • Leveraging CORBA and Java provides the most notable advantages of component technology.