Perbedaan antara pattern dan framework
Pattern adalah solusi
umum yang dapat digunakan kembali pada permasalahan umum yang sering
terjadi pada software design. Design pattern bukan desain final yang
dapat ditransformasikan secara langsung kedalam kode. Ini hanyalah
deskripsi atau template untuk mengetahui bagaimana menyelesaikan
permasalahan yang dapat digunakan pada berbagai macam situasi yang
berbeda. Design pattern dari object-oriented secara tipikal menunjukkan
hubungan dan interaksi antara kelas dan objek tanpa menspesifikasikan
kelas atau objek dari aplikasi final yang terlibat didalamnya.
Fremework adalah
sekumpulan fungsi, class, dan aturan-aturan. Berbeda dengan library yang
sifatnya untuk tujuan tertentu saja, framework bersifat menyeluruh
mengatur bagaimana kita membangun aplikasi.
Framework memungkinkan kita membangun
aplikasi dengan lebih cepat karena sebagai developer kita akan lebih
memfokuskan pada pokok permasalahan sedangkan hal-hal penunjang lainnya
seperti koneksi database, form validation, GUI, dan security; umumnya
telah disediakan oleh framework. Disamping itu dengan aturan-aturan yang
jelas dan harus dipatuhi, aplikasi kita lebih solid, more readable, dan
kolabarasi dalam tim dapat lebih mudah dilaksanakan.
MVC dan Struts
Model-View-Controller atau MVC
adalah sebuah metode untuk membuat sebuah aplikasi web dengan
memisahkan data (Model) dari tampilan (View) dan cara bagaimana
memprosesnya (Controller). Dalam implementasinya kebanyakan framework
dalam apilaksi 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.
Bagian dari MVC :
- Model, Model mewakili struktur data. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke basis data, pembaruan data dan lain-lain.
- View, View adalah bagian yang mengatur tampilan ke pengguna. Bisa di katakan berupa halaman web web.
- Controller, Controller merupakan bagian yang menjembatani model dan view. Controller berisi skrip-skrip php yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web.
Dengan menggunakan metode MVC maka
aplikasi akan lebih mudah untuk dirawat dan dikembangkan. Untuk memahami
metode pengembangan aplikasi menggunakan MVC diperlukan pengetahuan
tentang pemrogram berorientasi objek (Object Oriented Programming).
Struts adalah Frame Work
Open Source yang di pakai untuk membangun aplikasi berbasis Web. yang
sudah terinstregasi dengan standard technologi seperti Servlet, Java
Beans dan Java Server Pages. Struts memiliki banyak keuntungan bagi
pengembang web aplikasi. Juga sangat cocok dalam penerapan MVC di
aplikasi berbasis web.
Arsitektur dari Codeigniter
CodeIgniter merupakan Web Application
framework dengan bahasa pemrograman PHP yang dikembangkan oleh EllisLab.
Apa beda CMS dengan Framework? Jika CMS memungkinkan anda untuk membuat
web dinamis, maka Framework pun bisa, tetapi dengan tingkatan yang
lebih rumit, yaitu pemrograman. Dengan kata lain, anda dapat membuat
sebuah CMS dengan framework, tetapi anda tidak dapat membuat framework
dengan CMS.
Dibawah folder codeigniter yang sudah
ditaruh di webserver tersebut terdapat 2 folder di dalamnya, yaitu
folder system dan user guide, anda tidak bekerja dengan folder user
guide, jadi menghapus folder tersebut tidak berimbas apapun pada
aplikasi web anda.
Langsung saja menuju folder system, di
dalam folder tersebut terdapat banyak folder yang sedikit membuat anda
bertanya-tanya, untuk apakah folder tersebut? Tenang saja, kita juga
tidak akan menggunakan semua folder yang berada disitu.
Dimanakah kita akan meletakkan file-file
php kita saat membuat aplikasi? Sekarang buka folder application, disini
kita akan mulai berkreatifitas dengan codeigniter. Perhatian kita
pusatkan saja pada folder config, controller, models, dan views. Folder
config berisi file-file yang dibutuhkan untuk konfigurasi aplikasi yg
akan dibuat, seperti konfigurasi database, autoloads, routes. Di dalam
folder controllers adalah tempat kita meletakkan semua controller
aplikasi.
Integrasi sistem
Dalam konteks sistem informasi, sistem integrasi (integrated system)
merupakan sebuah rangkaian proses untuk mengubungkan beberapa
sistem-sistem komputerisasi dan software aplikasi baik secara fisik
maupun secara fungsional. Sistem integrasi akan menggabungkan komponen
sub-sub sistem ke dalam satu sistem dan menjamin fungsi-fungsi dari sub
sistem tersebut sebagai satu kesatuan sistem.
Sistem integrasi merupakan tantangan
menarik dalam software development karena pengembangannya harus terus
mengacu pada konsistensi sistem, agar sub-sub sistem yang sudah ada dan
tetap dimanfaatkan secara operasional masih tetap berfungsi sebagaimana
mestinya baik ketika proses mengintegrasikan sistem maupun setelah
terintegrasi. Tantangannya adalah bagaimana merancang sebuah mekanisme
mengintegrasikan sistem-sistem tersebut dengan effort paling minimal – bahkan jika diperlukan, tidak harus melakukan refactoring atau re-developing lagi sistem-sistem yang sudah ada.
Ada beberapa metode yang dapat dipergunakan dalam membangun sistem terintegrasi, yaitu :
- Vertical Integration, merupakan proses mengintegrasikan sub-sub sistem berdasarkan fungsionalitas dengan menghubungkan sub-sub sistem yang sudah ada tersebut supaya bisa berinteraksi dengan sistem terpusat dengan tetap berpijak pada arsitektur sub sistem yang lama. Metode ini memiliki keuntungan yaitu dapat dilakukan dengan cepat dan hanya melibatkan beberapa entitas development yang terkait dalam proses pembuatan sistem lama. Kelemahannya, metode ini tidak memungkinkan untuk mengimplementasikan fungsi-fungsi baru atau proses bisnis baru ke dalam sub-sistem yang sudah ada – karena effort lebih tinggi ada di proses “mempelajari” arsitektur sistem lama dan menjadikannya acuan untuk membuat sistem terintegrasi. Untuk menghadirkan ekspansi fungsionalitas atau proses bisnis baru adalah harus membuat sub-sistem baru.
- Star Integration, atau lebih dikenal sebagai spaghetti integration, adalah proses mengintegrasikan sistem dengan cara menghubungkan satu sub sistem ke semua sub-sub sistem lainnya. Sebuah fungsi bisnis yang diimplementasikan dalam sebuah sub sistem akan di-broadcast ke semua sub-sub sistem lain yang dependen terhadap fungsi bisnis tersebut supaya dapat dipergunakan sebagaimana mestinya. Untuk integrasi sistem dengan ruang lingkup kecil atau menengah dan dengan pemisahan fungsi bisnis yang jelas dan spesifik, metode integrasi ini layak untuk dipertimbangkan. Namun jika fungsi bisnis banyak terlibat di beberapa sub sistem secara dependen, pada akhir proses integrasi sistem akan terlihat sedikit “kekacauan” dalam diagram – proses interkoneksi antar sub sistem akan tampak seperti spaghetti. Efeknya, biaya perawatan dan ekspansi sistem di masa yang akan datang akan memerlukan effort yang sangat berat untuk mempelajari skema integrasi sistem berikut dependency-nya.
- Horizontal Integration, atau ada yang mengistilahkan dengan Enterprise Service Bus (ESB), merupakan sebuah metode yang mengintegrasikan sistem dengan cara membuat suatu layer khusus yang berfungsi sebagai interpreter, dimana semua sub-sub sistem yang sudah ada akan berkomunikasi ke layer tersebut. Model ini lebih menawarkan
fleksibilitas dan menghemat biaya integrasi, karena yang perlu
difokuskan dalam implementasi proses pengintegrasian hanya layer interpreter tersebut. Untuk menangani ekspansi proses bisnis juga hanya perlu diimplementasikan di layer interpreter itu juga, dan sub sistem baru yang akan menangani interface dari
proses bisnis ekstensi tersebut akan berkomunikasi langsung ke
layer dan layer akan menyediakan keperluan-keperluan data/interface
untuk sub sistem lain yang memerlukannya.
Arsitektur dari SOAArsitektur berorientasi layanan atau disebut dengan SOA adalah suatu gaya arsitektur sistem yang membuat dan menggunakan proses bisnis dalam bentuk paket layanan sepanjang siklus hidupnya. SOA juga mendefinisikan dan menentukan arsitektur TI yang dapat menunjang berbagai aplikasi untuk saling bertukar data dan berpartisipasi dalam proses bisnis. Fungsi-fungsi ini tidak terikat dengan sistem operasi dan bahasa pemrograman yang mendasari aplikasi-aplikasi tersebut.SOA membagi fungsi-fungsi menjadi unit-unit yang berbeda (layanan), yang dapat didistribusikan melalui suatu jaringa dan dikombinasikan serta digunakan ulang untuk membentuk aplikasi bisnis. Layanan-layanan ini saling berkomunikasi dengan mempertukarkan data antar mereka atau dengan mengkoordinasikan aktivitas antara dua atau lebih layanan.
Layer 1 OPERATIONAL SYSTEMS
Di layer ini meliputi sistem operasional
yang telah ada disuatu perusahaan yang membantu aktifitas bisnis. Sistem
operasional terdiri atas semua aplikasi buatan, system yang ada, system
transaction-processing, serta database.
Layer 2 SERVICE COMPONENT LAYER
Komponen di layer ini disesuaikan dengan
contract yang didefinisi oleh service yang ada di layer services.
konsumer tidak menyadari service component, yang menenkapsulasi
compleksitas dalam implementasi. keuntungan dari komponen facade ini
adalah fleksibilitas terhadap perubahan system operasional tanpa merubah
service definition.
Layer 3 SERVICES LAYER
Dalam layer ini meliputi semua services
yang di definisi. definisi dari setiap service, seperti informasi
syntatic dan semantic dijelaskan di layer ini. sedangkan informasi
syntactic adalah dasar dari seluruh operasi dari service, seperti input
output pesan, dan definisi dari kesalahan service, sedangkan informasi
semantic adalah dasar dari polis service, seperti service management
desicions, service access requirements, dan sebagainya.
Layer 4 BUSINESS PROCESS LAYER
Bisnis proses menjelaskan bagaimana
sebuah bisnis berjalan. proses bisnis dalam representasi IT tentang
bermacam-macam aktifitas yang terkoordinasi dan terkolaborasi di dalam
enterprise untuk membentuk suatu fungsi bisnis tingkat tinggi yang
spesifik. layer ini mewakili proses seperti orchestration atau composition of loosely coupled services.
layer ini juga bertanggung jawab atas semua managemen lifecycle dari
proses beserta dengan orchestration dan choreography.
Layer 5 COMSUMER LAYER
Layer ini menggambarkan berbagai saluran
dimana fungsi-fungsi IT disalurkan.saluran tersebut dapat berupa tipe
user yang berbeda beda seperti contohnya, komsumer external dan internal
yang mengakses kemampuan aplikasi melalui mekanisme pengaksesan seperti
B2B system, portals, rich clients, dan bentuk lainnya.
0 komentar:
Posting Komentar