Desain Arsitektur

 

Desain Arsitektur Aplikasi

Analisis Perencanaan Sistem Informasi 



  • Pengertian Desain Arsitektur Aplikasi 
    Menurut Eric Evans dalam bukunya yang berjudul "Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional." , desain arsitektur aplikasi harus berfokus pada pemahaman yang mendalam tentang domain bisnis yang terlibat. Desain arsitektur aplikasi yang baik harus mencerminkan model domain yang kuat dan memadukan konsep desain berorientasi objek, agar aplikasi dapat dengan mudah diubah dan dikembangkan sesuai dengan perubahan kebutuhan bisnis.

    Menurut Martin Fowler dalam bukunya yang berjudul "Patterns of Enterprise Application Architecture. Addison-Wesley Professional.desain arsitektur aplikasi melibatkan pemilihan elemen-elemen struktural yang akan digunakan dalam aplikasi serta pengaturan hubungan antara elemen-elemen tersebut. Tujuan dari desain arsitektur adalah untuk mencapai kebutuhan fungsional dan non-fungsional yang diinginkan, seperti performa, keamanan, skalabilitas, dan keberlanjutan. Desain arsitektur aplikasi juga mempertimbangkan pemisahan logika bisnis dari infrastruktur teknis, sehingga aplikasi dapat lebih mudah dipelihara dan diperbarui.

    Sehingga, dapat disimpulkan bahwa desain arsitektur aplikasi adalah proses perencanaan, strukturisasi, dan pengaturan komponen-komponen aplikasi guna memenuhi kebutuhan fungsional dan non-fungsional yang diinginkan. Desain ini harus berfokus pada pemahaman yang mendalam tentang domain bisnis yang terlibat dalam aplikasi. Dalam menciptakan desain arsitektur aplikasi yang baik, perlu membangun model domain yang kuat dan memadukan konsep desain berorientasi objek.

Studi Kasus 
Implementasi Portal Integra ITS


    Pada kali ini, saya akan mengulik tentang implementasi desain arsitektur aplikasi yang ada pada Integra/Portal ITS. Sebagaimana yang kita tau, bahwa aplikasi Portal Integra ITS adalah sistem administrasi ITS berbasis website yang menyediakan kemudahan dalam administrasi dan pengelolaan data bagi mahasiswa, dosen, staf tenaga pendidikan, dan lain sebagainya. Dalam mendesain sebuah arsitektur aplikasi yang baik, harus melewati beberapa hal penting seperti :

  • Arsitektur Komponen

    Berikut ini adalah penjelasan tentang komponen-komponen arstektural yang digunakan dalam aplikasi Portal ITS :

1. User Interface (Antarmuka Pengguna)

    Komponen antarmuka pengguna bertanggung jawab untuk menyediakan antarmuka yang interaktif dan mudah digunakan kepada pengguna. Ini meliputi tata letak, desain visual, navigasi, dan elemen interaktif seperti tombol, formulir input, dan elemen UI lainnya. Tujuannya adalah untuk memastikan pengalaman pengguna yang baik dan efisien saat menggunakan portal Integra.

2. Business Logic (Logika Bisnis):

    Komponen logika bisnis mengelola proses dan aturan bisnis yang terkait dengan berbagai fungsi dan layanan dalam portal Integra. Ini termasuk pemrosesan permintaan pengguna, validasi data, logika alur kerja, perhitungan, dan manajemen kesalahan. Logika bisnis ini bertindak sebagai jembatan antara antarmuka pengguna dan komponen lain dalam sistem.

3. Database dan Data Access Layer:

    Komponen ini berhubungan dengan penyimpanan dan pengelolaan data yang digunakan dalam portal Integra. Database digunakan untuk menyimpan dan mengelola informasi seperti data pengguna, jadwal kuliah, hasil ujian, dan lainnya. Data Access Layer berfungsi untuk berinteraksi dengan database, melaksanakan operasi pengambilan dan penyimpanan data, serta menyediakan antarmuka untuk komponen lain dalam sistem untuk mengakses dan memanipulasi data.

4. Services dan Integration Layer:

Komponen ini bertanggung jawab untuk mengintegrasikan portal Integra dengan berbagai sistem dan layanan eksternal yang diperlukan. Misalnya, integrasi dengan sistem informasi akademik, sistem pembayaran, sistem manajemen perpustakaan, dan sistem lainnya. Layer ini menyediakan antarmuka dan fungsi untuk berkomunikasi dengan sistem eksternal melalui protokol komunikasi yang sesuai.

5. Security:

Komponen keamanan berperan dalam melindungi integritas, kerahasiaan, dan ketersediaan data dalam portal Integra. Ini melibatkan 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. External Services:

Komponen ini mencakup berbagai layanan eksternal yang diintegrasikan dengan portal Integra. Ini dapat mencakup layanan cloud, integrasi dengan penyedia pembayaran online, integrasi dengan platform pihak ketiga untuk pengumuman atau pendaftaran kegiatan ekstrakurikuler, dan layanan lainnya yang diperlukan untuk menyediakan fungsi yang lebih luas dan lengkap kepada pengguna.

7. Logging dan Monitoring:

Komponen logging dan monitoring berfungsi 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 portal Integra.

8. Scalability dan Load Balancing:

Komponen scalability dan load balancing digunakan untuk mengelola peningkatan beban lalu lintas pada sistem. Scalability berarti sistem dapat ditingkatkan kapasitasnya secara horizontal atau vertikal untuk menangani peningkatan jumlah pengguna atau permintaan. Load balancing digunakan untuk mendistribusikan lalu lintas secara merata di antara beberapa server untuk memastikan kinerja yang optimal.

9. Messaging Queue:

Komponen messaging queue digunakan untuk mengatur dan mengirim pesan antara berbagai komponen dalam sistem portal Integra. Pesan dapat digunakan untuk mengirim notifikasi, melakukan tugas asinkron, atau berkomunikasi antara komponen yang saling tergantung.

10. Analytics dan Reporting:

Komponen analytics dan reporting digunakan untuk mengumpulkan, menganalisis, dan menyajikan data dan informasi terkait penggunaan dan performa portal Integra. Analitik dan laporan ini membantu dalam memahami pola penggunaan, mengidentifikasi tren, dan membuat keputusan yang didukung oleh data.


  • Client-Server Tiers

    Arsitektur client-server yang diterapkan pada portal Integra ITS menggunakan komponen-komponen klien dan server yang saling berinteraksi. Antara lain :

1. Client

    Klien (client) merujuk pada aplikasi atau perangkat yang digunakan oleh pengguna untuk mengakses dan berinteraksi dengan layanan yang disediakan oleh server. Klien dapat berbentuk aplikasi web di browser, aplikasi mobile di smartphone, atau aplikasi desktop di komputer pengguna. Tugas klien meliputi mengirimkan permintaan ke server dan menerima respons dari server. Pengguna berinteraksi dengan antarmuka pengguna yang disediakan oleh klien, seperti halaman web, formulir input, tombol, dan elemen UI lainnya.

2. Server

Server merupakan komponen inti dalam arsitektur client-server yang menyediakan layanan dan sumber daya kepada klien. Pada portal Integra ITS, server terdiri dari beberapa komponen yang bekerja sama untuk mengelola dan menyediakan layanan kepada klien.

  • Web Server
    Web Server bertanggung jawab menerima permintaan HTTP dari klien dan mengirimkan halaman web yang diminta kepada klien. Selain itu, web server juga mengelola komunikasi antara klien dan server, serta dapat menangani tugas-tugas seperti otentikasi pengguna, caching, dan manajemen sesi.
  • Application Server
    Application Server menjalankan logika bisnis portal Integra. Komponen ini mengelola pemrosesan permintaan dari klien dan melaksanakan operasi bisnis, seperti pengolahan data, logika alur kerja, dan komputasi yang kompleks. Application server berfungsi sebagai perantara antara klien dan database server, memproses permintaan klien dan menghasilkan respons yang sesuai.
  • Database Server
    Database Server merupakan komponen yang bertugas menyimpan dan mengelola data yang digunakan dalam portal Integra. Data seperti informasi pengguna, jadwal kuliah, hasil ujian, dan data lainnya disimpan dalam database server. Komponen ini menyediakan akses ke data melalui kueri dan operasi database, memungkinkan server untuk mengambil informasi yang diperlukan dalam memenuhi permintaan klien.

3. Communication

    Komunikasi antara klien dan server dalam arsitektur ini menggunakan protokol jaringan seperti HTTP atau HTTPS. Klien mengirimkan permintaan menggunakan protokol tersebut ke server, yang kemudian memproses permintaan dan mengirimkan respons yang sesuai kembali ke klien. Protokol ini memungkinkan pengiriman data dan komunikasi yang efisien antara klien dan server.

  •     Virtualization

    Virtualization design architecture yang digunakan pada portal Integra ITS merupakan suatu model arsitektur yang memanfaatkan teknologi virtualisasi untuk efisiensi pengelolaan dan penyediaan sumber daya IT. Dalam konteks portal Integra ITS, arsitektur virtualisasi digunakan untuk mengoptimalkan penggunaan sumber daya perangkat keras dan perangkat lunak, meningkatkan skalabilitas, keandalan, dan fleksibilitas sistem.


1. Host Server:
    Host server merupakan komponen utama dalam arsitektur virtualisasi. Ini adalah server fisik yang memiliki daya komputasi dan sumber daya perangkat keras yang mencukupi untuk menjalankan beberapa mesin virtual (virtual machines). Host server menjalankan hypervisor, yang merupakan perangkat lunak yang bertugas untuk mengelola dan mengalokasikan sumber daya perangkat keras kepada mesin virtual.

