Cute Pink Flying Butterfly

Tuesday, November 9, 2010

Tugas 2 Jarkom

PERBEDAAN TOKEN RING Dan BUS


· Token Ring

Umumnya alternatif jaringan area lokal untuk Ethernet adalah teknologi jaringan yang dikembangkan oleh IBM, yang disebut token ring. Ethernet mana bergantung pada acak kesenjangan antara transmisi untuk mengatur akses ke medium, cincin token mengimplementasikan sebuah ketat, metode akses teratur. Sebuah jaringan token-ring mengatur node dalam sebuah cincin logis, seperti yang ditunjukkan di bawah ini. Simpul maju frame dalam satu arah di sekitar cincin, menghapus bingkai ketika telah dilingkari cincin sekali.

1. Cincin menginisialisasi dengan menciptakan sebuah tanda, yang merupakan tipe khusus bingkai yang memberikan izin untuk stasiun transmisi.

2. Lingkaran token cincin seperti bingkai hingga bertemu dengan sebuah stasiun yang ingin mengirimkan data.

3. Stasiun ini kemudian "menangkap" token token dengan mengganti bingkai dengan bingkai pembawa data, yang mengelilingi jaringan.

4. Setelah bingkai data tersebut kembali ke stasiun pemancar, stasiun yang menghilangkan data frame, menciptakan sebuah token baru dan ke depan yang token ke simpul berikutnya dalam cincin.

Token-ring node tidak mencari sinyal pembawa atau mendengarkan tabrakan; kehadiran bingkai token menyediakan jaminan bahwa stasiun dapat mengirimkan bingkai data tanpa takut stasiun lain menyela. Karena hanya sebuah stasiun mentransmisikan data satu bingkai sebelum melewati sepanjang token, masing-masing stasiun pada cincin akan mendapat giliran untuk berkomunikasi dengan deterministik dan adil. Token-ring biasanya mengirimkan data jaringan baik pada 4 atau 16 Mbps.


· BUS

Pada topologi Bus digunakan sebuah kabel tunggal atau kabel pusat di mana seluruh workstation dan server dihubungkan.

Keuntungan:

1. Hemat kabel

2. Layout kabel sederhana

3. Pengembangan jaringan atau penambahan workstation baru dapat dilakukan dengan mudah tanpa mengganggu workstation lain

Kerugian:

1. Deteksi dan isolasi kesalahan sangat kecil

2. Kepadatan lalu lintas pada jalur utama

3. Kelemahan dari topologi ini adalah bila terdapat gangguan di sepanjang kabel pusat maka keseluruhan jaringan akan mengalami gangguan

4. Diperlukan repeater untuk jarak jauh



READ MORE - Tugas 2 Jarkom

Tuesday, November 2, 2010

Tugas 2 Rekayasa Perangkat Lunak Web Engineering

1. Jelaskan perbedaan antara pattern dan framework!

2. Jelaskan tenteng MVC dan Struts!

3. Jelaskan arsitektur dari codelgniter, sertakan gambar!

4. Jelaskan tentang integrasi sistem dan SOA sertakan gambar!

Jawaban

1. Perbedaan antara Pattern dan Framework…

Pattern adalah sebuah solusi untuk mengulang masalah Design. Solusi ini telah dikembangkan, dikompile, dan disaring oleh programmer yang sebelumnya telah menghadapi masalah ini. Sebuah Design 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.

Framework adalah suatu struktur konseptual dasar yang digunakan untuk memecahkan atau menangani suatu masalah kompleks. Istilah ini sering digunakan antara lain dalam bidang perangkat lunak untuk menggambarkan suatu desain sistem perangkat lunak yang dapat digunakan kembali, serta dalam bidang manajemen untuk menggambarkan suatu konsep yang memungkinkan penanganan berbagai jenis atau entitas bisnis secara homogen.

2. MVC

Arsitektur Model-View-Controller adalah sebuah pola yang terbukti membangun proyek secara lebih efektif. Hal itu dilakukan dengan memilah komponen antara Model, View dan Controller pada bagian – bagian dalam proyek.

Motivasi

Aplikasi apapun, bagian dalam kode yang sering mengalami perubahan adalah bagian user interface. User interface adalah bagian yang paling terlihat oleh user dan bagaimana ia berinteraksi dengan aplikasi, membuatnya menjadi titik fokus pengubahan berdasar kemudahan penggunaan.

