Senin, 22 September 2014

Mengelan Sejarah dan Teori PHP




PHP
PHP: Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML. PHP banyak dipakai untuk memrogram situs web dinamis. PHP dapat digunakan untuk membangun sebuah CMS.

Sejarah PHP
Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web.
Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP.
Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.
Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi.
Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.
Contoh program
Program Hello World
Program Hello World yang ditulis menggunakan PHP adalah sebagai berikut:
    echo "Hello World";
?>
Program bilangan Fibonacci
Berikut ini adalah contoh program yang relatif lebih kompleks yang ditulis dengan menggunakan PHP. Contoh program ini adalah program untuk menampilkan 20 bilangan pertama dari deret bilangan Fibonacci.terdapat beberapa variable atau sintax. seperti function. itu merupakan bagian dari javascript.
function fibonacci_seq( $panjang ) {
   for( $l = array(0,1), $i = 2, $x = 0; $i < $panjang; $i++ )
        $l[] = $l[$x++] + $l[$x];
   return $l;
}

fibonacci_seq(20);
// Angka "20" dapat diganti sesuai keinginan
?>
Kelebihan PHP Dari Bahasa Pemrograman Lain
Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain:
  1. 'Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya.'
  2. 'Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.'
  3. 'Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan.'
  4. 'Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.'
  5. 'PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.'
Tipe data
PHP memiliki 8 tipe data, yaitu:
  1. Boolean
  2. Integer
  3. Float/ Double
  4. String
  5. Array
  6. Object
  7. Resource
  8. NULL



Framework PHP

PENGERTIAN FRAMEWORK
Framework adalah kerangka kerja. Framework juga dapat diartikan sebagai kumpulan script (terutama class dan function) yang dapat membantu developer/programmer dalam menangani berbagai masalah-masalah dalam pemrograman seperti koneksi ke database, pemanggilan variabel, file,dll sehingga developer lebih fokus dan lebih cepat membangunaplikasi.Bisa juga dikatakan Framework adalah komponen pemrorgaman yang siap re-use kapansaja, sehingga programmer tidak harus membuat skrip yang sama untuk tugas yang sama.Misalkan saat anda membuat aplikasi web berbasis ajax yang setiap kali harus melakukan XMLHttpRequest, maka Xajax telah mempurmudahnya untuk anda dengan menciptakan sebuah objek khusus yang siap digunakan untuk operasi Ajax berbasis PHP. Itu adalah salah satu contoh kecil, selebihnya Framework jauh lebih luas dari itu.
Secara sederhana bisa dijelaskan bahwa framework adalah kumpulan fungsi (libraries),maka seorang programmer tidak perlu lagi membuat fungsi-fungsi (biasanya disebut kumpulanlibrary) dari awal, programmer tinggal memanggil kumpulan library atau fungsi yang sudah adadidalam framerwork, tentunya cara menggunakan fungsi-fungsi itu sudah ditentukan olehframework. Beberapa contoh fungsi-fungsi standar yang telah tersedia dalam suatu framework adalah fungsi paging, enkripsi, email, SEO, session, security, kalender, bahasa, manipulasigambar, grafik, tabel bergaya zebra, validasi, upload, captcha, proteksi terhadap XSS(XSSfiltering), template, kompresi, XML dan lain-lain.

Macam-macam framework
1.Framework PHP

• CakePHP
• Code Igniter (CI)
• Symphony
• Zend
• Yii
• Kohana


2. Framework Javascript
• JQuery
• Mootools
3. Framework Ruby
• Ruby on Rails (ROR)

Saat ini banyak sekali framework berbasis PHP, diantaranya yang paling populer adalah Zend Framework, Symphony, Prado, CakePHP, CodeIgniter dan lain-lain. Menurut beberapa survei, CodeIgniter adalah framework yang paling mudah dipelajari,karena keserhanaan strukturnya dan kelengkapan dokumentasinya yang baik. Selain itu, kerapiankode (clean and healthy code) dan ukurannya yang ramping membuatnya lebih cepat diaksesdibandingkan dengan framework lainya.Perlu diketahui nyaris (bahkan mungkin semua) framework menggunakan konsep yangsama dalam membangun suatu aplikasi, yaitu konsep MVC (Model View Controller).Kesimpulannya, kalau kita memahami MVC, maka secara garis besar kigta sudah menguasaiframework, apapun jenis frameworknya. Dan satu lagi kuncinya, pemahaman terhadap OOP (Object Oriented Programming)akan sangat membantu dalam menguasai framework.



Sebenarnya hal ini sudah sering di ulang-ulang, tapi karena ranking bersifat dinamis, pastinyasetiap bulan urutan kepopulerannya selalu berbeda, sehingga penulis rasa hal ini perlu dikabarilagi. Budaya penghargaan dan pemberian ranking pun terjadi pada Framework PHP yang kinisemakin populer digunakan, beberapa bulan lalu, ci (code Igniter) selalu nongkrong di posisiteratas, menjadi nomer satu paling banyak digunakan para programmer dunia. Namun, selang beberapa bulan, yii muda, yang ide awalnya mengambil dari prado, meski baru lahir, mampu menumbangkan kompetitor yang sudah ada sebelumnya. Perlu diketahui Framework PHP yang menganut konsep MVC (model, view, controller)menjadikan pembuatan aplikasi berskala besar menjadi lebih cepat, dan mudah. Seorangdesigner tidak perlu lagi merepotkan urusan koding PHP, begitu juga seorang programmer, tidak perlu memikirkan masalah design interface. Benar-benar Framework PHP ini sangat memudahkan.Sampai saat artikel ini ditulis.
10 Framework PHP Terbaik yang populer saat ini :
1. yii
2. Codeigniter
3. CakePHP
4. Zend
5. Symfony
6. PHP Dev Shell
7. Prado
8. Akelos
9. QPHP
10. ZooP





Manfaat Framework
• Manfaatnya dapat membantu kerja developer dalam membangun aplikasi sehingga aplikasi bisa selesai dalam waktu yang singkat.
• Penerapan Design Patterns memudahkan dalam rancangan, pengembangan dan pemeliharaansistem.
• Stability dan Reliability aplikasi yang kita bangun lebih stabil dan handal karena berbasispada framework yang sudah teruji stabilitas dan kehandalannya.
• Coding Style konsisten, memudahkan dalam membaca kode dan dalam menemukan bugs
• Security Concern framework mengantisipasi dan memasang perisai terhadap adanya berbagaimasalah keamanan yang mungkin timbul.
• Dokumentasi, framework dapat mendisiplinkan kita untuk menulis dokumentasi untuk apayang kita tulis

Contoh:
Di dalam Framework tersedia library “Pagination“ misalnya, yang mana dalam class tersebutterdapat fungsi yang memberikan nilai balik(return) link ke halaman berikutnya, sebelumnya,awal, akir dll. nah dalam pengembangan system kita bisa menggunakan class Pagination iniuntuk semua proses yang membutuhkan adanya Pagination. ini adalah sebagian kecil dari contoh library yang di sediakan oleh framework.
Namun framework sendiri kelebihan utamanya bukan dari seberapa banyak library yang disediakan, meski hal itu tentunya akan sangat membantu proses development. Kelebihan yangbisa kita ambil dari framework adalah kerangka kerja dari framework tersebut dalammenyelesaikan modul-modul yang dikembangkan sehinga mengeluarkan sebuah metodepekerjaan yang lebih effisien, lebih rapi, lebih bersifat general, dan lebih homogen.

Kelebihan dari Framework
Pertama kelebihan dengan adanya framework akan lebih mempermudah memahamimekanisme kerja dari sebuah aplikasi. Ini tentunya akan sangat membantu proses pengembangansystem yang dilakukan secara team. Semua anggota di wajibkan untuk memahami dari pola kerjaframework tersebut selebihnya anggota team hanya mempelajari proses bisnis yang di kehendakioleh system untuk kemudian di tuangkan kedalam framework tersebut. Dalam artian setiap orangharus mempunyai metode yang sama dalam menyelesaikan applikasi tersebut.
Kedua dengan memakai framework akan menghemat waktu pengerjaan suatu applikasi,karena setiap anggota sudah memiliki sebuah acuan dalam menyelesaikan modul. Dalam hal inimisalnya semakin banyak library yang ada semakin mempercepat anggota untuk menemukansolusi karena tidak setiap anggota harus membuat Class atau fungsi untuk kasus yang relatif sama.
Berikutnya Team tidak akan di susahkan dengan adanya perputaran anggota dalam artianjika ada anggota yang tidak bisa melanjutkan lagi pekerjaannya anggota yang lain bisa meng-cover kekosongan tersebut. Bayangkan jika setiap modul yang dikembangkan mempunyai logikayang berbeda tentunya akan memakan waktu yang banyak untuk proses pemahan akan system tersebut.

Kesekian-kalinya dengan adanya framework akan menjaga integritas dari modul-modulyang dikembangkan. Tentunya hal ini juga tergantung dari metode yang dikembangkan sendiri.framework hanya membantu dan memungkinkan/mempermudah proses integrasi, tidak berartidengan adanya framework system otomatis akan ter-integrasi. Dan masih ada kelebihan-kelebihan lain yang dimiliki oleh framework.
Kekurangan Framework
• Para programmer mungkin akan menemukan batasan-batasan ketika merancang aplikasimenggunakan framework.
• Kemungkinan akan menambah biaya development apabila framework yg digunakan kurangterdokumentasi dan kurang di support
• Performa dan kecepatan eksekusi





