1. 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.
2. Jelaskan tentang 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.
3. 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.
4. 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.
5. 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.
0 komentar:
Posting Komentar