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 :
1.
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.
2.
View, View adalah bagian
yang mengatur tampilan ke pengguna. Bisa di katakan berupa halaman web web.
3.
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.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
sebagaiinterpreter, 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 dilayer interpreter itu juga, dan sub sistem
baru yang akan menanganiinterface 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 SOA
Arsitektur 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.
Tidak ada komentar:
Posting Komentar