CAKE PHP
CakePHP merupakan sebuah rapid development framework yang gratis dan sumber terbuka untuk PHP.[2] CakePHP adalah sebuah framework atau kerangka kerja untuk membuat aplikasi CRUD (Create, Read, Update, Delete) berbasis bahasa pemrograman PHP. CakePHP juga menjadi salah satu framework pilihan yang memungkinkan seorang dpengembang web untuk membuat sebuah aplikasi dengan karakter pengembangan RAD (Rapid Application Development), yang memungkinkan untuk digunakan dan dikembangkan menjadi aplikasi lain yang lebih kompleks.
CakePHP membuang proses monoton dalam pengembangan aplikasi web. CakePHP menyediakan semua alat bantu yang diperlukan untuk memulai tugas coding yang perlu diselesaikan: yaitu logika aplikasi. Daripada membuat sesuatu yang baru setiap memulai proyek baru, pengguna dapat meninjau unduhan CakePHP dan mulai fokus kepada logik aplikasi yang hendak dibangun.
CakePHP memiliki tim pengembang (developer) dan komunitas yang aktif (membawa nilai tambah ke proyek). Selain menjaga seseorang dari melakukan hal yang membuang waktu, penggunaan CakePHP juga berarti inti (core) aplikasi yang sudah teruji dengan baik dan secara periodik terdapat peningkatan/perbaikan.
Fitur - fitur
Berikut ini adalah daftar fitur yang dapat dinikmati apabila menggunakan CakePHP:
  • Komunitas yang aktif dan bersahabat.
  • Lisensi yang fleksibel.
  • Kompatibel dengan PHP versi 4 dan 5.
  • Operasi CRUD yang terintegrasi untuk interaksi dengan basis data.
  • Scaffolding aplikasi.
  • Otomatisasi pembuatan code (code generation).
  • Arsitektur MVC.
  • Request dispatcher dengan URL yang kustom, rapih dan adanya rute.
  • Validasi data yang terintegrasi.
  • Sistem templating yang cepat dan fleksibel (sintaks PHP, tersedia helpers).
  • View Helpers untuk AJAX, JavaScript, HTML Forms dan banyak lagi.
  • Email, Cookie, Keamanan, Session, dan komponen Request Handling.
  • ACL yang fleksibel.
  • Sanitasi Data.
  • Caching yang fleksibel.
  • Lokalisasi.
  • Dapat bekerja dari direktori web dimana saja, dengan sedikit atau bahkan tanpa perlu melibatkan konfigurasi Apache.



CodeIgniter ( C I )
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 stabil terakhir adalah versi 2.1.3
Framework
Framework secara sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang programer, tanpa harus membuat fungsi atau class dari awal.
Ada beberapa alasan mengapa menggunakan Framework:
  • Mempercepat dan mempermudah pembangunan sebuah aplikasi web.
  • Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada)
  • Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database, scaffolding, pengaturan session, error handling, dll
  • Lebih bebas dalam pengembangan jika dibandingkan CMS
Design Patern: MVC (Model, View, Controller)
Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu :
  1. View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model.
  2. Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view.
  3. Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.
Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan.



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 mengubah 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.






ZEND FRAMEWORK
ZEND FRAMEWORK merupakan PHP Framework berbasis MVC. Mengutip dari situs Zend Framework.
Zend Framework is based on simplicity, object-oriented best practices, corporate friendly licensing, and a rigorously tested agile codebase. Zend Framework is focused on building more secure, reliable, and modern Web 2.0 applications & web services, and consuming widely available APIs from leading vendors like Google, Amazon, Yahoo!, Flickr, as well as API providers and cataloguers like StrikeIron and ProgrammableWeb.”
Zend Framework didasarkan pada kesederhanaan, berorientasi objek praktik terbaik,lisensi ramah perusahaan, dan basis kode tangkas diuji ketat. Zend Framework difokuskan pada membangun Web lebih aman, handal, dan modern 2.0 aplikasi & layanan web, dan API memakan banyak tersedia dari vendor terkemuka seperti Google, Amazon, Yahoo, Flickr, serta penyedia API dan cataloguers seperti StrikeIrondan Programmable Web.”
Zend Framework dapat diperoleh disini dalam format .zip atau format .tar.gz.
1. Zend Framework membutuhkan syarat – syarat seperti dibawah ini:
  • PHP 5.1.4 (atau versi diatasnya)
  • •Sebuah web server yang mendukung fungsi mod_rewrite. Disini menggunakan Apache
2.  Zend Framework memiliki keunggulan-keunggulan seperti berikut:
  • Lisensi Open Source berbasis BSD yang fleksibel baik untuk pengembangan aplikasi open source maupun komersial
  • Dokumentasi lengkap (lebih dari 500 halaman)
  • Proses pengembangan Zend Framework menyertakan unit test yang lengkap, mencakup 84% kode yang ada
  • Library yang menyediakan fungsi yang lengkap sehingga hampir semua kebutuhan pengembangan aplikasi web dapat terpenuhi
  • Mendukung pengembangan aplikasi MVC
  • URL yang bagus dan search engine friendly




3.   Macam-macam library yang disediakan oleh Zend Framework:
1. Otentikasi dan Otorisasi (Authentication & Authorization)
·         Zend_Acl
·         Zend_Authentication
·         Zend_Session
2. Inti Infrastruktur (Core Infrastructure)
·         Zend_Cache, Zend_Config, Zend_Console_Getopt, Zend_Log, Zend_Memory
·         Zend_Debug, Zend_Environment, Zend_Loader, Zend_Registry, Zend_Version
·         Zend_Filter, Zend_Validate
3. Dokumentasi (Documentation)
·         Peningkatan ketepatan, mudah dibaca dan lebih lengkap contohnya
·         Penambahan cakupan terhadap inti-inti framework
·         Pengembangan web aplikasi tutorial
4. Internasionalisasi dan Lokalisasi (Internationalization (i18n) & Localization (l10n))
·         Zend_Date
·         Zend_Locale
·         Zend_Measure
·         Zend_Translate
5. Mail, Format dan Cari (Mail, Formats, & Search)
·         Zend_Json, Zend_Pdf
·         Zend_Mail, Zend_Mime
·         Zend_Search_Lucene
6. Model-View-Controller (MVC)
·         Zend_Controller, Zend_Controller_Action, Zend_Controller_Dispatcher, Zend_Controller_Plugin, Zend_Controller_RewriteRouter, Zend_View
·         Zend_Http_Request, Zend_Http_Response
7. Web & Web Services
·         Consuming services: Zend_Feed, Zend_Rest_Client, Zend_Service, Zend_XmlRpc_Client, Zend_Gdata, Zend_Http_Client
·         Exposing services: Zend_Http_Server, Zend_Rest_Server, Zend_Server_Documentor, Zend_Server_Reflection, Zend_Soap_Server, Zend_XmlRpc_Server
·         Zend_Uri




YII
Yii adalah framework (kerangka kerja) PHP berbasis-komponen, berkinerja tinggi untuk pengembangan aplikasi Web berskala-besar. Yii menyediakan reusability maksimum dalam pemrograman Web dan mampu meningkatkan kecepatan pengembangan secara signifikan. Nama Yii (dieja sebagai /i:/) singkatan dari "Yes It Is!". Berikut merupakan respon yang paling tepat dan akurat untuk yang baru dengan Yii:
Apakah Yii cepat? ... Apakah Yii aman? ... Apakah Yii profesional? ... Apakah Yii cocok untuk projek saya berikutnya? ... Yes, it is!

1. Persyaratan

Untuk menjalankan aplikasi Web berbasis Yii, Anda memerlukan server Web yang mendukung PHP 5.1.0.
Bagi para pengembang yang ingin menggunakan Yii, mengerti pemrograman berorientasi-objek (OOP) akan sangat membantu, karena Yii merupakan framework OOP murni.

2. Yii Paling Cocok untuk Apa?

Yii adalah framework pemrograman umum Web yang bisa dipakai untuk mengembangkan semua jenis aplikasi Web. Dikarenakan sangat ringan dan dilengkapi dengan mekanisme caching yang canggih, Yii sangat cocok untuk pengembangan aplikasi dengan lalu lintas-tinggi, seperti portal, forum, sistem manajemen konten (CMS), sistem e-commerce, dan lain-lain.

3. Bagaimana Yii Dibandingkan dengan Framework Lain?

Seperti kebanyakan PHP framework, Yii adalah MVC framework.
Yii melampaui framework PHP lain dalam hal efisiensi, kekayaan-fitur, dan kejelasan dokumentasi. Yii didesain dengan hati-hati dari awal agar sesuai untuk pengembangan aplikasi Web secara serius. Yii bukan berasal dari produk pada beberapa proyek maupun konglomerasi pekerjaan pihak-ketiga. Yii adalah hasil dari pengalaman kaya para pembuat pada pengembangan aplikasi Web dan investigasi framework pemrograman Web dan aplikasi yang paling populer.




PRADO
PRADO adalah kerangka pemrograman berbasis-komponen dan kendali-event untuk mengembangkan aplikasi Web dalam PHP 5. PRADO singkatan PHP Pengembangan Aplikasi Cepat berorientasi objek.



Apa PRADO butuhkan?

Satu-satunya persyaratan untuk menjalankan aplikasi PRADO berbasis adalah server Web yang mendukung PHP 5.3.0 atau lebih tinggi. PRADO gratis. Anda dapat menggunakannya untuk mengembangkan baik open source atau aplikasi komersial.

The PRADO Tim dengan bangga mengumumkan rilis resmi dari PRADO 3.2.4.

Rilis ini backports sejumlah perbaikan bug penunjuk dan perubahan dari cabang master di mana baru, jQuery berbasis Prado yang telah dikembangkan.
Rilis ini resmi memperkenalkan wsat, sebuah alat yang berguna dikodekan oleh DarthDaniel yang dapat membantu menghasilkan kelas Rekaman Aktif.



