Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed Object Computing

Similar presentations


Presentation on theme: "Distributed Object Computing"— Presentation transcript:

1 Distributed Object Computing
David Naney 2/16/2019

2 Introduction Distributed object computing extends an object-oriented programming system by allowing object to be distributed across a heterogeneous network, so that each of these distributed object components interoperate as a unified whole. These objects may be distributed on different computers throughout the network. 2/16/2019

3 Topics Reasons for distributed object computing
Survey of competing technologies 2/16/2019

4 Vocabulary Glossary of terms CORBA DCOM SOAP XML HTTP 2/16/2019

5 Why Are We Interested in Distributed Object Computing?
There are many reasons, but here we will concentrate on only three: Flexibility Cost New user platforms 2/16/2019

6 Flexibility A network-centric architecture that supports open standards allows the user much greater flexibility in the selection of products. A major problem with today's legacy systems is that they are so difficult to change. This puts the user into the unfortunate position of having to either completely replace the system, or live with it. Using distributed object computing allows the user the flexibility to update the system piecewise, reducing risk and cost. Instead of being locked into proprietary solutions, provided by only one vender, open standards allow users to select from multiple venders for similar products. The product that best meets their requirements can then be selected. 2/16/2019

7 Cost Published research in the area that concerns distributed object computing (network-centric architecture) suggests that the use of this technology can provide a substantial cost benefit, up to 60% of the lifecycle cost of the computing infrastructure. [5] 2/16/2019

8 New User Platforms It appears that we will be seeing a large increase in the number and type of end user platforms that will be available for use by the general public. Unfortunately, (or maybe fortunately if you are a distributed objects programmer) most of these platforms are of the “thin” variety, small devices with limited computing power and storage capacity. 2/16/2019

9 New User Platforms These devices will not be able to use software designed for the traditional desktop system. Network based applications which have most of their functionality in the middle tier rather than in the client will be much more adaptable to this market. 2/16/2019

10 Survey of Competing Technology
There are several different methods used to do distributed object programming. In this presentation, I will present two, CORBA and SOAP, with a brief mention of a third, DCOM. CORBA (Common Object Request Broker Architecture). SOAP (Simple Object Access Protocol). DCOM (Distributed Component Object Model). 2/16/2019

11 CORBA(Common Object Request Broker Architecture)
CORBA defines a model that specifies interoperability between distributed objects on a network in a way that is transparent to the programmer. It achieves this by defining ways for specifying the externally visible characteristics of a distributed object in a way that is implementation-independent. 2/16/2019

12 How Does CORBA Work? In order to create a connection with an object on the server, the programmer creates an IDL file that specifies the object’s interfaces. When compiled, these interfaces can be used by a remote object (client) in a fashion very similar to using a local object. Each network system that participates in a CORBA interaction must have an object called an Object Request Broker (ORB) running and accessible somewhere on the network. 2/16/2019

13 How Does CORBA Work? The ORB is the distributed service that implements the request to the remote object. It locates the remote object on the network, communicates the request to the object, waits for the results and when available communicates those results back to the client. These ORBs do all of the dirty work of establishing connections between the client object and the server object. 2/16/2019

14 How Does CORBA Work? A CORBA enabled object registers its services with the ORB. This allows the ORB to figure out where a request from a client is supposed to go. 2/16/2019

15 Benefits of CORBA CORBA allows methods on a remote object to be accessed as if they were on the local machine, making the programming of clients simple. CORBA is a more mature technology, with better support and tools. 2/16/2019

16 Problems With CORBA Firewall problem Cross platform problem
Complexity of use 2/16/2019

17 Firewall Problem When a stranger comes to your door and knocks, what do you do? Let him in? Find out what he wants, then let him in? Look at him through the peephole, and ask what he wants? Ignore him? 2/16/2019

18 Firewall Problem A computer network doesn’t have all of these options!
If a strange protocol comes knocking, what IS the poor network to do!! Let it in (no firewall)? Ignore it, it’ll go away (firewall) 2/16/2019

19 Firewall Problem This is one of the major problems CORBA faces in the Internet world. You can set up your CORBA client/server system, but if you try to distribute this system beyond your own little pond, you have to deal with cranky system administrators in other parts of the world who may or may not be willing to open a port in their firewall to accommodate your system. 2/16/2019

