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 “November 1998” page was archived in 2003 to preserve the original content of November 1998.
 
  | Home | Contact | Site map | Writings | Open source software |  


 

Welcome to the eleventh issue of Pineapplesoft Link.

I am just back from giving a CORBA training. The training was an introduction-level, teaching how to write distributed applications with Java and CORBA.

This gave me the idea to revisit CORBA in the newsletter, in particular I would like to discuss how CORBA and Java complement each other. You may remember that I first covered CORBA in April (http://www.psol.be/old/1/newsletter/19980401_corba.html). The article was about CORBA alone, this one is about the combination of CORBA and Java.

Also new this month, the bookstore!

Please continue sending me your comments, questions or suggestions to [address removed, the newsletter is no longer published thank you for your support].

Bookstore

New! Starting this month, Pineapplesoft Link features an online bookstore in association with Amazon.co.uk, the British online bookstore. Up to 40% reduction.

Losing my Virginity by Richard Branson (Virgin Publishing)
Virgin is an exciting brand because it is so diverse. Branson explains how he extended from a record shop to airlines, coke, railways, banking, and more. A page-turner.
Buy now at http://www.amazon.co.uk/exec/obidos/ASIN/1852276843/1960

Java Programming with CORBA by Andreas Vogel and Keith Duddy (Wiley)
There are many books on Java and CORBA programming but this is my personal favorite because it offers a good mix of theory and practical examples.
Buy now at http://www.amazon.co.uk/exec/obidos/ASIN/0471247650/1960

Client/Server Programming with Java and CORBA by Robert Orfali and Dan Harkey (Wiley)
The classical book on Java and CORBA. A must-read.
Buy now at http://www.amazon.co.uk/exec/obidos/ASIN/047124578X/1960

Pineapplesoft Link, November 98:
CORBA and Java

CORBA aims to simplify the development of distributed applications such as client/server, multi-tier or web applications (Intranet/Extranet). Indeed, while distributed applications are increasingly popular, writing them is no easy task. Studies have found that for one line of business logic, one has to write up to 10 lines dealing with the network.

The ratio 1 to 10 is a terrible one. In more concrete terms, it means that developers spend up to 10 times more effort in solving technical issues rather than solving business issues. Given it's the business issues that matter for the organization, this proves extremely inefficient.

CORBA addresses this problem by providing tools and services to developers. They support a higher level of abstraction and effectively shield developers from the complexity of network programming. The ratio can improve in 1 to 1 or even 1 to 0.5. In this respect, CORBA is one of the most ambitious and mature framework to write distributed applications.

What about Java?

Java is (at least) two things. It's a programming language which simplicity and elegance has won many supporters.

It is also a execution platform, the Java Virtual Machine. The Virtual Machine makes it possible to write portable applications: a Pure Java application executes on any computer with a Virtual Machine. For the first time, it is possible to dynamically download applications over a network, a feature popularized by applets. In this article, I am more interested in the portability than in the language.

A word of warning: don't get the impression that Java is limited to applets. Applets may have popularized Java but there are many instances where you want the portability of Java without having to download bulky applets. Indeed Java is very popular to applications or server modules (servlets).

CORBA and Java

Both CORBA and Java put considerable emphasis on being system and vendor independent. Both are also designed for distributed application. However they are not redundant but complementary.

CORBA is a bridge, a communication line between disparate environments. CORBA links a C program on a Unix box with a Java program on an AS/400 and a C++ package on a Windows computer. Each application runs on a given platform and they are not interchangeable. Yet they can talk to each other and collaborate through CORBA.

Java, on the other hand, is about moving application across platforms. If written in Pure Java, the software runs indifferently on Unix, Windows, AS/400, Macintosh.

OMG and Sun

It should be evident that these two are complimentary. Yet the cooperation didn't start auspiciously. Sun, the creator of Java, originally developed a Java-specific replacement for CORBA: the infamous RMI.

RMI, like CORBA, is a communication channel but it only works between Java applications. Obviously RMI is as portable as Java but it is not language independent. RMI is only useful when starting from scratch. Existing applications (in C++ or any other language) cannot easily be integrated in an RMI solution.

Thanks to a tight integration with the Java language, RMI boosted some unique features. However it was mainly an unnecessary duplication of effort. Distributed computing is, as we have seen, a complex task. Years of effort were required to develop CORBA and it seems difficult, and ultimately worthless, to duplicate the effort in the Java community. It makes more sense to piggyback on all the good work that has been done.

The OMG, the organization that publishes the CORBA standard, has been quick to embrace Java. After a short period of bewilderment, it launched an effort to closely integrate Java with CORBA. Likewise Sun is retargeting RMI towards CORBA.

The Current Situation

An Extranet is the typical example where CORBA and Java work great. An Extranet pulls various systems within an organization such as the stock management from the warehouse, the ordering system from delivery and the customer database from sales.

Typically these systems were written at a different time using different technologies. Therefore we need:

  • to integrate these disparate systems, which is where CORBA shines;
  • and to develop the Extranet across all these systems, which is where a portable approach (read "Java") makes the difference.

In conclusion the combination of CORBA and Java is dynamite. CORBA robust distributed environment is an ideal complement to Java portability. With Java and CORBA, it is possible to write the extremely distributed applications we want to fully leverage the Internet.

Self-promotion department

Help spread the word about Pineapplesoft Link! If you like what you read, take a moment to vote for us at http://www.best.be/top100 the Belgian Top 100.

At the beginning of this year, with your support, we made it to the Top 100. For the second election, we hope we can make it again with your help. Please take a moment NOW to visit http://www.best.be/top100 and be sure to include Pineapplesoft www.psol.be amongst your five favorite sites!

Thank you for your support.

On the article front, this month Business ICT published a new article by me on RAD (Rapid Application Development). The article discusses various approaches to RAD as well benefits and risks.

About Pineapplesoft Link

Pineapplesoft Link is published freely, every month via email. The focus is on Internet applications in its broadest sense: distributed and mobile computing, e-commerce, Java, XML, etc. The articles target people interested or concerned about technology either personally or professionally. This issue of Pineapplesoft Link may be distributed freely for non-commercial purposes as long as attribution (including the URL: www.psol.be is given. For commercial redistribution, please contact me.

Editor: Benoit 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.be/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: November 1998.
© 1998, Beno”t Marchal. All rights reserved.
Design, XSL coding & photo: PineappleSoft OnLine.