Laravel adalah salah satu framework php yang dibuat oleh Taylor Otwell sebagai pemimpin developer framework dan kontributornya adalah  Dayle Rees, Shawn McCool, Jeffrey Way, Jason Lewis, Ben Corlett, Franz Liedke, Dries Vints, Mior Muhammad Zaki, dan Phil Sturgeon.

Description: Laravel

Ya disitu termasuk Phil Sturgeon. Siapa Phil Sturgeon? dia adalah salah satu pengembang dari framework Codeigniter.  Berikut ini kira-kira terjemahan dari official website laravelnya langsung :
Laravel adalah framework web dengan ekspresif, sintaks yang elegan. Kami percaya pembangunan harus menjadi menyenangkan, pengalaman kreatif yang akan benar-benar memuaskan. Laravel berupaya untuk mengurangi penderitaan pembangunan web dengan mengurangi tugas-tugas umum digunakan dalam sebagian besar proyek-proyek web, seperti otentikasi, routing, sesi, dan caching.
Kata-kata penderitaan  memang sangat menyakitkan bagi developer website karena membutuhkan waktu dan usaha yang tidak sedikit. Namun, pada laravel berbagai kemudahan disediakan tinggal dicomot sana sini. Jika kita pernah mendengar atau menggunakan framework Codeigniter, Yii, atau yang lainnya, maka konsep pada framework Laravel juga sama menggunakan konsep MVC (Model View Controller).



Model-View-Controller atau MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). Dalam implementasinya kebanyakan framework dalam aplikasi website adalah berbasis arsitektur MVC.[1] 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
Sejarah MVC
Model View Controller pertama sekali dipublikasikan oleh peneliti XEROX PARC yang bekerja dalam pembuatan bahasa pemrograman Smalltalk sekitar tahun 1970-1980.[1]
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.
  3. Controller, Controller merupakan bagian yang menjembatani model dan view. Controller berisi perintah-perintah yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web.[2]
