TR 3063
Pemrograman Berbasis Komponen




             Pemrograman
          Berbasis Komponen                                                                                                     JavaBeans
                                         TR3063

                                        Restyandito
                                     e-mail       : dito@ukdw.ac.id
                                website : http://lecturer.ukdw.ac.id/~dito
                                                                                                 TR3063 – Pengantar JavaBeans                         © Restyandito - 2




                           Component Model                                                                                 Component Model

           Apa itu component model?                                                                      Kelebihan
                 – A "component" is a building block program that is
                   self-describing.                                                                             mendukung prinsip reusability pada proses
                 – Dapat dijalankan secara independen.                                                          rekayasa perangkat lunak.
                   atau                                                                                         jika suatu aplikasi dibuat menggunakan
                 – Dapat dijalankan bersama dengan komponen-                                                    komponen, pelanggan dapat hanya membeli
                   komponen yang lain secara interaktif untuk
                   melakukan suatu pekerjaan yang kompleks.                                                     fungsionalitas yang diperlukan saja.
                                                                                                                pada visual builders, membantu developers
           Contoh:                                                                                              untuk menggunakan fungsionalitas bisnis
                     Microsoft DCOM/ActiveX                                                                     secara mudah dan cepat
                     JavaBeans / Enterprise JavaBeans
                                                              TM                                                                        TM
 TR3063 – Pengantar JavaBeans                                                © Restyandito - 3   TR3063 – Pengantar JavaBeans                         © Restyandito - 4




© Restyandito                                                                                                                        Pengantar JavaBeans - 1
TR 3063
Pemrograman Berbasis Komponen



                                JavaBeans                                                                       JavaBeans


           Apa itu JavaBeans?                                                              JavaBeans dapat berupa :
                 – component model Java                                                          – Visual bean
                 – komponen perangkat lunak yang reusable                                          (mis. button, text-box)
                 – dapat dimanipulasi secara visual menggunakan                                  – Non-visual bean
                   builder tool                                                                    (mis. FTP, SMTP, ZipCode validator)
                 – memungkinkan pengguna untuk membangun
                   aplikasi secara mudah
                     plugging component bersama-sama secara
                     program atau visual atau keduanya.

                                            TM                                                                               TM
 TR3063 – Pengantar JavaBeans                                © Restyandito - 5   TR3063 – Pengantar JavaBeans                             © Restyandito - 6




                                JavaBeans                                                                         Event

                                                                                      Apa itu event?
           Lima fungsionalitas penting yand didukung
           oleh JavaBeans                                                                   A source bean fires an event, while a listener
            –   Event                                                                       bean receives the event and responds to the
            –   Property                                                                    event.
            –   Persistence                                                                 – suatu message yang dikirim dari satu objek ke
            –   Introspection                                                                 objek yang lain
            –   Customization                                                               – Pemberitahuan kepada penerima
                                                                                              (recipient) bahwa telah terjadi
                                                                                              ‘sesuatu’
                                            TM                                                                               TM
 TR3063 – Pengantar JavaBeans                                © Restyandito - 7   TR3063 – Pengantar JavaBeans                             © Restyandito - 8




© Restyandito                                                                                                             Pengantar JavaBeans - 2
TR 3063
Pemrograman Berbasis Komponen



                                   Event                                                                                  Property

     Mengapa diperlukan JavaBeans?                                                              Apa itu property ?
            untuk komunikasi antar beans                                                         Public attributes of a bean that affects its apearance
                                                                                                 or behavior
      Tiga element pada event model                                                              – Mendefinisikan karakteristik dari suatu bean
         – Event source                                                                            Contoh: bean untuk melakukan fungsi RTP
         – Event listener                                                                                            possible properties : jumlah koneksi maks
         – Event object                                                                          – dapat di : read/write, read-only atau write-only


                                               TM                                                                                        TM
 TR3063 – Pengantar JavaBeans                                     © Restyandito - 9   TR3063 – Pengantar JavaBeans                                          © Restyandito - 10




                                Property                                                                                  Property
                                                                                           • Empat jenis property
           Apa itu property ?                                                                    – Simple Property
                                                                                                       • Yang paling sederhana
            – Method untuk get/set property values
                                                                                                 – Indexed Property
                 public void set<PropertyName>(<PropertyType> value);                                  • Suatu property tunggal dapat menyimpan arary of
                 public <PropertyType> get<PropertyName>();                                              values
                                                                                                 – Bound property
                                                                                                       • Memberi tahu listeners jika salah satu properti dari
                                                                                                         properti mengalami perubahan
                                                                                                 – Constrained property
                                                                                                       • Memungkinkan listeners untuk memilih jika diijinkan
                                                                                                         untuk merubah property

                                               TM
 TR3063 – Pengantar JavaBeans                                    © Restyandito - 11   TR3063 – Pengantar JavaBeans                                          © Restyandito - 12




