Archived at Pineapplesoft
 ananas.org 
  The Pineapplesoft Link newsletter covered a wide range of technical topics, see the archived issues.
The newsletter was first emailed in 1998. In 2001 Benoît discontinued it in favour of professional writing for magazines.
The “April 1998” page was archived in 2003 to preserve the original content of April 1998.
 
  | Home | Contact | Site map | Writings | Open source software |  


 

Welcome to the fourth issue of Pineapplesoft Link.

This month I discuss a "hot" topic for many Intranet and Extranet: CORBA. In the process, I'll also review DCOM, Microsoft's proprietary alternative.

As you know, in March, I spoke at the Documation 98 (Paris) conference. The conference was a big success. I picked up several ideas for XML articles so expect to read more about XML, document management and stylesheets in future issues.

For those readers who are more interested in SGML/XML, stay tuned.

I'd like to hear from you. Your opinions will help me improve the newsletter so please send your comments or suggestions to [address removed, the newsletter is no longer published thank you for your support].

Pineapplesoft Link, April 98: CORBA Basics

After a difficult start, CORBA is finally on its way to market recognition. It has benefited from the rising popularity of open standards and Java within corporations. CORBA, the standard, is developed and maintained by the OMG, the Object Management Group, an industry consortium (http://www.omg.org). CORBA is supported by numerous vendors, including IBM, Sun, Borland (Visigenic), Iona, Netscape, etc.

CORBA has many facets so it is easy to be confused. In this article, I will cover the basics of the standard but be aware that the OMG and other groups are busy building higher-level blocks on the foundations I present here.

CORBA is a middleware, i.e. a piece of software that sits between applications and enables them to exchange information, typically across a network. Furthermore CORBA is object-oriented, platform independent and language independent. Let's review and explain each of these aspects, one at a time.

Organizations use CORBA to cut down on development time when building distributed applications, particularly multi-tier ones (see Pineapplesoft Link, January 1998 http://www.psol.be/old/1/newsletter/19980101_3tier.html). CORBA is a very effective way to integrate different applications, build at different times, by different teams on different platforms.

CORBA is a middleware

As you know, networks are everywhere and more applications make use of them: a leading business suite even advertises to "get connected".

Networks are popular within corporations. For example, you may be sharing a printer with colleagues. The printer driver uses the network to forward your print requests to the computer that is physically connected to the printer.

Other popular examples of network-enabled applications include email, web browsers and client/server (PowerBuilder or Delphi). A typical client/server solution has a reporting part that pulls data from a centralized database over... the network of course. For example, the customer tracking system that is installed on every PC in the sales department may pull data from the company AS/400.

All these applications share the same architecture: they are divided in several pieces, each piece is installed on a different computer and the computers are all connected to the network. This has proved a very flexible and powerful architecture.

Unfortunately this power does not come for free. Programmers have to write lots of code to handle the network. Networks are not always safe, reliable and dependable. In fact, one could argue that they are exactly the opposite. To work around these limits, programmers have to implement specific protocols. It is not uncommon that network-specific code amounts to more than 10 times the business code. This process takes time and is not very productive. Indeed the time spent wrestling with the network and its security is not spent solving actual business problems.

Introducing middleware. Middleware are specialized pieces of software that deal with the network. For example, they will gracefully recover from failures, take care of concurrency. They are all based on specific protocols but, instead of overwhelming programmers with details, they hide them. Programmers are free to concentrate on business issues and, therefore, be more productive.

CORBA is an object-oriented middleware

Object-oriented programming (and its sibling, component-based programming) has gone mainstream over the last few years. Few dispute the advantages anymore.

CORBA is geared towards object-oriented programming. Practically, it means that the programmer defines business objects, passes them through the CORBA system and voila, he has a distributed application (I'm simplifying here but not by much, if you're a developer see how easy it is to write distributed applications with CORBA at http://www.developer.com/news/techworkshop/022698_corba.html). This is very effective with multi-tier architectures.

This proves very effective for multi-tier architectures which are frequently object-oriented. It also means developers write distributed applications using concepts with which they are already familiar.

CORBA is cross-language

When it comes to programming language, everyone has his own preference. Java is today's rage but C++ is still a strong player. Some prefer C and many business applications are still written in Cobol. CORBA works with all of these as well as many others, including the academic object-oriented language: Smalltalk.

Organizations can mix and match programs written in different languages, maybe written by different teams with different skills, and use CORBA as a software glue. It is very common to wrap legacy applications as CORBA objects and use them in more recent developments.

CORBA is cross-platform

CORBA is totally agnostic towards platforms. It is available on many environments including Windows, Unix, AS/400 and other, more exotic, environments. Again CORBA profiles itself as the best integrator in heterogeneous environments.

CORBA is also a good option to prepare migration: each platform is used for its own strenght and gradually replaced as needed. CORBA, being platform independent, makes it possible to transparently replace one platform with another.

This is a good time to pause and look at DCOM. DCOM was developed by Microsoft and has similar virtues to CORBA: it is an object-oriented, language-independent middleware. In fact, even though they have widely different architectures, CORBA and DCOM are very close.

The major difference is that DCOM is not platform-neutral. On the contrary, it is tied to Microsoft Windows making it the best choice for those shops that are Microsoft-only. As I pointed out in the first issue of Pineapplesoft Link, one should carefully balance options as few companies are that tied to a single software provider.

Microsoft is aware of the problem and is porting DCOM to other platforms such as Unix, with mixed success.

Conclusion

CORBA dramatically simplifies writing network applications. It shields developers from the complexity of distributed computing, allowing them to be more productive and to solve business problems. CORBA supports today's programming methodologies and is particularly well suited for heterogeneous environments.

Self-promotion department

I published two articles last month.

On February 26, Developer.com published "How to write CORBA objects in Java". All right, that's a February article, why do I mention it here? Because I didn't know it was online when I sent the last newsletter.

http://www.developer.com/news/techworkshop/022698_corba.html

On March 16, Digital Cat published the second part of "Java Decompilation and Reverse Engineering", again written with my colleague Marc Meurrens.

http://www.javacats.com/US/articles/decompiler2.html

Pineapplesoft won two web awards in March:

  • The Critical Mass Award
  • Computer Magic "Magical Web Award" for excellence in business sites

About Pineapplesoft Link

Pineapplesoft Link is published freely, every month via email. The focus is on distributed and mobile computing, Java, XML, and other Internet technologies. The articles target people interested or concerned about technology either personally or professionally.

This issue of Pineapplesoft Link may be distributed freely via email, newsgroup or CompuServe forums provided it is not modified and this message is included. Distribution via other media (including the Web) is restricted. If you want to re-post Pineapplesoft Link regularly, please let me know.

Editor: Benoît Marchal

Publisher: Pineapplesoft sprl (www.psol.be)

Acknowledgements: thanks to Sean McLoughlin MBA for helping me with this issue.

Back issues are available at http://www.psol.com/old/1/newsletter/.

Although the editor and the publisher have used reasonable endeavors to ensure accuracy of the contents, they assume no responsibility for any error or omission that may appear in the document.

Last update: April 1998.
© 1998, Benoît Marchal. All rights reserved.
Design, XSL coding & photo: PineappleSoft OnLine.