Pengembangan sistem reservasi bisnis berbasis teknologi EJB
Penulis:Eve Cole
Waktu Pembaruan:2009-07-02 17:12:35
Teknologi semakin banyak digunakan dalam pengembangan sistem jaringan skala besar. Pada artikel ini, penulis akan memperkenalkan definisi EJB (Enterprise Java Beans), model struktur sistem aplikasi berdasarkan teknologi EJB, serta konten dan klasifikasi EJB. Terakhir, dikombinasikan dengan berbasis EJB. Mengembangkan sistem reservasi bisnis menggunakan model struktural dan komponen EJB.
EJB secara teknis bukanlah sebuah "produk", melainkan spesifikasi teknis. Definisi EJB menurut SUN adalah: Struktur EJB adalah struktur komponen untuk mengembangkan dan mengkonfigurasi aplikasi bisnis terdistribusi berbasis komponen. Aplikasi yang dikembangkan dengan struktur EJB dapat diskalakan, transaksional, dan aman bagi banyak pengguna. Aplikasi ini mungkin hanya perlu ditulis satu kali, namun dapat disebarkan pada platform server tugas yang mendukung spesifikasi EJB. Secara umum, EJB adalah model komponen sisi server standar untuk pemantauan transaksi komponen.
Model struktur sistem berdasarkan teknologi EJB
Struktur EJB adalah struktur komponen sisi server, yang merupakan struktur hierarki. Model strukturalnya ditunjukkan pada Gambar 1. Model struktural ini biasanya dapat dibagi menjadi lapisan pelanggan, lapisan logika bisnis, dan lapisan data. Penulis akan memberikan pengenalan singkat di bawah ini.
Gambar 1: Model struktur aplikasi berbasis EJB
Lapisan klien terutama digunakan untuk memenuhi berbagai persyaratan akses untuk keseluruhan sistem dan menangani tugas-tugas berikut:
Menerima masukan pengguna, menganalisis dan memeriksa masukan pengguna dan memprosesnya sesuai kebutuhan;
Menampilkan hasil berjalan yang dikirimkan dari sisi server tingkat tinggi.
Lapisan klien biasanya terdiri dari proses klien, yang dibuat dan dihancurkan secara dinamis oleh browser.
Lapisan logika bisnis Ini adalah bagian paling penting dari keseluruhan sistem. Lapisan logika bisnis biasanya dibagi menjadi dua lapisan. Lapisan atas adalah lapisan penerima permintaan (biasa disebut lapisan Web), yang digunakan untuk menerima permintaan dari browser dan mentransfer permintaan ke lapisan bawah untuk diproses dikirim ke browser. Proses-proses ini terutama terdiri dari halaman JSP, Applet berbasis web, dan Servlet yang menampilkan halaman HTML. Lapisan paling bawah adalah lapisan pemrosesan permintaan (umumnya disebut lapisan EJB), yang mencakup proses mendengarkan, proses pemrosesan, dan proses operasi basis data. Lapisan ini bertanggung jawab untuk memproses permintaan pelanggan dari lapisan penerima permintaan dan memprosesnya, dan pada saat yang sama meneruskan hasil permintaan ke lapisan penerima permintaan, jika perlu hasil pemrosesan perlu diserahkan ke lapisan data untuk disimpan.
Lapisan data terutama menyediakan layanan data untuk lapisan logika bisnis, seperti menyimpan hasil pemrosesan lapisan logika bisnis dan mengembalikan hasil data yang diambil oleh lapisan logika bisnis. Hal ini juga digunakan untuk melindungi perubahan pada sumber data ketika database berubah, kita hanya perlu memodifikasinya saja. Gunakan saja pernyataan tersebut untuk terhubung ke sumber data.
Klasifikasi komponen EJB Biasanya, ada dua tipe dasar komponen EJB sisi server: Entity Bean dan Session Bean.
Gambar 2: Arsitektur sistem reservasi bisnis
Entity Beans adalah model yang dibuat untuk objek dunia nyata, yang biasanya merupakan catatan persisten dalam database. Entity Bean membangun model untuk konsep bisnis yang dapat dinyatakan sebagai kata benda. Model ini menggambarkan keadaan objek dunia nyata dan perilakunya, serta memungkinkan pengembang merangkum data dan aturan bisnis yang terkait dengan konsep tertentu. Session Bean adalah Enterprise Bean yang dibuat melalui Home Interface dan didedikasikan untuk koneksi klien. Mesin virtual Session bean umumnya tidak dibagikan dengan klien lain. Session Bean adalah perpanjangan dari aplikasi klien dan bertanggung jawab untuk mengelola seluruh proses atau tugas. Session Beans dapat mengelola interaksi antara Entity Beans, menjelaskan bagaimana mereka bekerja sama untuk menyelesaikan tugas khusus.
Kacang entitas dapat dibagi menjadi kacang yang dikelola dalam wadah dan kacang yang dikelola menggunakan kacang berdasarkan cara mereka mengelola persistensi. Kacang yang dikelola kontainer secara otomatis dikelola oleh kontainer EJB. Kontainer mengetahui bagaimana bidang instance Bean dipetakan ke database, dan secara otomatis mengelola penyisipan, pembaruan, dan penghapusan data terkait entitas dalam database; mengelola persistensi. Beans perlu melakukan semua ini secara eksplisit. Pengembang Bean harus menulis kode untuk mengoperasikan database. Kontainer EJB hanya memberi tahu instance Bean kapan ia dapat dengan aman memasukkan, memperbarui, dan menghapus data dalam database. Contoh kacang melakukan semua pekerjaan persistensi itu sendiri.
Session Beans dapat dibagi menjadi stateless beans dan stateful beans berdasarkan status statefulnya. Session Beans Stateless cenderung serbaguna dan dapat digunakan kembali. Session Beans stateful adalah ekstensi aplikasi klien yang menyelesaikan tugas atas nama klien dan mempertahankan status terkait klien.
Pengembangan Sistem Reservasi Bisnis Sistem reservasi kabin merupakan sistem reservasi bisnis berbasis teknologi komponen EJB yang dikembangkan pada platform J2EE. Proses utamanya adalah setelah pengguna login, ia akan diarahkan melalui halaman pemilihan pelanggan dan halaman pemilihan navigasi masuk giliran, dan akan memberi pelanggan Pilih kabin yang tersedia (dapatkan daftar kabin yang tersedia dari TravelAgentBean. Metode listAvailableCabin() dari TravelAgentBean dipanggil oleh Servlet yang menghasilkan halaman web ini. Daftar kabin akan digunakan untuk membuat Kotak daftar HTML pada halaman web dimuat ke browser pengguna), ketika pengguna memilih kabin dan mengirimkan pilihan, permintaan HTTP akan dikirim ke server EJB (Server Aplikasi Websphere). ke ReservationServlet. Servlet ini memanggil metode TravelAgent.BookPassage(). Untuk membuat pemesanan sebenarnya, informasi tag yang dikembalikan oleh metode BookPassage() akan digunakan untuk membuat halaman web lain yang dikirim kembali ke browser pengguna. Jika reservasi berhasil, ProcessPaymentServlet akan memanggil metode pembayaran di ProcessPaymentBean untuk melaksanakan proses penagihan kepada pelanggan. Struktur spesifiknya ditunjukkan pada Gambar 2.
Komponen EJB dalam sistem reservasi terutama mencakup bagian-bagian berikut:
CabinBean: Entity Bean, kunci utamanya adalah CabinPK, yang merupakan entitas Bean yang digunakan untuk merangkum kabin kapal di dunia nyata.
CustomerBean: Entity Bean, kunci utamanya adalah CustomerPK, yang merupakan entitas Bean yang digunakan untuk merangkum konsumen yang perlu memesan kabin kapal pesiar di dunia nyata.
CruiseBean: Entity Bean, kunci utamanya adalah CruisePK, yang merupakan entitas Bean yang digunakan untuk merangkum rute kapal di dunia nyata. ReservationBean: Entity Bean, kunci utamanya adalah CruiseID, CabinID. Ini mewakili catatan yang tidak berubah dalam database, yaitu reservasi. Ini mencatat peristiwa historis dari sistem reservasi. dua pelanggan memesan rute yang sama. Alasan terjadinya masalah ini adalah adanya kesenjangan antara waktu ketika pelanggan memilih kabin dan rute dan waktu ketika metode bookPassage() dipanggil. TravelAgentBean: Kacang sesi stateful, kacang sesi yang bertanggung jawab atas alur kerja pemesanan kabin penerbangan. Ini merangkum proses penyelesaian operasi pemesanan untuk suatu rute dan digunakan dalam aplikasi klien agen perjalanan di seluruh dunia. TravelAgentBean tidak hanya memenuhi kebutuhan konsumen untuk memesan tiket, tetapi juga memberikan informasi mengenai kabin yang tersisa selama perjalanan. Untuk menyelesaikan tugas ini, Bean perlu mengetahui rute, kabin, dan pelanggan mana yang melakukan reservasi. Setelah mengumpulkan informasi ini, metode bookPassage() menyelesaikan proses pemesanan akun. Pada rute yang benar Pesan kabin yang dipilih di kapal yang benar dan buatkan tiket untuk pelanggan melalui kelas Tiket. Di sini, kita perlu menggunakan kelas CreditCard untuk menyimpan informasi relevan tentang kartu kredit pelanggan. Pada saat yang sama, metode ListAvailableCabins() digunakan untuk menampilkan kabin tersedia yang belum dipesan.
ProcessPaymentBean: Stateless session bean, yaitu proses penagihan konsumen dalam suatu sistem transaksi. Ini mendefinisikan tiga metode transaksi untuk metode pembayaran cek, tunai dan kartu kredit, yaitu ByCheck(), ByCash() dan ByCredit().
Contoh kode program sistem reservasi bisnis. Seluruh sistem reservasi bisnis dikembangkan di bawah IBM VisualAge for Java. Dalam lingkungan pengembangan IDE ini, kacang entitas jauh lebih mudah dikembangkan daripada kacang sesi komponen EJB:
1. Antarmuka jarak jauh TravelAgent Menyediakan metode untuk mengatur rute dan ID kabin yang ingin dipesan pelanggan. Selain itu, metode boolPassage() disiapkan untuk menagih pelanggan atas reservasi mereka dan menghasilkan tiket untuk pelanggan. Kode spesifiknya adalah sebagai berikut:
paket com.titan.travelagent;
impor java.rmi.RemoteException;
impor javax.ejb.FinderException;
impor com.titan.cruise.Cruise;
import com.titan.customer.Customer;
impor com.titan.prosespembayaran.CreditCard;
antarmuka publik TravelAgent memperluas javax.ejb.EJBObject
{
public void setCruiseID(int pelayaran) melempar RemoteException, FinderException;
public int getCruiseID( ) melempar RemoteException, IncompleteConversationalState;
public void setCabinID(int kabin) menampilkan RemoteException, FinderException;
public int getCabinID()melemparkan RemoteException, IncompleteConversationalState;
public int getCustomerID()melemparkan RemoteException, IncompleteConversationalState;
tiket publik boolPassage (kartu CreditCard, harga ganda) menampilkan RemoteException, IncompleteConversationalState;
}
2. Antarmuka Beranda Agen Perjalanan
Kode antarmuka Beranda TravelAgent adalah sebagai berikut:
puckage com.titan.tracelagent;
impor java.rmi.RemoteException;
impor javax.ejb.CreateException;
import com.titan.customer.Customer;
antarmuka publik TravelAgentHome memperluas javax.ejb.EJBHome {
public TravelAgent create(Customer cust) melempar RemoteException,CreateException;}
3. Kelas TravelAgent Bean perlu mengimplementasikan semua perilaku di antarmuka jarak jauh dan antarmuka Beranda TravelAgent. Karena keterbatasan ruang, artikel ini tidak akan memperkenalkan kode implementasinya. Pembaca yang tertarik dapat menyelesaikannya sendiri.
Melalui langkah-langkah di atas, kami telah menyelesaikan pengembangan komponen EJB pada sistem reservasi bisnis.