Masuklah ke dalam arsitektur dan proses J2EE

Dalam dunia komersial, kami menggunakan Java 2 Enterprise Edition (J2EE) untuk memecahkan masalah bisnis, mengembangkan perangkat lunak komersial, atau menyediakan layanan kontrak untuk proyek bisnis lain. Jika perusahaan ingin membangun situs web e-bisnis menggunakan arsitektur multitier, biasanya melibatkan manajer, arsitek, perancang, pemrogram, penguji, dan pakar basis data selama siklus hidup pengembangan.

Agar pihak yang berbeda dapat bekerja secara efisien dan efektif, mereka sering membutuhkan proses pengembangan perangkat lunak. Beberapa proses pengembangan klasik termasuk model air terjun, pengembangan aplikasi cepat (RAD), dan pemrograman ekstrim. Pada artikel ini, kami akan fokus pada proses rekayasa perangkat lunak yang populer, Proses Terpadu Rasional (RUP). RUP memberikan pendekatan disiplin untuk menetapkan tugas dan tanggung jawab ke berbagai peran. Sasarannya memastikan kami menghasilkan perangkat lunak berkualitas tinggi yang memenuhi kebutuhan pengguna dalam jadwal dan anggaran yang dapat diprediksi.

Saya suka menggunakan RUP untuk pengembangan J2EE karena tiga alasan. Pertama, RUP berpusat pada arsitektur; itu mengembangkan prototipe arsitektur yang dapat dieksekusi sebelum menggunakan sumber daya untuk pengembangan skala penuh. Kedua, RUP bersifat iteratif dan berbasis komponen. Baseline arsitektur sering kali menyertakan kerangka kerja atau infrastruktur untuk memfasilitasi penambahan komponen melalui iterasi untuk menyesuaikan dan memperluas fungsionalitas sistem tanpa memengaruhi bagian sistem lainnya. Ketiga, RUP menggunakan bahasa standar industri, UML, untuk memodelkan arsitektur dan komponen sistem secara visual. RUP memiliki empat fase pengembangan yang berbeda: permulaan, elaborasi, konstruksi, dan transisi. Artikel ini, bagaimanapun, mencakup delapan aktivitas penting yang terlibat dalam pengembangan J2EE dari perspektif teknis dengan cara yang mempertahankan fokus arsitektural.

I. Analisis kebutuhan

Analisis persyaratan menjelaskan apa yang sistem harus atau tidak harus lakukan sehingga pengembang dan pelanggan dapat membuat kontrak bisnis awal. Anda dapat mendokumentasikan persyaratan fungsional dalam konsep bisnis, glosarium domain, kasus penggunaan, dan mockup antarmuka pengguna (UI). Persyaratan nonfungsional, seperti kinerja dan transaksi, Anda tentukan dalam dokumen persyaratan tambahan. Anda dapat membuat mockup UI tingkat tinggi di atas kertas atau dalam HTML, bergantung pada seberapa dalam Anda terlibat dalam proyek.

Gambar 1 menunjukkan dua contoh kasus penggunaan dari sistem e-bisnis yang khas. Kasus viewOrderpenggunaan memberi tahu kita bahwa pengguna masuk ke sistem melalui antarmuka Web, melihat daftar pesanan, dan mengklik tautan untuk melihat detail pesanan dari pesanan pembelian tertentu. Kasus addLineItemspenggunaan memberi tahu kita bahwa pengguna menjelajahi katalog produk, memilih produk yang menarik, dan menambahkannya ke pesanan pembelian.

II. Analisis berorientasi objek

Analis menghasilkan model domain masalah: kelas, objek, dan interaksi. Analisis Anda harus bebas dari detail teknis atau implementasi dan harus berisi model yang ideal. Analisis objek membantu Anda memahami masalah dan memperoleh pengetahuan tentang domain masalah. Anda harus mempertahankan model domain murni tanpa detail teknis karena proses bisnis berubah jauh lebih lambat daripada teknologi informasi.

Dua langkah pertama ini - analisis persyaratan dan analisis berorientasi objek - tidak spesifik J2EE; mereka cukup umum untuk banyak metodologi berorientasi objek. Gambar 2 menunjukkan model analisis objek tingkat tinggi dari aplikasi sampel toko hewan peliharaan. Ini menggambarkan konsep utama yang kami identifikasi dari kasus penggunaan analisis persyaratan. Kami memodelkan konsep ini ke dalam objek dan mengidentifikasi hubungannya.

Hasil analisis kebutuhan dan objek menjadi pintu masuk pengembangan arsitektur J2EE. Untuk mengembangkan arsitektur, Anda memilih bagian vertikal - sering kali bagian penting, seperti model objek domain pesanan - untuk desain, implementasi, pengujian, dan penerapan objek. (Bagian vertikal, konsep RUP, adalah bagian kecil dari sebuah sistem. Titik awalnya adalah bagian dari kasus penggunaan, seperti yang ditunjukkan pada Gambar 1, dan model analisis domain, seperti yang ditunjukkan pada Gambar 3. Implementasi bagian vertikal menghasilkan sistem mini yang berfungsi penuh termasuk semua tingkatan, seperti JavaServer Pages (JSP) tingkat UI, objek bisnis tingkat menengah seperti Enterprise JavaBeans (EJB), dan seringkali database backend.) Anda dapat menerapkan pengalaman yang diperoleh dari prototipe ke objek domain, dan biarkan pengetahuan itu berfungsi sebagai pedoman desain untuk tahap desain objek.