© Restyandito                                                                                                                        Pengantar JavaBeans - 3
TR 3063
Pemrograman Berbasis Komponen



                                 Persistence                                                                      Object serialization

           Apa itu persistence ?
                                                                                                 • Persistence dapat diperoleh dengan object
            Enable a bean to save and restore its state
                                                                                                   serialization
            – development tool menyimpan JavaBean di
                                                                                                    – Save semua content dari suatu object pada
              dalam hard disk, dan dapat di-load suatu waktu
                                                                                                      data stream
            – memelihara nilai property tanpa tergantung
                                                                                                    – Generate kembali objek ketika membuat
              apakah JavaBeans terdapat di memory atau
                                                                                                      (create) dari data stream
              hard disk
               Applikasi                                                                         • Data stream dapat berupa file, suatu array di
                           Persistent                  Persistent                                  memory, dsb.
                             State                      Storage
                                                 TM                                                                                          TM
 TR3063 – Pengantar JavaBeans                                        © Restyandito - 13   TR3063 – Pengantar JavaBeans                                     © Restyandito - 14




                         Object serialization                                                                     Object serialization

           Contoh
            Apel apel = new Apel(Color.green);                                                    FileInputStream f = new FileInputputStream(“apel.tmp”);
            FileOutputStream f = new FileOutputStream(“apel.tmp”);                                ObjectInputStream s = new ObjectInputStream(f);
            ObjectOutputStream s = new ObjectOutputStream(f);                                     Apel apel = (Apel)s.readObject();
            s.writeObject(apel);
            s.flush();
                                                                                                  f.close();
            f.close();


                                  ObjectOutputStream
                                  ObjectOutputStream                                                                     ObjectInputStream
                                                                                                                         ObjectInputStream

        objek                                                                                    objek
         apel                                                                                     apel                     FileInputStream
                                                                                                                           FileInputStream
                                   FileOutputStream
                                   FileOutputStream         file di harddisk                                                                      file di harddisk
 TR3063 – Pengantar JavaBeans
                                                 TM            “apel.tmp” - 15
                                                                    © Restyandito         TR3063 – Pengantar JavaBeans
                                                                                                                                             TM      “apel.tmp” - 16
                                                                                                                                                          © Restyandito




© Restyandito                                                                                                                         Pengantar JavaBeans - 4
TR 3063
Pemrograman Berbasis Komponen



                                Introspection                                                                  Introspection

      • Bagaimana development tools mengetahui                                        Apa itu introspection?
        method/event/property yang terdapat pada                                      To learn about the properties, events, and methods
        suatu beans?
                                                                                      supported by a target Java Bean.
         – Introspection                                                              • Buat class XXXBeanInfo khusus untuk
         – Java Reflection API                                                          menjelaskan class XXX to secara detil
      • Java Reflection API digunakan jika bean tidak                                 • BeanInfo mendefinisikan informasi bean
        mendukungintrospection                                                          berikut:
                                                                                            –   Icon (displayed in development tool)           aku punya
                                                                                            –   Property                                     informasi mu!

                                                                                            –   Method
                                                                                            –   Other information
                                         TM                                                                                      TM   BeanInfo      Bean
 TR3063 – Pengantar JavaBeans                           © Restyandito - 17   TR3063 – Pengantar JavaBeans                                           © Restyandito - 18




                         Java Reflection API                                                         Java Reflection API
                                                                                         Contoh:
                                                                                                – Bagaimana mencari nama class suatu objek?
      Apa itu Java Reflection API ?
                                                                                                            Button b     = new Button();
      A Java API for find out the methods, fields, constructors,                                            Class c      = b.getClass();
      superclasses at RUNTIME                                                                               String s     = c.getName();
      • API ini juga digunakan untuk menulis development                                                    System.out.println(s);
        tools yang lain:                                                                        – Bagaimana mencari superclass suatu class?
             – debuggers                                                                                    Button b     = new Button();
             – class browsers                                                                               Class c      = b.getClass();
             – GUI builders                                                                                 Class sc     = c.getSuperclass();
                                                                                                            String s     = sc.getName();
                                                                                                            System.out.println(s);
                                         TM                                                                                      TM
 TR3063 – Pengantar JavaBeans                           © Restyandito - 19   TR3063 – Pengantar JavaBeans                                           © Restyandito - 20




