250 likes | 360 Views
Start Your EJB Project. How??. Pemahaman Perencanaan Mengatasi tantangan. Steps…. Get the business requirement down Decide whether J2EE is appropriate Decide whether EJB is appropriate Mengapa perlu EJB? Mengapa tidak perlu EJB? Mengapa EJB harus digunakan pada Java class?
E N D
How?? • Pemahaman • Perencanaan • Mengatasi tantangan
Steps… • Get the business requirement down • Decide whether J2EE is appropriate • Decide whether EJB is appropriate • Mengapa perlu EJB? • Mengapa tidak perlu EJB? • Mengapa EJB harus digunakan pada Java class? • Staff your project
Cont.. • Design your complete object model • Implement a single vertical slice • Choose an application server • Divide your team (based on your project goal) • Horizontal approach • Vertical approach • Invest the tools • Invest in a standard build process
And then… Work it on!!
Apa yang harus diperhatikan ketika memilih sebuah produk EJB ? • Fitur-fitur penting yang akan dipakai nantinya
Kriteria memilih EJB server • J2EE 1.3 Brand • Pluggable JRE • Conversion Tools • Complex Mapping • Third-Party JDBC Driver Support • Lazy-Loading
(Cont.) • Deferred Database Writes • Pluggable Persistence Providers • In-Memory Data Cache • Integrated Tier Support • Scalability • High Availability • Security
(Cont.) • IDE Integration • UML Editor Integration • Intelligent Load Balancing • Stateless Transparent Fail-Over • Clustering • Java Management Extension (JMX) • Administrative Support
(Cont.) • Hot Deployment • Instance Pooling • Automatic EJB Generation • Clean Shutdown • Real-Time Deployment • Distributed Transactions • Superior Messaging Architecture
(Cont.) • Provided EJB Components • J2EE Connector Architecture (JCA) • Web Services • Workflow • Open Source • Specialized Services • Nontechnical Criteria
EJB-J2EE Integration: Building a Complete Application • Goal: Learn how to use entity beans, session beans and message driven beans • Studi Kasus : Sebuah perusahaaan yang bergerak dalam penjualan komputer dan perlengkapannya ingin mengurangi cost pendistribusian melalui penjualan bagian-bagian komputer secara langsung kepada consumer melalui e-commerce web based model.
Requirement • User authentication • Online catalog • Shopping carts functionality • Specialized pricing functionality • Order generation • Billing functionality • Email confirmation
Development of the project • Presentation tier • Business logic tier • Data tier
Object Model for Business Logic Tier 1. Products permanent object entity beans 2. Customers permanent object entity beans 3. Carts statefulsession bean 4. Cart Line Items not persistent stateful session bean or Java class.
Object Model for Business Logic Tier(cont) 5. Pricers not persistent object stateless session bean. 6. Orders. permanent object entity beans 7. Order line items permanent object entity bean. 8. Order Processor. message driven beans.
Object Model for Business Logic Tier(cont) Challenge of sending data through JMS: We cannot marshal EJB stubs in a JMS message Solution: Submit order sebelum mengirimkan JMS message, kemudian tandai status order sebagai unverified. Order processor akan menerima primary key dari order tersebut, me-retrieve order entity bean dari database, mengecek credit card, mengirimkan email konfirmasi dan kemudian mengubah status order tersebut sebagai submitted.
Object Model for Presentation Tier Keyword Java servlets dan JSP yang akan di gunakan untuk berinteraksi dengan client via HTTP. - Servlet - Request - Respone
Object Model for Presentation Tier(cont) • HTTP - sangat lugas - memiliki simple method untuk me-respond HTTP request • Java JSP : File yang di terjemahkan kedalam servlet saat runtime. Untuk persentation-oriented task, seperti penterjemahan HTML code.
Menggabungkan Servlets, JSP, dan EJB komponen. <html> <H1>About to call EJB</H1> <% javax.naming.Context ctx = new javax.naming.Context(); Object obj = ctx.lookup("MyEJBHome"); ... %> </html>
Cont • Saat JSP di terjemahkan ke dalam servlet, Java code akan di masukkan kedalam servlet yang di buat. • Interaksi JSP dengan EJB menggunakan custom tags yang disebut JSP tag libraries. • Sekali tag tersebut di design, graphic designers dapat memanggil EJB komponen dengan menggunakan tag-style yang serupa. Tag tersebut kemudian akan memanggil Java Code yang dapat memanggil EJB komponent yang berkaitan.
Cont • Servlet dapat memanggil EJB komponen dan memanggil JSP. • model-view-controller paradigma: lebih dari satu Java Servlet yang dapat mengerti bagaimana memanggil EJB komponen dan mengirimkan hasilnya ke JSP file. • EJB-nya adalah model, JSP adalah view dan servlet sebagai controller - sebab servlet mengerti komponen EJB dan JSP mana yang harus dipanggil.
Yang harus dibuat • Ejb-jar file (.jar) yang mengandung EJB komponen • Web archive file (.war) yang mengandung WEB komponen seperti servlets, JSP, HTML, image dan JSP tag libraries. • Enterprise archive file (.ear) J2EE aplikasi yang mengandung .jar file dan .war file.