Anda di halaman 1dari 13

Sejarah dan Pengertian Java

Java

adalah bahasa pemrograman berorientasi obyek, sehingga untuk

memperoleh pemahaman yang lebih baik terhadap materi pada bab-bab selanjutnya, perlu disampaikan beberapa topik mengenai pemrograman berorientasi obyek yang berhubungan langsung dengan topik-topik yang akan dibahas, diantaranya mengenai konsep pemrograman berorientasi obyek, inheritance dan constructor. Topik-topik lain dalam pemrograman berorientasi obyek akan dibahas lebih lanjut bila memang diperlukan. Pemrograman berorientasi obyek merupakan suatu konsep pemrograman dengan mengambil konsep obyek sebagai komponen dasar dari pemrogramannya. Obyek merupakan suatu kesatuan komponen dan struktur yang di dalamnya berisi attribut yang selanjutnya dinamakan dengan member dan method yang merupakan kumpulan fungsional dari suatu obyek. Sebagai suatu analogi obyek, kita ambil obyek mobil dan lainnya. Obyek mobil ini mempunyai method berupa maju, mundur, jalan, berhenti, dan berputar. Dengan demikian dapat dikatakan bahwa obyek mempunyai sifat-sifat, yaitu !ember atau sering juga disebut dengan attribut yang menjelaskan "ariable, parameter atau keadaan #state$ dari suatu obyek, misalkan pada obyek mobil terdapat member berupa roda, kemudi, seperti yang disebutkan di atas. !ethod atau sering juga disebut dengan beha"ior yang menjelaskan perilaku, kegiatan atau kerja dari suatu obyek, misalkan pada obyek mobil terdapat method maju, mundur, berhenti, seperti yang disebutkan diatas.

!enulis program berbasis obyek menggunakan bahasa %a"a dilakukan dengan cara membentuk sebuah class, menentukan "ariabel member dan menentukan method. Pembentukan class dari suatu obyek ini dinamakan dengan enkapsulisasi. &ntuk menggambarkan suatu obyek digunakan suatu diagram yang dinamakan dengan class diagram.

'ama (lass !ember !ethod

Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama )* bulan, dari awal tahun )++) hingga musim panas )++,. Proyek tersebut belum menggunakan "ersi yang dinamakan Oak. Proyek ini dimotori oleh Patrick 'aughton, !ike Sheridan, %ames -osling dan .ill %oy, beserta sembilan pemrogram lainnya dari Sun !icrosystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh %oe Palrang. Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand /ill 0oad di !enlo Park. Sekitar musim panas )++, proyek ini ditutup dengan menghasilkan sebuah program %a"a Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh #touch screen$, seperti pada PD1 sekarang ini. Teknologi baru ini dinamai 2345 #Star Se"en$.Setelah era Star Se"en selesai, sebuah anak perusahaan T6 kabel tertarik ditambah beberapa orang dari proyek The -reen Project. !ereka memusatkan kegiatannya pada sebuah ruangan kantor di )77 /amilton 1"enue, Palo 1lto.Perusahaan baru ini bertambah maju jumlah karyawan meningkat dalam waktu singkat dari )8 menjadi 47 orang. Pada rentang waktu ini juga ditetapkan pemakaian 9nternet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun )++7-an, 9nternet masih merupakan rintisan, yang dipakai hanya di kalangan

akademisi dan militer.!ereka menjadikan perambah #browser$ !osaic sebagai landasan awal untuk membuat perambah %a"a pertama yang dinamai :eb 0unner, terinsipirasi dari film )+*7-an, .lade 0unner. Pada perkembangan rilis pertama, :eb 0unner berganti nama menjadi /ot %a"a.Pada sekitar bulan !aret )++;, untuk pertama kali kode sumber %a"a "ersi ).7a, dibuka. <esuksesan mereka diikuti dengan untuk pemeritaan pertama kali pada surat kabar San Jose Mercury News pada tanggal ,8 !ei )++;. Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 7=.77 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, >ric Schmidt dan -eorge Paolini dari Sun !icrosystems bersama !arc 1ndreessen, membentuk 'etscape.'ama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja 2bapak ja"a?, %ames -osling. 'ama Oak ini tidak dipakai untuk "ersi release %a"a karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi 2%a"a?. 'ama ini diambil dari kopi murni yang digiling langsung dari biji #kopi tubruk$ kesukaan -osling.6ersi 1wal 6ersi awal %a"a ditahun )++@ sudah merupakan "ersi release sehingga dinamakan %a"a 6ersi ).7.

