Jumat, 06 Mei 2011

EAR Deployment

Arsitektur Java Enterprise

Aplikasi Enterprise umumnya memiliki arsitektur layer, dimana setiap layer memiliki tanggungjawab berbeda. Java Enterprise mempunyai 3 layer, yaitu:
  • Presentation layer : Melakukan penanganan tampilan dan interaksi dengan user,
  • Business layer : Melakukan eksekusi business logic,
  • Database layer : Berfungsi menangani storage.
Keuntungan layering:
  1. Menyederhanakan problem, agar tidak terlalu kompleks
  2. * Masing-masing layer memiliki tanggung jawab berbeda
    * Masing-masing layer dapat didevelop oleh developer yang berbeda
  3. Fleksibel
  4. *presentation dan business layer dapat ditangani dengan menggunakan produk software berbeda dan berada pada komputer yang berbeda
Teknologi yang digunakan:
  • Presentation layer : HTML, Javascript, JSP, JSF, Servlets
  • Business layer : EJB (Enterprise JavaBeans)
    * session beans, message-driven beans
    * persistence sublayer: entity, persistence provider
  • Database layer : Relational Database
    e.g.: mySQL, Oracle
Deployment: Thick vs Thin client
  • Thick : Aplikasi disisi client, didevelop  dengan Teknologi Swing/Java Desktop
  • Thin : Web-based application, interaksi client memakai browser
Interaksi antar komponen: Remote vs Local
Interaksi antar komponen/layer pada Aplikasi Java Enterprise dapat berupa:
  • Remote : jika berada pada proses/komputer berbeda
  • Local : jika berada pada proses/JVM yang sama
Web Server: Glassfish
Glassfish: Enterprise Java application server yang bersifat opensource
  • Dikembangkan oleh Sun
  • Java EE reference implementation
Tutorial tentang Glassfish akan saya coba hadirkan pada posting berikutnya
Application Packaging Format
  • Sebuah aplikasi Java Enterprise dikemas dalam format *.ear.
  • Ear terdiri atas 1 atau lebih modul, dan deskriptor aplikasi
  • Modul dapat berupa:
  • *Web module, EJB module, App. Client module, Resource Adapter module
    *Setiap modul memiliki deskriptor masing-masing
Struktur Ear
Root
|
+——–Resource Adapter Module
|
+——–App Client Module
|
+——–EJB Module
|
+——–Web Module
|
+——–META-INF——–application.xml, sun-application.xml
Deskriptor
  • Deskriptor : informasi tentang modul/aplikasi yang terdapat pada sebuah modul/aplikasi
  • Deskriptor ada 2 macam:
  • * Standar Java EE            : application.xml, ejb-jar.xml, web.xml
    * Spesifik implementasi : sun-application.xml, sun-ejb-jar.xml
  • File konfigurasi (format xml)
    *ear : application.xml (sun-application.xml) berisi deskripsi modul yang ada dalam sebuah aplikasi (tidak diperlukan)
    *ejb : ejb-jar.xml (sun-ejb-jar.xml)
    deskripsi enterprise beans & konfigurasinya (dapat menggunakan anotasi pada EJB 3)
    *web : web.xml (sun-web.xml)
    konfigurasi web app, context parameter servlet, servlet mapping, filter, filter mapping security constraint

Tidak ada komentar:

Posting Komentar