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