%a"a "ersi ini menyertakan banyak paket standar awal yang terus dikembangkan pada "ersi selanjutnya %a"a.lang Peruntukan kelas elemen-elemen dasar. %a"a.io Peruntukan kelas input dan output, termasuk penggunaan berkas. %a"a.util Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan %a"a.net Peruntukan kelas T(PA9P, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan T(PA9P. %a"a.awt <elas dasar untuk aplikasi antarmuka dengan pengguna #-&9$ %a"a.applet <elas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.

Struktur Dasar Pemrograman Java

Seperti halnya bahasa pemrograman lainnya, ja"a memiliki struktur dasar yang wajid diketahui sebelum belajar lebih jauh tentang pemrograman ja"a. Terdapat beberapa struktur pemrograman ja"a yaitu (omments, !odifiers, Statements, .locks, (lasses, !ethods, dan 0eser"ed :ords. &ntuk mengenal lebih jauh, berikut adalah pengenalan singkat struktur program ja"a 1. omments (omments digunakan untuk memberikan keterangan atau penjelasan suatu baris program, struktur comments tidak akan di kompilasi oleh compiler. Bambang untuk comments adalah double slash #AA$ untuk memberikan penjelasan suatu baris, sedangkan lambang A3 dan 3A untuk memberikan penjelasan satu baris atau lebih. (ontoh (omments
public class testcomments { public static void main(String [] args){ /* System.out.println Akan Mencetak Akan Mencetak */ //System.out.println( tidak akan mencetak )!

System.out.println( akan mencetak )! " "

Pada contoh di atas, baris dalam lambang comments tidak akan di kompilasi oleh compiler.

!. Modi"iers !odifiers digunakan untuk menentukan penggunaan dari suatu data, methods dan class. (ontoh modifiers adalah public, static, pri"ate, final, abstract dan protected. #. Statements Statements merupakan baris perintah atau kumpulan perintah. Setiap statement pada ja"a selalu diakhiri dengan titik koma #$$ %. B&ocks .locks digunakan untuk membentuk suatu grup statements. .locks diawali dengan kurung kurawal # CD $. '. &asses (lasses merupakan inti dari program ja"a. Suatu class merupakan 2blueprint? untuk menciptakan suatu object.

ontoh program( A3 Program .ilangan -enap--anjil 3Oleh !ohamad 9Ebal - )7;7*))= 3A import ja"aF.swing.3G public class nilaiHakhirC public static "oid main#StringIJ args$C double nilaiG char indeFG int tugasK9nteger."alueOf#%OptionPane.show9nputDialog#L9nput 'ilai Tugas L$$G int EuiMK9nteger."alueOf#%OptionPane.show9nputDialog#L9nput 'ilai NuiM L$$G int utsK9nteger."alueOf#%OptionPane.show9nputDialog#L9nput 'ilai &ts L$$G int uasK9nteger."alueOf#%OptionPane.show9nputDialog#L9nput 'ilai &as L$$G nilaiK#tugas37.,$O#EuiM37.)$O#uts37.8$O#uas37.=$G if #nilaiPK*7 QQ nilaiRK)77$ indeFKS1SG else if #nilaiP@* QQ nilaiRK*7$ indeFKS.SG else if #nilaiP;; QQ nilaiRK@*$ indeFKScSG else if #nilaiP=; QQ nilaiRK;;$ indeFKSDSG else indeFKS>SG System.out.println#L'ilai Tugas LO tugas$G System.out.println#L'ilai NuiM LO EuiM$G System.out.println#L'ilai &ts LO uts$G System.out.println#L'ilai &as LO uas$G System.out.println#L9ndeF LO indeF$G

D D

hapter 1. )ntroduction to J!**


Servlets and Java Server Pages

What is J2EE? Java Server Pages Java Servlets: A bit of history JSP Syntax An Example with JBoss and om!at "y#reeting: A simple web appli!ation Exer!ises After !ompleting this !hapter$ the st%dent will be able to

Goals

explain Servlets and Java Server Pages &JSPs' and their roles in developing web appli!ations( have JBoss deploy with the om!at !ontainer in an integrated virt%al ma!hine( !reate JSPs for %se in systems prod%!ing dynami!ally generated ) "*(

