Your SlideShare is downloading. ×

Pengantar javabeans

1,205

Published on

Java enterprise

Java enterprise

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,205
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
41
Comments
0
Likes
1
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

×