Perbedaan Pattern dan Framework
- Framework dapat diartikan sebagai sebuah kerangka kerja. Kerangka kerja dimana dapat memudahkan pekerjaan kita. Jika dikaitkan dengan PHP maka dapat diartikan sebagai suatu kerangka kerja yang telah terpola dan memudahkan pengembang web dalam pembuatan web yang menggunakan script PHP. Mempermudah yang dimaksud misalnya, Dalam membuat sebuah aplikasi web kita sering menulis script PHP secara keseluruhan (konvensional) dan itu pun kita ulang pada halaman yang lain. Bukankah itu begitu tidak efesien disamping berat ketika diload ? Dengan PHP Framework semua bisa teratasi. Semuanya sudah diatur menjadi pola-pola tertentu yang disebut dengan class. Pola/class inilah yang meringankan kita dalam penulisan script dan load halaman web.Framework yang dibangun harus menggunakan pola perancangan yang memisahkan logic application dan juga presentation view. Selain itu juga mampu mengoptimalkan penggunaan komponen yang dapat digunakan kembali, namun juga memberi keleluasaan untuk kostumisasi untuk kebutuhan tertentu
- Pattern adalah sebuah solusi untuk mengulang masalah Design. Solusi ini telah dikembangkan, dikompile, dan disaring oleh programmer yang sebelumnya telah menghadapi masalah ini. pattern adalah salah satu jenis petunjuk yang menggunakan tipe “Jika Anda memiliki masalah ini, maka lakukan ini.” Hal tersebut serupa dengan sebuah algoritma : sebagai contoh, jika Anda ingin melakukan sebuah operasi pencarian pada sebuah daftar, Anda tidak perlu menyelesaikan dengan solusi Anda sendiri; terdapat beberapa algoritma yang menyediakan fungsi sorting ini seperti pencarian biner.
Jelaskan tentang MVC dan Struts
- Model-View-Controller atau MVC adalah sebua metode untuk membuat sebua aplikasi web dengan memisahka data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). Dalam implementasinya kebanyakan framework dalam aplikasi website adalah berbasis arsitektuR MVC. MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web.
- Struts merupakan salah satu java MVC web framework terpopuler yang menginspirasi banyak framework lain. Struts 2 merupakan penggabungan dari Struts dengan Webwork 2 sehingga menghasilkan framework yang lebih mudah digunakan dan lebih mencapai tujuan dari Struts dibuat. Struts merupakan aplikasi framework open source yang di designuntuk membantu para developer dalam membangun arsitekturaplikasi berbasis pada Model-View-Controller (MVC) , dimana design MVC sudah merupakan standard umum dalam membangunaplikasi Web anda dengan penggunaaan servlet Java dan JavaServer Pages (JSP) sebagai teknologinya.
Jelaskan arsitektur dari CodeIgniter!
kerangka CodeIgniter memiliki wiki yang memungkinkan Anda untuk dengan mudah menemukan dokumen yang relevan. dukungan adalah PHP4. CodeIgniter adalah aplikasi 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 terakhir adalah 1.7.2 dapat dilihat di website resminya (ada dibagian akhir tulisan ini).
Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain,
Performa sangat cepat : salah satu alasan tidak menggunakan framework adalah karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi Codeigniter sangat cepat bahkan mungkin bisa dibilang codeigniter merupakan framework yang paling cepat dibanding framework yang lain.
Konfigurasi yang sangat minim (nearly zero configuration) : tentu saja untuk menyesuaikan dengan database dan keleluasaan routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau autoload.php, namun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu merubah sedikit saja file pada folder config.
Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan kita untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.
Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah disertai user guide yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami.
Dan banyak lagi yang lainnya.
- index.php berfungsi sebagai controller depan, mnginisialisasi basic resource yang dibutuhkah untuk menjalankan CI.
- Router menganalisa HTTP request untuk menentukan apa yang harus dilakukan dengan HTTP request itu.
- Jika file cache masih ada , maka akan dikirim langsung ke browser, tanpa melewati eksekusi normal sistem.
- Keamanan, sebelum controller aplikasi di panggil, HTTP request dan data yang dikirim user, di filter untuk alasan keamanan.
- Controller memanggil model, librari inti , plugin, helper, dan resource lainnya yang di butuhkan untuk memroses request tertentu.
- View yang sudah diproses, dikirim ke browser sebagai hasil yang terlihat. Jika status caching ON, view akan disimpan di cache, jadi jika ada request yang sama, view itu bisa ditampilkan lagi.
Jelaskan tentang Integrasi Sistem dan SOA , sertakan gambar !
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.