Shareable frameworks promise to simplify large-scale programming
A consortium of more than 100 companies led by IBM has launched โThe San Francisco Project,โ an initiative to provide a series of Java-based frameworks for business-critical applications that can run on multiple platforms. This will enable companies to buy a basic framework that can be customized for their particular needs. The first fruit of the initiative will be general-ledger, accounts-payable, and inventory-control frameworks.
IBM began talking to other companies about this initiative two years ago. At this point, the company is still in the discussion stage; no specific products or future releases have been announced. But John Slitz, vice president of application development and object technology marketing at IBM (www.ibm.com), noted, โWe intend to make it more clear by the end of the year some of the expectations on products [resulting from] this initiative.โ
This initiative strives to bring component-based software design to a level higher than that currently employed by such tools as Visual Basic. โOne of the design points with this initiative is to produce shareable frameworks that are designed to be extended and enhanced, as opposed to a lot of the component activity today that is shrink-wrapped,โ explained Steve Carter, manager of application frameworks at IBM. โThese are fairly large-grained business objects you would need for a ledger system or a warehouse system as opposed to componentry like windows, buttons, and clocks that you normally find at the desktop level. Components at this level have to be designed for extension for geography and specific business processes, as opposed to just look and feel.โ
Javaโs extensibility was one of the key reasons the consortium chose it as opposed to C++, which is good if you are reusing the exact same component over and over again without changes. But, Carter noted, โAny time you are running with C++ and using pointers, you develop memory leaks over time. It is up to the application programmer to manage those. Java does not have that problem because it uses direct pointers.โ
Another benefit of Java is that the comments within the code can be HTML-enabled, which simplifies documentation and helps developers find components easier. โOne of the problems with reusable components is that when you build them, you have to be able to figure out what they do,โ Carter said. โWe found it pretty effective to comment directly in the source code so that it is available for documentation purposes.โ
One of the difficulties with traditional programming languages like C++ is that the programmer must know in advance what code will run on the server and what will run on the client. But with the development of network computing, companies will want to be able to decide at runtime how to partition code so that someone with a SPARC workstation could process more of the applications locally than someone with a low-end network computer.
โHow you configure and deploy the software may vary,โ Carter said. โJava gives the developer a lot more flexibility in terms of how [programmers] code the software.โ
Part of the interest in using Java for the San Francisco Project may have come from the dissatisfaction of programmers that tried tying things together using an object-oriented environment like CORBA. โI have led a team of developers at JBA through a very C++- and CORBA-based background,โ said Matthew Bickerton, vice president of technology at JBA International (www.jba.co.uk), a business software development firm based near London. โThis experience has painted an unexciting picture of the future of application development in that we seem to be making it more difficult for ourselves as an industry. Our experience has been that it is easier to develop applications with Java than it has been with C++ or CORBA.โ
Javaโs downside?
Java will not be used for everything. For example, Carter pointed out that many corporations have much of their business processes already coded into C++ applications. They are working on enabling companies to incorporate this code into the San Francisco framework.
Java also is somewhat immature in terms of its features. โThere is a downside to the Java story and that is the services provided around things like CORBA are still needed and required, and as of yet they are not provided off the shelf in the Java environment,โ Bickerton said. โBut there are lots of people working on it.โ
There is also a question of the performance of Java. When it was first released, Java programs were as much as 30 times slower than similarly functioning C programs. But Java performance is being improved. โJust-in-time compiler technology is starting to surface that will speed application performance significantly,โ IBMโs Slitz noted. โIn real performance-intensive environments, there is the potential to write applications in machine code.โ
The impact of San Francisco
The fact that IBM and 100 companies (including Computer Associates, Dun & Bradstreet Software, Peerless Systems, Progress Software Corp., and Software AG) have gotten behind this initiative and are supporting Java says a lot about the future of the language. Once it gets under way, Java programs will not just be cute little applets that play animation โ they will be real mission-critical applications running on big iron, just as C++ and Cobol programs do today.
โFor those experimenting with Java at an enterprise level, it is a confirmation of their efforts that IBM and our partners believe it will scale in that kind of environment,โ Carter said. โThere are skeptics since Java is so new to the industry, but the rate of maturity is not like anything else we have seen. From a long-term perspective, it says that there is an initiative out there that will provide componentry that can be shared as [companies] deploy these applications in the future.โ


