Jumat, 11 Juli 2008

Arsitektur Java EE [dari kacamata naif]

Berikut arsitektur JavaEE server dan Container yang diambil dari J2EETutorial Sun.

 
1. Client
Client di sini dapat berupa Java application (biasanya diekseskusi dengan java NamaClass, atau bisa juga swing) serta applet. Mungkin akan dibahas di judul selanjutnya biar ga panjang. Client inilah yang meminta request kepada server (dalam hal ini J2EE Server). Nanti client akan menerima respon dari server sesuai dengan request tadi.
2. J2EE Server
Contoh J2EE Server adalah Sun Java System Application Server, JBoss, Tomcat dsb. J2EE Server ini akan menerima request dari client untuk diproses. Jika request tersebut membutuhkan akses ke database, maka J2EE Server akan berhubungan dengan database. Hasilnya akan dikirim ke client berupa respond.
J2EE Server terdiri dari dua container, yaitu Web dan EJB (Enterprise JavaBeans).
- Container
Container adalah tempat berjalannya component. Application Server yang disebut di muka juga dapat dikategorikan sebagai container.
- Component
Component bisa dianggap sebuah program. Component bisa ditulis dengan Java atau JSP.
- Web Container
Container ini berfungsi untuk melayani request client dengan antarmuka web. Web container terdiri dari Servlet dan JSP. Servlet ditulis dengan Java, sedangkan JSP tentu saja ditulis dengan JSP. Bedanya terletak pada cara menampilkan. Biasanya halaman web ditampilkan dengan kode HTML. Kalau Servlet, kode2 HTML tersebut dilewatkan pada PrintStream. sehingga akan banyak baris kode yang dibutuhkan alias ga efisien. Perhatikan contoh berikut.

   1: out.println("<html>");
   2: out.println("<head>");
   3: out.println("<title>HelloServlet</title>");
   4: out.println("</head>");
   5: out.println("<body>");
   6: out.println("Hello, "+userName);
   7: out.println("</body>");
   8: out.println("</html>");
   9: out.close();

Jadi susah untuk seorang editor web, Java banget. Padahal yang ingin ditampilkan Hello, . Lalu lahirlah JSP yang memudahkan bagi editor web. Adapun kode2 yang berhubungan dengan kontrol, business rule ditulis dengan Java dan dilewatkan dalam JSP. Berikut contoh JSP yang menampilkan hasil yang sama dengan Servlet di muka.

   1: <html>
   2: <head>
   3: <title>First-Servlet: HelloServlet</title>
   4: </head>
   5: <body>
   6: Hello, <%=userName%>
   7: </body>
   8: </html>

Mudah bukan?

Web container juga dapat mengakses EJB container jika request dari client memerlukan penanganan dari sisi business rule, atau bisa juga langsung mengakses ke database.


-EJB Container


Container ini berisi business rule. Biasanya terdiri dari beberapa Enterprise Bean. Enterprise Bean sendiri adalah file2 Java dimana di dalamnya terdapat business rule yang spesifik. Service yang diberikan oleh container ini tentu saja logic/business rule. Request bisa berasal dari client atau dari web container. Sama seperti web container, EJB container dapat mengakses database jika diperlukan.


3. Database


Dalam buku2 teks Java EE, biasanya disebut juga dengan Enterpirse Information System atau Legacy System. Database ini adalah database yang berasal dari aplikasi2 yang berjalan dalam operasional perusahaan sehari-hari.


Dalam prakteknya client tidak harus berupa Java application atau applet. Tapi juga bisa juga cukup dengan browser yang mengakses URL JSP atau Servlet.


Demikian pengantar arsitektur Java EE. Oya, saya menyebut Java EE karena mulai Java 5 (penerus Java 1.4, Sun tidak menggunakan lagi istilah J2EE).

1 komentar:

Djauhari mengatakan...

To: Mas Okta,
Trims ya, jadi ada bayangan mengenai konsepnya Java EE.