Dengan menggunakan metode MVC maka aplikasi akan lebih mudah untuk dirawat dan dikembangkan. Untuk memahami metode pengembangan aplikasi menggunakan MVC diperlukan pengetahuan tentang pemrograman berorientasi objek (Object Oriented Programming).[2]
Jenis MVC pada website
  • Server Side MVC, Server Side MVC biasa terjadi pada aplikasi web tradisional, yang tidak melibatkan client side seperti Javascript, Java applet, Flash, dan lain-lain. Server Side MVC menyerahkan keseluruhan proses bisnis pada server, aplikasi pada sisi pengguna hanya dapat menerima. MVC jenis ini kadang-kadang disebut juga dengan nama Thin Client.[2]
  • Mixed Client Side and Server Side MVC, Pada Mixed Client Side and Server Side MVC 1 client tidak menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan Server Side MVC, arsitektur ini memiliki tingkat kompleksitas yang lebih tinggi karena lebih banyak komponen yang terlibat. Untuk selanjutnya arsitektur ini disebut, dengan Mixed MVC 1. Pada Mixed Client Side and Server Side MVC 2, client menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan arsitektur MVC yang lain, arsitektur ini memiliki tingkat kompleksitas yang paling tinggi karena lebih banyak komponen yang terlibat, sehingga membutuhkan sumber daya yang lebih besar pula. Untuk selanjutnya arsitektur ini disebut dengan Mixed MVC 2.[2]
  • Rich Internet Application MVC, Application MVC Rich Internet Application (RIA) disebut juga dengan nama Fat Client, merupakan aplikasi web yang memiliki kemampuan dan fungsi hampir seperti aplikasi desktop. RIA pada sisi client, memiliki mesin untuk mengambil data yang berada pada server, sehingga pada client terdapat bagian MVC sendiri dan hanya membutuhkan bagian model pada sisi server.



  • SOA atau Service Oriented Architecture adalah istilah di dunia TI yang banyak dibicarakan. Sesuai dengan namanya SOA adalah sebuah pendekatan dalam merancang (arsitek) suatu aplikasi dengan menggunakan kembali (reuse) komponen-komponen yang sudah ada sebelumnya. Dalam hal ini, komponen-komponen tersebut memberikan suatu jenis layanan bisnis (service) tertentu seperti antara lain: mengecek credit rating, mencari data customer, mengecek status inventori, melakukan transfer dana, dan lain sebagainya.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDsttCI56DaP8KT8yQqS3w3rMQ6x6004M2-ztnO9BYNbzPEBxleRuASz9jrJ2RzSuN3HCC8zJUQfcx7UnHmmb1-UuFZAmayfUMqV6AFJwPgs0SqawD0Zz4KYJSMv-lVz-QRiC28vDXTZY/s400/SOA-06.gif
    Dengan kata lain,SOA adalah sebuah arsitektur kerangka kerja berbasis standar terbuka yang memungkinkan perusahaan-perusahaan untuk saling mengintegrasikan data yang sebelumnya hanya tersimpan rapat di markas para pelanggan, mitra, atau pemasok.Dengan kata lain,SOA merupakan arsitektur yang mendukung integrasi bisnis sebagai layanan yang terhubung dan menjadi jalan menuju inovasi.(SOA juga menjadi strategi bisnis berbasis teknologi dan hasil evolusi untuk mengintegrasi berbagai sumber informasi dari sumber kode atau platform yang berbeda-beda)
    Sebagai contohnya,Anda seorang eksekutif yang sedang bepergian ke luar negeri. Saat membongkar barang bawaan di kamar hotel, Anda baru sadar ternyata charger untuk laptop dan PDA Anda ketinggalan. Parahnya, wireless USB yang berfungsi untuk saling bertukar data antara handphone, PDA dan laptop Anda juga ikut tertinggal.
    Anda tidak perlu khawatir, karena melalui sebuah alat khusus yang disediakan hotel, semua gadget anda masih tetap bisa saling bertukar data. Anda juga bisa mengisi semua baterai gadget Anda tanpa dipusingkan oleh charger yang ketinggalan.Alat khusus tersebut bisa dibilang bekerja dengan menggunakan pendekatan Service Oriented Architecture (SOA). Pada kasus Anda, SOA bekerja untuk menghilangkan hambatan-hambatan interaksi antar gadget (HP, PDA, dan laptop) serta perbedaan konektor ke sumber daya utama.
    Melihat deinisi SOA di atas,nampak sekali bahwa istilah SOA sangat kental terkait dengan sektor pengembangan aplikasi dari TI. Tidak bisa dipungkiri, perangkat lunak aplikasi adalah aset TI yang terpenting yang memungkinkan TI memberikan dukung-annya terhadap bisnis yang dijalankan perusahaan.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhseWEAQIyw7TW47JfMwnATMcM_-AZaaGG6EYy_XxzdhSXnw8CeQxSyBXWIy0yJRg4CjhWXGVbyCloVUAeYgJuezYPzeTwFhDvnksnxr5Jt6X4WdrsMx1RLeicvIbHvIGtn7egsDcPg8e8/s400/SOA-02.gif
    Tanpa perangkat lunak aplikasi, bank, pabrik dan perusahaan penyedia jasa tidak dapat beroperasi. Dan usaha untuk memelihara dan mengembangkan aplikasi yang ada agar tetap dapat mendukung perkembangan usaha yang semakin dinamis adalah suatu usaha yang menggunakan sumber daya TI yang paling besar baik dari sisi waktu maupun biaya. Jadi, apakah yang membuat SOA sedemikian menarik bagi para pengambil kebijakan TI?

    Karakteristik dari SOA
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVQyabSSsN5_wlD3BdKZW8s1ayynDdszGu_nz9e0v3fHQYZ9QqP_ny8_BQ7Te9T9q0qsfBT3pFe0ECMLbqtL5ObF7PU17-nam5zuEGHx_hJdiNdNQM4viXJMiAqsJeUwpnr5aCAvh6Z8I/s400/SOA-03.gif
    Seperti yang dideinisikan diatas,SOA adalah suatu cara perancangan aplikasi dengan menggunakan komponen-komponen atau pelayanan yang sudah ada.Dengan kata lain, suatu aplikasi dibangun secara modular. Sebenarnya pendekatan modular ini bukanlah sesuatu yang baru. Teknik - teknik pemrograman masa kini seperti object oriented programming, telah mengedepankan pendekatan modular dalam pembangunan aplikasi. Namun yang membuat SOA berbeda adalah komponen atau service tersebut dibangun dan berinteraksi satu sama lain secara bebas dan lepas (loose coupled).
    Dengan bersifat loose coupled, sebuah service dapat di-panggil oleh program/service lainnya tanpa program pemanggil tersebut perlu memperhatikan di mana lokasi service yang dipanggil berada dan platform/teknologi apa yang digunakan oleh service tersebut. Loose coupling sangat penting bagi SOA karena dengan demikian pemanggilan sebuah service oleh service lainnya dapat dilakukan pada saat run-time.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyojm-ir3NgWRxK-7bBc5OmBmYgsq2K4jhxDlCY6uZdQ0qJww72-vB3FqrsnaW4OueBrhE-g_MdnTtnpbGab0DcuhPdm-N3EpzlP_2ZIjGwsYiJpPPsIgoiR3I-LnnlBWIj_gTGTKYyUo/s400/SOA-04.gif
    Misalnya sebuah aplikasi core banking menyediakan sebuah service Fund Transfer, maka aplikasi-aplikasi banking lainnya seperti treasury, payment gateway, ATM switching dan sebagainya dapat memanggil service Fund Transfer tersebut tanpa perlu memusingkan di mana Fund Transfer tersebut berada di dalam jaringan dan teknik pemanggilan yang harus digunakan.Hal ini kontras dengan pendekatan tight coupling di mana dalam hal ini setiap aplikasi perbankan di atas masing-masing harus mempunyai fungsi Fund Transfer di dalamnya sehingga akan menyulitkan dan membutuhkan biaya/resource besar jika perlu merubah logic dari Fund Transfer ke requirement bisnis yang baru di dalam setiap aplikasinya.
    Karakteristik lainnya adalah service dalam SOA disusun atas 2 hal: Service Interface dan Service Implementation.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvfC0MUAcOp1VmiyGmJpUn37PYhOOq0L9VOai4bdeBnBH8RisojQZrozOY4z7m9YbTxWhJ5DgmiK4uSUtYwvMI1Ekee_Jc7yhpzwj-mFCOF_98cSFoFSXzX8wsvKlWiHP5N_31mV_z7So/s400/SOA-05.gif
    Service Interface menyatakan bagaimana service tersebut dapat dipanggil seperti parameter input/output dan lokasi ia berada. Misalkan, service interface untuk Customer Lookup menyatakan berbagai cara untuk mendapatkan informasi tentang seorang ustomer (dari id customer atau nama dan sebagainya) dan struktur data customer yang dikembalikan. Service Implementation adalah bagaimana logic dari service Customer Lookup tersebut dijalankan.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMFQGD5PSvdpMaDzG_MhUzzQo1d998bpuB-IcCJYi7mb51bexBmGnHbViQvZwwJYRO_6njAOqLyhe_uPwMy81BRuTzVsDqEt5xS1fdUI6VtQkWwghyphk3q9jRFN5l5Gu2wsTpIg2WbSI/s400/SOA-08.gif
    Service implementation sangat terkait dengan teknologi pemrograman yang digunakan. SOA tidak perlu memperdulikan bagaimana sebuah service diimplementasikan.
    Entah ditulis dengan bahasa Java atau COBOL, yang penting adalah bagaimana service tersebut dapat dipanggil dan memberikan informasi sesuai dengan Service Interface-nya.
    Karakteristik SOA yang terakhir adalah service tersebut harus business oriented. Dalam arti, setiap service yang didiinisikan harus melakukan suatu aktiitas bisnis tertentu, misalkan Customer Lookup, Fund Transfer, Check Inventory, dan sebagainya. Tidak dapat dipungkiri pula bahwa keberhasilan SOA belakangan ini ikut dimotori oleh tingginya penerimaan teknologi web services di kalangan pengembang aplikasi. Walaupun ide tentang SOA telah ada sebelum web services dilahirkan, web services dan SOA saat ini telah menjadi suatu si-nergi dan bahkan beberapa kalangan menganggap dengan menggunakan web services maka ia telah menerapkan SOA.

    KETERANGAN DAN GAMBAR SOA
    Service Oriented Architecture (SOA) adalah sebuah permodelan perangkat lunak yang dibangun dengan pendekatan service oriented. Service oriented sendiri merupakan sebuah pendekatan yang memiliki visi ideal di mana setiap resource dari perangkat lunak terpartisi secara bersih satu sama lain [1]. Setiap resource ini disebut dengan service. Service ini merepresentasikan sebuah business logic atau automation logic dalam sebuah sistem besar. Setiap service memiliki otonomi sendiri yang membuatnya tidak tergantung satu sama lain. Setiap service dapat berkomunikasi satu sama lain melalui sebuah protokol yang sudah terstandardisasi sehingga memudahkan untuk melakukan integrasi service baru dan penyusunan ulang kumpulan service disebabkan proses bisnis yang berubah.
    Gambar 1 Bagaimana service mengenkapsulasi logic
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVLoiW2Kl9nDwKcuQI-zV675bqGu9nwLoGiIs-bjIX2dDjCXczLV7MmCBF_P7BzwU4O3Mq1F5I7kWkR-bnR83djShiecF_kZz-YICTRefyH3HP8PjRxxhIavUan7AOcAKU3hVAvjs3DbE/s400/SOA-07.gif
    Saat ini, SOA merupakan sebuah solusi yang baik untuk permodelan sistem di perusahaan atau organisasi besar. Sebab, permodelan ini memiliki banyak kelebihan, diantaranya:
    1. Dapat menyatukan berbagai sistem yang memiliki platform berbeda, seperti J2EE dan .NET. sebab dengan pendekatan ini, yang pengembang akan memilih untuk membangun sebuah layer di atas sistem – sistem tersebut yang dapat saling berkomunikasi dengan pesan yang sudah distandardisasi, misalnya menggunakan teknologi XML. Dalam sudut pandang SOA, kedua sistem itu masing-masingnya akan dianggap sebagai service.
    2. Tahan terhadap perubahan. Perusahaan atau organisasi besar seringkali berubah struktur untuk meningkatkan efisiensi dan kinerja. Akibatnya, perangkat lunak juga terkena imbas untuk menyesuaikan diri terhadap proses bisnis yang baru. Permodelan perangkat lunak dengan SOA akan mengurangi effort untuk modifikasi perangkat lunak tersebut. Sebab, karena seluruh logic dari sistem sudah terpartisi secara bersih menjadi sekumpulan services, kita hanya perlu menyusun ulang seluruh service tersebut dan jika perlu menambahkan yang baru. Hal ini jelas mengurangi biaya.

    Web Services seringkali dikaitkan atau bahkan disamakan dengan SOA. Namun sebenarnya keduanya adalah hal yang sangat berbeda. SOA adalah sebuah konsep untuk pengembangan perangkat lunak, sementara Web Services adalah sebuah aplikasi web yang berinteraksi dengan aplikasi web lainnya untuk pertukaran data. Pembangunan SOA tidak harus menggunakan Web Services, sebab ada bermacam-macam teknologi lain yang memungkinkan, tapi menggunakan Web Services untuk membangun sebuah sistem SOA adalah langkah yang baik.

    SOA dan Web Services
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt_SHtspgcq2HSCFjw2VRHXgF5nsCTOHqijuGpL88OfrlmyXHnz_OxWvMJCya5MuFuJbycLT061EKn9GPlPWZIQ_Cg_F-ll2aouCmXREOgcnEzN1RIFRgehCpEzdhJj0Iyh3tV_u3GtCo/s400/SOA-09.gif
    Web Services adalah sebuah teknik pemrograman di mana sebuah service menggunakan standar-standar berbasis XML dalam menjelaskan interface dan protocol yang harus digunakan untuk memanggil service tersebut. Standar-standar tersebut adalah:
    • SOAP (Simple Object Access Protocol): Menjelaskan protokol tentang bagaimana sebuah web service dapat dipanggil.
    • WSDL (Web Services Deinition Language): Sebuah format XML yang menjelaskan interface dari sebuah web service (parameter input dan output).
    • UDDI (Universal Description, Discovery and Integration): Sebuah direktori yang berisi daftar web service yang dapat ditemukan dan dipanggil oleh aplikasi lainnya.Dengan standar di atas, web services sangat mendukung implementasi SOA dimana karakteristik SOA seperti loose coupling dan service interface disediakan oleh teknologi web services. Pertanyaannya adalah, apakah dengan menggunakan teknik web services, SOA sudah akan terwujud?
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRhrr4dlQEzF7Ob9tZb8Il7k-neQfkMRoB8S85rkkAyJfMJVU4VrFhGpnW37yt24ahZKNy8_cUS2bBwh9mDQ_A_I0mXK_NBh5lHETf_XCpcGf18WWuoSyrqAa21xEhkfeSCBl7iLj6Uj4/s400/SOA-10.gif
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgczXTyKwDhaDKElifuY7amBw1y-VLV_Uc2t2gL2toNylZqXJ0FyrkWVRT-267pU7eIGCoE9OpoqxKdgnOWo0TKYMH1vwx-AfEveBQYHcPiBSd0Iz0xgS3kb-rWbB_Wlv8aI6BUMrHMIt0/s400/SOA-11.gif

    Benefit yang dijanjikan dan Bagaimana Memulainya?
    Sesungguhnya apa yang dijanjikan oleh SOA tidak hanya terbatas pada penghematan biaya dan tenaga dari upaya pembangunan aplikasi, namun pada akhirnya adalah terwujudnya suatu organisasi yang mampu dengan cepat mengadaptasi proses-proses bisnis didalamnya agar mampu menjawab tuntutan pasar terkini. Bagaimana penghematan itu bisa terjadi? Bagaimana kita bisa memulainya? Pada prinsipnya, memulai sebuah inisiatif SOA dimulai dengan membangun sejumlah service yang kelak dapat di-reuse. Disini ada beberapa pendekatan yang bisa kita ambil:
    - Kita dapat memulai dengan membangun dari scratch beberapa service misalnya dalam rangka suatu usaha pembangunan aplikasi yang baru atau menulis ulang sebuah aplikasi yang sudah ada.Keuntungan dari pendekatan ini adalah service yang kita bangun dapat benar-benar dirancang agar kelak dapat di-reuse secara maksimal. Tentu saja, pendekatan ini membutuhkan waktu dan tenaga yang paling banyak dibandingkan pendekatan lainnya.
    - Kita dapat membuat programprogram yang sudah ada menjadi service oriented. Hal ini bisa dilakukan terhadap program-program yang sudah dibangun secara modular sehingga tinggal menambahkan teknik-teknik web services di dalamnya. Jadi, dibuatkan service interface-nya tanpa merubah logika jalannya program. Dengan demikian pengetesannya cukup pada interface-nya saja, sedangkan fungsi/logika di dalamnya tidak perlu dites lagi karena tidak berubah.
    - Aplikasi-aplikasi yang sudah ada,terutama aplikasi yang dibeli secara paket seperti ERP, CRM dan lain-lain, dapat ”dibungkus” agar dapat dipanggil melalui interface web services. Dari aplikasi-aplikasi tersebut, kita dapat membuat beberapa service mulai dari level service terendah seperti Customer Lookup atau sampai level yang tertinggi seperti Create Invoice.Service level rendah dapat pula digabungkan membentuk service baru yang lebih tinggi, seperti
    servis Fund Transfer dibangun atas servis Validate Account, Check Balances, Debit Account dan Credit Account. Pendekatan ini sangat dimungkinkan mengingat beberapa vendor SOA menyediakan adapter-adapter untuk beberapa paket aplikasi yang terkenal seperti SAP, Siebel dan lain-lain sehingga business logic di dalamnya dapat dipublikasikan sebagai services.
    - Services pun dapat dibeli dari pihak ketiga (misal sebuah perusahaan penyedia jasa informasi pemeringkat kredit). Selain itu saat ini vendor-vendor paket aplikasi juga sudah memodiikasi produknya agar tersedia dalam bentuk services yang dapat dipanggil secara web services.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwGkSQbz-NVM2GCEzbAQSO-EPVwoGPhqZffvJif80AwgUFexsLG31ed8Ef0Nm7xvvHqN8ejHNnFWRZ01FusRbBqrIHgDoFZBZ0ecz13LwJaC61iQ5en071SrszCWmuKIoN3f3cXKzUxVQ/s400/SOA-12.gif
    Dengan membangun suatu koleksi services, penghematan dapat dimulai. Jika pada proyek yang pertama, waktu dan tenaga yang dihabiskan paling besar, maka proyek selanjutnya, usaha yang dikeluarkan akan makin kecil karena sudah banyak tersedia services sebagai hasil dari proyek sebelumnya yang dapat di-reuse. Selain itu, waktu pengerjaannya juga semakin cepat sehingga memungkinkan perusahaan untuk memberikan layanan bisnis yang makin responsif terhadap tuntutan pasarnya. Dan bila hal ini menyangkut meningkatnya jumlah transaksi atau pelanggan, maka nilai kembalian secara inansial dari proyek SOA akan semakin nyata.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAPbiFh4y1uivaVZ4wE-g5P-DFY3RQuuTn-lSaYDQVBITgkpVJ4rjr-kCorBf0eTS-E4ZHY5hSVOUHOE3D4k-uxLyy3GQa4oSBBDoiBjT_4OSV1koEE2MxuASYvgd0V7vpjWH5smma3qw/s400/SOA-13.gif

    BAGAIMANA CARA KERJA SOA?
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEiJ8kAGAWzOY7ZzjzmfhJ5a3WTtNAiDbBxGcUGKEsKbnlOhOuDHELEXcQkP8IZHVebEG9usxRxA_qqSBwFxCUxbJtrO-8zJtcGsKpITi8kazAUdc-hz2d9G5IQre9hOG-DExC8bQ4nN8/s400/SOA-14.gif
    Inovasi membutuhkan perubahan dan SOA memudahkannya.SOA bekerja seperti charger untuk semua fungsi, atau dengan kata lain SOA membangun interface yang bisa diakses oleh berbagai macam software. Selama ini, sebuah software dibangun dengan cara mengikat data dan alat pemrosesnya dalam satu rangkaian. Tentu saja, semakin banyak software yang dibutuhkan akan membuat perusahaan mengeluarkan uang dan tenaga lebih banyak lagi. Demikian pula dengan semakin banyaknya lalulintas data antar software tersebut yang secara otomatis akan meningkatkan ongkos perusahaan. Teknologi SOA bertugas untuk meringankan masalah tersebut dengan cara mengurangi hambatan integralisasi.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO7eql-Rd_q8ZWOgMKOyKOoRwEl0GFJyD-wVVNoa3f70d1sOyB9b4WLffosjwocy1OUcXDQYVQnjNXgq-IBHE1e1fgwhp_rDpV1YFCNs1WI5gZ1DJhw_dio21QOYXKHVBvmvSsNWORy0Q/s400/SOA-15.gif
    Melihat karakternya, SOA saat ini banyak diminati perusahaan-perusahaan keuangan dan perbankan. Namun, industri asuransi dan telekomunikasi juga banyak yang mengadopsi teknologi SOA. Hal ini disebabkan fleksibilitas dan arsitektur yang ditawarkan SOA cukup handal untuk mengurangi berbagai hambatan interaksi antar software dan memotong rangkaian proses dalam sebuah jaringan yang kadang cukup berbelit.
    Untuk menggambarkan bagaimana SOA bekerja dalam sebuah perusahaan atau institusi bisnis, dapat mengambil contoh transaksi pembelian barang melalui internet yang dilakukan seorang netter atau pelanggan. Dalam sistem TI pengecer yang menggunakan sebuah SOA, pembelian barang secara online itu memicu serangkaian transaksi lainnya. Misalnya, kartu kredit pelanggan diverifikasi, bagian pengiriman barang diberi tahu, gudang diminta untuk menyesuaikan persediaan barang, dan catatan-catatan pembukuan diperbaharui. Transaksi-transaksi tersebut berupa input informasi yang dikirim melalui sistem atau software-software yang berlainan, yang kadang tidak sesuai dan tidak bisa berhubungan satu sama lain. Namun, teknologi SOA telah memungkinkan infrastruktur yang mendukung transaksi tersebut untuk dibaurkan dan dikombinasikan secara integral.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizC6szcI1vUtaCJZWC-QEeiG3toxh8SaNVcqY4BMPIREpfEP61FW0MyeWwKyS-F_x3uUb5C-liN3-Z1PuG0k-88JT7ImyOlRCHiAw6vEov5RihJFiBj39c1bNc-BaJKXA3_rMwYOkAGIg/s400/SOA-16.gif
    Di atas kertas, semuanya memang terlihat semudah membalik telapak tangan. Faktanya, membangun sebuah SOA memiliki berbagai tantangan yang tidak mudah. Salah satu tantangan terbesar yang dihadapi pelanggan adalah menentukan dari mana harus memulai SOA. Banyak departemen TI yang menerapkan layanan Web dalam sebuah SOA, mereka memulai dari yang paling mudah lalu meningkat ke bagian yang lebih sulit dan kompleks. Yang perlu diingat, membangun sebuah SOA yang baik haruslah menyelaraskan tujuan utama bisnis perusahaan dengan teknologi yang tepat sasaran. Jaringan yang baik dan terpadu merupakan salah satu kunci keberhasilan penerapan SOA. Tentu saja dengan biaya yang sesuai dengan kebutuhan.
    Service-oriented Architecture (SOA) membantu perusahaan mengakomodasi perubahan secara lebih baik dengan menyediakan fleksibelitas untuk pemanfaatan sumber TI yang lebih baik pula. Lebih khusus, perencanaan ini menawarkan pendekatan arsitektural dalam lingkungan komputasi terencana dan teratur yang dibangun pada layanan yang secara bebas berangkaian, dapat digunakan kembali, dan berbasis standar serta dapat berubah sesuai dengan bergesernya kebutuhan bisnis. Inilah kebutuhan dan proses bisnis yang fokusnya membantu enterprise untuk bisa sukses dan bersaing dengan makin meningkatnya standar TI, berarti: fleksibelitas bisnis tergantung fleksibelitas TI.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXaqg0lSmK4cS8t-65tFQv7_qcZ6nDZuDSLkDfwT6guqWvRlCx1M7e_btU8qX6lVXJLGkawAGmJIcCcIuKIAa54Zrdd1gWSFgXbfTKBYNX_NjBzOVIz68Jo7RlD6UgcxjvYrVE3ynAp3s/s400/SOA-18.gif

    Revolusi SOA
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB7yz70wLIYce1myPuMziSJb08qYXo8v7JMt_23QoqrHtVAqUANN7QF1uceEgOOYIFZvlFHp-Cd9eMmJWcMX3IEGhxz5yVG8K0Mk5OPKHSxSLi0e01TWX21T2SvV_uqVTxjF-oDGH1BGw/s400/SOA-17.gif
    Orientasi layanan dan integrasi SOA mengubah permainan bisnis modern. SOA memungkinkan enterprise menciptakan setelan layanan terkait dan terintegrasi, yang mendukung proses bisnis. Layanan ini juga improvisasikan cara merancang, mengatur, dan mengoptimalisasi proses bisnis dengan memungkinkan solusi yang terbentuk secara efisien, penggunaan ulang aset yang ada, serta perubahan fleksibelitas. SOA membantu enterprise melepaskan diri dari kebergantungan dalam mereduksi biaya perawatan dan operasional. Tujuannya adalah menciptakan integrasi platform yang dapat diubah, diatur, diskalasikan dan terbuka serta dapat membantu menutup celah antara bisnis dan teknologi terkait pandangan akan proses bisnis enterprise.
    Sinopsis keuntungan SOA yang dihadirkan bisnis ini bervariasi, yaitu:
    • Akselerasi proses bisnis
    • Ekstensi kemampuan mengkolaborasikan bagian dalam dan luar bisnis
    • Fleksibelitas dan efisiensi
    • Inovasi
    • Penggalan laporan TI, kekurangan dan resikonya
    • Pemakaian ulang fungsi dan interface
    • Reduksi kompleksitas
    • Reduksi biaya
    • Menjaga ketentraman kompetisi global
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwqwj2kEla3nd4lW7n0KRukh0iCcViIF98ywUQHCeY9Pm8avJU-TU-vKHGfsDhRGJkWziQX5fvD1jKGE_vw4M7MoidQyqd9uZEu59QhDRD8hwOGIXdYTX5xOObSIHPePcVhufiqCNXDqQ/s400/SOA-19b.gif
    Saat teknologi, metodologi dan standar industri SOA matang, SOA menjadi lebih praktis bagi semua kalangan industri. Hasilnya, jenis perusahaan, kapasitas dan industri apapun saat ini dapat mendistribusikan SOA, dengan potensi hasil yang sangat besar. Tetapi di regional lain, khususnya perusahaan di kawasan Asia harus berhati-hati dalam mengimplementasikan SOA dengan tepat sebagai sebuah perjalanan dan bukan keputusan buru-buru
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb7qQBcqic7sZkdL_8wFHPYpgvXd8IO2fXdSPODCGGeWSJE9wRQRkHUMlP4cw2O2AAb8YdGyPy6sCC0NYNy9I0EYqrcilQ43LbVh24NK-Au8Lq3VNcIfwb6vRrz369-9buS4XVualsotE/s400/SOA-19.gif

    Inovasi Tanpa Batas (SOA)
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhay9iWrxgrR-1-Iq9B_jkm9Gbxyy9AzoOdCE8-KeKF81GCx4B6HQlvTsgY4Cghrc68G2OEj0F0WfDLua-Ll9ri-96ZORFrotEHjJsKC15xbN8OxcD-PaLBvwjRMBWbUcPDH6I4GddfcD4/s400/SOA-20.gif
    Organisasi-organisasi terus berinvestasi dalam teknologi dan akan terjadi sebuah perpindahan tetap dalam manajemen. Pengguna-pengguna TI terus mengawasi ROI dan TCO dari investasi-investasi TI mereka. Tren 2006 akan berlanjut ke 2007.
    Bertumbuhnya edukasi TI, pengembangan produk, ERP, CRM, HCM, layanan-layanan software atau bahkan integrasi usaha, semuanya adalah hasil dari evolusi TI dan penggunaannya untuk membangun usaha di seluruh dunia. Indonesia adalah sebuah pelanggan TI yang signifikan di wilayah ini.
    Dalam sebuah pasar berkembang seperti Indonesia, konsolidasi menjadi semakin penting dan banyak organisasi TI bergerak menuju konsolidasi usaha. Dengan merger dan akuisisi-akuisisi, menjadi penting bagi perusahaan untuk memastikan integrasi yang mulus dari penggabungan aset-aset keuangan, sistem-sistem dan proses-proses, manusia, teknologi, IPR, produk-produk dan layanan-layanan dari hasil merger ini. Agar hal ini bisa berjalan lancar, organisasi harus mengadopsi sebuah pendekatan service-oriented architecture (SOA).
    Seiring dengan persiapan perusahaan Indonesia untuk menghadapi persaingan keras dari perusahaan-perusahaan besar internasional dan dengan komoditas TI dan pengembangan teknologi baru, semakin banyak organisasi telah mulai dengan serius mengeksplorasi penggunaan TI inovatif untuk membantu mereka berkembang. Tahun 2007 ini akan ditandai dengan munculnya dan menjadi dewasanya alat-alat khusus TI seperti solusi software sebagai sebuah layanan, komputasi grid, business intelligence, CRM, dan HCM. Tidak hanya organisasi-organisasi besar yang akan mengadopsi teknologi-teknologi baru ini, bahkan UKM di Indonesia akan memintanya. Peningkatan baru ini bisa diatribusikan ke peningkatan lingkungan usaha yang bersaing dan juga garis batas yang ketat diatur oleh pembuat kebijakan dalam memastikan good governance.
    Hasilnya adalah masalah-masalah yang berhubungan dengan kepatuhan, transparansi, dan pembobolan keamanan informasi pun menjadi titik-titik perhatian. Karena semakin banyak perusahaan Indonesia berpartisipasi sebagai penyedia, kontraktor atau pelanggan-pelanggan dalam ekosistem perdagangan global, pengertian akan penggunaan norma-norma kepatuhan global menjadi penting bagi perusahaan-perusahaan.
    Saat ini, tanpa melihat di mana perusahaan tersebut berada, jika melakukan usaha dalam skala global, yang sekarang banyak dilakukan perusahaan Indonesia, mereka perlu dimengerti praktik-praktik terbaik dan ukuran kepatuhan yang diadopsi oleh perusahaan di berbagai tempat. Menjadi semakin penting bagi mereka untuk mampu melakukan usaha dengan perusahaan-perusahaan lain di seluruh dunia secara mulus dan bertanggung jawab.

    Perkiraan-perkiraan Tren SOA
    1. SOA dan standar-standar terbuka akan menjadi sebuah feature penting dalam investasi infrastruktur TI yang semakin besar
    Sebagaimana perusahaan-perusahaan di Asia Pasifik dipaksa untuk lebih cepat menjawab tantangan-tantangan persaingan dan pelanggan yang semakin besar, banyak dari mereka akan mencoba menggunakan sebuah Service-Oriented architecture (SOA) sebagai sebuah pembeda usahanya. Dengan SOA, organisasi-organisasi akan memiliki sebuah infrastruktur yang fleksibel dan bisa diadaptasi, yang akan membuat mereka untuk menjadi lebih luwes sekaligus di saat yang sama mengurangi biaya pengaturan lingkungan-lingkungan TI mereka.
    2. Organisasi-organisasi akan terus mencari cara untuk mengurangi biaya TI
    Organisasi-organisasi dalam berbagai ukuran akan terus mencari cara untuk mengurangi biaya infrastruktur TI usaha mereka. Komputasi grid dengan real application clusters dan sebuah teknologi dan software aplikasi terintegrasi dengan fungsi-fungsi yang spesifik dengan industri dan proses usaha yang bisa beradaptasi akan secara dramatis membantu mengurangi biaya implementasi dan manajemen software.
    3. Peningkatan fokus pada Business Intelligence
    Business Intelligence (BI) akan terus menjadi sebuah prioritas teknologi bagi CIO-CIO. Sebuah survei Gartner yang dilakukan di awal tahun 2006 dengan sekitar 1.400 CIO menempatkan BI sebagai prioritas teknologi nomor satu.
    Sejarahnya, BI selalu "dianaktirikan" dan hanya digunakan untuk analisis yang melihat ke belakang seperti aplikasi-aplikasi pelaporan dan tipe query. Gelombang BI selanjutnya akan digunakan lebih luas dalam organisasi-organisasi dan enterprise mereka untuk menyediakan informasi analisis real time strategis bagi pembuatan keputusan usaha.
    Perusahaan akan mendapatkan pemandangan-pemandangan usaha yang lebih lengkap dan tepat waktu dan juga mendorong aksi dan proses yang lebih efektif, melalui kombinasi database dan aplikasi-aplikasi analisis dan juga memasukkan alat-alat BI dalam proses-proses usaha. Organisasi terkemuka di wilayah ini menggunakan alat-alat BI dan aplikasi data warehousing.
    Oracle adalah vendor paltform BI stand-alone dengan pertumbuhan tercepat di Asia Pasifik, tidak termasuk Jepang. Menurut sebuah laporan Gartner 15 Januari 2007 baru-baru ini, Oracle mencatat pertumbuhan pendapatan 64,8% di pasar BI stand-alone di Asia Pasifik di tahun 2005, dibandingkan dengan tahun sebelumnya. Pertumbuhan pasar rata-rata dalam pasar platform BI stand alone adalah 12,1%.
    4. Peningkatan penerimaan dan permintaan untuk software sebagai sebuah layanan
    Software sebagai sebuah layanan adalah istilah yang menjelaskan generasi berikutnya dari penghantaran, implementasi dan manajemen software. Semakin banyak organisasi di Asia Pasifik menemukan nilai software sebagai sebuah layanan. Organisasi-organisasi ingin orang-orang TI mereka berfokus dalam aktivitas yang memiliki return on investment (ROI) yang bisa diperlihatkan. Dengan melakukan outsourcing elemen-elemen kunci dari operasi TI mereka ke sebuah penyedia layanan yang sudah berpengalaman, usaha-usaha mencapai efisiensi yang lebih besar, mengurangi pengeluaran-pengeluaran TI ke sebuah biaya bulanan yang bisa diperkirakan dan meningkatkan kehandalan, skalabilitas, dan keamanan sistem TI mereka.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE20veP2Od85UAv-FE_Eq6RJnxZ9CLt18vgRNhAP0kfLXYQExTO-eYthyHuw8F-taJfu16vLj-PHiGJidzD7GA3n41S4PwotDHUrqq-9r_J9XwSdILvt0t3faWmyZEznzMd1xArf18d50/s400/SOA-21.gif
    Solusi-solusi yang di-host (software sebagai sebuah layanan atau software as a service) telah mendapatkan banyak perhatian di tahun sebelumnya sebagai salah satu teknologi yang menjanjikan fleksibilitas dengan set-up yang lebih cepat dan biaya implementasi yang lebih rendah, sementara solusi on-premise terus menjadi sebuah pilihan deployment yang penting. Berkembangnya solusi-solusi yang di-host memberikan opsi bagi pelanggan-pelanggan untuk memilih dari kombinasi-kombinasi hybrid dari kedua solusi di-host (SaaS) dan on-premise untuk memenuhi kebutuhan usaha yang spesifik.

    SOA dan Integrasi
    Peranan SOA dalam integrasi proses bisnis,bisa dalam internal perusahaan maupun antar perusahaan. Dalam internal perusahaan,penerapan SOA memungkinan unit-unit bisnis bekerja secara sinergi, dari pabrikasi hingga distribusi dapat lebih sinkron. Kerjasama antar perusahaan bukan hal yang mustahil lagi pada masa ini. Sebuah perusahaan yang membuka layanan pembelian online harus dapat mengirimkan produknya kepada
    customer.
    Untuk itu,ia harus bekerja sama dengan agen pengiriman, yang akhirnya akan bekerja sama lagi dengan jasa penerbangan kargo. Bayangkan, jika masing-masing perusahaan itu menggunakan aplikasi yang tidak bisa saling berkomunikasi sehingga cara yang mungkin dilakukan hanyalah cara manual yang sudah pasti akan memakan waktu lama. Jika semua aplikasi yang dipakai sudah menerapkan SOA, masing-masing dapat saling berkomunikasi sehingga diperoleh hasil/respon realtime. Bayangkan juga sebuah agen perjalanan yang menyediakan jasa wisata liburan. Perusahaan ini harus bekerjasama dengan hotel dan jasa angkutan yang ada di lokasi wisata. Solusi yang umum dilakukan adalah membuat sistem integrasi untuk aplikasi yang ada. Itu berarti untuk setiap pembukaan lokasi wisata baru atau penambahan hotel baru, sistemnya harus di-setup agar dapat menyesuaikan. Proses setup ini jelas memakan waktu dan biaya yang tidak sedikit jika tidak menggunakan prinsip SOA.

    SOA dan Akses Multi-channel
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU-ggQ3DcXHAsRSs5cybMp9XF8xKjIUVBLKLLSKcqypdYvUZg_TXXL0AFtc8SxLoGl2Y1Ncwvov3QFIaAbt1LdL0Cz5BUD9Hj3oIxubUt51s_38wDpvP1nVN96dwRC6UVY12hMRB2l_n8/s400/SOA-22.gif
    Sekarang ini hampir semua bank sudah memungkinkan nasabahnya mengakses layanan dari berbagai sumber, mulai dari cara konvensional melalui teler, cara laya-nan mandiri melalui ATM, lewat internet atau handphone, dan layanan hotline phone banking. Semua ini bertujuan makin memudahkan nasabah untuk mendapatkan layanan. Tetapi jika semua access-point itu tidak terintegrasi dengan baik, bukan kepuasan yang akan didapatkan nasabah.

    Sebuah Permulaan dari Perjalanan Panjang
    Penerapan SOA pada perusahaan jelas merupakan investasi yang mahal dan ber-jangka panjang. Perusahaan tidak akan mendapatkan manfaatnya secara langsung hanya dengan mengganti semua aplikasi yang dipakai mendukung SOA. Hanya ketika perusahaan dapat membuat proses bisnis baru, dan membuat aplikasi hanya dengan menggunakan servis yang telah ada baik sebagian maupun keseluruhan, barulah perusahaan itu memperoleh manfaat SOA. Ketika perusahaan itu merger dengan peru-sahaan lain dan diperlukan sebuah sistem pelaporan baru yang mengintegrasikan sistem yang ada, dapat dibuat dengan lebih cepat, barulah manfaat SOA dapat dirasakan. Penerapan SOA adalah sebuah awal dari perjalanan untuk mendapatkan fleksibilitas aplikasi yang digunakan untuk mendukung proses bisnis. SOA akan memisahkan mana yang menjadi keahlian orang TI dan orang bisnis. Tugas orang TI adalah merancang servis, sedangkan tugas orang bisnis adalah mengkombinasikan servis-servis yang ada untuk menghasilkan sebuah nilai baru, yang pada akhirnya menjadi sebuah keuntungan baru perusahaan.

    Sejauh mana adopsi SOA di Asean?

    Asean memang paling belakang mengadopsi SOA dari pada kawasan lain. Tahun ini, ada area-area yang tumbuh dan ada ketertarikan dari sektor-sektor pesat seperti finansial, asuransi, dan pemerintah diikuti telekomunikasi dan lainnya.

    Menariknya di pemerintahan yang biasanya menghindari risiko kini sudah mulai cepat mengadopsi SOA. Dari mereka kami ketahui, mereka seperti sektor lainnya sudah menyadari perlu pendekatan arsitektur evolusi yang minim risiko daripada gonta-ganti aplikasi di sana-sini untuk menjamin TI mereka di lintas organisasi dapat melayani warga negaranya termasuk bertukar data dalam rangka penegakan hukum dengan baik. Komunikasi antarinstansi pun jalan.

    Sektor asuransi pun kini berpikir proses membantu mereka dengan kemampuan menggunakan sistem secara tepat.

    Apa risiko ketertinggalan mengadopsi SOA?

    Saya kira pemimpin bisnis di Asean yang tidak mengambil peran dalam proses pengambilan keputusan SOA bisa mendapatkan kondisi yang tidak menguntungkan di tengah ketatnya persaingan bisnis.

    Bagaimana SOA bekerja?

    Inovasi membutuhkan perubahan dan SOA memudahkannya. SOA adalah arsitektur yang mendukung integrasi bisnis sebagai layanan yang terhubung dan menjadi jalan menuju inovasi.

    Pada kasus merger dan akuisisi, biasanya banyak dilibatkan aplikasi serta data, dan tiap perusahaan sangat berbeda sistemnya satu sama lain ini mendorong CIO dan CEO harus cepat mengintegrasikan informasi. Dengan teknologi, dibantu adapter dan sistem, aplikasi tadi dapat saling berkomunikasi.

    SOA juga menjadi strategi bisnis berbasis teknologi dan hasil evolusi untuk mengintegrasi berbagai sumber informasi dari sumber kode atau platform yang berbeda-beda.

    Maklum saja, departemen yang berbeda di organisasi memilih paket CRM, SAP atau lainnya untuk manufaktur. Di bagian penjualan atau fungsi finansial ada software aplikasi lainnya.

    Setiap departemen punya aplikasi dan database, kadang ada database pelanggan di satu titik dan ada aplikasi lain di bagian database.

    Aplikasi-aplikasi ini dasarnya berbeda termasuk tekniknya. Peran CIO adalah melakukan perubahan agar menjadi lebih baik dan mengintegrasi ratusan program dan data.

    Contoh dan tambahan
    SOA singkatan dari Services Oriented Architecture, sebuah arsitektur berbasiskan pelayanan, yang memungkinkan semua entitas menjadi sebuah pelayanan yang bersifat melayani. Lebih mudahnya implementasi SOA adalah merubah sebuah aplikasi yang pertama hanya dipakai untuk entry menjadi sebuah aplikasi yang dapat berinteraksi dengan aplikasi lain, dan sifatnya tidak point-to-point.

    Tentu saja SOA lebih luas dari contoh yang dijelaskan. SOA itu saat ini terkadang dipaksakan mengikuti produk yang dikeluarkan vendor, yang oleh vendor besar disebut SOA Suite, tetapi sebenarnya lebih luas dari yang kita bayangkan. Ini mirip dengan istila ERP atau CRM dalam dunia operasional, yang sebenarnya lebih luas dari sekedar aplikasi software belaka.

    SOA memang digembar-gemborkan oleh perusahaan vendor penyedia software, yang dianggap sebagai kartu as untuk memenangkan persaingan didunia terkolaborasi saat ini.

    Contoh SOA didunia non digital adalah cara melayani customer services dengan pelanggannya, atau sebuah server yang berjalan secara otomatis yang melakukan sebuah kegiatan untuk menghasilkan kegiatan sendiri secara otomatis. Yah, itu semua adalah contoh-contoh SOA.

    Yang menarik dari SOA ini adalah, tahun 2005, dicanangkan sebagai tahun SOA, dan apa sebenarnya dampak SOA bagi kehidupan manusia? sebenarnya dengan masuknya SOA sebagai fondasi sebuah kehidupan, akan membuat entitas yang terhubung didalamnya akan semakin peduli terhadap apa itu artinya kepuasan pelanggan.

    Contoh implementasi SOA yang baik di departemen bea cukai (misalnya), kepuasan administrasi antara exportir dan importir akan terjalin lebih transparan. Inilah inti utama dari SOA.

    Sebenarnya implementasi SOA dalam dunia non digital lebih cenderung kepada implementasi kepuasan pelanggan, dah how-to-nya memuaskan dari semua entitas yang memerlukan pelayanan tersebut, yang umumnya meliputi interaksi kepuasan para stakeholder atau antar stakeholder didalam kerja sama antar perusahaan. Yang tentu saja tidak dibahas dalam artikel ini.


    Aplikasi SOA

    Sedangkan dalam dunia digital, SOA menjadi sangat menarik, apalagi dengan tekanan regional untuk membuat sebuah sistem yang transparan, cepat dan anti birokrasi, yang di Indonesia sering disebut sebagai Single Window.

    Dalam SOA dunia digital yang akan disebut SOA saja setelah ini, yang lebih khususnya dalam dunia perinternetan yang sangat berhubungan dengan Web, populer setelah berkembangkan sebuah mekanisme request-response yang memungkinkan pesan (message) terkirim dari satu titik ke titik lainnya.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlFO1C5riO_7kexw0Kk8SEJHyK77agouX17DOlMhbRWuPKbN7PgDPeIRD8y4E038-Cai-XSGQ4uf0vNxgS1hLkwVRE7tgmr9RYQehT0jwdKoyQaNZ03kXXwf2gi_uOA0nWPy8K6x6JZBM/s400/SOA-21b.gif
    Protokol yang pertama dikembangkan Microsoft bernama BizTalk, kemudian dirubah oleh W3C menjadi Simple Object Application Protocol (SOAP), maklum BizTalk adalah sebuah merek dagang, dan merek dagang merupakan simbol ketertutupan. SOAP ini telah menjadi cikal bakalnya SOA berkembang.

    Interkasi sebuah sistem dengan sistem lain, atau mewrap sebuah aplikasi dari aplikasi tradisional menjadi aplikasi berbasis SOAP, secara tidak langsung telah merubah sebuah sistem tersebut menjadi sebuah aplikasi yang SOA Ready. SOAP adalah sebuah mekanisme implementasi XML yang terstandarisasi.

    Teknologi ini sering disebut sebagai Web Services, sebuah mekanisme melayani permintaan (messaging) yang mengacu pada protokol Web yang sering disebut HTTP. Tetapi tentu saja SOA itu bukan hanya Web Services saja. Ingat SOA itu lebih luas, dan lebih luas dari yang dapat kita bayangkan.

    Perkembangan Web Services sebagai media terbuka untuk interaksi, yang berbasis pada HTTP yang juga merupakan standar terbuka, membuat Web Services dengan SOAP sebagai icon teknologinya, telah membuat Web Services menjadi teknologi primadona dalam dunia SOA ini. Apalagi perbedaan namanya sangat jelas, SOA dan SOAP.

    SOAP Sebenarnya merupakan sebuah perwakilan dari sebuah envelope yang gunanya mirip dengan mekanisme melakukan surat menyurat. SOAP umumnya diciptakan lebih khusus, untuk surat menyurat resmi, seperti mengirim form purchase order, form pengajuan kredit, form meminjam buku. Sedangkan yang kurang formal dapat menggunakan XML saja.

    Dalam implementasinya SOAP yang flat ternyata memiliki kekurangan yang sangat banyak, apalagi SOAP ini seperti kakeknya HTML, berbentuk flat file, sehingga diasumsikan tidak aman, untuk itulah maka hadir beberapa implementasi SOAP yang tentu saja membuat SOA menjadi lebih secure dan siap digunakan.

    Standar berbasis Web Services yang lebih sering disebut dengan WS-Security adalah sebuah standar yang dikembangkan oleh OASIS yang juga mengembangkan teknologi ODF (Open Document Format). WS-Security ini memungkinkan melakukan implementasi Web Services yang terembed didalamnya security.

    Sebenarnya ada standar lainnya yang dapat digunakan untuk membuat sebuah implementasi SOA menjadi lebih aman, diantaranya SAML untuk identity management (di Indonesia populer disebut Single Identity Number), XACML, XKMS, XML-Sig, WS-Federation, WS-I Basic Profile. Sebenarnya kita juga dapat membuat implementasi sendiri, tetapi umumnya entitas pengeluar standar di dunia Web Services adalah bersifat internasional.


    Aplikasi SOA dalam dunia Java
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYDTeBiSYcfLTMqPYWTE3UcLLy-y_txKjO52RQ3x0ePlSXvTPaat5AhFGj-WQJVMSA2qcQ8D9yL-dFfrbUAQiS3osLT77CJag8Py5RxzuSftlJJ4vvZDqr3H1-0i5toD7RLIF-dOLAt0o/s400/SOA-22b.gif
    Didalam dunia Java, SOA sangat beragam, ini juga dikarenakan didalam dunia Java banyak sekali vendor penghasil SOA, dan tidak dipungkiri vendor-vendor besar Java, banyak yang menghasilkan SOA Suite yang sangat lengkap, plus editornya, sehingga membuat pengembangan berbasis layanan menjadi mudah.
    Yang membuat penulis terkesan adalah diubahnya sebuah AS/400 dengan aplikasi RPG yang dianggap kuno, menjadi SOA Ready, tentu saja dengan melakukan beberapa kompilasi ulang dan setting. Maklum AS/400 adalah teknologi paling tertutup yang pernah penulis gunakan.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4hhp1rdLWShRQQhzjL3fKjAIRLXhxLxH_p1-CEwGsgZDmSjSVZAFTCJsA9yod94OvMULOC7tTcIvgzU8gMYVQnD5i277n9pVDfynKfCI_6aO8hlNztYNJ93ulZ-zIlpI9EHsLSnBusJc/s400/SOA-23.gif
    SOA didalam dunia Java, sebenarnya diposisikan sebagai extended platform, dan yang menarik, ternyata yang mengimplementasikan bukan hanya vendor, tetapi juga komunitasnya, yang paling terkenal tentu saja Apache dengan project WSnya (http://ws.apache.org), didalamnya banyak sekali project donasi dari vendor-vendor.

    Malah tidak sedikit projek di Apache bersaing keras dengan produk vendor Java besar, dan malah tidak sedikit vendor Java yang memasukan dan menjual produknya dengan aplikasi Apache didalamnya. Mulai dari AXIS yang dapat digunakan sebagai SOAP API, Santuari sebagai WS-Security. Ada teknologi menarik disekitar SOA yang dapat digunakan, diantaranya OpenESB dari SUN yang juga Open Source, Mule yang dianggap mbahnya, atau XFire dari CodeHaus.
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQW1C2EXQuMXE1VPed1MVqQbAmiMjUg597ailjEMsA3zIpgFZO4tF1zi5flVNmX-MMlVqw6xUgiLCrkh9fm2cYz85d8SmM7j8xmH0hxu1bA-vuo8EU36Qoxf8ClFBsxUgXKcUXkEImSGQ/s400/SOA-24.gif
    Yang lebih menarik lagi, didalam dunia Java, implementasi SOA juga distandarisasi seperti JAXM (JSR 67), Java API for ebXML (JSR 157), Web Services for J2EE (JSR 109), JAX-RPC (JSR 101), WS-Security (JSR 183), SAML (JSR 155).
    Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvzidU5WKDaESPCU-w0c6MsDrzILOQztRXMroFRO1adtpy2W_5mM8JbDT7KRCOsnEKOkb5an7BHz4pDk5DH0jvn_PFJFU3Ph6cGwI9VDmwynQkpT-w_HYKdy4GkM5Odwadsj4yo7kPkgg/s400/SOA-25.gif

    Indonesia, PASIR, dan IGOS Enterprise

    Tentu saja semua yang dijelaskan diatas adalah yang terjadi diluar negeri sana, bagaimana dengan Indonesia? Ternyata Indonesia sejak 2005 yang lalu telah mengeluarkan sebuah insiatif, disebut dengan PASIR (Program Arsitektur Sistem Informasi dan Interope(R)abilitas).

    PASIR merupakan sebuah inisiatif kolaborasi yang lahir dari gerakan IGOS (Indonesia, Go Open Source), yang akhirnya bergeser menjadi salah satu fondasi dari Aplikasi Telematika Terbuka di Kominfo.

    PASIR dibuat mulai sebuah POC (Proof of Concept) mengenai implementasi SOA di dalam pemerintahaan di Indonesia, yang mana versi awal dari POS dapat diakses di http://pustaka.igos-source.or.id, sedangkan versi berikutnya PASIR 2.0, sedang dalam pengembangan.

    Jadi dapat dikatakan PASIR adalah SOA versi Indonesia yang didukung oleh 5 kementerian pendukung IGOS, dan tentu saja secara langsung oleh departemen kominfo sebagai salah satu rekanan IGOS. Aplikasi POC PASIR di IGOS dapat dikatakan memposisikan diri sebagai IGOS Enterprise, solusi lainnya setelah IGOS Desktop yang menghasilkan banyak distro Linux lokal.

    Yang menarik dari PASIR ini adalah selain mengimplementasikan standar terbuka diantaranya SOAP dan WSDL, juga diOpen Sourcekan, dengan harapan dapat diimplementasikan kembali oleh rekan-rekan didalam pemerintahaan, ataupun swasta, karena implementasi berbasis SOA tidak terbatas antara pemerintah, tetapi juga dapat antara pemerintah dengan swasta, swasta dengan swasta. atau pelanggan dengan swasta.

    Apalagi saat ini diera mobile, telepon genggam saja sudah mendukung Web Services.

    Saat ini pengembangan PASIR 2.0 dilead langsung oleh kominfo, sedang mencari rekan-rekan dilingkungan pemerintah, sehingga pengembangan interoperabilitas antar pemerintah dapat dilakukan, tim ini dikepalai langsung oleh Bu Lolly sebagai salah satu direktur telematika di depkominfo.

    Semakin beragam entitas pemerintah yang bergabung, semakin sempurna implementasi yang dihasilkan. Rekanan pemerintah tidak tertutup departemen pusat, tetapi dapat antara departemen pusat, pusat dengan daerah, daerah dengan daerah, ataupun direktorat kementrian A dengan direktorat kementerian B.

    Adapun beberapa step implementasi yang dapat dihasilkan, diantaranyasebuah dokumentasi pemetaan proses pertukaran informasi antara departemen atau direktorat atau pemda, sampai aplikasi siap pakai.

    Implementasi PASIR karena bersifat Open Source, jadi tentu saja kolaborasi pemerintah ataupun swasta yang semakin banyak akan semakin baik.

    Saat ini implementasi PASIR menggunakan Java, sehingga kontribusi dari rekan-rekan lainnya terutama untuk solusi dotNet, PHP, Ruby, Python, Delphi atau PowerBuilder, ataupun Oracle Developer sangatlah diharapkan. Tentu saja inisiatif ini tidak akan berkembang pesat bilamana hanya menunggu tim PASIR menghasilkan. PASIR ini sangat erat hubungannya dengan interaktifnya sebuah entitas bertukar informasi.

    Saat ini PASIR Kit untuk 1.0 telah disediakan, dapat didownload di Pustaka IGOS atau mengkopi CDnya. PASIR Kit memasukan banyak aplikasi yang memungkinkan dikembangkannya aplikasi bukan hanya mendukung SOA tetapi juga dapat dikembangkan menjadi fondasi e-goverment.

Tidak ada komentar:

Posting Komentar

bagi anda yang ingin koment di persilakan
BEBASKAN PENDAPATMU
new reales
Info Op Group
Op Radio

Feed Burnered

share item

Share

Print

HAM

Protected by Copyscape Online Copyright Protection Software