Business-logic yang rumit pada user-interface membuat pengubahan pada user interface menjadi lebih kompleks dan mudah terjadi kesalahan. Perubahan pada satu bagian memiliki potensi keterkaitan dengan keseluruhan aplikasi.

Solusi

Pola MVC menyediakan sebuah solosi terhadap permasalahan tersebut dengan membagi aplikasi menjadi bagian – bagian tersendiri, Model, View dan Controller, memisahkan antar bagian tersebut dan membuat tata interaksi diantaranya.


Diagram di atas menunjukkan 3 komponen yang terdapat dalam pola MVC dan interaksi yang terjadi.

MODEL

Pola MVC memiliki layer yang disebut dengan Model yang merepresentasikan data yang digunakan oleh aplikasi sebagaimana proses bisnis yang diasosiasikan terhadapnya. Dengan memilahnya sebagai bagian terpisah, seperti penampungan data, persistence, serta proses manipulasi, terpisah dari bagian lain aplikasi.

Terdapat beberapa kelebihan dalam pendekatan ini. Pertama, membuat detail dari data dan operasinya dapat ditempatkan pada area yang ditentukan (Model) dibanding tersebar dalam keseluruhan lingkup aplikasi. Hal ini memberikan keuntungan dalam proses maintenance aplikasi.

Kedua, dengan pemisahan total antara data dengan implementasi interface, komponen model dapat digunakan kembali oleh aplikasi lain yang memiliki kegunaan yang hampir sama.

VIEW

Layer ini mengandung keseluruhan detail dari implementasi user interface. Disini, komponen grafis menyediakan representasi proses internal aplikasi dan menuntun alur interaksi user terhadap aplikasi. Tidak ada layer lain yang berinteraksi dengan user, hanya View.

Penggunaan layer View memiliki beberapa kelebihan : Pertama, memudahkan pengabungan divisi desain dalam development team. Divisi desain dapat berkonsentrasi pada style, look & feel, dan sebagainya, dalam aplikasi tanpa harus memperhatikan lebih pada detail yang lain.

Dan juga, memiliki layer View yang terpisah memungkinkan ketersediaan multiple interface dalam aplikasi. Jika inti dari aplikasi terletak pada bagian lain (dalam Model), multiple interfaces dapat dibuat (Swing, Web, Console), secara keseluruhan memiliki tampilan yang berbeda namun mengeksekusi komponen Model sesuai fungsionalitas yang diharapkan.

CONTROLLER

Terakhir, arsitektur MVC memiliki layer Controller. Layer ini menyediakan detail alur program dan transisi layer, dan juga bertanggungjawab akan penampungan events yang dibuat oleh user dari View dan melakukan update terhadap komponen Model menggunakan data yang dimasukkan oleh user.

Kelebihan dalam penggunaan layer Controller secara terpisah : Pertama, dengan menggunakan komponen terpisah untuk menampung detail dari transisi layer, komponen view dapat didesain tanpa harus memperhatikan bagian lain secara berlebih. Hal ini memudahkan team pengembang multiple interface bekerja secara terpisah dari yang lain secara simultan. Interaksi antar komponen View terabstraksi dalam Controller.

Kedua, dengan menggunakan layer terpisah yang melakukan update terhadap komponen Model, detail tersebut dihapus dari layer presentasi. Layer presentasi kembali pada fungsi utamanya untuk menampilkan data kepada user. Detail tentang bagaimana data dari user mengubah ketetapan aplikasi disembunyikan oleh Controller. Hal ini memisahkan dengan jelas antara presentation logic dengan business logic.

Tidak dapat disimpulkan bahwa pola MVC hadir dengan kelebihan – kelebihan tanpa ada efek samping. Pembagian aplikasi dalam 3 bagian terpisah meningkatkan kompleksivitas. Pada aplikasi kecil yang tidak membutuhkan loose coupling pada Model, hal ini dapat menjadi blok penghalang dalam penggunaan pola ini. Bagaimanapun, yang terbaik adalah untuk meyakini bahwa sebuah aplikasi umumnya dimulai dari aplikasi sederhana, dan berkembang menjadi sistem yang kompleks., sehingga factor loose coupling harus selalu diutamakan dan diperhatikan.

STRUTS