© Restyandito                                                                                                                Pengantar JavaBeans - 5
TR 3063
Pemrograman Berbasis Komponen



                         Java Reflection API                                                                                    Referensi JavaBeans
          Contoh :
                – Bagaimana mengetahui fields suatu objek?
                                                                                                                • Sun JavaBeans tutorial
            Button b     = new Button();
                                                                                                                  http://java.sun.com/docs/books/tutorial/javabeans
            Class c      = b.getClass();
            Field[] f    = c.getFields();                                                                       • Writing JavaBeans using Jbuilder Java
            System.out.println(f[0].getName() + f[0].getType());                                                  BeansExpress
                – Bagaimana mengetahui method suatu objek?                                                        http://www.drbob42.com/jbuilder/javabean.htm
     Button b     = new Button();
     Class c      = b.getClass();
     Method[] m = c.getMethods();
     System.out.println(m[0].getName() + m[0].getReturnType());
                                                            TM                                                                                TM
 TR3063 – Pengantar JavaBeans                                                         © Restyandito - 21   TR3063 – Pengantar JavaBeans                      © Restyandito - 22




                       JavaBeans Resources

           • Java Bean Development Kit (BDK)
                (http://java.sun.com/products/javabeans/software/bdk_download.html)


           • Java IDEs that support JavaBeans

                                                                                                               Enterprise JavaBeans
                 – SUN ONE Studio 4
                  (http://wwws.sun.com/software/sundev/jde/)
                 – IBM VisualAge for Java
                   (http://www-4.ibm.com/software/ad/vajava/)
                 – Borland JBuilder
                   (http://www.inprise.com/jbuilder/)

                                                            TM
 TR3063 – Pengantar JavaBeans                                                         © Restyandito - 23   TR3063 – Pola Adaptor & Facade
                                                                                                                    Pengantar JavaBeans                      © Restyandito - 24




© Restyandito                                                                                                                               Pengantar JavaBeans - 6
TR 3063
Pemrograman Berbasis Komponen




                    Enterprise JavaBeans                                                                        Enterprise JavaBeans
      • Enterprise JavaBeans (EJB)                                                                    • Empat element utama di EJB
           (http://java.sun.com/products/ejb/index.html)                                                    – EJB Server
      • mirip dengan CORBA                                                                                  – EJB Container
      • Suatu spesifikasi untuk mendefinisikan                                                              – Beans
                                                                                                                                                               EJB Server
        arsitektur pengembangan komponen                                                                    – EJB Client
        perangkat lunak yang:
                                                                                                                                                            EJB Container
            – transactional                                                                                                 EJB Client
            – distributed object applications-based
            – server-side
 TR3063 – Pengantar JavaBeans         Enterprise JavaBeans TM           © Restyandito - 25   TR3063 – Pengantar JavaBeans         Enterprise JavaBeans TM           © Restyandito - 26




                                  EJB Server                                                                                EJB Container
      • memberikan servis penamaan dan                                                         • Interface antara bean dan dunia luar
        transaksi                                                                              • Enterprise beans tidak dapat berfungsi di luar
                                                                                                 container
      • membuat containers “visible”                                                           • Client mengakses bean melalui container
                                                                   EJB Server                  • Mengatur semua aspek                        EJB Server
                                                                                                 dari enterprise bean
                                                                                                     –   Remote access
                                                                EJB Container                        –   Security                                           EJB Container
                                EJB Client                                                           –   Persistence              EJB Client
                                                                                                     –   Transactions
                                                                                                     –   Concurrency

 TR3063 – Pengantar JavaBeans         Enterprise JavaBeans TM           © Restyandito - 27   TR3063 – Pengantar JavaBeans         Enterprise JavaBeans TM           © Restyandito - 28




© Restyandito                                                                                                                                    Pengantar JavaBeans - 7
TR 3063
Pemrograman Berbasis Komponen




                                 EJB Client                                                         Enterprise JavaBeans
           • Beans berada di bawah Environment                                           • menyediakan service untuk klien EJB
             Naming Context (ENC)                                                        • “Hidup” di dalam container EJB
           • ENC diatur oleh container
                                                                                         • tipe
           • Client dapat mencari container EJB via
                                                                                               – Session bean
             Java Naming and Directory Interface                                                                                                         EJB Server
             (JNDI)                                                                            – Entity bean
           • Menggunakan beans untuk melakukan                                                                                                    EJB Container
                                                                                                                EJB Client
             operasi


 TR3063 – Pengantar JavaBeans     Enterprise JavaBeans TM   © Restyandito - 29   TR3063 – Pengantar JavaBeans         Enterprise JavaBeans TM                  © Restyandito - 30




                                Session bean                                                                    Session bean
         • representasi proses / task, yang                                              • Berinterakasi dengan resources lain,
           dilakukan atas nama client                                                      yaitu session beans lain, entity beans
         • Berasosiasi dengan client tertentu                                              dan akses resources
         • di-create dan di-destroy oleh client                                          • Tipe
         • Hilang setelah system shutdown                                                      – Stateless
                                                                                                     • Tidak menyimpan record apa yang dilakukan client pada
                                                                                                       previous call
                                                                                               – Stateful
                                                                                                     • Menyimpan record apa yang dilakukan client pada
                                                                                                       previous call

                                                             Session                                                                                            Session
                                                              bean                                                                                               bean

 TR3063 – Pengantar JavaBeans     Enterprise JavaBeans TM   © Restyandito - 31   TR3063 – Pengantar JavaBeans         Enterprise JavaBeans TM                  © Restyandito - 32




© Restyandito                                                                                                                        Pengantar JavaBeans - 8
TR 3063
Pemrograman Berbasis Komponen




                                Entity bean                                                                                  Contoh EJB
      • representasi data dalam database                                                           • sistem database toko buku
      • menyediakan interface berbasis objek                                                       • mengelola informasi mengenai
        pada data yang biasanya harus                                                                    – Customer
        diakses menggunakan JDBC / API                                                                   – Book
        yang lain                                                                                        – Order
      • tipe                                                                                       • melakukan operasi pada sistem
            – Container-Managed Persistence (CMP)                                                        – Customer memesan buku
            – Bean-Managed Persistence (BMP)


                                                                         Entity
                                                                         bean
 TR3063 – Pengantar JavaBeans     Enterprise JavaBeans TM                © Restyandito - 33   TR3063 – Pengantar JavaBeans      Enterprise JavaBeans TM       © Restyandito - 34




                                   Contoh                                                                                       Contoh
                     Session                                EJB Server
                      bean                                                                             • customer memesan buku
                                                       EJB Container      Entity
                                                                          bean
 EJB Maintenance                                                                                     // In the client program
  client program
                                                                                                     CustomerHome chome = // obtain home interface
                                                             Order                                   Customer customer = chome.findByName(“Lee Tai Ha”);

       EJB POS                            Maintainer
                                                                                                     BookHome bhome = // obtain home interface
   client program                                                                                    Book book = bhome.findByName(“Soft. Eng”);
                                                             Book         Database
                                                                                                     SalesHome shome = // obtain home inteface
                                             Sales                                                   Sales sales = shome.create();
   EJB Customer
   client program                                           Customer                                 sales.orderBook(customer, book, otherInformation);
 TR3063 – Pengantar JavaBeans   Enterprise JavaBeans   TM
                                                                         © Restyandito - 35   TR3063 – Pengantar JavaBeans      Enterprise JavaBeans TM       © Restyandito - 36




© Restyandito                                                                                                                                  Pengantar JavaBeans - 9
TR 3063
Pemrograman Berbasis Komponen




                                EJB Resources
    • J2EE (Java 2 Enterprise Edition)
      (http://java.sun.com/j2ee/)

    • EJB Tutorial
      http://developer.java.sun.com/developer/onlineTraining
      /Beans/EJBTutorial/
    • JBoss (www.jboss.org)
                                                                                                   The End
                                                                                                   terima kasih
    • PowerTier for J2EE
         (http://www.persistence.com/products/powertier/j2ee_datasheet.php)




 TR3063 – Pengantar JavaBeans      Enterprise JavaBeans TM                    © Restyandito - 37




© Restyandito                                                                                            Pengantar JavaBeans - 10

Pengantar javabeans

  • 1.
    TR 3063 Pemrograman BerbasisKomponen Pemrograman Berbasis Komponen JavaBeans TR3063 Restyandito e-mail : dito@ukdw.ac.id website : http://lecturer.ukdw.ac.id/~dito TR3063 – Pengantar JavaBeans © Restyandito - 2 Component Model Component Model Apa itu component model? Kelebihan – A "component" is a building block program that is self-describing. mendukung prinsip reusability pada proses – Dapat dijalankan secara independen. rekayasa perangkat lunak. atau jika suatu aplikasi dibuat menggunakan – Dapat dijalankan bersama dengan komponen- komponen, pelanggan dapat hanya membeli komponen yang lain secara interaktif untuk melakukan suatu pekerjaan yang kompleks. fungsionalitas yang diperlukan saja. pada visual builders, membantu developers Contoh: untuk menggunakan fungsionalitas bisnis Microsoft DCOM/ActiveX secara mudah dan cepat JavaBeans / Enterprise JavaBeans TM TM TR3063 – Pengantar JavaBeans © Restyandito - 3 TR3063 – Pengantar JavaBeans © Restyandito - 4 © Restyandito Pengantar JavaBeans - 1
  • 2.
    TR 3063 Pemrograman BerbasisKomponen JavaBeans JavaBeans Apa itu JavaBeans? JavaBeans dapat berupa : – component model Java – Visual bean – komponen perangkat lunak yang reusable (mis. button, text-box) – dapat dimanipulasi secara visual menggunakan – Non-visual bean builder tool (mis. FTP, SMTP, ZipCode validator) – memungkinkan pengguna untuk membangun aplikasi secara mudah plugging component bersama-sama secara program atau visual atau keduanya. TM TM TR3063 – Pengantar JavaBeans © Restyandito - 5 TR3063 – Pengantar JavaBeans © Restyandito - 6 JavaBeans Event Apa itu event? Lima fungsionalitas penting yand didukung oleh JavaBeans A source bean fires an event, while a listener – Event bean receives the event and responds to the – Property event. – Persistence – suatu message yang dikirim dari satu objek ke – Introspection objek yang lain – Customization – Pemberitahuan kepada penerima (recipient) bahwa telah terjadi ‘sesuatu’ TM TM TR3063 – Pengantar JavaBeans © Restyandito - 7 TR3063 – Pengantar JavaBeans © Restyandito - 8 © Restyandito Pengantar JavaBeans - 2
  • 3.
    TR 3063 Pemrograman BerbasisKomponen Event Property Mengapa diperlukan JavaBeans? Apa itu property ? untuk komunikasi antar beans Public attributes of a bean that affects its apearance or behavior Tiga element pada event model – Mendefinisikan karakteristik dari suatu bean – Event source Contoh: bean untuk melakukan fungsi RTP – Event listener possible properties : jumlah koneksi maks – Event object – dapat di : read/write, read-only atau write-only TM TM TR3063 – Pengantar JavaBeans © Restyandito - 9 TR3063 – Pengantar JavaBeans © Restyandito - 10 Property Property • Empat jenis property Apa itu property ? – Simple Property • Yang paling sederhana – Method untuk get/set property values – Indexed Property public void set<PropertyName>(<PropertyType> value); • Suatu property tunggal dapat menyimpan arary of public <PropertyType> get<PropertyName>(); values – Bound property • Memberi tahu listeners jika salah satu properti dari properti mengalami perubahan – Constrained property • Memungkinkan listeners untuk memilih jika diijinkan untuk merubah property TM TR3063 – Pengantar JavaBeans © Restyandito - 11 TR3063 – Pengantar JavaBeans © Restyandito - 12 © Restyandito Pengantar JavaBeans - 3
  • 4.
    TR 3063 Pemrograman BerbasisKomponen Persistence Object serialization Apa itu persistence ? • Persistence dapat diperoleh dengan object Enable a bean to save and restore its state serialization – development tool menyimpan JavaBean di – Save semua content dari suatu object pada dalam hard disk, dan dapat di-load suatu waktu data stream – memelihara nilai property tanpa tergantung – Generate kembali objek ketika membuat apakah JavaBeans terdapat di memory atau (create) dari data stream hard disk Applikasi • Data stream dapat berupa file, suatu array di Persistent Persistent memory, dsb. State Storage TM TM TR3063 – Pengantar JavaBeans © Restyandito - 13 TR3063 – Pengantar JavaBeans © Restyandito - 14 Object serialization Object serialization Contoh Apel apel = new Apel(Color.green); FileInputStream f = new FileInputputStream(“apel.tmp”); FileOutputStream f = new FileOutputStream(“apel.tmp”); ObjectInputStream s = new ObjectInputStream(f); ObjectOutputStream s = new ObjectOutputStream(f); Apel apel = (Apel)s.readObject(); s.writeObject(apel); s.flush(); f.close(); f.close(); ObjectOutputStream ObjectOutputStream ObjectInputStream ObjectInputStream objek objek apel apel FileInputStream FileInputStream FileOutputStream FileOutputStream file di harddisk file di harddisk TR3063 – Pengantar JavaBeans TM “apel.tmp” - 15 © Restyandito TR3063 – Pengantar JavaBeans TM “apel.tmp” - 16 © Restyandito © Restyandito Pengantar JavaBeans - 4
  • 5.
    TR 3063 Pemrograman BerbasisKomponen Introspection Introspection • Bagaimana development tools mengetahui Apa itu introspection? method/event/property yang terdapat pada To learn about the properties, events, and methods suatu beans? supported by a target Java Bean. – Introspection • Buat class XXXBeanInfo khusus untuk – Java Reflection API menjelaskan class XXX to secara detil • Java Reflection API digunakan jika bean tidak • BeanInfo mendefinisikan informasi bean mendukungintrospection berikut: – Icon (displayed in development tool) aku punya – Property informasi mu! – Method – Other information TM TM BeanInfo Bean TR3063 – Pengantar JavaBeans © Restyandito - 17 TR3063 – Pengantar JavaBeans © Restyandito - 18 Java Reflection API Java Reflection API Contoh: – Bagaimana mencari nama class suatu objek? Apa itu Java Reflection API ? Button b = new Button(); A Java API for find out the methods, fields, constructors, Class c = b.getClass(); superclasses at RUNTIME String s = c.getName(); • API ini juga digunakan untuk menulis development System.out.println(s); tools yang lain: – Bagaimana mencari superclass suatu class? – debuggers Button b = new Button(); – class browsers Class c = b.getClass(); – GUI builders Class sc = c.getSuperclass(); String s = sc.getName(); System.out.println(s); TM TM TR3063 – Pengantar JavaBeans © Restyandito - 19 TR3063 – Pengantar JavaBeans © Restyandito - 20 © Restyandito Pengantar JavaBeans - 5
  • 6.
    TR 3063 Pemrograman BerbasisKomponen Java Reflection API Referensi JavaBeans Contoh : – Bagaimana mengetahui fields suatu objek? • Sun JavaBeans tutorial Button b = new Button(); http://java.sun.com/docs/books/tutorial/javabeans Class c = b.getClass(); Field[] f = c.getFields(); • Writing JavaBeans using Jbuilder Java System.out.println(f[0].getName() + f[0].getType()); BeansExpress – Bagaimana mengetahui method suatu objek? http://www.drbob42.com/jbuilder/javabean.htm Button b = new Button(); Class c = b.getClass(); Method[] m = c.getMethods(); System.out.println(m[0].getName() + m[0].getReturnType()); TM TM TR3063 – Pengantar JavaBeans © Restyandito - 21 TR3063 – Pengantar JavaBeans © Restyandito - 22 JavaBeans Resources • Java Bean Development Kit (BDK) (http://java.sun.com/products/javabeans/software/bdk_download.html) • Java IDEs that support JavaBeans Enterprise JavaBeans – SUN ONE Studio 4 (http://wwws.sun.com/software/sundev/jde/) – IBM VisualAge for Java (http://www-4.ibm.com/software/ad/vajava/) – Borland JBuilder (http://www.inprise.com/jbuilder/) TM TR3063 – Pengantar JavaBeans © Restyandito - 23 TR3063 – Pola Adaptor & Facade Pengantar JavaBeans © Restyandito - 24 © Restyandito Pengantar JavaBeans - 6
  • 7.
    TR 3063 Pemrograman BerbasisKomponen Enterprise JavaBeans Enterprise JavaBeans • Enterprise JavaBeans (EJB) • Empat element utama di EJB (http://java.sun.com/products/ejb/index.html) – EJB Server • mirip dengan CORBA – EJB Container • Suatu spesifikasi untuk mendefinisikan – Beans EJB Server arsitektur pengembangan komponen – EJB Client perangkat lunak yang: EJB Container – transactional EJB Client – distributed object applications-based – server-side TR3063 – Pengantar JavaBeans Enterprise JavaBeans TM © Restyandito - 25 TR3063 – Pengantar JavaBeans Enterprise JavaBeans TM © Restyandito - 26 EJB Server EJB Container • memberikan servis penamaan dan • Interface antara bean dan dunia luar transaksi • Enterprise beans tidak dapat berfungsi di luar container • membuat containers “visible” • Client mengakses bean melalui container EJB Server • Mengatur semua aspek EJB Server dari enterprise bean – Remote access EJB Container – Security EJB Container EJB Client – Persistence EJB Client – Transactions – Concurrency TR3063 – Pengantar JavaBeans Enterprise JavaBeans TM © Restyandito - 27 TR3063 – Pengantar JavaBeans Enterprise JavaBeans TM © Restyandito - 28 © Restyandito Pengantar JavaBeans - 7
  • 8.
    TR 3063 Pemrograman BerbasisKomponen EJB Client Enterprise JavaBeans • Beans berada di bawah Environment • menyediakan service untuk klien EJB Naming Context (ENC) • “Hidup” di dalam container EJB • ENC diatur oleh container • tipe • Client dapat mencari container EJB via – Session bean Java Naming and Directory Interface EJB Server (JNDI) – Entity bean • Menggunakan beans untuk melakukan EJB Container EJB Client operasi TR3063 – Pengantar JavaBeans Enterprise JavaBeans TM © Restyandito - 29 TR3063 – Pengantar JavaBeans Enterprise JavaBeans TM © Restyandito - 30 Session bean Session bean • representasi proses / task, yang • Berinterakasi dengan resources lain, dilakukan atas nama client yaitu session beans lain, entity beans • Berasosiasi dengan client tertentu dan akses resources • di-create dan di-destroy oleh client • Tipe • Hilang setelah system shutdown – Stateless • Tidak menyimpan record apa yang dilakukan client pada previous call – Stateful • Menyimpan record apa yang dilakukan client pada previous call Session Session bean bean TR3063 – Pengantar JavaBeans Enterprise JavaBeans TM © Restyandito - 31 TR3063 – Pengantar JavaBeans Enterprise JavaBeans TM © Restyandito - 32 © Restyandito Pengantar JavaBeans - 8
  • 9.
    TR 3063 Pemrograman BerbasisKomponen Entity bean Contoh EJB • representasi data dalam database • sistem database toko buku • menyediakan interface berbasis objek • mengelola informasi mengenai pada data yang biasanya harus – Customer diakses menggunakan JDBC / API – Book yang lain – Order • tipe • melakukan operasi pada sistem – Container-Managed Persistence (CMP) – Customer memesan buku – Bean-Managed Persistence (BMP) Entity bean TR3063 – Pengantar JavaBeans Enterprise JavaBeans TM © Restyandito - 33 TR3063 – Pengantar JavaBeans Enterprise JavaBeans TM © Restyandito - 34 Contoh Contoh Session EJB Server bean • customer memesan buku EJB Container Entity bean EJB Maintenance // In the client program client program CustomerHome chome = // obtain home interface Order Customer customer = chome.findByName(“Lee Tai Ha”); EJB POS Maintainer BookHome bhome = // obtain home interface client program Book book = bhome.findByName(“Soft. Eng”); Book Database SalesHome shome = // obtain home inteface Sales Sales sales = shome.create(); EJB Customer client program Customer sales.orderBook(customer, book, otherInformation); TR3063 – Pengantar JavaBeans Enterprise JavaBeans TM © Restyandito - 35 TR3063 – Pengantar JavaBeans Enterprise JavaBeans TM © Restyandito - 36 © Restyandito Pengantar JavaBeans - 9
  • 10.
    TR 3063 Pemrograman BerbasisKomponen EJB Resources • J2EE (Java 2 Enterprise Edition) (http://java.sun.com/j2ee/) • EJB Tutorial http://developer.java.sun.com/developer/onlineTraining /Beans/EJBTutorial/ • JBoss (www.jboss.org) The End terima kasih • PowerTier for J2EE (http://www.persistence.com/products/powertier/j2ee_datasheet.php) TR3063 – Pengantar JavaBeans Enterprise JavaBeans TM © Restyandito - 37 © Restyandito Pengantar JavaBeans - 10