|
Java-driven
technologies are widely adopted across enterprises and the
World Wide Web. Dale E. Ferrario, Director, Product
Engineering, Java Software, the man at the helm of the development
activity at Sun Microsystems, talks about the role of Java-driven
technologies to provide development platforms in future and
means to extend enterprise network services to your hands
through small devices. by Soutiman Das Gupta
“Enterprises
want to extend its network applications to mobile devices
so that its personnel can access information on the move.
J2ME makes this possible”
What
are the benefits of Java-driven technologies for enterprises?
The
biggest benefit is that applications built on the Java platform
will run across any platform. It is difficult to build an
application that can run across diverse platforms without
using Java. So an enterprise can have multiple OSs and port
its applications easily between them.
There are many proprietary solutions available in the market
but they do not let you build a common set of interfaces.
You have to decide on a particular platform, build applications
on that platform, and use a fixed set of interfaces. If you
build applications on another platform you have to use a different
set of interfaces. Java lets you agree on a set of interfaces
that will be available across all platforms. Java lets you
scale from small devices like smart cards all the way up to
large enterprise servers. You can use your expertise on any
of the devices to build applications.
How has the Java platform evolved into its present form?
I'll get back a few years to 1996 which was the year when
Java was invented. We had many ideas regarding Java applications
and there were a number of attempts to figure out the problems
it could solve. But we were not sure where the technology
would be very successful. The start however was good and we
began to look at interoperability between small devices as
a beginning.
We figured that the biggest problem that Java solved was that
it allowed you to write an application that ran on different
platforms. The failure of applications and devices to interoperate
has always been a pressing issue among enterprises. Java was
the immediate solution. And to complement these developments
the Web turned out to be a very big opportunity for Java-based
technologies.
We licensed Java to as many companies that offered systems
implementations as we could. These companies provided Java
support in all its implementations. This enabled Java to be
available across diverse industries and platforms. Browsers
became very popular with the advent of the World Wide Web
and we licensed to Microsoft and Netscape to make sure that
Java was there in the browser. It allowed enterprises to write
applications that run on any platform and create applets that
run on different browsers.
The next step was to make Java ready for the enterprise. J2EE
(Java 2 Platform, Enterprise Edition) was formed as a result
of the development initiatives that followed. J2EE provided
the interfaces needed by an organization to deliver enterprise
applications. The recent version 1.3.1 has performance enhancements
like better integration with XML and support for legacy network
systems.
Intelligent handheld mobile devices saw a very large growth
in the last 18 months. And enterprises wanted to tie these
devices into its networks. Companies wanted to extend its
applications to small mobile devices so that its personnel
are able to access information when on the move. So it was
time to provide Java for small devices. We have recently launched
J2ME (Java 2 Platform, Micro Edition) to address this need.
How will Java stand in competition with C#?
Java
has multiple utilities. Java is a language as well as a platform.
Java and C# (C# is developed by Microsoft) are similar because
they are languages. But I don't think that the competition
is between C# and Java. The competition is really between
J2EE and .NET. If you want to develop on a core platform you
can use C# and VB.NET (Visual Basic .NET) which are only the
language you write your program in. What really matters is
how the platforms work in comparison to the other.
A lot of the C# language has been derived from Java. But here's
something interesting to note. There have been computer languages
for many years. As we continue to build more powerful platforms
the languages move to higher levels. For example, the C programming
language was very advanced for its time. Along came C++ which
allowed more flexibility than C. But there were many problems
with C and C++ which generated errors that hurt. So Java was
the next step to define an object-oriented programming language
that allowed you to quickly write programs that are less likely
to fail.
Although C# picked up a lot of the ideas from Java it's just
a different implementation of the programming language. If
you read the two and compare them, they do very similar things.
If you also compare C and Pascal (an older programming language)
you will see a lot of similarities. So languages have evolved.
Java was an implementation of a language which is continuously
evolving as well. The C# language has used the concepts from
Java and created another version. If you follow the history
of Microsoft, the company takes a standard, extends it, and
makes it proprietary. And I think that's what they've actually
done with C#.
How does the development team decide on interfaces for
Java platforms?
There
is an initiative called the JCP (Java Community Process) Program.
The initiative invites other companies in the industry like
IBM, BEA, and Oracle and many Java developers worldwide to
sign up as members of the JCP program. The members propose
interfaces that can become a part of the platform after they're
passed by a vote. Anyone can join the JCP and have a part
in its process.
The work of the Java community under the JCP program's procedures
helps to ensure Java's standard of stability and cross-platform
compatibility. So the direction that Java will take is completely
defined by the industry and users. This provides better acceptability
for Java-driven technologies. And within our team of 350 Java
software developers there are separate groups working on J2EE,
J2SE (Java 2 Platform, Standard Edition), and J2ME.
How will J2ME help enterprises to extend its applications?
J2ME
will enable enterprises to offer the applications that run
on its servers to users that have handheld devices. This is
a very important utility for the IT Manager of today and tomorrow.
The manager can provide access to its ERP, Data Warehouse,
and various accounting applications for any number of users.
Most enterprises have already developed a server back end
with J2EE and other Java-driven technologies. J2ME will interface
with the enterprise backend using a set of APIs (Application
Program Interfaces) and deliver applications.
In the next year, more cellular telephones will ship worldwide
than PCs. This presents a huge opportunity. We have over the
last year announced relationships with several handset manufacturers
and cellular telephone companies. Around 95 percent of the
handset manufacturers worldwide have agreed to deliver Java
on its phones. Enterprises can now build applications that
may be delivered to these devices.
What are the hurdles to the development and widespread
use of J2EE and J2ME?
J2EE
did not face any hurdles, which is evident since it is so
widely used now. The driving factor has been that CTOs do
not want to be locked with a single solution. If a solution
has quality or scalability problems the CTO wants to switch
easily to a different solution. J2EE offers interfaces which
are consistent across various vendors and platforms. That's
a tremendous value. The CTO can tell the developers that they
are not allowed to use interfaces which are not open standards.
So the CTO can use applications that keep working regardless
of changes in the network. This protects the investment the
company has made in the network.
J2ME has a few challenges. The availability of devices that
will deliver J2ME depends on the state of the market and the
country you are in. In some countries the handset makers control
the market while in others the service provider controls the
market. The challenge is to get all the manufacturers and
service providers to deliver the common platform. Most of
them have signed agreements to deliver the platform but it's
important that these companies are able to identify the potential
revenue income paths.
Soutiman Das Gupta can be reached at soutimand@networkmagazineindia.com
|