Tugas 9 APSI (D) 2023 - Farhan Dwi Putra (5025211093)

 Design Architecture

Definisi

Desain arsitektur aplikasi adalah proses merencanakan dan mendefinisikan struktur, komponen, interaksi, dan tata letak sistem aplikasi yang akan dikembangkan. Ini melibatkan pemilihan teknologi, pemodelan data, desain antarmuka pengguna, serta pengorganisasian komponen dan fungsionalitas yang diperlukan untuk mencapai tujuan aplikasi.

Definisi lengkap dari desain arsitektur aplikasi mencakup beberapa aspek penting, antara lain:

  1. Struktur Sistem: Desain arsitektur aplikasi mencakup penentuan struktur sistem secara keseluruhan. Ini melibatkan identifikasi komponen utama aplikasi, seperti server, basis data, antarmuka pengguna, layanan eksternal, dan komponen lain yang diperlukan. Struktur sistem juga mencakup hubungan dan interaksi antara komponen-komponen tersebut.

  2. Pemodelan Data: Desain arsitektur aplikasi melibatkan pemodelan data untuk menggambarkan bagaimana data akan diorganisasi, disimpan, dan diakses dalam aplikasi. Ini meliputi pemilihan basis data yang sesuai, perancangan skema basis data, identifikasi entitas, atribut, hubungan, dan keterbatasan data lainnya. Pemodelan data juga mencakup pengaturan struktur tabel, indeks, dan pengoptimalan kueri untuk meningkatkan performa aplikasi.

  3. Komponen Aplikasi: Desain arsitektur aplikasi mencakup penentuan komponen-komponen yang akan digunakan dalam aplikasi. Ini melibatkan pemilihan teknologi, kerangka kerja (framework), atau komponen pihak ketiga yang akan mendukung fungsionalitas yang diinginkan. Pemilihan komponen ini harus mempertimbangkan kebutuhan aplikasi, skalabilitas, keamanan, dan ketersediaan teknologi yang relevan.

  4. Antarmuka Pengguna: Desain arsitektur aplikasi juga melibatkan desain antarmuka pengguna yang efektif dan mudah digunakan. Ini mencakup tata letak, navigasi, kontrol, dan elemen visual lainnya yang akan digunakan oleh pengguna dalam berinteraksi dengan aplikasi. Desain antarmuka pengguna harus mempertimbangkan prinsip usabilitas, aksesibilitas, dan kebutuhan pengguna yang berbeda.

  5. Komunikasi dan Integrasi: Desain arsitektur aplikasi melibatkan pemodelan komunikasi dan integrasi antara komponen aplikasi. Ini mencakup pemilihan protokol komunikasi, metode integrasi, pertukaran data antara komponen, dan pemenuhan kebutuhan integrasi dengan sistem lain atau layanan eksternal.

  6. Keamanan: Desain arsitektur aplikasi harus mempertimbangkan aspek keamanan. Ini melibatkan penentuan metode otentikasi, otorisasi, enkripsi data, perlindungan terhadap serangan, dan kebijakan keamanan yang sesuai dengan kebutuhan aplikasi.

  7. Skalabilitas dan Kinerja: Desain arsitektur aplikasi harus mempertimbangkan skalabilitas dan kinerja sistem. Ini mencakup perencanaan kapasitas, manajemen sumber daya, pengoptimalan performa, dan penanganan beban tinggi agar aplikasi dapat berjalan secara efisien dan responsif.

  8. Manajemen Kesalahan: Desain arsitektur aplikasi harus mempertimbangkan manajemen kesalahan dan pemulihan. Ini melibatkan identifikasi potensi kegagalan, perencanaan pemulihan setelah kesalahan, dan pengimplementasian mekanisme pemantauan dan pelaporan kesalahan.

Definisi lengkap desain arsitektur aplikasi akan bervariasi tergantung pada konteks, lingkungan pengembangan, dan kebutuhan aplikasi yang spesifik. Namun, aspek-aspek yang disebutkan di atas memberikan gambaran umum tentang apa yang terlibat dalam merancang arsitektur aplikasi yang komprehensif.