Struts adalah open-source framework yang dibuat oleh Apache Software Foundation. Dibawah ini menunjukkan bagaimana penanganan Model 2 Architecture oleh Struts.


Perhatikan object yang disediakan oleh framework pada komponen Model, View dan Controller.

CONTROLLER

ActionServlet

Pusat dari implementasi controller pada Struts adalaha ActionServlet. Berfungsi sebagai Front Controller servlet dan menyediakan jalur tunggal untuk mengakses aplikasi. ActionServlet juga mengandung logic dalam penanganan request dari client – terlihat pada HTTP request dari client, kemudian diteruskan menuju sebuah halaman Web atau mengirimkan request tersebut object penerima yang disebut dengan Actions yang kemudian bertanggungjawab untuk menentukan respon yang akan dihasilkan.

ActionServlet memiliki detail – detail sebagai berikut, Action apa yang akan dipanggil untuk menangani request, komponen view mana yang akan dipanggil selanjutnya – dengan membaca konfigurasi XML, yang umunya bernama struts-config.xml.

Servlet ini menyediakan struts framework yang siap digunakan. Secara keseluruhan penting untuk menyertakannya pada aplikasi sebagai konfigurasi pada deployment aplikasi.

Berikut ini adalah potongan dari web.xml yang menunjukkan konfigurasi ActionServlet.

...

action

org.apache.struts.action.ActionServlet

application

ApplicationResources

config

/WEB-INF/struts-config.xml

...

action

*.do

Action

Seperti yang telah disebutkan sebelumnya, beberapa request dari client diteruskan menuju Action yang sesuai oleh front controller servlet. Seluruh action objects mendefinisikan sebuah method yang disebut execute(), dan method inilah yang dipanggil oleh ActionServlet untuk menangani request yang terjadi.

Aktifitas umum dalam aplikasi web adalah user log-in. Ditunjukkan di bawah ini adalah implementasi dari LoginAction class yang berfungsi untuk menangani request tersebut.

import org.apache.struts.action.*

public class LoginAction extends Action {

public ActionForward execute(ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response)

throws Exception {

// casting ActionForm

LoginForm loginForm = (LoginForm)form;

// Menampung data dari user.

String loginName = form.getLoginName();

String password = form.getPassword();

// Membuat business object yang akan menangani request

UserService service = new UserService();

user = service.login(loginName, password);

// Jika user tidak ada, diteruskan pada error page

if (user == null) {

return mapping.findForward("failure");

}

// Simpan pada session untuk digunakan pada proses aplikasi selanjutnya

HttpSession session = request.getSession();

session.setAttribute(ApplicationConstants.USER_OBJECT, user);

// User telah log-in dengan sukses.

return mapping.findForward("success");

}

}

Perhatikan bahwa implementasi di atas menggunakan sebuah business object yang disebut dengan UserService, untuk menentukan otentifikasi user dan tidak menyediakan implementasi secara langsung pada method eksekusinya. Action instances harus dibuat dengan alur sebagai berikut – fungsi utama harus di teruskan kembali pada business object (yang dapat ditemukan pada bagian Model), tidakdiimplementasikan dalam Action itu sendiri. Proses yang akan dijalankan pada Action adalah sebagai berikut :

o Menampung informasi user dari ActionForm bean terkait

o Menerjemahkan data dari form menjadi parameter yang diperlukan oleh business object yang mengimplementasikan fungsionalitasnya

o Menampung hasil operasi dari business object dan menentukan View selanjutnya yang akan ditampilkan pada user

o Secara opsional, menyimpan data hasil dari operasi bisnis ke dalam session atau request objects untuk digunakan dalam proses aplikasi selanjutnya

Hal lain yang perlu diperhatikan pada saat membuat kode instances dari Action objects adalah bahwa framework hanya akan menginstansiasi satu salinan object dan menggunakannya untuk memfasilitasi seluruh request. Hal ini berarti kita harus selalu membuat kode Action dalam thread-safe, dan memastikan bahwa hanya local variabel yang digunakan, bukan instance variabel.

