ead pertemuan-3
TRANSCRIPT
PERTEMUAN 3PENGEMBANGAN APLIKASI ENTERPRISE
PengenalanKonsep Dasar Arsitektur
Tujuan I nstruksional
Setelah mengikuti pertemuan ini, diharapkan mahasiswa dapat : memahami tantangan aplikasi-aplikasi enterprise mendefinisikan arsitektur piranti lunak memahami kebutuhan akan arsitektur piranti lunak memahami peran, tangung jawab, dan deliverable
seorang arsitek memahami pemodelan arsitektur menggunakan unified modeling language (UML) memahami perbedaan dan kesamaan antara arsitektur
dan disain mendeskripsikan the SunTone Architecture
Methodology
Tantangan Aplikasi Enterprise
meningkatkan produktifitas pengembangan
merespon permintaan yang terus bertambah
menjaga keberlangsungan nilai sebuah sistem informasi yang bsedang berjalan
menjaga keamanan sistem
Arsitektur Piranti Lunak
Arsitektur piranti lunak mendeskripsikan struktur-struktur sistem seperti :
Elemen-elemen piranti lunak Elemen dipotret sebagai abstraksi Berbentuk modul-modul sistem atau komponen-komponen level
tinggi Correspond to high level system modules or components
External Visible Properties of elements Mendeskripsikan fitur-fitur elemen yang diekspos Merepresentasikan layanan yang disediakan untuk elemen-
elemen lainnya
Relationships of elements Mendeskripsikan cara elemen-elemen berinteraksi dengan yang
lainnya
Struktur dari Multi sudut pandang
Sistem piranti lunak besar membutuhkan struktur dari multi perspektif. Satu sudut pandang saja tidak cukup untuk memenuhi
kebutuhan
Contoh sudut pandang Sudut pandang disain berorientasi objek memfokuskan
kepada fungsionalitas sistem Sudut pandang deployment merefleksikan deployment
fisik dari komponen-komponen piranti lunak ke dalam piranti keras komputasi
Justifikasi Pentingnya Arsitektur
Perubahan krusial di rekayasa piranti lunak telah menumbuhkan pentingnya arsitektur : Skala Distribusi Keamanan
Sistem Terdistribusi Minimal
Compute near the data, validate near the user
Sistem Terditribusi Maksimal
Tujuan Arsitektur
Menyelesaikan isu-isu skalabilitas, distribusi, dan keamanan
Mengurangi risiko-risiko proyek Menangkap quality-related decisions Memfasilitasi disainm implementasi,
dan deployment aplikasi.
Keterlibatan seorang arsitek
Arsitek melakukan aktifitas di fase inception sebagai berikut : Membantu menganalisis kebutuhan dan membuat :
model use case untuk mendefinisikan kebutuhan fungsional Service Level Requirements (SLR) untuk non kebutuhan fungsional
Bekerja dengan manajer proyek untuk : Mengidentifikasi piranti keras, piranti lunak, dan sumber daya manusia
yang akan mendukung jalannya proyek Memvalidasi rencana proyek
Arsitek membuat cetak biru arsitektur di fase elaborasi : Model domain dalam cetak biru dibuat dari model use case dengan
mengidentifikasi komponen-komponen sistem tingkat tinggi. Dokumen deskripsi arsitektur dibuat berdasarkan SLR untuk
mendeskripsikan hubungan, interaksim dan distribusi komponen-komponen
Tanggung Jawab Arsitek Tanggung Jawab Teknis :
Membuat arsitektur untuk memenuhi kebutuhan Mengidentifikasi use case arsitektural yang mencakup :
▪ Concurrency▪ Performance▪ Legacy integration
Merekomendasikan teknologi-teknologi dan framework tepat guna yang mendukung proyek
Mengembangkan atau mengarahkan pengembangan prototipe arsitektur
Tanggung Jawab Manajerial : Memahami dan mengelola biaya proyek Mengelola komunikasi Memperbaharui dan mengklarifikasi kebutuhan Meyakinkan pihak-pihak yang berkepentingan dalam
pengambilan keputusan. Menjadi mentor untuk anggota tim proyek
Deliverable Arsitek
Domain Model Memotret hubungan struktural dan perilaku antara
komponen-komponen level sistem.
Architecture Description Document (ADD) Merepresentasikan lingkungan pengembangan Menunjukkan di mana komponen-komponen diletakkan dan
bagaimana komponen-komponen tersebut saling berkomunikasi.
Dibuat dalam bentuk diagram UML
Prototipe Arsitektur Menyediakan demonstrasi atau implementasi end-to-end
teknologi dan komponen utama
Cetak Biru Arsitektur
Mencakup Domain Model and ADD Lebih fokus pada quality-related
requirements, daripada fungsionalitas karea : Multi solusi dapat digunakan untuk
implementasi fungsionalitas sistem Seorang arsitek harus emilih solusi yang
memenuhi quality-related requirement Memotret berbagai sudut pandang
sistem
Multi Sudut Pandang Sistem
Sudut Pandang Logic – mendeskripsikan dekomposisi sistem ke dalam modul-modul piranti lunak abstrak.
Sudut Pandang Proses – mendeskrisikan concurrency dan distribusi fungsionalitas ke dalam proses-proses komunikasi.
Sudut Pandang Pengembangan – mendeskripsikan cara modul-modul piranti lunak diorganisir di dalam lingkungan pengembangan.
Sudut Pandang fisik (deployment)– memetakan modul-modul piranti lunak ke node-node piranti keras.
Sudut Pandang Use case – memetakan kebutuhan fungsional
Prototipe Arsitektur
Mendemonstrasikan kelangsungan teknologi-teknologi dan produk-produk yang dirumuskan dalam cetak biru arsitektur
Menyediakan pltaform pengujian untuk kebutuhan-kebutuhan quality-of-service (QoS)
Menampilkan tampilan konkrit model komponen, standarm dan rekomendasi-rekomendasi lainnya yang diperlukan.
Membentuk backbone pengembangan proyek ke depannya.
Membuat Prototipe Arsitektur Prototipe arsitektur dapat dibuat pada
tingkat konsep menggunakan dokumen-dokumen dan diagram-diagram
Prototipe arsitektur juga umumnya membuat It executable skeleton system (dikenal sebagai evolutionary prototype) Fitur-fitur tambahan ditambahkan dalam
skeleton system Produk akhir dibangun dari prototipe ini.
Arsitek dan Anggota Tim Lainnya
Arsitek harus mengambil peran dalam working practices dan skill tim secara umum.
Arsitek harus memahami bagaimana arsitektur meberi dampak pada tim.
Arsitek bekerjadengan tim untuk menjamin bahwa produk sesuai dengan arsitektur.
Pemodelan Arsitektur dengan UML
Gunakan diagram kelas untuk memodelkan model domain
Pemodelan Arsitektur dengan UML Gunakan diagram interaksi untuk memodelkan interkasi dan
komunikasi antar komponen-komponen.
Diagram interaksi mencakup diagram komunikasi dan diagram sequence.
Contoh diagram komunikasi :
Pemodelan Arsitektur dengan UML
Contoh diagram Sequence:
Pemodelan Arsitektur dengan UML Gunakan diaram komponen untuk memodelkan
komponen-komponen sistem penting dan relasinya.
Pemodelan Arsitektur dengan UML Gunakan diagram deployment untuk menunjukkan layout
node piranti keras dan penginstalan komponen-komponen.
Pemodelan Arsitektur dengan UML Gunakan diagram package untuk mendeskripsikan
organisasi sistem, teknologi, dan komponen-komponen.
Arsitektur dan Disain
Tidak ada batasan yang jelas antara arsitektur dengan disain.
Perbedaan umumnya terletak pada : Tingkat abstraksi. Deliverable Area fokus
Prinsip-prinsip Umum Antara Arsitektur dan Disain
Karakteristik umum arsitektur dan disain : Abstraction Encapsulation Cohesion Coupling
Sama halnya dengtan disain dan implementasi, arsitektur memerlukan proses refactoring untuk mengakomodir perubahan.
Pattern Arsitektur
Layer Pattern
MVC Pattern
Metodologi Arsitektur SunTone Metodologi arsitektur The SunTone (SunTone
AM) mendeskripsikan proses untuk mengembangkan aplikasi-aplikasi enterprise kritis.
Diluncurkan dalam the Sun Java Center pada tahun 1990-an
Berbasis pada Rational Unified Process (RUP)
Memadukan praktek-praktek terbaik industri
Metodologi Arsitektur SunTone
Tier di SunTone AM
The client tier The web presentation tier The business logic tier The integration tier The enterprise resource tier
Layer di SunTone AM
The application layer The virtual platform layer The application infrastructure layer The enterprise services layer The compute and storage layer The network infrastructure layer
Kualitas-kualitas Sistemik di SunTone AM
PerformanceThroughputSecurityAvailabilityand many more
Karakteristik dalam SunTone AM
Use Case Driven Development Iterative and Incremental
Development Architecture-Centric Development Service-Driven Development Pattern-Based Development
SELESAI PERTEMUAN 3