You are on page 1of 10

TR 3063 Pemrograman Berbasis Komponen

Pemrograman Berbasis Komponen


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

JavaBeans

Restyandito - 2

Component 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 komponenkomponen yang lain secara interaktif untuk melakukan suatu pekerjaan yang kompleks.

Component Model
Kelebihan 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
TR3063 Pengantar JavaBeans
TM

Contoh:
Microsoft DCOM/ActiveX JavaBeans / Enterprise JavaBeans
TR3063 Pengantar JavaBeans
TM

Restyandito - 3

Restyandito - 4

Restyandito

Pengantar JavaBeans - 1

TR 3063 Pemrograman Berbasis Komponen

JavaBeans
Apa itu JavaBeans?
component model Java komponen perangkat lunak yang reusable dapat dimanipulasi secara visual menggunakan builder tool memungkinkan pengguna untuk membangun aplikasi secara mudah plugging component bersama-sama secara program atau visual atau keduanya.
TR3063 Pengantar JavaBeans
TM

JavaBeans
JavaBeans dapat berupa :
Visual bean (mis. button, text-box) Non-visual bean (mis. FTP, SMTP, ZipCode validator)

Restyandito - 5

TR3063 Pengantar JavaBeans

TM

Restyandito - 6

JavaBeans
Lima fungsionalitas penting yand didukung oleh JavaBeans
Event Property Persistence Introspection Customization

Event
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
Restyandito - 7 TR3063 Pengantar JavaBeans
TM

TR3063 Pengantar JavaBeans

TM

Restyandito - 8

Restyandito

Pengantar JavaBeans - 2

TR 3063 Pemrograman Berbasis Komponen

Event
Mengapa diperlukan JavaBeans? untuk komunikasi antar beans Tiga element pada event model Event source Event listener Event object

Property
Apa itu property ?
Public attributes of a bean that affects its apearance or 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

TM

Restyandito - 9

TR3063 Pengantar JavaBeans

TM

Restyandito - 10

Property
Apa itu property ?
Method untuk get/set property values
public void set<PropertyName>(<PropertyType> value); public <PropertyType> get<PropertyName>();

Property
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
TR3063 Pengantar JavaBeans
TM

Restyandito - 11

TR3063 Pengantar JavaBeans

Restyandito - 12

Restyandito

Pengantar JavaBeans - 3

TR 3063 Pemrograman Berbasis Komponen

Persistence
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
Applikasi

Object 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.
TR3063 Pengantar JavaBeans
TM

Persistent State
TR3063 Pengantar JavaBeans
TM

Persistent Storage
Restyandito - 13

Restyandito - 14

Object serialization
Contoh
Apel apel = new Apel(Color.green); FileOutputStream f = new FileOutputStream(apel.tmp); ObjectOutputStream s = new ObjectOutputStream(f); s.writeObject(apel); s.flush(); f.close();

Object serialization
FileInputStream f = new FileInputputStream(apel.tmp); ObjectInputStream s = new ObjectInputStream(f); Apel apel = (Apel)s.readObject(); f.close(); ObjectInputStream ObjectInputStream objek apel
TR3063 Pengantar JavaBeans

ObjectOutputStream ObjectOutputStream objek apel


TR3063 Pengantar JavaBeans

FileOutputStream FileOutputStream
TM

file di harddisk apel.tmp - 15 Restyandito

FileInputStream FileInputStream
TM

file di harddisk apel.tmp - 16 Restyandito

Restyandito

Pengantar JavaBeans - 4

TR 3063 Pemrograman Berbasis Komponen

Introspection
Bagaimana development tools mengetahui method/event/property yang terdapat pada suatu beans? Introspection Java Reflection API Java Reflection API digunakan jika bean tidak mendukungintrospection

Introspection
Apa itu introspection? To learn about the properties, events, and methods supported 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
TM

aku punya informasi mu!

TR3063 Pengantar JavaBeans

TM

Restyandito - 17

TR3063 Pengantar JavaBeans

BeanInfo

Bean

Restyandito - 18

Java 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
TR3063 Pengantar JavaBeans
TM

Java Reflection API


Contoh:
Bagaimana mencari nama class suatu objek?
Button b = new Button(); Class c = b.getClass(); String s = c.getName(); System.out.println(s);

Bagaimana mencari superclass suatu class?


Button b = new Button(); Class c = b.getClass(); Class sc = c.getSuperclass(); String s = sc.getName(); System.out.println(s);

Restyandito - 19

TR3063 Pengantar JavaBeans

TM

Restyandito - 20

Restyandito

