Anyone still not convinced about the phenomenal success of Java, needed only to gaze around at the assembled throng at the JavaOne conference in April. Around 10,000 developers, some of whom were still bleeding from being in the development trenches, can't all be wrong. Neither can the approximately 300,000 or so people who have so far downloaded the Java Development Kit (JDK) from Sun's web site.
Clearly Sun and its compatriots in the Gang of Four (Sun, Oracle, Netscape and Novell) are starting to enjoy some of the development mindshare that has so far been the almost exclusive territory of Microsoft. But not enough yet to set the business world alight or translate into bucks on the table.
Until now, Java development has broadly been aimed at making the Internet more glitzy and attractive to the viewer, but the commercial reality is that intranets are the key area of growth. That, in turn, means if you are going to get the best out of what is on offer in the Java world, you need solid, reliable tools to aid speedy development. This is why the introduction of JavaBeans in October 1996 is important to the evolution of the language.
JavaBeans is Sun's answer to Microsoft's pervasive ActiveX control. In essence, the 'beans' are components for building applications or applets in the Java world, but with one essential attribute that distinguishes them from ActiveX. Namely, they are meant to extend Sun's boast that Java is a write-once, run anywhere language to one which is write once, re-use anywhere.
For ages, client-server architectures were hailed as the way forward for enterprise level computing. But the reality has been that any application is only likely to work on the given set of operating systems and platforms for which it was designed. This was because developers could not afford to port their code to every conceivable platform. So, in the real world, while demand for distributed computing applications has been strong, it has not been able to deliver on the promise.
JavaBeans makes a considerable difference in the business applications development arena, where the client-server message is most pervasive.
With JavaBeans, developers can now practise what they learnt about the benefits of working in a distributed client-server environment. Prior to Java, this model of computing had not proved very practical.
With JavaBeans, the vital middleware components can be re-used or reside in most of the key environments. Gina Centoni, Sun's JavaBeans marketing manager, says: "JavaBeans changes the development landscape because solutions will run on more or less any device or platform." Ultimately, Sun says it is selling developers insurance. Centoni believes applications developed using these components are preserved for the future. That's fine, but what other factors might influence a developer to embrace JavaBeans?
Centoni continues: "The Internet revolution has created a new dynamic because we're witnessing the need to respond very rapidly to changes in market conditions."
Developers are under considerable pressure to bring products to market very quickly. This is at a time when people need to provide competitive solutions in the wake of the onslaught of alternatives to the PC that might run on other operating systems.
"We believe JavaBeans provides the key to doing this without having to incur very high development costs," says Centoni.
However, JavaBeans (and Java in general) have not escaped criciticsm.
Microsoft, for example, is concerned that you cannot necessarily get the functionality in Java-based applets or applications that users have come to expect from traditional applications. Supporting the concepts behind Java, Mike Pryke-Smith, Microsoft's Internet tools product manager, says: "Our commitment to Java can be shown by our recent acquisition of multi-media company Java X. Pryke-Smith says that Microsoft is putting more resources into SDK 2.0 which will, he believes, open up JavaBeans to applications that run ActiveX controls.
But Pryke-Smith warns developers to look at the platform trade-off. "At the moment, JavaBeans is a bit like a catflap on an elephant house, because Java doesn't allow developers to get access to essential parts of the Windows OS like drag and drop or printing."
That's true at the moment, but Java is a developing language and it is easy to criticise something that is new and largely untried. That isn't preventing people from expressing an interest in finding out more. As Pryke-Smith acknowledges: "Most of our Java support people are answering calls about integrating Java with ActiveX because there are a lot of issues to solve on both sides. We recognise people will be working with both."
Many IT professionals are confused about the best way to proceed in this fast-moving world. Surprisingly, the issues are often centred around how to integrate the competing technologies, rather than worrying about strategic issues. While many companies are dipping their toes in the Java water, developers in general have seemed to grasp the idea that future-proofing on an open playing field is a key advantage.
But developers also need a comfortable migration path and here JavaBeans can be a real help, because it can be used in existing architectures without worrying about what kind of devices may be used in the future. As Simon Phipps, Java programme manager at IBM UK's Hursley laboratories, says: "There's no need for people to put themselves between a rock and a hard place. They can concentrate on applications development whilst keeping a tight control on costs."
For example, Phipps says developers should concentrate on a single line of business activity, such as account enquiries, to gain experience and confidence to put in newer projects as they come along. At the same time, Phipps says that it is possible to measure project success through cost of ownership initiatives. "The low maintenance inherent in Java is a big plus point."
But not everyone is jumping into the Java revolution with both feet.
Some are committed to providing support for the widest possible combination of operating systems, platforms and standards. Peter Kumik, Sybase UK's Internet product marketing manager, says: "Our research isn't providing a consistent picture. It's unclear whether people will go ActiveX or Java."
An ActiveX strategy is certainly viable for the intranet, according to Kumik, because developers can have complete control over the environment.
"However, we think the economic decision will be based on the size and location of the expected target audience, combined with a view about future desktop purchasing decisions." For example, any desktop that supports ActiveX will support Java, but not vice versa. Kumik believes Java-oriented desktop equipment is likely to be a lot cheaper than the equivalent PC, but stresses: "We'll support both."
Looking at what is driving Internet development forward, the Internet community is seeing more sophisticated serving of pages via databases.
Increasingly, people are considering carrying out service or financial transactions through the Internet. Whereas call centres won't go away, from a purely functional point of view, the web provides access, seven days a week, 24 hours a day, something that's extremely expensive to man.
If you are developing with this kind of application in mind, then the reality is that component-based middleware becomes an essential ingredient in the mix. Many such applications are based on the client/server model. In the Internet world, users do not want to download a lot of logic onto their desktop machines, so using components to act as both client - and server-facing objects is vital.
As an example, Sybase is demonstrating its Jaguar CTS toolkit, a component-based transaction server which allows developers to hold multiple object types at the middle tier. It provides a way to inherit logic from C++ or ActiveX and handle stored procedures.
If Sybase's position is an indicator of what is going on in the market in general, then it is clear that whilst JavaBeans has an important part to play, support for Microsoft's ActiveX components will also remain a significant factor.
However, ActiveX needs to change. At the moment, it will only support a proportion of the Internet community. In this context, Java-Beans steals the limelight.
But developers will have to wait and see how it is used to adequately judge whether it holds the key to moving client-server applications into the 21st century.
Bloor Research: maturity of Java?
In the past, whenever a single technology has been selected as strategic, it has been only a matter of time until it becomes a constraint on the adoption of next generation technology. There is nothing different about Java in this respect. If Sun Microsystems plays the monopoly card (which it does not appear to be doing), or if the capabilities of Java prove to be too constraining, other languages will emerge.
It is true that strategic technologies are eventually succeeded, but this is the nature of the IT industry and usually, movement is in the direction of progress - greater portability, scalability and interoperability.
The Java Virtual Machine (JVM) provides a very high level of portability across all desktops, which undermines all desktop lock-ins. It also provides a generic base for flexible object-oriented development, because it is portable across the majority of server operating systems. In combination with CORBA-compliant object request brokers, it holds out the prospect of a uniform cross-enterprise development platform.
Even with the potential inherent in the JVM, the use of Java for mission-critical applications is theoretical only. No-one has yet implemented a major system built in this way.
It is becoming increasingly clear that web sites are mission-critical to many organisations and Java is in use in many web sites. Web sites run 24 hours a day, seven days a week. Where they are critical to the business, they cannot afford to suffer any downtime. We have not yet heard of any web site failures that can be attributed to Java.
However, we know of no-one that is currently building major portions of a traditional production system (the ones that are normally considered to be mission-critical) in Java. Most such systems are simply linked to web sites via an interface. Such systems are rarely rewritten.
There are also very few PC-style applications available that run in Java.
But this is simply a matter of the maturity of Java. The important corporate applications are the office suites and both Corel and Lotus are evolving Java-based suites. Also Applix, a company that provided an office suite for Unix, now has a Java-based version of its products. Its word processor can handle Word 6 files and its spreadsheet can read Lotus 1-2-3 and Excel files.
The investment in Java by both small and large development companies is such that, in time, we can expect Java to supersede Windows as the richest software environment.
IBM: embracing JavaBeans
Philosophically, Java acts as a catalyst for other technologies and client-server development in particular. You only need to write for one client and that will cover the vast majority of workstations around. The important thing to realise is that Java-Beans unlocks the benefits of component programming that have not previously been available. Now we can encapsulate business objects, snapping them together as we need them.
From IBM's perspective, this is incredibly important, because we have a very active applications division. VisualAge for Java for Windows is now in general beta release with a full release due soon. It 'knows' about how to do enterprise client-server work, and will include beans for talking to the MQ series and CICS as well as providing pots of beans for doing all the GUI stuff. Most of today's development tools are coming from the file-oriented C++ model, but VisualAge's heritage comes more from the Smalltalk side and is therefore developed around notions of version control, synchronisation and team programming.
JavaBeans helps us open the door to creating powerful applications that take full advantage of the client-server environment. In particular, we believe it stimulates the ORB and CORBA movement because the way it might work runs something like this.
You have a lot of data in a central store that can be trusted, and to which you want to gain access. Now you install a departmental server and create business objects on that server which have two faces. One looks towards the enterprise server and the second holds all the methods and properties related to that application.
Now all we need do is create a little JavaBeans to communicate through IIOP as middleware to pull the handles and twist the knobs that in the traditional client-server world lead to systems backlog. That is, CORBA communications between the bean and business objects in middleware allows us to eliminate performance problems.
But before we all get carried away, there are a few things that need to happen. First, we need to see browsers that can operate in this way.
Communicator 1.1 is the first, but IE won't be far behind. That, alongside advances made in Sun's JDK 1.1, deals with the client side. On the server, we need to have a way of getting business objects deployed efficiently so that they talk nimbly to high volumes of users manipulating high volumes of data. This is where we believe IBM's Bluebird project comes into play (see last week's PC Week). There's no doubt we're in interesting times and Javabeans is another step along the path to finding ways to make applications work better.
Simon Phipps, Java programme manager at IBM UK's Hursley laboratories, was interviewed by Dennis Howlett.
Also, what's a USB stick?
Gravitational waves become extremely weak by the time they reach the Earth and require highly sensitive equipment for detection
The reactor topped out at 100 million° C
Cosmic event will not cause any disruption on Earth, say scientists