Sunteți pe pagina 1din 9

85 FUJ ITSU Sci. Tech. J ., 40,1,p.

85-93(J une 2004)


Latest Progress and Trends in Java/EJB
Technologies
V Sumi o Tasaka V Jun Gi nbayashi
(Manuscript received February 2, 2004)
Java is evolving into a full-scale system development technology by the addition of
functions such as Applets, object-oriented programming, cross-platform support,
internationalization, JavaBeans, Remote Method Invocation (RMI), Java Database Con-
nectivity (JDBC), Enterprise JavaBeans (EJB), Java Plug-in, HotSpot Client Virtual
Machine (VM), Java Naming and Directory Interface (JNDI), RMI/Internet Inter-ORB Pro-
tocol (IIOP), eXtensible Mark-up Language (XML) support, and Java Secure Socket
Extension (JSSE). These functions have been added in three specifications: Java 2
Platform, Enterprise Edition (J2EE); Java 2 Platform, Standard Edition (J2SE); and
Java 2 Platform, Micro Edition (J2ME). Also, the manner in which these specifications
are decided has shifted from decisions made by Sun Microsystems to decisions made
by an open community through a process called the Java Community Process (JCP).
The main key-phrase of the latest trend in Java/EJB is Ease of Development, and
J2SE 1.5 (code name Tiger) will play a central role in this trend. Prospective
enhancements in the Java programming language specifications such as Generics,
Enhanced for Loop, Autoboxing/Unboxing, Typesafe Enums, Varargs, Static Import,
and Metadata are expected to simplify system development, learning, and mastering.
With these new technologies, Java will be used by a wider range of developers and
EJB-based development of enterprise systems will become more popular.
1. Introduction
Si nce i ts appearance i n 1995, Java technol o-
gy (i ncl udi ng Enterpri se JavaBeans [EJB]) has
been evol vi ng wi th vari ous functi ons towards a
technol ogy for ful l -scal e system devel opment.
Frequent enhancements wi th these functi ons have
l ed to a wi der Java appl i cati on area. However,
these enhancements have r ai sed appl i cati on
devel opers feel i ngs of i nsecuri ty about the stabi l -
i ty of Java and forced them to spend more ti me
l earni ng and masteri ng Java.
Thi s paper ai ms to el i mi nate unnecessar y
anxi ety among devel opers by l ooki ng back on the
hi story of Java/EJB technol ogy and cl earl y show-
i ng i ts future trend.
Fi rst, i n Secti on 2, the hi story so far of Java/
EJB technol ogy i s summari zed. Secti on 3 shows
the di recti on of future enhancements i n Java/EJB,
mai nl y based on the themes that are currentl y
bei ng di scussed i n the Java Communi ty Process
(JCP). I n Secti on 4, the detai l s of the l atest ver-
si on (Java 2 Pl atform, Standard Edi ti on [J2SE]
1.5), whose outl i ne has just become cl ear, are i n-
troduced. Fi nal l y, Secti on 5 concl udes wi th a bri ef
l ook at the future of Java/EJB.
2. History and current status of
Java
Java was i ntroduced by Sun Mi crosystems
i n 1995 together wi th a browser, HotJava. Then,
Java gai ned publ i c attenti on i n the form of Ap-
pl ets, whi ch are programs runni ng on a browser,
and was l ater expanded to i ncl ude, for exampl e,
server-si de appl i cati ons and mobi l e appl i ances.
86 FUJ ITSU Sci. Tech. J ., 40,1,(J une 2004)
S. Tasaka et al.: Latest Progress and Trends in J ava/ EJ B Technologies
The major ver si on upgr ades of Java ar e
shown i n Table 1.
The major enhancement poi nts of each ver-
si on are gi ven bel ow.
1) Versi on 1.0
Java Devel opment Ki t (JDK) 1.0 was an-
nounced as the fi r st r el ease of Java wi th the
fol l owi ng features:
Object ori entati on
Cross-pl atform support
Network compati bi l i ty
Because i t was a C++-l i ke l anguage, and al so
because of i ts si mpl e and pure l anguage speci fi -
cati ons, Java was qui ckl y and warml y accepted
by devel opers, whi ch i s unusual for a new l an-
guage. However, i t di d not have suffi ci ent
functi ons for system devel opment. Al so, i t was
di ffi cul t to use Java i n a Japanese envi ronment,
because i nternati onal i zati on was not supported.
2) Versi on 1.1
Approxi matel y one year l ater, JDK 1.1 was
announced. The fol l owi ng functi ons were added
i n JDK 1.1:
I nternati onal i zati on
JavaBeans
Remote Method I nvocati on (RMI )
A new event model
Java Database Connecti vi ty (JDBC)
Java di d not have enough functi ons to sup-
port system devel opment unti l functi ons such as
JavaBeans and JDBC wer e pr ovi ded i n thi s
versi on.
3) Versi on 1.2
From JDK 1.2, Java was gi ven the new brand
name Java 2. I n JDK 1.2, the fol l owi ng func-
ti ons were added:
Java Foundati on Cl asses (JFC)
I nput Method Framework (I MF)
Common Object Request Broker Archi tecture
(CORBA) support
EJB
Java Pl ug-i ns
After the r el ease of Java 2, EJB made i ts
appear ance and mor e enter pr i se systems wer e
devel oped usi ng the server-si de versi on of Java.
I t woul d appear that, at fi rst, Java was expected
to be effecti ve for sol vi ng the shortage of cl i ent-
si de appl i cati ons on pl atforms other than Wi ndows
(as i mpl i ed by the catch phrase, wri te once, run
anywhere). However, server-si de Java became
popul ar i n those days because of the expansi on of
the I nternet.
4) Versi on 1.3
From JDK 1.3, Java and i ts rel ated functi ons
were reorgani zed i nto the fol l owi ng three edi ti ons
based on the target system envi ronment: Java 2
Pl atform, Enterpri se Edi ti on (J2EE);
1)
Java 2 Pl at-
for m, Standar d Edi ti on (J2SE);
2)
and Java 2
Pl atform, Mi cro Edi ti on (J2ME).
J2SE 1.3 had the fol l owi ng addi ti onal func-
ti ons:
HotSpot Cl i ent Vi rtual Machi ne (VM)
Java Nami ng and Di rectory I nterface (JNDI )
RMI /I nternet I nter-ORB Protocol (I I OP)
Securi ty enhancements
After the rel ease of versi on 1.3, the way i n
whi ch Java wi l l be appl i ed to enterpri se systems
became cl ear wi th the edi ti ons based on target
Major Java upgrades
Version