Pengantar JavaBeans - 5

TR 3063 Pemrograman Berbasis Komponen

Java Reflection API


Contoh :
Bagaimana mengetahui fields suatu objek?
Button b = new Button(); Class c = b.getClass(); Field[] f = c.getFields(); System.out.println(f[0].getName() + f[0].getType());

Referensi JavaBeans
Sun JavaBeans tutorial http://java.sun.com/docs/books/tutorial/javabeans Writing JavaBeans using Jbuilder Java BeansExpress http://www.drbob42.com/jbuilder/javabean.htm

Bagaimana mengetahui method suatu objek?


Button b = new Button(); Class c = b.getClass(); Method[] m = c.getMethods(); System.out.println(m[0].getName() + m[0].getReturnType());
TR3063 Pengantar JavaBeans
TM

Restyandito - 21

TR3063 Pengantar JavaBeans

TM

Restyandito - 22

JavaBeans Resources
Java Bean Development Kit (BDK) 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/)
TR3063 Pengantar JavaBeans
TM

(http://java.sun.com/products/javabeans/software/bdk_download.html)

Enterprise JavaBeans

Restyandito - 23

TR3063 Pola Adaptor & Facade Pengantar JavaBeans

Restyandito - 24

Restyandito

Pengantar JavaBeans - 6

TR 3063 Pemrograman Berbasis Komponen

Enterprise JavaBeans
Enterprise JavaBeans (EJB)
(http://java.sun.com/products/ejb/index.html)

Enterprise JavaBeans
Empat element utama di EJB
EJB Server EJB Container Beans EJB Client
EJB Client

mirip dengan CORBA Suatu spesifikasi untuk mendefinisikan arsitektur pengembangan komponen perangkat lunak yang:
transactional distributed object applications-based server-side
TR3063 Pengantar JavaBeans

EJB Server EJB Container

Enterprise JavaBeans TM

Restyandito - 25

TR3063 Pengantar JavaBeans

Enterprise JavaBeans TM

Restyandito - 26

EJB Server
memberikan servis penamaan dan transaksi membuat containers visible
EJB Server EJB Container

EJB Container
Interface antara bean dan dunia luar Enterprise beans tidak dapat berfungsi di luar container Client mengakses bean melalui container Mengatur semua aspek EJB Server dari enterprise bean
Remote access Security Persistence Transactions Concurrency

EJB Client

EJB Client

EJB Container

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
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 JavaBeans
menyediakan service untuk klien EJB Hidup di dalam container EJB tipe
Session bean Entity bean
EJB Client EJB Server EJB Container

TR3063 Pengantar JavaBeans

Enterprise JavaBeans TM

Restyandito - 29

TR3063 Pengantar JavaBeans

Enterprise JavaBeans TM

Restyandito - 30

Session bean
representasi proses / task, yang dilakukan atas nama client Berasosiasi dengan client tertentu di-create dan di-destroy oleh client Hilang setelah system shutdown

Session 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 Session bean
TR3063 Pengantar JavaBeans

Session bean
TR3063 Pengantar JavaBeans

Enterprise JavaBeans TM

Restyandito - 31

Enterprise JavaBeans TM

Restyandito - 32

Restyandito

Pengantar JavaBeans - 8

TR 3063 Pemrograman Berbasis Komponen

Entity 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)
Entity bean
TR3063 Pengantar JavaBeans

Contoh EJB
sistem database toko buku mengelola informasi mengenai
Customer Book Order

melakukan operasi pada sistem


Customer memesan buku

Enterprise JavaBeans TM

Restyandito - 33

TR3063 Pengantar JavaBeans

Enterprise JavaBeans TM

Restyandito - 34

Contoh
Session bean

Contoh
EJB Server

customer memesan buku


Entity bean

EJB Container EJB Maintenance client program


Order

// In the client program CustomerHome chome = // obtain home interface Customer customer = chome.findByName(Lee Tai Ha); BookHome bhome = // obtain home interface Book book = bhome.findByName(Soft. Eng);

EJB POS client program EJB Customer client program


TR3063 Pengantar JavaBeans

Maintainer Book Sales Customer


Enterprise JavaBeans
TM

Database

SalesHome shome = // obtain home inteface Sales sales = shome.create(); sales.orderBook(customer, book, otherInformation);

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) PowerTier for J2EE

The End
terima kasih

(http://www.persistence.com/products/powertier/j2ee_datasheet.php)

TR3063 Pengantar JavaBeans

Enterprise JavaBeans TM

Restyandito - 37

Restyandito

Pengantar JavaBeans - 10

You might also like