Java has come a long way since first being hailed as a language that was well suited to Web development because it could run on multiple platforms without requiring any code changes. Since then, Java has evolved into a comprehensive enterprise platform for Web, mobile and mission-critical applications.
Java`s initial start on the Web was at the height of the distributed computing paradigm, when computing had moved from the centralised mainframe environment when everything was stored and controlled in the data centre, to an environment in which everything was scattered and data stored on local servers or even desktops.
Today the reverse is happening as increases in processing power, storage capacity, bandwidth and growing security concerns have made centralisation a reasonable option again, with the application service provider model of software usage strongly reflecting this change.
Major challenges
Although Java was a capable solution for distributed environments and is continually being optimised for centralisation, there are two major challenges. First, enterprise requires a modern solution to take over jobs like batch processing from legacy systems, and second, Java graphical capabilities cannot compete with richer user interfaces.
Optimising the Java back-end to handle batch jobs as well as or better than the old mainframe systems is quite a task. The replacement Java solution will have to be scalable, available and above all, fast and reliable if it is to live up to those standards, but Java is coming to the party.
A fool with a tool is still a fool, and Java is simply a tool.
Malcolm Rabson, MD, Dariel Solutions.
Already, many solutions under development take advantage of the robustness inherent in Java`s current implementation. Although, no matter how good a platform may be, it will never be able to deliver good applications automatically. A fool with a tool is still a fool, and Java is simply a tool.
To deliver enterprise-class applications, whether using Java or anything else, the most important aspect is the skills and experience of the application designers and coders. No tool I know of can fix a bad design - but who knows what we`ll have if we look further into the future of Java?
As far as the front-end challenge is concerned, even though the graphical capabilities of Java have been drastically improved over the past 10 years, they cannot compete with the rich user interfaces enabled by Flash technology, for example.
The current problem with a Java user interface is that every computer needs to have the Java Virtual Machine installed and this takes a large chunk of memory. The next phase of the Java front-end evolution will require the technology to produce a lightweight memory footprint that will be easily downloadable to where it is needed. Moreover, it will also need to deliver a host of modern graphical interfaces if it is to compete successfully.
Bright future
Fortunately, just as Sun is already working on creating a Java environment that is able to replace legacy mainframe systems, there are people working on slicker front-end technologies to meet the needs of modern users.
From inception, Java has continually evolved and expanded its role in the global IT market, from mobile to mainframe systems, to meet ever-expanding user demands. Users who have standardised on this environment can therefore rest assured the technology will continue to meet their needs for the long-term, solidifying its dominance in the high-end market while meeting the graphical demands of the user interface over time.
Share