20 Cross Platform Problem
Although one of the main benefits that were supposed to accrue from CORBA was the reduction or elimination of cross platform issues, some still remain. Using CORBA entails setting up and configuring an Object Request Broker (ORB) on each system that is involved in the interaction. ORBs from different companies do not necessarily play well together. Even ORBs from the same company, which are designed for different operating systems sometimes don’t want to work together! In the Philips New York project, we attempted to set up an orb from Inprise, Visibroker on both a windows 95 system and a Solaris Unix system. We were unable to get them to communicate. This could have been a cross platform issue or a firewall issue. 2/16/2019

21 Complexity of Use CORBA requires the programmer to learn a new programming language, Interface Definition Language. IDL is not a difficult language but it does present a learning curve that some programmers would just rather not face. The different implementations work in different ways and are each fairly complicated to set up and configure. 2/16/2019

22 DCOM (Distributed Component Object Model)
DCOM is Microsoft’s answer to the rest of the computing world. Not wanting to be an integral part of the Object Management Group (OMG), Microsoft has developed a competing protocol for distributed object computing, with which I do not have a great deal of experience, but which I mention here for the sake of completeness. 2/16/2019

23 SOAP(Simple Object Access Protocol)
SOAP is one of the newest ideas to be endorsed by the World Wide Web Consortium (W3C), in response to the problems that are becoming apparent with other current distributed object architectures. 2/16/2019

24 SOAP(Simple Object Access Protocol)
SOAP is a standard way of serializing the information needed to invoke remote services into a format that can be transported across the wire and interpreted by the remote server regardless of its platform. 2/16/2019

25 What’s So Special About SOAP?
SOAP goes a long way toward solving the firewall problem by using a protocol that most system administrators have grown to know and love – or at least tolerate, the Hyper Text Transfer Protocol (HTTP). SOAP uses a text based payload, (XML) reducing to a minimum the cross platform problem. 2/16/2019

26 The eXtensible Markup Language (XML)
XML is a new text based markup language, similar to HTML, but much more powerful. XML allows the programmer to define his or her own markup tags, hence, extensible in the name.It is a method for describing information so that every computer, and most humans can understand it. 2/16/2019

27 The eXtensible Markup Language (XML)
Markup refers to instructions written into a document that inform someone or something how to handle a certain section of a document. This is sometimes referred to as metadata. With XML, the concept of markup has been extended to encode instructions that can tell an application what to do with chunks of the information. 2/16/2019

28 How Does SOAP Work? An object has need of a service provided by a server on a different system, across the Internet. for instance, a web browser user wants to make a purchase from an eCommerce site. The object creates an eXtensible Markup Language (XML) document, following the rules laid out in the official SOAP schemas. The document is then packaged into a soap message, placed as the payload in an HTTP Post operation, and sent to the web server. 2/16/2019

29 How Does SOAP Work? In order for the web server to handle SOAP requests, a SOAP listener must be provided. The listener takes care of receiving the HTTP message, parsing the SOAP payload and invoking the correct object to do the work. 2/16/2019

30 How Does SOAP Work? Like CORBA, SOAP uses a three tier architecture. However, instead of using an ORB for the middleware layer, SOAP uses the Web Server and the SOAP module. 2/16/2019

31 Problems With SOAP SOAP is a cutting edge technology, and as such, has LOTS of problems. The fact that the SOAP message has to be parsed with an XML parser makes this method slower than CORBA or DCOM for local implementations. Lack of tools and documentation. Doing things exactly as specified does not necessarily mean that your SOAP experiment will work. Must-have and nice-to-have technologies like schema support and XML namespaces are not yet fully supported. Namespaces are used when you have information from two different locations with the same elements. It allows the differentiation of these two items. 2/16/2019

32 Summary In this presentation, we have discussed the reasons for using distributed object computing, and looked at two methods currently used to implement this interesting technology. 2/16/2019

33 Where to Get More Information
Books: Client/Server Programming with Java and Corba, by: Rober Orfali and Dan Harkey Professional XML, by Didier Martin, Mark Birbeck, Michael Kay, etal Applied XML, by: Alex Ceponkus and Faraz Hoodbhoy 2/16/2019

34 Where to Get More Information
Articles: “A detailed Comparison of CORBA, DCOM and Java/RMI” and “DCOM and CORBA” by Gopalan Suresh Raj “What Does the Future Hold for Distributed Object Computing”, by Held, Susch and Golshan “SOAP for Platform-Neutral Interoperability”, by Kent Brown 2/16/2019

35 Where to Get More Information
Specification: “Simple Object Access Protocol (SOAP)1.1”, W3c Note 08 May 2000 Web Sites: Introduction to CORBA Web Cornucopia© 2/16/2019


Download ppt "Distributed Object Computing"

Similar presentations


Ads by Google