Action instances berkemampuan untuk menginstruksikan ActionServlet dalam memilih komponen View mana yang akan digunakan dalam merespon dengan mengembalikan instances dari objek ActionForward. Actions memiliki akses terhadap ActionForward melalui penggunaan ActionMapping yang mengenkapsulasi data dari pemetaan logical path pada setiap Action. Pemetaan tersebut dibaca dari file konfigurasi oleh ActionServlet, yang kemudian bertanggungjawab untuk meneruskan ActionMapping pada Action yang sesuai. Sehingga menginstruksikan ActionServlet untuk meneruskan pada logical map dengan hasil “Success”, Action bekerja sesuai pernyataan berikut :

return mapping.findForward("success");

ActionForm

Struts framework menyediakan sebuah class yang disebut dengan ActionForm. Instances dari class ini digunakan untuk memfasilitasi penampungan data yang berasal dari form yang dikumpulkan dari user pada Action instances yang menangani events pada form tersebut.

Tiap instances dari ActionForm merepresentasikan sebuah form atau rangkaian forms. Instances tersebut mendefinisikan properties dari elemen – elemen form, dan mempublikasikannya dengan menggunakan getters dan setters yang dapat diakses secara public. Action yang memerlukan data dari form kemudian memanggil method getter dari instance ActionForm.

Struts menyertakan definisi class dasar; developer bertanggungjawab penuh atas implementasi buatan mereka sendiri.

Kode dibawah menunjukkan ActionForm yang digunakan pada contoh sebelumnya :

import org.apache.struts.action.*;