Studi Kasus

Portal myITS

MyITS Portal menggunakan desain arsitektur Client-Server yang memisahkan fungsi antara pengguna (klien) dan server. Dalam desain ini, pengguna dapat berinteraksi dengan server untuk mengakses berbagai aplikasi dan sistem informasi yang tersedia di MyITS Portal. Pengguna mengirim permintaan kepada server, yang kemudian memproses permintaan tersebut dan memberikan respons yang sesuai kepada pengguna.

Salah satu keuntungan utama menggunakan desain Client-Server adalah pengalaman pengguna yang responsif dan efisien. Dalam desain ini, sebagian besar pemrosesan dan komputasi dilakukan oleh server yang memiliki perangkat keras dan sumber daya yang lebih kuat. Hal ini memungkinkan pengguna untuk mengakses aplikasi dan sistem informasi dengan cepat tanpa dibatasi oleh keterbatasan perangkat mereka sendiri.

Selain itu, desain Client-Server juga memungkinkan pengelolaan pusat data yang efisien. Semua data dan aplikasi terkait MyITS Portal dapat disimpan dan dikelola dengan baik dalam pusat data terpusat. Server berfungsi sebagai pusat kendali yang mengatur akses pengguna, otentikasi, dan otorisasi. Dengan demikian, pengelolaan data dan pemeliharaan sistem dapat dilakukan secara efisien.

Skalabilitas juga merupakan faktor penting dalam desain arsitektur ini. Mengingat MyITS Portal melayani ribuan pengguna, skalabilitas menjadi perhatian utama. Desain Client-Server memungkinkan server untuk ditingkatkan secara independen, baik dalam hal perangkat keras maupun perangkat lunak, untuk mengatasi peningkatan lalu lintas atau jumlah pengguna. Dengan demikian, pengguna tidak akan terpengaruh oleh peningkatan kapasitas atau pemeliharaan yang dilakukan pada server.

Keamanan juga menjadi aspek yang sangat penting dalam desain ini. Server bertanggung jawab untuk melindungi data sensitif pengguna dan menerapkan kebijakan keamanan yang ketat. Hal ini melibatkan validasi akses pengguna, perlindungan data saat transmisi, dan keamanan sistem dari ancaman keamanan potensial. MyITS Portal harus memastikan bahwa data pribadi mahasiswa dan informasi akademik tetap aman dan terlindungi dengan menggunakan metode enkripsi dan protokol keamanan yang sesuai.

Selain desain Client-Server, MyITS Portal juga memanfaatkan Cloud Computing untuk meningkatkan performa dan efisiensi. Dengan menggunakan layanan Cloud Computing, MyITS Portal dapat mengoptimalkan sumber daya komputasi, penyimpanan, dan jaringan yang tersedia. Hal ini memungkinkan MyITS Portal untuk menyesuaikan kapasitas dan memastikan ketersediaan portal secara terus-menerus. Pengguna dapat mengakses layanan dan sistem informasi di ITS dengan mudah dan biaya yang efisien melalui model penggunaan berbasis cloud.

