TEDx Talk :How to Build your Creative Confidence by David Kelley
David Talk
-
Upload
nirmala-last -
Category
Technology
-
view
423 -
download
0
Transcript of David Talk
04/12/231
Distributed Object ComputingDistributed Object ComputingDavid Naney
04/12/232
Introduction 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.
04/12/233
TopicsTopics
Reasons for distributed object computingSurvey of competing technologies
04/12/234
VocabularyVocabulary
Glossary of terms– CORBA– DCOM– SOAP
– XML– HTTP
04/12/235
Why Are We Interested in Why Are We Interested in Distributed Object Computing?Distributed Object Computing?There are many reasons, but here we will
concentrate on only three:– Flexibility– Cost– New user platforms
04/12/236
FlexibilityFlexibility
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.
04/12/237
CostCost
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]
04/12/238
New User PlatformsNew 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.
04/12/239
New User PlatformsNew 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.
04/12/2310
Survey of Competing Survey of Competing TechnologyTechnology 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.
1. CORBA (Common Object Request Broker Architecture).
2. SOAP (Simple Object Access Protocol).
3. DCOM (Distributed Component Object Model).
04/12/2311
CORBA(Common Object CORBA(Common Object Request Broker Architecture)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.
04/12/2312
How Does CORBA Work?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.
04/12/2313
How Does CORBA Work?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.
04/12/2314
How Does CORBA Work?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.
04/12/2315
Benefits of CORBABenefits 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.
04/12/2316
Problems With CORBAProblems With CORBA
Firewall problemCross platform problemComplexity of use
04/12/2317
Firewall ProblemFirewall Problem
When a stranger comes to your door and knocks, what do you do?
1. Let him in?
2. Find out what he wants, then let him in?
3. Look at him through the peephole, and ask what he wants?
4. Ignore him?
04/12/2318
Firewall ProblemFirewall Problem
A computer network doesn’t have all of these options!
If a strange protocol comes knocking, what IS the poor network to do!!
1. Let it in (no firewall)?
2. Ignore it, it’ll go away (firewall)
04/12/2319
Firewall ProblemFirewall 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.
04/12/2320
Cross Platform ProblemCross 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!
04/12/2321
Complexity of UseComplexity 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.
04/12/2322
DCOM (Distributed Component DCOM (Distributed Component Object Model)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.
04/12/2323
SOAP(Simple Object Access SOAP(Simple Object Access Protocol)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.
04/12/2324
SOAP(Simple Object Access SOAP(Simple Object Access Protocol)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.
04/12/2325
What’s So Special About What’s So Special About SOAP?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.
04/12/2326
The eXtensible Markup The eXtensible Markup Language (XML) 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.
04/12/2327
The eXtensible Markup The eXtensible Markup Language (XML)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.
04/12/2328
How Does SOAP Work?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.
04/12/2329
How Does SOAP Work?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.
04/12/2330
How Does SOAP Work?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.
04/12/2331
Problems With SOAPProblems 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.
04/12/2332
SummarySummary
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.
04/12/2333
Where to Get More InformationWhere to Get More Information
Books:1. Client/Server Programming with Java and
Corba, by: Rober Orfali and Dan Harkey
2. Professional XML, by Didier Martin, Mark Birbeck, Michael Kay, etal
3. Applied XML, by: Alex Ceponkus and Faraz Hoodbhoy
04/12/2334
Where to Get More InformationWhere to Get More Information
Articles:4. “A detailed Comparison of CORBA, DCOM
and Java/RMI” and “DCOM and CORBA” by Gopalan Suresh Raj
5. “What Does the Future Hold for Distributed Object Computing”, by Held, Susch and Golshan
6. “SOAP for Platform-Neutral Interoperability”, by Kent Brown
04/12/2335
Where to Get More InformationWhere to Get More Information
Specification:7. “Simple Object Access Protocol (SOAP)1.1”, W3c
Note 08 May 2000 Web Sites:
8. Introduction to CORBA http://developer.java.sun.com/developer/onlineTraining/
corba/corba.html#anchor311757
9. Web Cornucopia©
– http://www.execpc.com/~gopalan/index.html