Welcome!

Java IoT Authors: Yeshim Deniz, Pat Romanski, Liz McMillan, Zakia Bouachraoui, Elizabeth White

Related Topics: Java IoT

Java IoT: Article

The World Wide Web And Distributed Object Computing: A Natural Match?

The World Wide Web And Distributed Object Computing: A Natural Match?

A Capsule History of Active Webs
The runaway success of the Web's HTML display language made everyone in the software community stop and take note. What was so exciting about this new technology? Was it the markup language itself? Couldn't be! HTML is just a stripped down version (DTD) of SGML, which has been around for a while. Was it the concept of a remote screen interface language? No, X terminals and the X protocol have been around for years. Could it be the HTTP protocol for transmitting HTML? Let's hope not. HTTP is basically a broken FTP, and that's been around for decades.

No, it was simplicity and integration. Pure and simple. Although it was never intended that actual people write HTML code, they can; it's that easy. Lots of people are doing it, even though there is a large variety of HTML generators and editors on the market. It also offers (and here's the good part): instant integration among resources anywhere on the Internet via a small number of well-understood and well-supported protocols (SMTP for electronic mail, FTP for file transfer, TELNET/TN3270 for interactive login as well as the new HTTP for hypertext transmission), all without you having to remember to type TYPE I' to your file transfer software (after downloading it in the wrong mode the first time - remember those days)?

