Chapter 9 Adding Functionality to Your Beans [menambahkan fungsi-fungsi pada Bean] Sumber : Ed Roman, Scott Ambler, Tyler Jewell, Mastering Enterprise.

Slides:



Advertisements
Presentasi serupa
LDAP (Lightweight Directory Access Protocol)
Advertisements

Erick Kurniawan, S.Kom, M.Kom
Pemrograman Internet Basis Java
VIRTUEMART JOOMLA BY Nurwahyudi Widhiyanta, ST, MMT
JAVA Network Programming. Apa itu JAVA? ● Bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun ● Dikembangkan.
Pemrograman Jaringan Socket Programming Aurelio Rahmadian.
Dahlan Abdullah / Website : PENGANTAR SISTEM BD TERDISTRIBUSI.
Pendahuluan  Entity Beans : Bean yang berinteraksi dengan data dan penyimpanannya 2 cara memanage persistence : - Bean-Managed Persistence -> punya banyak.
FIREWALL.
MODUL 11 MEMBUAT LOGIN USER
Sistem Komunikasi.
Menggunakan Java Bean dalam java server pages
Model Sistem Terdistribusi
PEMROGRAMAN CLIENT/SERVER Riyanto, S.Kom 1.
Praktikum Membuat Database Menggunakan Netbeans 7.1
PT. Bank Rakyat Indonesia (PeRSERO) TBK.
Konsep Pemrograman Web
Modul 1- Review Java.
Form.
MINGGU Ke Sembilan Pemrograman Visual
CORBA “Common Object Request Broker Architecture”
W EB S ERVICES Riyanto, S.Kom. A PA ITU W EB S ERVICES ? Adalah service yang mempertukarkan data dalam format XML Tersedia dan diakses melalui Internet.
Algoritma & Pemrograman 1
Manajemen File.
Web Teknologi 2Minggu …3… Page 1 MINGGU Ke Tiga Pemrograman Visual 2 Pokok Bahasan: Dasar-dasar Pengembangan Web ASP.NET Tujuan Instruksional Khusus:
Minggu 1…… Page 1 MINGGU Ke Satu Pemrograman Visual 2 Pokok Bahasan: Mengenal Web dengan ASP Tujuan Instruksional Khusus: Mahasiswa akan dapat menjelaskan.
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Pemrograman Database Nyimas Artina, S.Kom, M.Si.
Oleh : HILMY NUR R. – RYAN ABDI W. – KAISHA SATRIO N.H. – DENY SATRYA P. – F.X. YUDHA GAMMA C.H
REMOTE SERVICE.
PERTEMUAN KE 2 JAVA SERVER PAGES (JSP) BY : TITO SUGIHARTO
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.
Java Remote Object Invocation (RMI)
Distributed Object CORBA and RMI
Pemrograman Berorientasi Objek Lanjut
Website Security.
Outline: Class Objek Konstruktor Destruktor Overloading dan Tipe value
Algoritma & Pemrograman 1
KEAMANAN PADA SISTEM TERDISTRIBUSI
Model Sistem Terdistribusi
Operating System Structure
Mobile Computing 7 Middleware.
Pemrograman VII Java U Abd. Rohim, MT mailto:
7 DATABASE Client/Server Wiratmoko Y, ST C H A P T E R
Pengenalan Java.
Semantic Web: Web Services
BAB I                       Mata Kuliah  Sistem Terdistribusi _______________________ File & Name Service Oleh : Laseri, S.Kom.
BAB I File & Name Service
PERTEMUAN KE 1 PENGENALAN J2EE BY : TITO SUGIHARTO
PENGENALAN ACTIVE SERVER PAGE
Java Database Programming
SESSION AND USER AUTHENTICATION
PIBJ (PEMROGRAMAN INTERNET BERBASIS JAVA)
PIBJ (PEMROGRAMAN INTERNET BERBASIS JAVA)
Smart application for your permissions management
Konfigurasi database instance, LISTENER, Enterprise manager, iSQL*PLUS
JSF Java Server Faces.
JAVA.
Pengenalan Java.
KEAMANAN PADA SISTEM TERDISTRIBUSI
BAB I                       Mata Kuliah  Sistem Terdistribusi _______________________ File & Name Service Oleh : Laseri, S.Kom.
BAB I                       Mata Kuliah  Sistem Terdistribusi _______________________ File & Name Service Oleh : Laseri, S.Kom.
Pengenalan Java.
Message U Abd. Rohim, MT mailto:
Pengenalan Java.
Mengadministrasi server dalam jaringan adalah suatu bentuk pekerjaan yang dilakukan oleh administrator jaringan. Tugasnya: Membuat server Mengelola jaringan.
Java Database Connectivity (JDBC)
KEAMANAN PADA SISTEM TERDISTRIBUSI
TCP Socket Programming
Transcript presentasi:

Chapter 9 Adding Functionality to Your Beans [menambahkan fungsi-fungsi pada Bean] Sumber : Ed Roman, Scott Ambler, Tyler Jewell, Mastering Enterprise JavaBeans TM 2 nd.

Objectives Bagaimana memanggil Bean dari Bean yang lain Bagaimana menggunakan properti environment untuk memodifikasi Bean dan mengaksesnya Bagaimana mengakses resource (seperti JDBC dan JMS) dari sebuah Bean Bagaimana menggunakan model keamanan pada Bean Bagaimana menggunakan EJB object dan EJB home

Memanggil Bean dari Bean yang lain Contoh implementasi –Bean teller Bank memanggil sebuah Bean rekening nasabah –Bean konsumen memanggil Bean kartu kredit Contoh implementasi dalam bahasan ini adalah –Mesin harga (Pricer), yang mengkalkulasi harga produk-produk termasuk properti di dalamnya, seperti diskon, pajak, dan ongkos kirim  Pricing bean –Mesin katalog produk (Catalog), yang memberikan informasi produk dari database  Catalog bean Mesin harga memerlukan mesin katalog

Memanggil Bean dari Bean yang lain 1.Mencari home object dari bean lain melalui JNDI (Java Naming and Directory Interface) 2.Memanggil create() di home object 3.Memanggil method business pada objek EJB 4.Memanggil remove() di home object

Memanggil Bean dari Bean yang lain Contoh: // Obtain the DEFAULT JNDI initial context by calling the no // argument constructor Context ctx = new Initialcontext(); // Look up the home interface Object result = ctx.lookup(“java:comp/env/ejb/CatalogHome”); // Convert the result to the proper type, RMI-IIOP style CatalogHome home= (CatalogHome) javax.rmi.PortableRemoteObject.narrow(result, CatalogHome.class); // Create a Bean Catalog c = home.create(... );

Memanggil Bean dari Bean yang lain EJB References Latar belakang: pencarian dalam JNDI tidak selalu berhasil Reference ini menggunakan semacam “nickname” yang merepresentasikan home sebuah bean Representasi ini di-pass ke JNDI

Memanggil Bean dari Bean yang lain : EJB References; Membuat EJB References [Source 9.1] Declaring EJB References –Nickname yang digunakan oleh Pricer untuk mencari Catalog, bukan lokasi sebenarnya pada JNDI Local interface vs Remote interface

Resource Factories Resource Factories  penyedia sumber daya, misalnya JDBC (Java Database Connectivity), JMS (Java Message Service), JCA (J2EE Connector Architecture) Resource Factories: pengendali yang mengontrol koneksi, misalnya JDBC yang memberikan koneksi database.

Resource Factories Menggunakan Resource Factories 1.Mengetahui lokasi Resource Factories –menggunakan JNDI, sama dengan mencari EJB home object [gunakan misalnya java:comp/env/jdbc/ejbPool ] 2.Autentifikasi pengguna ke resource - self-authentication - via deployer

Resource Factories Contoh Deklarasi dalam Deployment Descriptor [source 9.2]

Environment Properties Bagaimana melakukan customization pada bean? –Customization : Pricing bean memiliki beberapa algoritma penghitungan, maka pengguna Pricing bean dapat memilih salah satunya untuk digunakan Environment properties : properties yang memberikan spesifikasi aplikasi, dibaca oleh bean sewaktu dijalankan Properties ini digunakan untuk customization