Prerequisite he st%dent will need to be famliar with web browsers$ an %nderstanding of ) "*$ and familiarity s with Java and its %se in programming( Objectives his !hapter is presented to provide an %nderstanding of the role that Servlets and Java Server Pages play in the web appli!ation development pro!ess and to %nderstand what J2EE is(

What is J2EE?
%,>> #Java 2 Enterprise Edition$ is a specification for de"eloping enterprise and distributed applications from %a"aSoft #Sun !icrosystems$. %,>> is not one thingG it encompasses a large set of technologies

JavaServer Pages (JSP) Servlets Enterprise JavaBeans (EJB) JDBC Java Naming and Directory Interface (JNDI) support for X ! Java essaging

Java "ransaction Support

Java ail Java support for C#$B%

9n this course, we will talk about %SP, ser"lets, >%., %D.(, and touch on %'D9.

&'at can using t'ese tec'nologies accomplis'(


%,>> is useful for creating web applications like TahooU !ail, a web-based stock trading system such as >3T01D>, or an online auction house like e#ay. 1nytime there is a need for many people to access a collection of data in a distributed manner, an implementation of the %,>> specification can pro"ide a solution.

&'ere is J)EE(
Since %,>> is a specification, it isnSt located anywhere. 9nstead "endors make their products adhere to the %,>> specification. >Famples of the "endors offering %,>> compliant products are

Netscape*%#! iPlanet BE% &e+!ogic IB &e+Sp'ere

"'e JBoss ,roup-s JBoss

9n this course, we will concentrate on %.oss, which is a free, open-source %,>> ser"er. The %.oss ser"er itself is written in %a"a, so it can run on :indows, BinuF, !ac OS V, Solaris, or any other platform which fully supports the %a"a "irtual machine.

Java Server Pages


%a"a Ser"er Pages #%SP$ are SunSs solution to the generation of dynamic /T!B. :ith %SPs, you can generate /T!B on the fly, which is important because

the !ontent of the ) "* may depend %pon %ser s%bmitted data the information represented by the ) "* is dynami! by nat%re the ) "* may be !%stomi+able on a per %ser basis

%SPs are /T!B-like pages that can contain a miFture of /T!B tags, data, and %a"a code. /ere is an eFample of a %SP that contains a simple $or loop to count to )7 #9f you ha"e not already done so, you can download this and other eFamples used in this course. !ac OS V or other &'9V users click here instead.$
code*C'apter.*counter*counter/0sp

%&' page language( )ava %+,M-* %#./0* %&

&*

code*C'apter.*counter*counter/0sp

&* %& &*