Komponen :

  1. Antarmuka Pengguna: Komponen ini bertanggung jawab dalam menyediakan antarmuka yang interaktif dan mudah digunakan bagi pengguna. Termasuk di dalamnya adalah tata letak, desain visual, navigasi, dan elemen interaktif seperti tombol, formulir input, dan elemen lainnya yang berhubungan dengan pengalaman pengguna.

  2. Logika Bisnis: Komponen ini mengelola proses dan aturan bisnis yang terkait dengan berbagai fungsi dan layanan di dalam MyITS Portal. Meliputi pemrosesan permintaan pengguna, validasi data, logika alur kerja, perhitungan, dan manajemen kesalahan. Logika bisnis ini berfungsi sebagai penghubung antara antarmuka pengguna dan komponen lain dalam sistem.

  3. Database dan Data Access Layer: Komponen ini terkait dengan penyimpanan dan pengelolaan data yang digunakan dalam MyITS Portal. Database digunakan untuk menyimpan informasi seperti data pengguna, jadwal kuliah, hasil ujian, dan lain-lain. Data Access Layer berperan dalam berinteraksi dengan database, melaksanakan operasi pengambilan dan penyimpanan data, serta menyediakan antarmuka bagi komponen lain dalam sistem untuk mengakses dan memanipulasi data.

  4. Layanan dan Integrasi Layer: Komponen ini bertanggung jawab dalam mengintegrasikan MyITS Portal dengan berbagai sistem dan layanan eksternal yang diperlukan. Misalnya, integrasi dengan sistem informasi akademik, sistem pembayaran, sistem manajemen perpustakaan, dan lainnya. Layer ini menyediakan antarmuka dan fungsi untuk berkomunikasi dengan sistem eksternal melalui protokol komunikasi yang sesuai.

  5. Keamanan: Komponen keamanan berperan penting dalam melindungi integritas, kerahasiaan, dan ketersediaan data dalam MyITS Portal. Termasuk dalam hal ini adalah autentikasi pengguna, otorisasi akses, enkripsi data, manajemen sesi, dan perlindungan terhadap serangan keamanan seperti serangan cross-site scripting (XSS) dan serangan injeksi SQL. Komponen keamanan ini memastikan bahwa pengguna hanya dapat mengakses informasi dan layanan yang sesuai dengan izin dan peran mereka.

  6. Layanan Eksternal: Komponen ini mencakup berbagai layanan eksternal yang diintegrasikan dengan MyITS Portal. Contohnya adalah layanan cloud, integrasi dengan penyedia pembayaran online, integrasi dengan platform pihak ketiga untuk pengumuman atau pendaftaran kegiatan ekstrakurikuler, dan lain-lain. Layanan ini diperlukan untuk menyediakan fungsi yang lebih luas dan lengkap kepada pengguna.

  7. Logging dan Monitoring: Komponen logging dan monitoring digunakan untuk mencatat dan memantau aktivitas sistem secara terus-menerus. Logging digunakan untuk mencatat kejadian penting, kesalahan, dan informasi sistem yang dapat digunakan untuk analisis dan pemecahan masalah. Monitoring melibatkan pengawasan kinerja sistem, pengukuran metrik, dan pendeteksian masalah potensial untuk memastikan ketersediaan dan keandalan MyITS Portal.

  8. Skalabilitas dan Penyeimbangan Beban: Komponen ini digunakan untuk mengelola peningkatan beban lalu lintas dalam sistem. Skalabilitas berarti sistem dapat ditingkatkan kapasitasnya secara horizontal atau vertikal untuk menangani peningkatan jumlah pengguna atau permintaan. Penyeimbangan beban digunakan untuk mendistribusikan lalu lintas secara merata di antara beberapa server untuk memastikan kinerja yang optimal.

  9. Antrian Pesan: Komponen antrian pesan digunakan untuk mengatur dan mengirim pesan antara komponen-komponen dalam MyITS Portal. Pesan dapat digunakan untuk mengirim notifikasi, menjalankan tugas asinkron, atau berkomunikasi antara komponen yang saling tergantung.

  10. Analitik dan Pelaporan: Komponen analitik dan pelaporan digunakan untuk mengumpulkan, menganalisis, dan menyajikan data dan informasi terkait penggunaan dan performa MyITS Portal. Analitik dan laporan ini membantu dalam memahami pola penggunaan, mengidentifikasi tren, dan membuat keputusan berdasarkan data.


Comments

Popular posts from this blog

EAS APSI (D) 2023 - Farhan Dwi Putra (5025211093)

Tugas 3 APSI (D) 2023 - Farhan Dwi Putra (5025211093)

Tugas 6 APSI (D) 2023 - Farhan Dwi Putra (5025211093)