250 likes | 421 Views
BAHASA PEMROGRAMAN 3. PERTEMUAN KE 4 TRANSAKSI PARAMETER & EJB [Enterprise Java Beans] BY : TITO SUGIHARTO. Pendahuluan.
E N D
BAHASA PEMROGRAMAN 3 PERTEMUAN KE 4 • TRANSAKSI PARAMETER & • EJB[Enterprise Java Beans] • BY : TITO SUGIHARTO
Pendahuluan • Pada aplikasi berbasis web transaksi parameter sangat sering ditemui. Sebagai contoh pada aplikasi web sering ditemui form yang didalamnya terdapat kolom masukan, radio button atau checkbox. Kemudian nilai-nilai tersebut di-submit ke halaman lain atau halaman itu sendiri. • Nama dari kolom masukkan, radio button dan checkbox tersebut disebut parameter sedangkan nilainya adalah apa yang kita masukkan kedalamnya.
Metode Pengiriman Parameter Secara umum metode yang digunakan dalam pengiriman parameter pada halaman suatu website adalah POST dan GET. Pada bahasa pemrograman lain, misalnya PHP, untuk mengambil nilai parameter yang dikirim dengan metode POST atau GET digunakan fungsi yang berbeda. Pada JSP, untuk mengambil nilai dari parameter tersebut digunakan method yang sama. Method tersebut dimiliki oleh objek request sebagai objek implisit.
Method getParameter(namaParameter) • Keluaran dari method ini adalah bertipe String. • Perhatikan contoh parameter01.jsp
Untuk mengambil nilai parameter yang dikirimkan dari form digunakan baris-baris berikut : <% String paramNama = null; String paramBil1 = null; String paramBil2 = null; paramNama = request.getParameter("paramNama"); paramBil1 = request.getParameter("paramBil1"); paramBil2 = request.getParameter("paramBil2"); %>
Nama parameter paramNama, paramBil1 dan paramBil2 yang terdapat pada method getParameter adalah nama item-item yang terdapat pada form, seperti di bawah ini : <input type='text' name='paramNama'> <input type='text' name='paramBil1'> <input type='text' name='paramBil2'> Seperti yang telah dijelaskan di atas, bahwa nilai yang dikeluarkan oleh method getParameter adalah String, sehingga tipe dari variabel yang menangkap hasil tersebut juga harus bertipe String.
Untuk menampilkan nilai dari variabel yang menangkap nilai parameter tersebut digunakan baris-baris berikut : Nama = <%= paramNama %> <br> Bilangan 1 = <%= paramBil1 %> <br> Bilangan 2 = <%= paramBil2 %> <br> Hasil yang salah = <%= paramBil1+paramBil2 %> <br> Hasil yang benar = <%= Integer.parseInt(paramBil1) + Integer.parseInt(paramBil2) %>
Method getParameterValues(namaParameter) • Keluaran dari method ini adalah Stringbertipe Array. • Perhatikan contoh parameter02.jsp
J2EE Application 2 J2EE Application 1 Client Tier Application Client Dynamic HTML Pages Client Machine JSP Pages Web Tier J2EE Server Machine Enterprise Beans Enterprise Beans BusinessTier Database Database Database Server Machine EISTier Aplikasi Multitier
Pengenalan EJB • JavaBeans adalah class java yang dapatdigunakanulangdalamaplikasi • Enterprise JavaBeans ialahkomponendisisi server yang mengkapsulasi logic bisnissebuahaplikasi. • Logic bisnisialahkode yang memenuhitujuandariaplikasi. Contoh,padaaplikasi inventory, enterprise beans mengimplementasikan logic bisnisdengan method bernama check inventoryleveldan order product.
Keunggulan Enterprise Beans • Mempermudahdanmenyederhanakanpengembanganaplikasiterdistribusi yang besar. • Menyediakanlayanan level sistemke enterprise beans,sehinggapengembang beans dapatberkonsentrasipadamasalahbisnis. • Pengembang client dapatberfokuspadapresentasidari client • Komponen yang portabel
KondisiPenggunaan Enterprise Bean • Aplikasiharusscalable,untukmengakomodasipenambahan user. • Transaksiuntukintegritas data, enterprise bean mendukungmekanismepenangananaksesdariobjek yang di share • Aplikasi yang mempunyaiberbagaijenisklien
Tipe enterprise beans • Session : Mengerjakansebuahtugasuntuksebuah client • Entity : Menampilkansebuahobjekentitasbisnis yang adadipenyimpanan • Message Driven : Berlakusebagaisebuah listener untuk Java Message Service API, memprosespesansecara asynchronous
Session Bean • Session bean merupakansuatuklientunggaldidalam server j2ee. • Untukmengaksesaplikasi yang di-deploy keserver,klienmengambil method session beans. • Session Bean melakukankerjauntukkliennya, melapisikliendarikompleksitasdenganmengeksekusitugasbisnisdidalam server.
2 Tipe Session Bean • Stateful Session Bean Keadaanobjekterdiridarinilaidan variable intance. Karenaklienberinteraksi (“berbicara”) dengan bean, keadaaniniseringdisebutconverstational state • Stateless Session Bean Stateless Session bean tidakmenanganisuatukeadaanconverstational state untukklientertentu.
Statefull Session Bean diguankanjika • Keadaan bean merupakaninteraksidiantara bean danklientertentu • Bean membutuhkaninformasitentangklienterhadappemanggilan method • Bean mengaturalirankerjauntukbeberapa enterprise bean
Stateless Session Bean digunakanjika • Keadaan bean tidakmempunyai data untukklientertentu • Pada single method invocation,beanmelakukansuatutugasumumuntukseluruhklien.contoh, untukmengirim email untukmengkonfirmasi order online. • Bean diaksesdari database sebuah set dari data read only yang seringdigunakanuntukklien
<jsp:useBean> • Using java bean for jsp page for separates presentation and logic tier. • <jsp:useBean id=“name” scope=“scopeName” beanDetails /> Value of scope : page: bean provided for that page request: pages + <jsp:include> and <jsp:forward> session : all jsp page that requested and grouped with 1 session application : bean provided for all jsp pages.
<jsp:setProperty> • For set properties at bean <jsp:setProperty name=“beanName” propertyDetails/>
<jsp:getProperty> • For getting properties from bean • <jsp:getProperty name=“beanName” property=“propertyName”/>
Sample Tag Action <jsp:useBean id=“ActionTagBean” scope=“page” class=“WebJ2EE.ActionTagBean”> <jsp:setProperty name=“ActionTagBean” property=“*”/> </jsp:useBean> jsp:getProperty name="ActionTagBean" property="nama"/>. </p></h3> <h4> <p>BahasaPemrogramanFavoritAndaadalah : <jsp:getProperty name="ActionTagBean" property="bahasa"/>.</p></h4> <font color=red><h3> <p>KomentarTentangBahasaPemrogramanFavoritAnda:</p></h3>
package WebJ2EE; public class ActionTagBean { private String nama; //Property Nama private String bahasa; //Property Bahasa public ActionTagBean() {} //konstruktor //Method untukmenset property nama public void setNama(String nama) { this.nama = nama; } //Method untukmengambilnilai property nama public String getNama() { return nama; } //Method untukmenset property bahasa public void setBahasa(String bahasa) { this.bahasa = bahasa; } //Method untukmengambilnilai property bahasa public String getBahasa() { return bahasa; }
//Method untukmengambilnilaikomentardrbahasa public String getKomentar() { if (bahasa.equals("Java")) { return "Sayajadijago OOP karena Java, jugadaribukuini"; } else if (bahasa.equals("C++")) { return "Bahasa C++ kadangmemusingkankitakarena Pointer"; } else if (bahasa.equals("VBNET")) { return "Rugikalautidakbisa VB.NET"; } else if (bahasa.equals("Visual C#.NET")) { return "Rugikalautidakbisa Visual C#.NET"; } else { return "Andatidaktermasukahlikarena " + bahasa + "."; } } }