$or (int counter ( 1! counter %( 12! counter33) { %&( counter &* Mississippi4%#5* "

%#*5eady or not4 6ere 7 come8%/#* %/#./0* %/+,M-*

:e then deploy this on a web ser"er that knows how to handle %SPs. #:eSll see how to deploy it later in this chapter.$ The %SP will be mapped to a specific web address on that ser"er, and when a user comes along and types in that web address, the web ser"er will find this %SP, dynamically compile the %a"a code in it, run it, merge it with the /T!B tags that are interspersed around the %a"a code, and output an /T!B page back to the userSs browser. The generated /T!B will look like this

%+,M-* %#./0* 1 Mississippi4%#5* 9 Mississippi4%#5* : Mississippi4%#5* ; Mississippi4%#5* < Mississippi4%#5* = Mississippi4%#5* > Mississippi4%#5* ? Mississippi4%#5* @ Mississippi4%#5* 12 Mississippi4%#5* %#*5eady or not4 6ere 7 come8%/#* %/#./0* %/+,M-*

Java Servlets: A bit of history


Ser"lets are pure %a"a objects that generate /T!B by writing it to a stream. The files do not contain any /T!B tagsG they simply contain %a"a code which write out /T!B #as strings$ to produce the page that is sent to the userSs browser. /istorically, this used to be the only way to generate dynamic content in %a"a, but it is Euite painful to de"elop any large scale application with a bunch of ser"lets running around doing println() statements. This is why Sun in"ented %SPs in the first place to compete with the ease-of-de"elopment of !icrosoftSs 1SP files, which could -- you guessed it -- miF /T!B tags and code in a single file.

%SPs and ser"lets are two different ways to accomplish the same goal generating dynamic /T!B pages using %a"a code. One puts %a"a code in your /T!B, and one puts /T!B in your %a"a code. Wunctionally, they are eEui"alent. 9n fact, under the co"ers, the web ser"er takes a %SP and con"erts it to the corresponding ser"let and dynamically compiles it. /ere is a %a"a ser"let that produces the same content as the %SP we just saw abo"e
code*C'apter.*counter*counter%sServlet/0ava

import )avaA.servlet.*! import )ava.io.*! import )ava.util.*! public class SimpleServlet eAtends BenericServlet { public void service(Servlet5eCuest reCuest4 Servlet5esponse response) t6roDs ServletEAception4 7.EAception { response.setFontent,ype( teAt/6tml )! printGriter pD ( response.getGriter()! pD.println( %+,M-* )! pD.println( %#./0* )! $or(int counter ( 1! counter %( 12! counter33) { pD.println(counter 3 Mississippi4 %#5* )! " pD.println( %#*5eady or not4 6ere 7 come8%/#* )! pD.println( %/#./0* )! pD.println( %/+,M-* )! pD.close()! " "

Tou can still write %a"a ser"lets manually if you want to, and many people still swear by them. /owe"er, %SPs are more fleFible, and as weSll see in later chapters, can be combined with other features to create a powerful templating engine. :e will not be writing ser"lets in this course, although we will see them sneak in behind the scenes in chapter =.

JSP Syntax

Directives
%SPs li"e in an object called a container, which is essentially a ser"er. %SPs can define information for the container with directi"es. /ere is what directi"es look like in a general form
%&' directive attribute( someHalue attribute( anot6erHalue ... &*

There are three directi"es


%&' page ... &* spe!ifies information that affe!ts the page %&' include ... &* in!l%des a file at the lo!ation of the in!l%de dire!tive &parsed' %&' taglib ... &* allows the %se of !%stom tags in the page

%&' page language( )ava

&*

will always be the first line of e"ery %SP file.

Declarations
Declarations are used to specify supplemental methods and "ariables. Tou can think of these are the pageSs pri"ate functionsG they can only be called by the %SP where they are defined, or by another %SP that includes it #using the %' include * directi"e$. /ere is a sample declaration
%&8 // t6is integer can be used anyD6ere in t6is ISJ page private int myHariable ( K1! // t6is $unction can be called $rom anyD6ere in t6is ISJ page public boolean isJositive() { return ( myHariable * 2 )! " &*

Scriptlets
Scriptlets are bits of %a"a code. They can do anything #the full power of %a"a is a"ailable in e"ery %SP$, but they will most likely concentrate on generating /T!B code or setting up "ariables to be part of later eFpressions #see below$. The first %SP we saw abo"e, counter.)sp, contained a scriptlet with a $or loop.

E1pressions
>Fpressions are special-purpose mini-scriptlets used for e"aluating eFpressions. This could be something as simple as outputting the "alue of a "ariable, or a more complicated %a"a eFpression, like calling a function and outputting the result. The %SP eFample counter.)sp also contained an eFpression
%&( counter &*

'ote that counter is defined as an int, but we do not need to eFplicitly con"ert it to a string. >Fpressions are implicitly con"erted to strings when they are output. #The println() function works the same wayG it can take pretty much anything and print it. That makes sense if you think about it. 0emember that %SPs automatically get con"erted to %a"a ser"lets under the co"ers. So an eFpression like this in a %SP file is con"erted to a println statement in a ser"let that you ne"er see. So anything println can print, an eFpression can contain, without any eFplicit con"ersion.$

An Example with JBoss and om!at


'ow lets create a web application using %.oss with Tomcat. %.oss is an open-sourced %,>> ser"er from the %.oss -roup #www.jboss.org$. 9t pro"ides support for integrating Tomcat, which is the open-sourced Ser"let and %SP engine from the 1pache -roupSs %akarta project #jakarta.apache.org$.

Note 9f %.oss with Tomcat is not already installed, the instructor will pro"ide assistance with getting it installed. The files for a %,>> web application are placed in a web application archi"e file #.Dar eFtension$. 9nside the web application archi"e are %SPs, /T!B pages, .properties files, V!B configuration files, images, and class files, as well as any customiMed data files that might need to be included. 1t a minimum, the web application archi"e will consist of a GE#K7LM folder at the top le"el. 9nside the GE#K7LM folder will be a Deb.Aml file. The Deb.Aml file pro"ides the %,>> ser"er with information specific to the web application contained in the same web application archi"e. Wor eFample, it pro"ides the name for the default page to ser"e, if one is not specified.

"y#reeting: A simple web appli!ation


Do this(
,( -reate a dire!tory named MyBreeting 2( Within the MyBreeting dire!tory$ !reate a s%bdire!tory named GE#K7LM &!apitali+ation matters$ so be pre!ise$ and that.s a dash$ not an %nders!ore' code*C'apter.* y,reeting

MyBreeting N 3KK +elloGorld.)sp (*) N 3KK GE#K7LM N 3KK Deb.Aml (*) (*) denotes a $ile

/( -reate a JSP file named MyBreeting/+elloGorld.)sp 0( Add the following text to the +elloGorld.)sp file: code*C'apter.* y,reeting*2ello&orld/0sp

%&' page language( )ava

&*

%+,M-* %#./0* %& $or (int counter ( 1! counter %( 12! counter33) { &* +ello Gorld8%#5* %& " &* %/#./0* %/+,M-*

1( -reate the Deb.Aml file in MyBreeting/GE#K7LM/Deb.Aml 2( Add the following text to Deb.Aml:

code*C'apter.* y,reeting*&EB3IN4*5e+/1ml

%OAml version( 1.2

encoding( 7S.K??<@K1 O*

%8/.F,0JE DebKapp JP#-7F K//Sun Microsystems4 7nc.///,/ Geb Application 9.9//EL 6ttpQ//)ava.sun.com/)9ee/dtds/DebKappR9R9.dtd * %DebKapp* %/DebKapp*

3( 4rop to a !ommand line and !hange to MyBreeting dire!tory 5( -reate the web appli!ation ar!hive %sing the !ommand6line )ar %tility:
cQS)9eeScodeSF6apter1SMyBreeting* jar cvf MyGreeting.war *.jsp WEB-INF

7( -opy MyBreeting.Dar to the deploy folder in yo%r JBoss installation:


cQS)9eeScodeSF6apter1SMyBreeting* copy MyGreeting.war c:\j2ee\j oss\!ep"oy\

,8( Start JBoss by r%nning the run.bat s!ript provided in the bin folder of the JBoss installation( Be!a%se JBoss relies on relative paths to set %p its -*ASSPA )$ this is a two6step pro!ess( 9irst$ !hange to the )boss/bin/ dire!tory$ then exe!%te run.bat( Also$ be s%re to spe!ify the tomcat arg%ment on the !ommand line so that it also starts the om!at servlet engine(
cQS)9eeScodeSF6apter1SMyBreeting* c! c:\j2ee\j oss\ in\ cQS)9eeS)bossSbin* r#n. at to$cat

,,( :pen a web browser and go to 6ttpQ//local6ostQ?2?2/MyBreeting/+elloGorld.)sp

Exer!ises

E1ercise ./ Current time


(reate a web application that displays the current time in a web page. Pro"ide a link inside the web page to reload the page with the an updated time. &se %SPs in order to produce the dynamic content.

Copyrig't 6 )77.3)

ass!ig't8 Inc/

!assBight, 9nc. specialiMes in professional de"eloper training. The full "ersion of this course includes ,7 hours of lecture, ,7 hours of hands-on de"elopment labs, and additional printed materials to supplement the material you see here. 9f you are interested in ha"ing us teach this course at your company, please contact us for details. Permission is granted to copy, distribute, andAor modify this material under the terms of the -'& Wree Documentation Bicense, 6ersion ).) or any later "ersion published by the Wree Software WoundationG with no 9n"ariant Sections, no Wront-(o"er TeFts, and no .ack-(o"er TeFts. 1 copy of the license is included in -'& Wree Documentation Bicense. The code samples in this course are distributed under the .SD license. See the indi"idual code files for details.
Contents 6 he Platform for Enterprise Sol%tions 6 "a;ing "iddleware Easier 6 he Standard with <nd%stry "oment%m

"'e Platform for Enterprise Solutions he Java 2 Platform$ Enterprise Edition &J2EE' defines the standard for developing m%ltitier enterprise appli!ations( he J2EE platform simplifies enterprise appli!ations by basing them on standardi+ed$ mod%lar !omponents$ by providing a !omplete set of servi!es to those !omponents$ and by handling many details of appli!ation behavior a%tomati!ally$ witho%t !omplex programming( he J2EE platform ta;es advantage of many feat%res of the Java 2 Platform$ Standard Edition &J2SE'$ s%!h as =Write :n!e$ >%n Anywhere= portability$ J4B- AP< for database a!!ess$ -:>BA te!hnology for intera!tion with existing enterprise reso%r!es$ and a se!%rity model that prote!ts data even in internet appli!ations( B%ilding on this base$ the Java 2 Platform$ Enterprise Edition adds f%ll s%pport for Enterprise JavaBeans !omponents$ Java Servlets AP<$ JavaServer Pages and ?"* te!hnology( he J2EE standard in!l%des !omplete spe!ifi!ations and !omplian!e tests to ens%re portability of appli!ations a!ross the wide range of existing enterprise systems !apable of s%pporting the J2EE platform( <n addition$ the J2EE spe!ifi!ation now ens%res Web servi!es interoperability thro%gh s%pport for the WS6< Basi! Profile(

a9ing

iddle5are Easier

oday.s enterprises gain !ompetitive advantage by @%i!;ly developing and deploying !%stom appli!ations that provide %ni@%e b%siness servi!es( Whether they.re internal appli!ations for employee prod%!tivity$ or <nternet appli!ations for spe!iali+ed !%stomer or vendor servi!es$ @%i!; development and deployment are ;ey to s%!!ess( Portability and s!alability are also important for long term viability( Enterprise appli!ations m%st s!ale from small wor;ing prototypes and test !ases to !omplete 20 x 3$ enterprise6wide servi!es$ a!!essible by tens$ h%ndreds$ or even tho%sands of !lients sim%ltaneo%sly( )owever$ m%ltitier appli!ations are hard to ar!hite!t( hey re@%ire bringing together a variety of s;ill sets and reso%r!es$ lega!y data and lega!y !ode( <n today.s heterogeneo%s environment$ enterprise appli!ations have to integrate servi!es from a variety of vendors with a diverse set of appli!ation models and other standards( <nd%stry experien!e shows that integrating these reso%r!es !an ta;e %p to 18A of appli!ation development time( As a single standard that !an sit on top of a wide range of existing enterprise systems 66 database management systems$ transa!tion monitors$ naming and dire!tory servi!es$ and more 66 the J2EE platform brea;s the barriers inherent between !%rrent enterprise systems( he %nified J2EE standard wraps and embra!es existing reso%r!es re@%ired by m%ltitier appli!ations with a %nified$ !omponent6based appli!ation model( his enables the next generation of !omponents$ tools$ systems$ and appli!ations for solving the strategi! re@%irements of the enterprise( he J2EE spe!ifi!ation also s%pports emerging Web Servi!es te!hnologies thro%gh in!l%sion of the WS6< Basi! Profile( WS6< Basi! Profile !omplian!e means that the developers !an b%ild appli!ations on the J2EE platform as Web servi!es that interoperate with Web servi!es from non6J2EE !ompliant environments( With simpli!ity$ portability$ s!alability$ and lega!y integration$ the J2EE platform is the platform for enterprise sol%tions(

"'e Standard 5it' Industry

omentum

While S%n "i!rosystems invented the Java programming lang%age and pioneered its %se for enterprise servi!es$ the J2EE standard represents a !ollaboration between leaders from thro%gho%t the enterprise software arena( :%r partners in!l%de :S and database management system providers$ middleware and tool vendors$ and verti!al mar;et appli!ations and !omponent developers( Wor;ing with these partners$ S%n has defined a rob%st$ flexible platform that !an be implemented on the wide variety of existing enterprise systems !%rrently available$ and that s%pports the range of appli!ations < organi+ations need to ;eep their enterprises !ompetitive( he s%!!ess of the J2EE platform in the enterprise !ontin%es to rise as more than two6thirds of enterprise software development managers %se the J2EE platform to develop and deploy their appli!ations( With addition of interoperable Web servi!es and other new feat%res in version ,(0$ the J2EE platform will !ontin%e to be the ind%stry standard for enterprise sol%tions for many years to !ome(