public class LoginForm extends ActionForm {

private String loginName;

private String password;

public String getLoginName() {

return loginName;

}

public void setLoginName(String loginName) {

this.loginName = loginName;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

Beberapa hal yang perlu diingat pada saat pengkodean ActionForm :

o Mendefinisikan properties (dengan asosiasi terhadap method get dan set) untuk tiap elemen yang akan direpresentasikan pada form

o Hindari penempatan business logic pada ActionForm. ActionForm ditujukan untuk mentransfer data antara komponen View dan Controller, dan bukan ditujukan untuk business logic.

o Opsi lain, sertakan sebuah method untuk memvalidasi data sebelum diteruskan pada Action. Validasi akan dibahas lebih mendalam selanjutnya.

struts-config.xml

File ini berfungsi sebagai file konfigurasi komponen – komponen yang terdapat pada Struts. Disini, kita dapat mendefinisikan Action mana yang akan dipanggil untuk tiap request, form mana yang akan digunakan pada tiap Action, dan memetakan logical names pada actual path, diantara hal – hal lain. Berikut ini adalah potongan dari struts-config.xml yang digunakan pada contoh di atas :

path=”/login”

scope=”request”

type=”login.LoginAction”>

Mari kita bahas tiap elemen tersebut.

Elemen ini mendefinisikan file XML sebagai file konfigurasi dalam penggunaan Struts framework. Terlewat dan kesalahan dalam penulisan kode, akan menghasilkan error pada saat aplikasi dijalankan.

Elemen dasar dalam file konfigurasi. Seluruh elemen lain adalah elemen turunan dari elemen ini.

Elemen ini menandai awal dan akhir definisi dari ActionForm instances. Elemen harus diposisikan sebagai turunan dari elemen ini.

Menjelaskan instance dari ActionForm yang dapat digunakan oleh aplikasi. Elemen ini memiliki dua atribut :

o name – nama logik yang akan diasosiasikan dengan ActionForm class

o type – desripsi kualifikasi lengkap nama class dari ActionForm class

Elemen ini menandai awal dan akhir definisi Action dan pemetaannya. Seluruh elemen harus diposisikan sebagai titik turunan dari elemen ini.

Menjelaskan instance dari Action object yang akan digunakan oleh aplikasi. Secara umum, elemen action akan mengimplementasikan atribut - atribut sebagai berikut :

o path – context relative path yang digunakan oleh Action. Request apapun pada path ini menghasilkan Action dipanggil

o type – deskripsi lengkap nama class dari Action class

o name – nama elemen yang akan digunakan oleh Action

o scope – lingkup dimana ActionForm yang dapat diakses. Hal ini mengatur dimana ActionServlet akan menyimpan instance dari ActionForm

Elemen ini mendefinisikan pemetaan logik antara sebuah name dan path pada aplikasi.

Elemen ini memiliki atribut sebagai berikut :

o name – nama dari elemen forward yang akan digunakan oleh Action instance

o path – path dari komponen View yang akan diasosiasikan pada forward

Hal – hal yang perlu dilakukan pada Controller layer :

Untuk sekali pengaturan :

o Mengkonfigurasi ActionServlet pada deployment aplikasi

Untuk tiap form handler yang akan ditambahkan pada aplikasi :

o Membuat object ActionForm yang akan menrepresentasikan seluruh data yang dikumpulkan dari form

o Membuat object Action dimana pada method eksekusinya menjelaskan bagaimana form akan ditangani

o Mengkonfigurasi object ActionForm dalam struts-config.xml, pada bagian

o Mengkonfigurasi object Action dalam struts-config.xml, pada bagian

o Mengkonfigurasi seluruh elemen forward yang akan digunakan oleh Action, dengan menempatkan pada badan definisi

MODEL

Struts framework secara eksplisit tidak menyediakan komponen apapun dalam elemen Model. Object mana yang akan digunakan sebagai komponen Model ditentukan sepenuhnya oleh developer, umumnya adalah JavaBeans, atau terkadang EJB.

View

Struts dapat menggunakan teknologi presentation layer apapun, walaupun pada sebagian kasus yang presentation layer yang digunakan adalah JSP dan HTML. Apa saja yang disediakan oleh Struts, adalah serangkaian dari tag libraries yang mengijinkan penggunaan fitur – fitur dari Struts dalam pengumpulan dan validasi form secara otomatis.

struts-html

Struts menyertakan sebuah tag-library, disebut dengan struts-html, yang hampir menyerupai keseluruhan fungsionalitas standar HTML, namun ditambahkan dengan beberapa fitur tambahan.

Tag-library ini sering digunakan pada saat membuat form yang akan dipakai oleh aplikasi. Perhatikan contoh dibawah ini :

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

Login Page

Login Page


User Name :

Password :

Ini adalah form yang digunakan pada contoh sebelumnya. Perhatikan bagaimana elemen standar HTML seperti

, , , serta digantikan oleh tag dari library struts-html. Mari kita bahas tags tersebut satu-persatu :

Tag menerjemahkan sebuah HTML form. Tiap form tag terasosiasi dengan sebuah action mapping yang didefinisikan oleh atribut action. Value dalam atribut action menspesifikasikan path dari action mapping yang sesuai.

Perhatikan kembali file konfigurasi pada contoh sebelumnya :

...

path=”/login”

scope=”request”

type=”login.LoginAction”>

...

Dapat kita lihat bahwa value dari atribut path terdefinisi pada file konfigurasi sesuai dengan value atribut action pada tag . Hal ini mengindikasikan bahwa dalam form ini, saat diserahkan, akan diteruskan pada LoginAction untuk ditangani.

Salah satu dari persyaratan dari tag html:form yang valid adalah tiap field yang mengandungnya harus tercantum pada ActionForm untuk dipetakan pada action mapping.

Kemungkinan atribut lain :

o method – dapat berupa POST atau GET. Menjelaskan method HTTP yang akan digunakan pada pengiriman form

Tag ini menerjemahkan standar HTML text input field. Property attribute menentukan batasan property dalam ActionForm terkait. Sebagai contoh, value dari property attribute dari contoh di atas adalah “loginName”, text field ini terhubung dengan property loginName pada LoginForm.

Atribut lain yang tersedia pada tag ini :

o size – mendefinisikan ukuran dari text field yang akan ditampilkan

o maxlength – menentukan panjang maksimum value yang dapat dimasukkan oleh user

Tag ini menerjemahkan standard HTML password field. Property attribute dari tag ini menjelaskan batasan property dalam ActionForm yang berkaitan. Dalam contoh diatas, field ini dibatasi oleh password property pada LoginForm.

Pada pembahasan sebelumnya tentang html:text dan html:password field, dijelaskan bahwa tag – tag tersebut dibatasi oleh properties pada ActionForm yang terhubung dengan form. Hal ini menjelaskan bahwa pada prakteknya value yang dimasukkan oleh user dalam field ini secara otomatis akan diatur sesuai batasan properties dalam object ActionForm. Terlebih lagi, jika terdapat value sebelumnya dalam ActionForm object (form tersebut telah diakses sebelumnya), field pada form secara otomatis pula akan terisi dengan values dari ActionForm object.

Tag-tag lain yang terdapat pada struts-html tag library :

Menerjemahkan HTML hidden pada form field.

Contoh penggunaan :

Menerjemahkan HTML radio check box.

Contoh penggunaan :

,

html:select digunakan untuk menerjemahkan sebuah drop-down list box. Pilihan – pilihan yang terdapat pada list box didefinisikan menggunakan tag html:option.

Contoh penggunaan :

0 Label

1 Label

2 Label

Contoh di atas akan membuat sebuah list box dengan 5 item berukuran 5. Perhatikan bahwa body dari html:option tag berperan sebagai label dari item pada list, sedangkan value dari value attribute menentukan value yang akan diberikan pada Action.

,

Digunakan untuk menerjemahkan check box field dan textarea.

Seperti yang terlihat pada pembahasan sebelumnya (Advanced JSP), terdapat beberapa hal yang perlu dilakukan sebelum memakai bermacam tag libraries dalam aplikasi.

Pertama, letakkan file JAR implementasi dari fungsionalitas tag dalam direktori WEB-INF/lib dalam aplikasi.

Beberapa hal yang harus dilakukan terhadap layer View :

Untuk satu kali pengaturan :

o Konfigurasi tag library yang akan digunakan dalam pengembangan aplikasi

o Tempatkan file JAR yang memiliki implementasi tag libraries pada direktori WEB-INF/lib dalam aplikasi

Untuk setiap form yang akan dibuat :

o Buat sebuah direktive taglib pada halaman JSP untuk menggunakan struts-html tag library

o Pada peletakan standar tag, gunakan , tentukan dalam action attribute dari path Action yang akan menangani form

o Pada posisi peletakan HTML field tags (, dan sebagainya), gunakan tags yang terdapat pada struts-html tag library yang memiliki fungsi yang sama (, dan sebagainya).

§ Pastikan bahwa seluruh input fields yang terdapat pada form terdefinisi sebagai properties pada ActionForm object yang terhubung dengan request. Tidaklah perlu bahwa seluruh properties pada object ditampilkan sebagai field, namun dipersyaratkan bahwa seluruh fields juga terdefinisi sebagai properties.

§ Menutup tag

3. CodeIgniter adalah sebuah framework yang menerapkan konsep Model-View-Controller (MVC) sebagai pola didalam mengembangkan aplikasi berbasis PHP. Dengan pola MVC ini memungkinkan developer untuk mengorganisir file-file untuk membangun aplikasi.

CodeIgniter berisi banyak sekali instant library yang memudahkan seorang programmer PHP didalam membangun aplikasi sehingga walaupun aplikasinya besar, seorang programmer tidak perlu mendefinisikan library-library tersebut dari awal. Sebagai contoh jika kita ingin membuat sebuah fungsi database untuk memunculkan list data dari sebuah table dengan query ‘SELECT’, maka kita hanya tinggal memanggil library yang sudah disediakan dan selebihnya akan dikerjakan oleh CodeIgniter.

Memahami arsitektur URL pada CI

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. Untuk lebih jelasnya coba anda buka file welcome.php didalam folder system ‘/application/controller/‘, maka anda akan temukan sintaks sebagai berikut:

class Welcome extends Controller

{

function Welcome()

{

parent::Controller();

}

function index()

{

$this->load->view('welcome_message');

}

}

Jika anda sudah pernah mempelajari konsep OOP pada PHP mungkin anda sudah mengerti maksud sintaks diatas. Jadi sebenarnya setiap controller pada CI berbentuk object atau class yang diturunkan dari sebuah class bernama Controller. Fungsi Welcome() merupakan fungsi constructor dari sebuah class bernama Welcome. Selanjutnya kita perlu memperhatikan fungsi/method index(). Method index() inilah yang dijalankan secara otomatis walaupun kita tidak menuliskannya didalam URL. Tetapi coba saja anda akses URL tadi dengan ditambahkan nama method sehingga menjadi seperti ini : http://localhost/CodeIgniter/index.php/welcome/index , pasti anda akan mendapatkan hasil yang sama.

4. Service Oriented Architecture atau SOA memungkinkan departemen IT untuk membuat suatu transisi dari pendekatan aplikasi menuju pada suatu pendekatan proses bisnis.
SOA merupakan suatu arsitektur yang mendukung loosely coupled services untuk memungkinkan suatu bisnis yang fleksibel dalam pertukaran informasi dan penggunaan teknologi informasi. SOA terdiri dari kumpulan layanan bisnis yang mendukung suatu pengkonfigurasian kembali realisasi end-to-end bisnis proses yang fleksibel dan dinamis menggunakan deskripsi layanan berbasis interface.

SOE (Service Oriented Enterprise) Maturity Models Level

SOE Maturity Model merupakan suatu model dari “SOA yang lebih menyeluruh” dan fokus dalam membawa ROI (Return on Investment) untuk bisnis yang baik pada organisasi IT. Berikut gambar SOE Maturity Model :


Level 1 :

SOE Foundation-initial mengatur indicator kunci performa, end-to-end bisnis proses dan mengatur infrastruktur SOA. Ini mengartikan bahwa SOE bukan hanya satu layer yang mendapatkan suatu dasar dari teknologi web service akan tetapi ada tambahan dua layer yaitu the enterprise performance layer, yang mengidentifikasikan sejumlah indikator kunci performa dan the business process management layer, yang mengidentifikasikan proses awal yang bergantung pada SOA/ESB layer untuk menjaga suatu kualitas yang tinggi, performa yang tinggi, dan reliable integration menggunakan layanan teknologi. Layer ini merupakan hasil dari pengaturan awal terhadap tiga layer SOE di atasnya.

Level 2 :

SOE Repetable projects-infra-focused. Pada level ini akan menentukan arsitektur SOA, pada ESB (Enterprise Service Bus), dan implementasi dari ESB. Level 2 ini memiliki penanganan yang baik pada identifikasi semua ketergantungan terhadap (a) user bisnis, khususnya stakeholders dan bisnis analis; (b) proses dan rule arsitek untuk mendesain dan implementasi dari policy, prosedur, dan end-to-end bisnis proses dan (c) infrastruktur arsitektur SOA untuk desain yang berorientasi pada layanan dan standarisasinya. Metodologi pada level 2 ini dapat dimulai dari pengukuran terhadap proses dan performa, dapat diperkirakan keuntungannya dan dapat mulai membawa dan mengulang ROI untuk didesain ulang yang berorientasi pada proses dan layanan. Jadi di sini akan mengatur optimalisasi proses end-to-end ROI, termasuk KPI pada level EPM, business rules dan proses pada level BPM dan mendasari level ESB/SOA.

Level 3 :

SOE-extended enterprise-focused. Perluasan komposisi dan integrasi perusahaan business-to-business, dengan QoS (Quality of Service) standards support untuk proses bisnis end-to-end. Implementasi dari proses yang mendasari layanan integrasi lebih kompleks daripada proses oriented. Proses pada level ini termasuk mengeksekusi secara internal dalam masing-masing partner bisnis. Partner bisnis dapat mendefinisikan dan menyebarkan khoreografy yang kompleks dari proses-prosesnya. Masing-masing memiliki mesin proses internal sendiri. Perluasan enterprise akan dapat mengeksekusi proses end-to-end secara kuat termasuk pertukaran informasi dalam konteks proses internal.

Level 4 :

SOE-solution focused. Berfokus pada solusi horizontal dan vertikal yang membantu enterprise secara cepat dalam membangun dan menyebarkan solusi pelanggan. Solution framework pada dasarnya merupakan suatu fondasi yang dapat mempercepat life cycle of projects secara keseluruhan oleh SOE. Solution framework terdapat (a) predefined best-practice business process templates (b) predefined best-practice information model definitions; (c) redefined best-practice rules dalam kategori yang berbeda seperti declarative expressions, declarative decision, event rules dan constrains; dan (d) predefined service intergration dengan back-end atau trading partner organization. Pada level 4 ini, ahli teknik telah menghasilkan best practices untuk digunakan kembali pendefinisian solusi yang sudah ada dan menentukan area mana yang butuh di buat alternatife skesifikasinya dan perluasannya. Ini pada dasarnya merupakan pendekatan yang berbeda dan lebih dewasa untuk mengembangkan suatu solusi. SOA dan sistem BPM adalah layer inti horisontal. Pada level ini, bukan hanya arsitektur best practice dan solusi tetapi juga menurun/vertical sebagus solusi horisontal yang memiliki komponen predefined yang dapat berpengaruh terhadap service integration dan otomatisasi proses bisnis.

Level 5 :

SOE-performance, agility, and intelligence focused: Ini berkaitan pada fitur-fitur yang lebih maju dari SOE. Ini merupakan optimasi, dan kemampuan yang ada secara cepat turun dari level KPI (Key Performance Indicator) yang tinggi pada proses, partisipasi atau service deployed dalam dasar infrastruktur. Sistem dapat juga menyarankan optimalisasi dan menyediakan kemampuan untuk memprediksi peningkatan nilai KPI. Fitur-fitur lain pada level 5 :

Membangun service, proses dan policy asstes : Pada level maturity ini kemampuan hadir untuk mengorganisasikan bisnis proses, bisnis rules integrasi, dan semua aspek yang lain dari partisipasi, back-end service, atau layanan perdagangan partner dipilih dan dieksekusi. Proses, rules, dan fasilitas yang terintegrasi diperlakukan sebagai asset perusahaan, dimana dapat secara mudah digunakan dan dispesialisasikan. Sistem menyediakan pemisahan dari apa yang dimaksudkan untuk diterima dalam solusi khusus melawan bagaimana untuk mendapatkannya, untuk contohnya, service mana yang harus diminta, trading partner mana yang digunakan, proses mana yang aktif, manusia mana yang berpartisipasi untuk diberikan tugas.

Dynamic discovery : Pada level maturity ini, akan ada penemuan yang dinamis dari layanan. Sekarang kita dapat secara semantic menemukan layanan lain dan terkadang bahkan dapat membawa negosiasi otomatis, pelelangan dan kemudian akses terhadap layanan. Pengikatan terhadap penyedia layanan bersifat dinamis. Pada level ini, pendesain fokus pada tipe layanan, mengukurnya melalui properties atau meta-data dari layanan. Sistem ini memperhitungkan layanan terbaik yang harus diminta. Dynamic discovery dan kemudian yang berikutnya mengikat dengan registrasi inti, penemuan dan perubahan dari permintaan / jawaban dari apa yang telah diilustrasikan.

Benefit And Implementation of SOA

SOA menyediakan manfaat dalam 4 kategori dasar :

· Mengurangi biaya integrasi

· Meningkatkan penggunaan aset

· Meningkatkan business agility

· Pengurangan resiko bisnis

Prinsip-prinsip yang direkomendasikan ketika mengimplementasikan SOA :

1. Mendokumentasikan proses bisnis. Dapat secara bottom up atau top down, ketersediaan dari dokumentasi proses bisnis adalah kritis dalam penyampaian SOA melalui Aplikasi berbasis Web Services

2. SOA mengimplementasikan evolusi yang dimulai dari seorang pilot, menyampaikan nilai bisnis dan penambahan secara menaik

3. Implementasi SOA harus didasarkan pada loosely coupled services yang menyediakan fleksibelitas yang tinggi dan penurunan biaya secara terus menerus karena reuse and lower maintenance

4. Pelayanan harus memiliki interface standar yang rela untuk memungkinkan seamless integration dan interoperability dengan layanan yang lain

5. Bisnis mengendalikan services, dan services mengendalikan teknologi

6. Pokok dari SOA ialah business agility

Integrasi Sistem

Integrasi : adanya saling keterkaitan antar sub sistem sehingga data dari satu sistem secara rutin dapat melintas, menuju atau diambil oleh satu atau lebih sistem yang lain.
Pengintegrasian sistem informasi merupakan salah satu konsep kunci dari SIM. Berbagai sistem dapat saling berhubungan satu sama lain dengan berbagai cara yang sesuai keperluannya.

Integrasi sistem informasi dapat bersifat hirarkis yaitu pada tingkat transaksi akan memberikan masukan data kepada sistem tingkat manajerial atau sering pula dalam arah sebaliknya. Interaksi hirarkis adalah paling banyak diidentifikasikan dan diitegrasikan karena manajer mengetahui bahwa informasi harus diringkaskan menurut jalur hirarki disamping sistem yang bersangkutan ada di bawah satu garis komando dan karena manajer dalam bidang fungsional akan lebih banyak mengetahui data apa yang ada dalam sistemnya.

Keuntungan dari integrasi :

1. Membaiknya arus informasi di dalam sebuah organisasi.

2. Mendorong manajer untuk membagikan informasi yang dihasilkan oleh departemennya agar secara rutin mengalir ke sistem yang lain yang memerlukan.

READ MORE - Tugas 2 Rekayasa Perangkat Lunak Web Engineering

Template by:

Free Blog Templates