But it wasn't -- well, dare I say it? -- it wasn't enough. Here we have a perfect, simple-to-set-up client/server link (or peer-to-peer, I don't care which paradigm you prefer), and essentially all we're using it for is dead text. Not enough. The answer, of course was CGI, the Common Gateway Interface for connecting World Wide Web servers to new or existing "legacy" applications for runtime computation of the HTML to be sent back to the client. And while CGI isn't exactly an easy gateway to configure or use, it can be done.

Analogous to CGI, but on the client side, was the CCI, which tried to fill a similar role within web browsers. It never did, though. Why? A simple lack of portability and security. There are a lot more clients than servers in the web world, and portability is much more important there. So is security; users of the web do not want to make it easier for some twelve-year-old hacker to crash their machines!

Java became the primary answer to this quandary. With a straightforward portability model (based on a virtual machine architecture) and a clear security story (through a novel use of compile-time and run-time type safety), Java fits the bill for portable, secure, downloadable code. Note that Java is not the only way to achieve such functionality (also called "mobile code". See http://www.w3.org/pub/WWW/OOP/9606_Workshop/ for this year's entry in a series of joint World Wide Web Consortium/ Object Management Group workshops on this topic). But a combination of technology and marketing have made it the current hot topic. And it defines a complete, portable virtual machine so you could even code secure, portable COBOL instead if you pleased, or RPG! Think of the possibilities!

We're done, right? Sure, if you really don't mind retraining your entire staff and rewriting your entire code base, and waiting for all of your software suppliers to do the same. Furthermore, the proliferation of programming languages and operating systems wasn't always for competitive reasons; sometimes COBOL is the right tool for the job. Don't plan to see all languages but Java simply fade away any time soon.

Enter Distributed Objects
Not surprisingly, another segment of the universe has been dealing with precisely these issues for some time. Distributed object computing (DOC) addresses the need for systems integration in heterogeneous environments in a straightforward way, using the power of object technology's key concepts as enablers. Encapsulation provides a way to hide local implementations of interfaces ("classes") providing safety for implementors; polymorphism hides the details of implementation promoting portability and maintainability; and inheritance allows developers to stand on the shoulders of those who have gone before (rather than just stepping on their toes).

The Common Object Request Broker Architecture (CORBA) provides a cross-language, cross-operating system, cross-platform, cross-application method for describing services and making use of those services. Modelling applications as objects interacting in a network (with CORBA hiding all of the details of the network and service access) has allowed major organizations such as the United Kingdom Customs Department, Boeing, Motorola, John Deere & Co., J. P. Morgan and Wells Fargo Bank to build robust, distributed applications to support their everyday operations.

The cornerstone of CORBA is an Interface Definition Language (OMG IDL) for describing services (Figure 1 shows an example). This simple language is essentially an inter-language integration platform; you still write your programs in whatever language you like (C, C++, FORTRAN, COBOL, Ada, Smalltalk, whatever you or your managers prefer. Unambiguous mappings from OMG IDL to these implementation languages allow integration of systems written in different languages, even if they are executing on different machines. And a common communications protocol (which can similarly be layered on any transmission medium, with the Internet's TCP/IP preferred) ensures interoperability across wide gulfs within or between organizations.

In fact, CORBA itself is part of a larger architecture, called the Object Management Architecture (OMA), which includes layered services (called CORBAservices) running the gamut from lifecycle management, events and naming services to transaction management, concurrency control and security (See Figure 2). Further services for wide application domains (CORBAfacilities) as well as specific application domains, CORBAdomains, including such domains as financial systems, telecommunications, healthcare provision, manufacturing, transportation, etc., are also outlined.

However, this brings us to a quandary. Should we build distributed systems on a robust, multi-language base (with attendant steep learning curves), or on a simple, easily accessible but limited base (world wide webs)? The answer, naturally, is both. Future History of the Web and Distributed Object Computing The current situation, despite important early work (see a few examples at http://iiop.ansa.co.uk:8080/~jade/, http://webstar.cerc.wvu.edu/, http://corbanet.dstc.edu.au and http://www.digicool.com/&127;releases/ilurequester/) is two unconnected worlds (See Figure 3). Though they use the same wide transmission media, especially the Internet, the Web world and the CORBA world, noted as a "sea of objects" in the figures, are not strongly connected.

This won't last long. Already standardized service interfaces (the key strength of the CORBA specification) have been added to the most popular freeware web server (see http://www.apache.org and http://www.digicool.com/
releases/ilurequester/). This allows webmasters to integrate their web services easily with new and existing applications, even distributed applications, without resorting to proprietary interfaces such as Netscape's and Microsoft's competing NSAPI and ISAPI. Finally CGI is dead. Why bother when you can connect these two growing worlds directly and easily, and manage the resulting application suite from a single point? Figure 4 outlines that first tentative step. The sea of objects, including databases and business objects that represent the real systems in your enterprise, are connected into the web server, which presents those services with an HTML front-end.

The next step is even more exciting. Why should the fun be limited to the server you happen to be connected to? Shouldn't your browser be able to contact and use the services available on the network directly? Already some browsers do just that. One approach is to add a new type of connection, to go with the well-known HTTP:, FTP:, MAILTO:, etc. Some people think the IIOP: or CORBA: connection, is an appropriate way to represent browsers connecting directly to that same "sea of objects." Do you want to browse the pages of a Web 'zine? Great. Do you even want to get some work done too (i.e., earn your pay, check inventory for the customer's request)? Have your browser directly connect to the database which maintains that information. This option is shown in Figure 5.

Enter the Dragon
The problem with this approach, of course, is that it requires "fat" browsers. In particular, it's yet another type of service to be directly supported by all browsers. And that "all" part is important; the value of the World Wide Web today is due mostly to the ubiquity of this easy-to-use front end, the web browser. Piling more and more functionality into what used to be a simple function doesn't seem to be such a great idea. It's just a front end, after all; why should I have to upgrade it every few months?

The solution is Java. Java, as a dynamic, mobile object solution, gives us a way to dynamically update any Java-enabled browser to support this kind of functionality. In fact, given Java's object-oriented nature, and current lack of distributed computing capabilities, it's a natural fit. Given a Java mapping for OMG IDL, and a Java implementation of the CORBA IIOP, any Java-enabled browser on the Internet (or any internal internet, or intranet) can access resources via a non-proprietary, widely supported infrastructure. And with the OMG-specified standard gateway between CORBA and Microsoft's COM architecture, developed with the support of Microsoft and all CORBA vendors, direct access from browsers running on non-Windows platforms suddenly have access not only to the entire enterprise, but to all of the network desktop services as well.

This approach, shown in Figure 6, is the future of the World Wide Web, integrating all of the new and legacy enterprise data already out there. And several companies are already making it a reality. For more information, check out: http://www.sun. com/sunsoft/neo/
external/neo-joe.html, http://www.pomoco.com/
bwhome.html and http://www.usa.iona.com/
www/Orbix/ OrbixWeb/index.html.

Conclusion
Well, that was a whirlwind tour of the way to build client/server systems and the coming integration of web technology with distributed objects. This article could only give you a taste; I hope you'll track the URL's above as well as check http://www.omg.org for more information about the OMG and the CORBA specification. These two exciting technologies are perfectly matched, providing the robustness of distributed objects with the simplicity of the web. It's worth a look.

More Stories By Richard Soley

As chairman and CEO of OMG and executive director of the SOA Consortium, Dr. Richard Soley is responsible for the vision and direction of the world's largest consortium of its type. He joined the nascent OMG as technical director in 1989, leading the development of OMG's world-leading standardization process and the original CORBA specification. In 1996, he led the effort to move into vertical market standards and modeling, leading first to the Unified Modeling Language and later the Model-Driven Architecture. Previously, Dr. Soley was a cofounder and former Chairman/CEO of A. I. Architects, Inc., maker of the 386 HummingBoard and other PC and workstation hardware and software. He holds a BS, MS, and PhD in computer science and engineering from MIT.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
Cloud-enabled transformation has evolved from cost saving measure to business innovation strategy -- one that combines the cloud with cognitive capabilities to drive market disruption. Learn how you can achieve the insight and agility you need to gain a competitive advantage. Industry-acclaimed CTO and cloud expert, Shankar Kalyana presents. Only the most exceptional IBMers are appointed with the rare distinction of IBM Fellow, the highest technical honor in the company. Shankar has also receive...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructure solutions deliver the adaptive architecture needed to manage this new data reality. Machine learning algorithms can better anticipate data storms and automate resources to support surges, including fully scalable GPU-c...
Chris Matthieu is the President & CEO of Computes, inc. He brings 30 years of experience in development and launches of disruptive technologies to create new market opportunities as well as enhance enterprise product portfolios with emerging technologies. His most recent venture was Octoblu, a cross-protocol Internet of Things (IoT) mesh network platform, acquired by Citrix. Prior to co-founding Octoblu, Chris was founder of Nodester, an open-source Node.JS PaaS which was acquired by AppFog and ...
To Really Work for Enterprises, MultiCloud Adoption Requires Far Better and Inclusive Cloud Monitoring and Cost Management … But How? Overwhelmingly, even as enterprises have adopted cloud computing and are expanding to multi-cloud computing, IT leaders remain concerned about how to monitor, manage and control costs across hybrid and multi-cloud deployments. It’s clear that traditional IT monitoring and management approaches, designed after all for on-premises data centers, are falling short in ...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
Whenever a new technology hits the high points of hype, everyone starts talking about it like it will solve all their business problems. Blockchain is one of those technologies. According to Gartner's latest report on the hype cycle of emerging technologies, blockchain has just passed the peak of their hype cycle curve. If you read the news articles about it, one would think it has taken over the technology world. No disruptive technology is without its challenges and potential impediments t...
Early Bird Registration Discount Expires on August 31, 2018 Conference Registration Link ▸ HERE. Pick from all 200 sessions in all 10 tracks, plus 22 Keynotes & General Sessions! Lunch is served two days. EXPIRES AUGUST 31, 2018. Ticket prices: ($1,295-Aug 31) ($1,495-Oct 31) ($1,995-Nov 12) ($2,500-Walk-in)
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...