2. Hypervisor:

    Hypervisor adalah perangkat lunak yang berfungsi sebagai lapisan abstraksi antara host server dan mesin virtual. Hypervisor memungkinkan pembuatan dan pengelolaan mesin virtual, serta mengatur alokasi sumber daya seperti CPU, memori, dan penyimpanan. Terdapat dua jenis hypervisor yang umum digunakan: hypervisor tipe 1 (bare-metal) yang berjalan langsung di atas perangkat keras fisik, dan hypervisor tipe 2 yang berjalan di atas sistem operasi host.

3. Virtual Machines (VMs):

    Virtual machines (VMs) adalah lingkungan virtual yang meniru komputer fisik dengan sistem operasi dan aplikasi yang terpasang di dalamnya. Setiap VM berjalan secara mandiri, memiliki alokasi sumber daya yang ditentukan, dan dapat dikonfigurasi sesuai kebutuhan. Pada portal Integra ITS, VMs digunakan untuk menjalankan berbagai komponen sistem seperti web server, application server, database server, dan sebagainya.

4. Virtual Networks:

  Virtual networks adalah jaringan virtual yang memungkinkan komunikasi antara VMs dan dengan jaringan eksternal. Dalam arsitektur virtualisasi, virtual networks digunakan untuk menghubungkan VMs dengan komponen jaringan lainnya, termasuk klien dan server fisik. Ini memungkinkan pengaturan jaringan yang fleksibel dan isolasi antara VMs yang berbeda.

5. Storage Infrastructure:
    Infrastruktur penyimpanan dalam arsitektur virtualisasi digunakan untuk menyimpan file dan data yang digunakan oleh VMs. Ini bisa berupa penyimpanan lokal pada host server, atau menggunakan teknologi seperti shared storage atau storage area network (SAN) untuk memisahkan penyimpanan dari host server. Infrastruktur penyimpanan yang baik memastikan ketersediaan data dan performa yang optimal bagi VMs.
Berikut adalah penjelasan mengenai komponen-komponen yang terdapat dalam arsitektur virtualisasi pada portal Integra ITS:

  • Cloud Computing

    Komponen-komponen yang terdapat dalam arsitektur cloud computing pada portal Integra ITS meliputi:


1. Cloud Service Provider:

    Penyedia Layanan Awan (Cloud Service Provider/CSP) adalah pihak yang menyediakan layanan awan seperti AWS, Azure, atau GCP. CSP menyediakan infrastruktur fisik seperti server, jaringan, dan penyimpanan yang diperlukan untuk menjalankan portal Integra di lingkungan awan.

2. Infrastructure as a Service (IaaS):

    IaaS merupakan layanan awan yang menyediakan infrastruktur komputasi virtual seperti server virtual, jaringan, dan penyimpanan. Pada portal Integra ITS, IaaS digunakan untuk menyediakan lingkungan virtual yang diperlukan untuk menjalankan komponen sistem seperti web server, application server, dan database server. IaaS memungkinkan skalabilitas yang fleksibel dengan kemampuan menyesuaikan kapasitas sesuai kebutuhan.

3. Platform as a Service (PaaS):

    PaaS adalah layanan awan yang menyediakan platform untuk pengembangan dan pelaksanaan aplikasi. Pada portal Integra ITS, PaaS digunakan untuk menjalankan aplikasi dan menyediakan lingkungan untuk pengembangan dan pengelolaan kode. Dengan PaaS, pengembang dapat fokus pada pengembangan aplikasi tanpa harus mengurus infrastruktur yang mendasarinya.

4. Software as a Service (SaaS):

    SaaS adalah layanan awan yang menyediakan aplikasi yang dapat diakses melalui internet. Pada portal Integra ITS, SaaS digunakan untuk menyediakan aplikasi yang digunakan oleh pengguna, seperti antarmuka pengguna portal dan modul pengelolaan akademik. Pengguna dapat mengakses aplikasi ini melalui browser web atau aplikasi mobile tanpa perlu menginstal aplikasi secara lokal.

5. Virtual Network:

    Jaringan virtual digunakan dalam arsitektur cloud computing untuk menghubungkan komponen sistem dalam portal Integra ITS di lingkungan awan. Jaringan virtual memfasilitasi komunikasi dan transfer data antara komponen-komponen yang berjalan di server virtual yang berbeda. Hal ini memungkinkan konfigurasi jaringan yang fleksibel dan skalabilitas yang tinggi.










Komentar

Postingan populer dari blog ini

Tugas 2 : Membuat Aplikasi Calculator Menggunakan .NET Framework

Data Modeling