Name
Release date
May 1995 Java (announced)
January 1996 1.0 JDK 1.0
February 1997 1.1 JDK 1.1
December 1998 1.2 Java 2 (JDK 1.2)
July 2000 1.3 Java 2 (J2SE 1.3, J2EE 1.2, J2ME)
February 2002 1.4 Java 2 (J2SE 1.4, J2EE 1.3, J2ME)
Table 1
Major version upgrades of Java.
87 FUJ ITSU Sci. Tech. J ., 40,1,(J une 2004)
S. Tasaka et al.: Latest Progress and Trends in J ava/ EJ B Technologies
pl atforms. I n parti cul ar, Java appl i cati on to en-
terpri se systems became more popul ar after EJB
2.0 and JavaServer Pages (JSP) were announced
i n J2EE. Figure 1 shows the appl i cati on model
and components supported by J2EE. To make i t
easi er to bui l d enterpri se systems through com-
ponent-based devel opment, sever al detai l ed
appl i cati on model s based on EJB have been ad-
vocated by compani es and consorti ums such as
the Component Consorti um for EJB,
3)
whi ch has
been establ i shed i n Japan. Figure 2 shows the
EJB-based appl i cati on model of the Component
Consorti um for EJB. At the same ti me, because
of J2ME, the appl i cati on area of Java expanded
to i ncl ude mobi l e appl i ances, whi ch l ed to the cur-
r ent wi despr ead use of Java i n mobi l e-phone
appl i cati ons.
Among the enhancements i n versi on 1.3, the
fol l owi ng functi ons added to EJB i n EJB 2.0 are
i mportant because they can be used to desi gn and
i mpl ement coarse-grai ned enti ti es and make data-
base access more effi ci ent, whi ch are both necessary
tasks when devel opi ng enterpri se systems:
A new ar chi tectur e for contai ner-managed
persi stence (CMP 2.0)
Support for the management of rel ati onshi ps
among enti ty beans
Query syntax for sel ect methods for enti ty
beans (EJB-QL)
Message-dri ven beans
5) Versi on 1.4
Unti l versi on 1.3, Sun Mi crosystems deci d-
ed the speci fi cati ons of Java and i ts r el ated
functi ons. Si nce versi on 1.4, however, the speci fi -
cati ons have been deci ded i n a more open manner.
Now, new speci fi cati ons and i mprovements of ex-
i sti ng speci fi cati ons ar e made based on Java
Speci fi cati on Requests (JSRs) submi tted by the
Java communi ty to a process cal l ed the Java Com-
muni ty Process (JCP).
4)
When a JSR i s submi tted to the JCP, the
member compani es of the JCP di scuss whether i t
shoul d be i mpl emented. I f they deci de i t shoul d
be i mpl emented, an expert group i s establ i shed
to deci de the fi nal speci fi cati ons for the JSR. Onl y
member compani es of the JCP can submi t a JSR,
but submi tted JSRs are made publ i c on the JCPs
Web si te so the JCP can recei ve a wi der range of
opi ni on.
J2SE 1.4 was the fi rst versi on whose speci fi -
cati ons were di scussed and determi ned by the JCP.
The fol l owi ng functi ons were added:
XML support
Java Web Start
A new I /O
DB
DB
Client
presentation
tier
Applet
HTML
Web browser
Server
presentation
tier
Servlet
JSP
Servlet
container
Business
logic
tier
EJB
EJB
container
EIS
tier
DBMS
Business logic tier
EJB container
Business
service
component
Business
model
component
Figure 1
J2EE application model and components.
Figure 2
EJB-based application model of Component Consortium
for EJB.
88 FUJ ITSU Sci. Tech. J ., 40,1,(J une 2004)
S. Tasaka et al.: Latest Progress and Trends in J ava/ EJ B Technologies
A l oggi ng API
Asserti on
Java Secure Socket Extensi on (JSSE)
I n thi s way, the speci fi cati ons of Java are now
di scussed and evol ved wi thi n an open communi ty.
3. Future enhancements of Java
A roadmap for future enhancements of Java
has been r el eased.
5)
The r oadmap i s shown i n
Table 2.
As descr i bed i n Secti on 2, the appl i cati on
area of Java has become wi der and Java technol -
ogy i s becomi ng more popul ar. J2ME has been
adopted i n mobi l e appl i ances such as mobi l e
phones. J2EE has al ready reached the l evel of de
facto standard i n the devel opment of enterpri se
mi ssi on-cri ti cal systems al ong wi th the ri ch en-
hancement of EJB functi ons.
However, Java i s sti l l di ffi cul t for begi nners
to l earn and there are rel ati vel y few hi gh-l evel
devel opers. For thi s reason, Java i s not so suc-
cessful i n the ar ea of secti on-wi se appl i cati on,
where Basi c and C#are used. On the other hand,
Java i s successful i n the area of mobi l e appl i anc-
es and enterpri se systems.
As a resul t, for the next versi on of Java, ease
of devel opment rather than functi on enhancement
wi l l be the pri ori ty i ssue. Thi s coul d be the l arg-
est change of pol i cy si nce Java was born.
The next versi on of Java wi l l be J2SE 1.5
(code name Ti ger). For J2SE 1.5, the fol l owi ng
fi ve themes wi l l be consi dered:
1) Qual i ty: compati bi l i ty wi l l be extremel y i m-
portant.
2) Performance and scal abi l i ty
3) Ease of devel opment
4) Moni tori ng and manageabi l i ty
5) Desktop cl i ents
JSR-176: J2SE 1.5 (Ti ger) Rel ease Contents
i s bei ng devel oped i n the JCP accordi ng to these
themes. Furthermore, several JSRs have been
submi tted wi th r espect to the speci fi cati ons of
more detai l ed functi ons (Table 3).
The fi nal versi on of J2EE 1.4 was rel eased
i n November 2003. EJB 2.1, i n parti cul ar among
Table 2
J2SE Technology Update and Roadmap.
Date Version (Code name)
Summer 2004 1.5 (Tiger)
Early 2005 1.5.1 (Dragonfly)
After 2005 1.6 (Mustang)
Table 3
JSR-176: J2SE 1.5 (Tiger) Release Contents.
JSR-003 Java Management Extensions (JMX) Specification
JSR-013 Decimal Arithmetic Enhancement
JSR-014 Add Generic Types to the Java Programming Language
JSR-028 Java SASL Specification
JSR-114 JDBC Rowset Implementations
JSR-133 Java Memory Model and Thread Specification Revision
JSR-163 Java Platform Profiling Architecture
JSR-166 Concurrency Utilities
JSR-174 Monitoring and Management Specification for the Java Virtual Machine
JSR-175 A Metadata Facility for the Java Programming Language
JSR-199 Java Compiler API
JSR-200 Network Transfer Format for Java Archives
JSR-201 Extending the Java Programming Language with Enumerations,
Autoboxing, Enhanced for Loops and Static Import
JSR-202 Java Class File Specification Update
JSR-204 Unicode Supplementary Character Support
JSR-206 Java API for XML Processing (JAXP) 1.3
89 FUJ ITSU Sci. Tech. J ., 40,1,(J une 2004)
S. Tasaka et al.: Latest Progress and Trends in J ava/ EJ B Technologies
several consti tuent speci fi cati ons i n J2EE 1.4, has
the fol l owi ng addi ti onal functi ons:
1) I mpl ementati on of Web servi ces
2) A contai ner-managed ti mer servi ce
3) An enhancement of EJB QL (ORDER BY,
aggregate operators)
4) An extensi on for message-dri ven beans
Ease of devel opment i s al so the major r e-
mai ni ng probl em i n EJB, and the use of metadata,
for exampl e, wi l l be pursued i n the standardi za-
ti on acti vi ty for EJB3.0 (JSR-220). The fol l owi ng
features are now under di scussi on i n JSR-220:
1) A si mpl er CMP programmi ng model
2) Devel opment and testi ng wi thout an EJB
contai ner
3) More standardi zed depl oyment
4. Extension of Java
programming language
specifications in J2SE 1.5
The outl i ne of the l atest versi on, J2SE 1.5,
has just become cl ear. Thi s chapter expl ai ns whi ch
types of functi ons, especi al l y whi ch types of ex-
tensi ons to the Java pr ogr ammi ng l anguage
speci fi cati ons, wi l l be added i n J2SE 1.5.
6),7)
The fol l owi ng extensi ons i n J2SE 1.5 have
been announced:
1) Generi cs
2) Enhanced for Loop (foreach)
3) Autoboxi ng/Unboxi ng
4) Typesafe Enums
5) Varargs
6) Stati c I mport
7) Metadata
These functi ons are expl ai ned i n detai l bel ow.
4.1 Generics
For the current col l ecti on-type cl asses such
as java.uti l .l i st, and java.uti l .Vector, extra casts
are needed because al l the objects i n the col l ec-
ti on are treated as the base cl ass Object. Al so,
even when an object of a di fferent type i s added to
the col l ecti on, an error onl y occurs at runti me.
Generi cs make i t possi bl e to check the type of
el ements i n col l ecti on-type cl asses at compi l e ti me
by speci fyi ng the type of objects stored i n col l ec-
ti on-type cl asses. Thi s functi on i s si mi l ar to
Templ ate i n C++. Thi s functi on wi l l make i t possi -
bl e to wri te more type-safe descri pti ons i n Java.
For exampl e, when Stri ng objects are stored
i nto and retri eved from ArrayLi st, i t i s currentl y
necessary to cast them as fol l ows:
List wordlist = new ArrayList();
wordlist.add("title");
String title =
((String) wordlist.get(0)).toUppercase();
However, when Generi cs i s used, the cast i s
not needed:
List<String> wordlist =
new ArrayList<String>();
wordlist.add("title");
String title =
wordlist.get(0).toUppercase();
Al so, because any type of object can be stored
i n a Li st cl ass, even when onl y Str i ng objects
shoul d be stored i n a wordl i st, I nteger objects can
be added to the wordl i st as fol l ows wi thout caus-
i ng errors at compi l e ti me:
List wordlist = new ArrayList();
wordlist.add(new Integer(1));
Integer i = (Integer) wordlist.get(1);
I f we descri be as fol l ows usi ng Generi cs:
List<String> wordlist =
new ArrayList<String>();
wordlist.add(new Integer(1));
Integer i = wordlist.get(1);
an error occurs at compi l e ti me because the type
i s speci fi ed.
Thi s functi on makes the code si mpl e wi th-
out annoyi ng casts and i ncreases the l evel of safety
90 FUJ ITSU Sci. Tech. J ., 40,1,(J une 2004)
S. Tasaka et al.: Latest Progress and Trends in J ava/ EJ B Technologies
by type checki ng at compi l e ti me. Al so, the num-
ber of errors at runti me i s reduced.
Generi cs has been consi dered for qui te some
ti me and mi ght have been i ncl uded i n J2SE 1.4.
I t wi l l fi nal l y be added i n J2SE 1.5.
4.2 Enhanced for Loop (foreach)
Enhanced for Loop provi des the same func-
ti on as the for each syntax i n C# and other
l anguages.
For exampl e, to l ook at the el ements of an
array or col l ecti on one by one, we currentl y use
I terator as fol l ows:
void cancelAll(Collection c) {
for (Iterator i = c.iterator();
i.hasNext();){
TimerTask tt = (TimerTask) i.next();
tt.cancel();
}
}
By descri bi ng thi s wi th Enhanced for Loop,
the code becomes si mpl er:
void cancelAll(Collection c){
for (Object o : c)
((TimerTask)o).cancel();
}
Al so, i t i s possi bl e to descri be thi s exampl e
wi th Generi cs:
void cancelAll(Collection<TimerTask> c){
for (TimerTask task : c)
task.cancel();
}
Enhanced for Loop makes i t unnecessary to
use l oop vari abl es and I terator i n code. I t i s ex-
pected to decr ease the number of mi stakes i n
codi ng, because i t reduces the vol ume of descri p-
ti on, especi al l y when descri bi ng a nested l oop.
4.3 Autoboxing/Unboxing
I n the cur r ent Java, when a var i abl e of a
pri mi ti ve type, for exampl e, the i nt type, i s treat-
ed as an object, i t must be conver ted to the
correspondi ng wrapper cl ass, for exampl e, I nte-
ger. I n J2SE 1.5, conversi on from a pri mi ti ve type
to a wrapper cl ass and vi ce versa i s automati cal l y
performed by Autoboxi ng/Unboxi ng. The functi on
of Autoboxi ng/Unboxi ng i s al so adopted i n C#.
For exampl e, the fol l owi ng descri pti on i n the
current Java:
// from int to Integer
int i = 42;
Integer x = new Interger(i);
// from Integer to int
Integer y = 42;
int j = y.intValue();
can be si mpl y descri bed as fol l ows by usi ng Auto-
boxi ng/Unboxi ng:
// from int to Integer
int i = 42;
Integer x = i;
// from Integer to int
Integer y = 42;
int j = y;
Autoboxi ng/Unboxi ng makes i t unnecessary
to use a wrapper cl ass. Al so, when combi ned wi th
Generi cs, thi s functi on i s very useful when, for ex-
ampl e, an I nteger needs to be stored i n a col l ecti on.
4.4 Typesafe Enums
Typesafe Enums i s a famous functi on i n C,
C++, Pascal , and other l anguages, and wi l l be add-
ed i n J2SE 1.5. I t can be used as a l abel i n swi tch
statements. Typesafe Enums can be defi ned l i ke
a cl ass rather than a l i st of i ntegers. Al so, because
Typesafe Enums automati cal l y gener ates VAL-
UES, fami l y(), val ueOf(), and other methods, i t i s
91 FUJ ITSU Sci. Tech. J ., 40,1,(J une 2004)
S. Tasaka et al.: Latest Progress and Trends in J ava/ EJ B Technologies
especi al l y useful i n the Enhanced for Loop
syntax.
The fol l owi ng shows an exampl e of usi ng
Typesafe Enums:
public enum Coin{
penny(1), nickel(5), dime(10), quarter(25);
Coin(int value) { this.value = value; }
private final int value;
public int value() { return value; }
}
public class CoinTest{
public static void main(String[] args){
for (Coin c : Coin.VALUES)
System.out.println
(c + ": t"+ c.value() +" t" + color(c));
}
private enum CoinColor
{ copper, nickel, silver }
private static CoinColor color(Coin c) {
switch(c) {
case penny: return CoinColor.copper;
case nickel: return CoinColor.nickel;
case dime: return CoinColor.silver;
case quarter: return CoinColor.silver;
default: throw new
AssertionError("Unknown coin: " + c);
}
}
}
I n thi s exampl e, cl ass Coi nTest uses an enum
defi ni ti on Coi n. The new Enhanced for Loop syn-
tax i n the mai n method pri nts out the contents of
the enum defi ni ti on Coi n. For exampl e, penny:
1 copper i s pri nted out for the fi rst content, pen-
ny. The exampl e shows that VALUES, whi ch i s
automati cal l y generated, i s used i n the Enhanced
for Loop syntax.
Typesafe Enums does not exi st i n the cur-
rent Java. I t si mpl i fi es descri pti ons and therefore
reduces the burden on devel opers.
4.5 Varargs
Varargs i s a functi on that makes i t possi bl e
to defi ne a method havi ng vari abl e-l ength argu-
ments l i ke pri ntf and scanf i n C/C++.
Cur r entl y, a functi on si mi l ar to var i abl e-
l ength arguments can be descri bed usi ng an array,
for exampl e, as fol l ows:
Object[] args = {
new Integer(9999),
"tom"
};
String result =
MessageFormat
.format("ID {0}: Name:{1}, args);
By usi ng Varargs, thi s exampl e can be de-
scri bed more si mpl y wi thout an array as fol l ows:
String result =
MessageFormat
.format("ID {0}: Name:{1}, 9999, "tom");
4.6 Static Import
Stati c I mport i s a functi on that makes i t pos-
si bl e to descri be stati c fi el ds and methods l i ke the
other cl asses by usi ng i mport decl arati ons. Be-
cause Java does not have the macr o functi ons
found i n C/C++, i t i s usual to defi ne an i nterface
i n whi ch onl y constants ar e defi ned. However,
thi s i s an i mproper usage of an i nterface.
By usi ng Stati c I mport, constants i n anoth-
er cl ass can be i mpor ted by descr i bi ng i mpor t
stati c as fol l ows:
import static java.awt.Color.CYAN;
button.setForeground(CYAN);
I n Stati c I mport, not onl y constants but al so
stati c methods can be i mported.
92 FUJ ITSU Sci. Tech. J ., 40,1,(J une 2004)
S. Tasaka et al.: Latest Progress and Trends in J ava/ EJ B Technologies
4.7 Metadata
Metadata i s exactl y the same as Attri bute i n
C#. Thi s functi on makes i t possi bl e to defi ne a
new attri bute for cl asses, methods, and fi el ds. For
exampl e, i n the same way a devel oper can descri be
the accessi bi l i ty to a cl ass or method by usi ng a
decl arati on (e.g., publ i c or pri vate), a devel oper
can expl i ci tl y speci fy the accessi bi l i ty to a cl ass,
method, or fi el d by defi ni ng a Metadata attri bute.
Metadata has two major purposes. One i s to
enabl e devel opers to defi ne an attri bute cl earl y
by descri bi ng a Metadata attri bute wi thi n code.
The other i s to uti l i ze such i nformati on by usi ng
tool s.
For exampl e, when Metadata i s used to de-
scri be attri bute @Remote i n order to speci fy that
a method i s remote as fol l ows:
import javax.xml.rpc.;
public class CoffeeOrder{
@Remote public Coffee [] getPriceList(){
...
}
@Remote public String
orderCoffee(String name, int quantity){
...
}
}
a tool can gener ate the fol l owi ng sour ce code,
whi ch i ncreases devel opment producti vi ty:
public interface CoffeeOrderIF
extends java.rmi.Remote {
public Coffee [] getPriceList()
throws java.rmi.RemoteException;
public String
orderCoffee(String name, int quantity)
throws java.rmi.RemoteException;
}
public class CoffeeOrderImpl
implements CoffeeOrderIF{
public Coffee [] getPriceList(){
...
}
public String
orderCoffee(String name, int quantity){
...
}
}
As the exampl e shows, Metadata i s not onl y
an i mportant functi on from a tool vendors poi nt
of vi ew, but al so a bi g hel p for devel opers.
5. Conclusion
Si nce i ts appearance i n 1995, Java has been
evol vi ng i nto a ful l -scal e system devel opment tech-
nol ogy through the addi ti on of vari ous functi ons
i n new speci fi cati ons (e.g., i nternati onal i zati on,
JavaBeans, JDBC, EJB). At the same ti me, the
appl i cati on area of Java has expanded to i ncl ude,
for exampl e, mobi l e appl i ances and enter pr i se
mi ssi on-cr i ti cal systems. Al so, the manner i n
whi ch the speci fi cati ons are deci ded has shi fted
from deci si ons made by Sun Mi crosystems to de-
ci si ons made by an open communi ty through a
process cal l ed the Java Communi ty Process (JCP).
Currentl y, a si gni fi cant change of pol i cy i s
occurri ng i n Java and the key phrase i s Ease of
Devel opment. J2SE 1.5, whi ch wi l l appear i n the
summer of 2004 (code name Ti ger) i s at the cen-
ter of thi s change. The extensi on of the Java
pr ogr ammi ng l anguage speci fi cati ons now pr o-
posed i n J2SE 1.5 has been careful l y desi gned to
real i ze a hi gh degree of Ease of Devel opment and
i s al so desi gned to i mprove Ease of Learni ng and
Ease of Masteri ng. Wi th these new technol ogi es,
Java wi l l be used by a wi der range of devel opers
and EJB-based devel opment of enterpri se systems
wi l l become more popul ar.
References
1) Java 2 Pl atfor m, Enter pr i se Edi ti on (J2EE) Web
page.
http:/ / java.sun.com/ j2ee/
2) Java 2 Pl atfor m, Standar d Edi ti on (J2SE) Web
93 FUJ ITSU Sci. Tech. J ., 40,1,(J une 2004)
S. Tasaka et al.: Latest Progress and Trends in J ava/ EJ B Technologies
page. (i n Japanese).
http:/ / java.sun.com/ j2se/
3) Component Consor ti um for EJB Web page. (i n
Japanese).
http:/ / www.ejbcons.gr.jp/ indexi.html
4) Java Communi ty Pr ocess Web page.
http:/ / jcp.org/ en/ home/ index
5) Java 2 Pl atform, Standard Edi ti on (J2SE) Update
and Roadmap.
http:/ / servl et.java.sun.com/ javaone/ sf2003/
conf/ sessions/ display-1540.en.jsp
6) New Language Features for Ease of Devel opment
i n the Java 2 Pl atfor m, Standar d Edi ti on 1.5:A
Conver sati on wi th Joshua Bl och.
http:/ / j ava.sun.com/ featur es/ 2003/ 05/
bloch_qa.html
7) For thcomi ng Java Pr ogr ammi ng Language Fea-
tur es.
http:/ / servl et.java.sun.com/ javaone/ sf2003/
conf/ sessions/ display-3072.en.jsp
Jun Ginbayashi received the B.S. and
M.S. degrees in Mathematics from The
University of Tokyo, Tokyo, Japan in
1981 and 1984, respectively. He also
received the D.Phil. degree in Comput-
ing from The University of Oxford, Ox-
ford, United Kingdom in 1996 after three
years study there. He joined Fujitsu
Ltd., Tokyo, Japan in 1986, where he
has been engaged in research, devel-
opment, and promotion of development
environments for business application systems.
E-mail: ginbayashi.jun@jp.fujitsu.com
Sumio Tasaka received the B.S. degree
in Physics from Tokyo Metropolitan Uni-
versity, Tokyo, Japan in 1989. He joined
Fujitsu Ltd., Yokohama, Japan in 1989,
where he has been engaged in research
and development of development envi-
ronments.
E-mail: stasaka@jp.fujitsu.com

S-ar putea să vă placă și