Arsitektur Aplikasi Web


https://i1.wp.com/i103.photobucket.com/albums/m129/edypur/gis1.png

Pattern / Pola

Suatu pola menguraikan masalah perulangan perancangan yang muncul dalam sebuah konteks perancangan spesifik dan mengusulkan solusi. Solusi menguraikan komponen-komponen yang berpartisipasi dan tanggung jawabnya, hubungan antarkomponen, dan pengaruh suatu komponen dalam masalah yang spesifik. Ini berarti bahwa pola memungkinkan kita untuk membuktikan penggunaan ulang, memperkuat pengetahuan perancangan, dan mendukung pengembangan sistem perangkat lunak yang berkualitas

Framework

Framework menyajikan pilihan untuk menggunakan kembali pengetahuan arsitektur yang ada. Framework itu sendiri adalah sistem perangkat lunak yang dapat digunakan kembali dengan fungsi umum yang telah ditetapkan. Frame dapat dikhususkan ke dalam aplikasi yang siap pakai (ready-to-use). Frame juga berfungsi sebagai sebuah cetak biru untuk arsitektur dasar dan arsitektur fungsional untuk field applikasi yang spesifik. Artinya, pengetahuan arsitektur fungsional yang terdapat di dalam framework seluruhnya dapat diadopsi di dalam applikasi

Model View Controller (MVC)

David (2007) menjelaskan bahwa “Model-View-Controller (MVC) adalah arsitektur perangkat lunak yang memisahkan model data, antarmuka pengguna, dan logika kontrol ke dalam tiga komponen yang berbeda sehingga pemodifikasian komponen view dapat dibuat dengan meminimalkan komponen data.”

Struts


