Pengantar javabeans

  • 1,164 views
Uploaded on

Java enterprise

Java enterprise

More in: Education , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,164
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
38
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. TR 3063Pemrograman 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
  • 2. TR 3063Pemrograman 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
  • 3. TR 3063Pemrograman 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
  • 4. TR 3063Pemrograman 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
  • 5. TR 3063Pemrograman 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
  • 6. TR 3063Pemrograman 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
  • 7. TR 3063Pemrograman 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
  • 8. TR 3063Pemrograman 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
  • 9. TR 3063Pemrograman 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
  • 10. TR 3063Pemrograman 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