Environment Properties Deklarasi Environment Properties dalam Deployment Descriptor [source 9.3]

Environment Properties Contoh mengakses Environment Properties // 1 : acquire the initial context Context initCtx = new InitialContext(); // 2 : use the initial context to look up the // environment properties // String taxAlgorithm = (String) initCtx.lookup(“java:comp/env/Pricer/algorithm”); // 3 : do what you want with the properties if ( !taxAlgorithm.equals(“NoTaxes”) ) { // add text }

Keamanan pada EJB Menambahkan properti keamanan pada enterprise bean Dua parameter keamanan yang harus ada, di mana client harus melewatinya, –Authenticated  memperoleh hak akses –Authorized  memperoleh hak melakukan operasi atau perintah Authenticated, first step, then Authorization Menggunakan JAAS (Java Authentication and Authorization Service)

Keamanan pada EJB JAAS ( Java Authentication and Authorization Service) Portable, powerful Dua kemungkinan pengguna JAAS, yaitu Web browser (Web-based application) dan User (standalone application) Web browser melakukan Authentication melalui –Basic Authentication, via password & username –Form-based Authentication, basic authentication yang menggunakan customizable form –Digest Authentication, uses mathematical transformation on username & password –Certificate Authentication, via X.509 certificates

JAAS ( Java Authentication and Authorization Service)

Keamanan pada EJB Prosedur Authentication dalam JAAS

1.Client melakukan instantiate login context 2.Login context melakukan instantiate konfigurasi objek, mekanisme Authentication yang akan digunakan 3.Login context meminta pada konfigurasi objek mekanisme Authentication yang akan digunakan 4.Mengembalikan mekanisme Authentication sebagai login modul, bagaimana Authentication dilakukan 5.Login context instantiate login modul-nya

Keamanan pada EJB Prosedur Authentication dalam JAAS 6.Login context menginisialisasi login modul 7.Client mencoba login dengan memanggil method login() pada login context 8.Login context mengirimkan login() kepada login modul, bagaimana Authentication dilakukan 9.Login modul melakukan Authentication melalui pemiliknya (mis. J2EE server) 10.Jika berhasil login modul akan commit(), jika tidak abort()

Keamanan pada EJB Prosedur Authentication dalam JAAS 11.Subjek baru dikirim kepada client. Subjek ini adalah sesuatu yang telah authenticated. 12.Client instantiate aksi selanjutnya, misalnya memanggil komponen EJB 13.Subjek diminta melakukan aksi tersebut, via method doAs() 14.Subject menjalankan method run() 15.Aksi dikerjakan; masuk ke tahap Authorization

Keamanan pada EJB Contoh Implementasi Kode JAAS Program berikut mencoba authenticate dan memanggil method “HelloWord” pada bean. –HelloClient.java –PasswordConfig.java –PasswordLoginModule.java –CallHelloWord.java

Keamanan pada EJB Authorization Diperlukan sebelum bisa memanggil method-method dalam beans Dua cara melakukan authorization : –Programmatic authorization, dicek dalam kode bean –Declarative authorization, container yang melakukan semua pengecekan Security Roles

Keamanan pada EJB: Authorization Programmatic authorization steps 1.Write the programmatic security logic 2.Declare the abstract security roles your bean uses 3.Map abstract roles to actual roles Declarative authorization steps 1.Declare method permissions 2.Declare security roles

Keamanan pada EJB: Authorization Programmatic or Declarative? Declarative memisahkan bean dari kebijakan (policy) keamanan tertentu, sehingga bean lebih sederhana dan variasi kebijakan (policy). Tetapi EJB belum menyediakan cukup fasilitas untuk itu. Programmatic bisa mencukupi untuk digunakan.

Handles Aplikasi EJB kadang meminta pemutusan dan penyambungan kembali koneksi ke Beans. Object handles, proxy untuk objek EJB yang long-live Object handles digunakan dalam koneksi kembali agar informasi atau status tidak hilang atau dapat dilanjutkan kembali Home handles adalah varian dari EJB object handles. Home handles dapat menunjuk ke sebuah home object, dan dapat menggunakannya kembali tanpa mengetahui lokasi JNDI dari home object.