Arsitektur JSP-Model-2 ini dikembangkan oleh proyek Struts open source dari Apache Software Foundation (http://struts.apache.org/). Struts menawarkan manfaat tambahan untuk applikasi Web, seperti penanganan kesalahan dan internasionalisasi. Disamping itu, Struts menggunakan suatu file konfigurasi XML yang mengijinkan kontrol dari aliran pemrosesan di dalam pola MVC untuk membantu pemrosesan permintaan client.

Gambar diatas menunjukkan bagaiman framework Struts memproses permintaan pengguna. Berikut adalah penjelasan mengenai langkah-langkah dalam gambar.

  1. Permintaan pengguna diterima oleh ActionServlet sentral. Servlet ini membaca permntaan URI untuk menemukan controller (Action)
  2. Kemudian logika aplikasi dieksekusi untuk permintaan ini. Controller bertanggung jawab unyuk pemilihan atau penciptaan model di dalam bentuk JavaBean, yang dapat disajikan di dalam view.
  3. Berdasarkan model terseleksi dan informasi lainnya (informasi pengguna; agen pengguna [user agent] dan lain-lain), ActionServlet dapat memilih view untuk menyajikan konten
  4. Setelah itu, view akan diseleksi menghasilkan keluaran (output), yang dapat dikirimkan kepda pengguna
  5. Berbeda dengan JSP-Model-2 asli. Struts mengijinkan pengkonfigurasian view dan lokasi model di dalam file (struts-config.xml). Ini berarti bahwa konten dapat disajikan dengan fleksibel, untuk alasan adaptasi atau untuk pengiriman multiplatform.

CodeIgniter

https://i1.wp.com/www.exclusivetutorials.com/wp-content/uploads/2010/01/codeigniter.png

Codelgniter adalah applikasi open source yang berupa framework dengan model MVC (Model-View-Controller) untuk membangun website dinamis dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuatnya dari awal. CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi stabil terakhir 1.6.3 yang dirilis pada 26 Juni 2008 (wikipedia). Untuk komunitas Codelgniter di Indonesia bisa mengakses http://www.codeigniter-id.com/

arsitektur CodeIgniter

Pertama kali anda mengakses CodeIgniter melalui URL http://localhost/CodeIgniter maka browser anda akan menampilkan halaman welcome. Sama saja jika anda mengaksesnya melalui URL http://localhost/CodeIgniter/index.php, maka di layar browser masih menghasilkan layar welcome tersebut. Ini berarti halaman welcome tersebut sudah diset sebagai halaman defaultnya. Tetapi coba anda akses melalui URL http://localhost/CodeIgniter/index.php/welcome, maka layar browser masih akan menampilkan halaman welcome. Nah lho.. Disini bisa saya jelaskan bahwa arsitektur URL pada CI memiliki arti sebagai berikut :

http://nama_domain_situs/index.php/nama_controller/nama_method/parameter_method

Jadi URL http://localhost/CodeIgniter/index.php/welcome berarti anda sedang menjalankan sebuah controller bernama welcome dan method bernama index. Sedangkan jika nama_method nya tidak diisi maka secara otomatis CodeIgniter akan menjalankan method bernama index.

Integrasi Sistem

Pengintegrasian sistem informasi merupakan salah satu konsep kunci dari sistem Informasi Manajemen. Berbagi sistem dapat saling berhubungan satu dengan yang lain dengan berbagai cara yang sesuai dengan keperluannya. Aliran informasi diantara sistem sangat bermanfaat bila data dalam file suatu sistem diperlukan juga oleh sistem yang lainnya, atau output suatu sistem menjadi input bagi sistem lainnya. Secara manual juga dapat dicapai suatu integrasi tertentu, misalnya data dari satu bagian dibawa kebagian lain, dan oleh petugas administrasi data tersebut digabung dengan data dari sistem yang lain. Jadi kalau secara manual maka derajat integrasinya menjadi tinggi.
Keuntungan utama dari integrasi sistem informasi adalah membaiknya arus informasi dalam sebuah organisasi. Suatu pelaporan biasanya memang memerlukan waktu, namun demikian akan semakin banyak informasi yang relevan dalam kegiatan manajerial yang dapat diperoleh bila diperlukan. Keuntungan ini merupakan alasan yang kuat untuk mengutamakan (mengunggulkan) sistem informsi terintegrasi karena tujuan utama dari sistem informasi adalah memberikan informasi yang benar pada saat yang tepat. Keuntungan lain dari pengintegrasian sistem adalah sifatnya yang mendorong manajer untuk membagikan (mengkomunikasikan) informasi yang dihasilkan oleh departemen (bagian) nya agar secara rutin mengalir ke system lain yang memerlukannya. Informasi ini kemudian digunakan lebih luas untuk membantu organisasi.

SOA

SOA merupakan suatu arsitektur dimana komponen-komponen dariaplikasi software yang telah dibuat dapat juga kita sediakan sebagai services di jaringan, sehingga dapat dipakai atau dimanfaatkan untuk keperluan lain oleh aplikasi yang berbeda-beda. Pada SOA, pembangunan suatu aplikasi baru dapat diibaratkan sebagai prosesmix-and-match, yaitu pertama kita akan menentukan aplikasi yang dibutuhkan, kemudian mencari komponen-komponen apa saja yang dapat dimanfaatkan yang telah tersedia di jaringan, dan selanjutnya kita menggabungkannya untuk menjadi suatu aplikasi yang sama sekali baru. Itulah mungkin gambaran singkat dari SOA, dan kenyataan sebenarnya tentunya tidaklah semudah dan sesederhana itu. Dan penjelasan SOA secara detil tidak akan dibahas pada kesempatan ini, mungkin pada artikel-artikel berikutnya.

SOA yang saat ini tengah menjadi solusi yang cukup populer, sebenarnya bukanlah teknologi dan ide baru. Konsep-konsep yang sejenis sebenarnya telah muncul dari pertengahan 1980-an.Distributed Computing Environment (DCE) dan Common Object Request Broker Architecturemiddleware atau Application Programming Interfacesyang standar. Dan selanjutnya datanglah Web services yang kemudian secara perlahan dapat merubah keadaan tersebut. Arsitektur dasarWeb services sebenarnya sangatlah mirip dengan konsep SOA, dan pendapat ini juga didukung oleh para analyst dan kalangan pembuataplikasi perangkat lunak yang percaya bahwa masa depan Web services sendiri justru adalah SOA. (CORBA) adalah salah satu usaha yang pernah muncul, tapi kurang begitu populer karena berbagai sebab, diantaranya adalah tidak tersedianya

SOA saat ini memang menjadi konsep yang begitu populer di kalangan para eksekutif perusahaan. Hal ini bisa dilihat dari berbagai hasil riset yang telah diadakan oleh oleh sejumlah lembaga riset di dunia. IDC, sebuah perusahaan riset terkenal, baru-baru ini telah mengeluarkan hasil risetnya terhadap pandangan para eksekutif di Asia tentang perlunya penerapan SOA diperusahaannya. Hasilnya cukup mencengangkan, sekitar 84% responden menyatakan bahwa penerapan SOA sudah ada pada tahap ‘penting’ dan ’sangat penting’. Hasil ini menguatkan survey serupa terhadap para eksekutif di Amerika Serikat dan Eropa, dimana sekitar 75% dari mereka juga menyatakan hal yang sama tentang SOA.

Yang menarik adalah ternyata “demam” SOA juga telah melanda Indonesia. Beberapaperusahaan besar telah concern terhadap masalah pengembangan dan penerapan SOA ini di lingkungan internal mereka. Yang lebih menarik lagi adalah Pemerintah Indonesia juga tidak mau kalah. Hal ini setidaknya diwujudkan oleh 5 Kementerian, termasuk Depkominfo, yang mendukung proyek open source untuk mengembangkan solusi SOA yang dinamakan PASIR (Program Arsitektur Sistem Informasi dan Interope(R)abilitas). Setidaknya itulah sedikit informasi yang saya tahu dari media, karena saya memang kurang mengikuti perkembangan proyek PASIR ini.

Pertanyaan yang mungkin muncul di benak kita selanjutnya adalah apa sebenarnya yang ditawarkan oleh SOA sehingga menjadikannya sebagai “standar” baru dalam pembangunan solusi enterprise? Ada sejumlah faktor yang menyebabkan perusahaan-perusahaan melirik SOA. Faktor utama adalah jelas, penghematan biaya. Ketika kita dapat menggunakan kembaliservice-service yang telah dibuat untuk membangun suatu aplikasi baru, maka secara otomatis kita akan mampu menekan penggunaan waktu dan uang secara signifikan.

Jason Bloomberg, Senior Analyst di perusahan riset ZapThink mengatakan, Web services saat ini utamanya digunakan untuk “solving point-to-point integration problems.” Tapi harus diakui juga bahwa Web services tidak akan mampu mengatasi masalah integrasi untuk kasus yang lebih besar, seperti mengkonversi ratusan sistem menjadi sebuah arsitektur enterprise tunggal. Karena alasan ini pulalah mengapa SOA dibutuhkan. Memang masih ada beberapa faktor lagi, tapi dua hal tersebut di atas merupakan faktor kunci yang cukup dominan.

 

dirangkum dari berbagai sumber dan untuk memenuhi tugas kuliah RPL Web Engineering🙂


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s