Pages

Monday, October 11, 2010

Business Rule Management System, Overview, Benefits, Impacts

This is a narrative about overview, benefits, and impacts
that will be expected when an organization is using BRMS.

Business Rule Overview
Business Rules is representation of organization defined conditions, requirements, policies, that is required for a business process for it to be able to make a business decision.

Traditionally, business rules are often hard-coded in a application code, this situation makes it hard when we need to make a change to a business rule. To change that business rule, we have to get that IT person in charge of the application, so the rule is tied in the application and have to be managed in technical perspective.

But often, many situation, such as new organization policies, regulations, we need to change that business rule, and we (the business domains) need to have it changed quick.

BRMS as a Solution
Business Rule Management System (BRMS) is a system infrastructure, that enables organization, to effectively create, manage business rules according to their own business specification, policies and regulations.

Using BRMS, important business rules can be externalized from technical applications, so when there’s need to change a business rule, we will just change it in the BRMS system, without the need to break the technical application first.

BRMS will also provide convenience methods for Business Analysts to get themselves in the creation of business rules. So business users will have the capabilities they needed to create, review and make changes to a business rule in a intuitive and user friendly way.

BRMS will provide an execution platform, where this rules can be executed, dependent from technical applications. In case of future needs, any application can be integrated to BRMS to use these existing rules.

Benefits of BRMS
  • Business Rule Platform, BRMS enables organization to implement their business specification, requirement, and policies as a business rule inthe BRMS system. These rules in turn, will be used by many technical applications.
  • Centralized rule management, BRMS will provide unified rule repositoryfor the organization, so there will be no hard coded business rule that spans multiple technical application/system that’s hard to track and change.
  • Achieving business agility, often times, business rule will frequenty need to be changed, according to current policies and regulations. BRMS enables organization to change their business behavior quickly.
  • Business User enablement, BRMS also provides convenience methods forBusiness Domains users, so they will have the ability to create, review, and modify business rules in an intuitive and user friendly way (such as using excel-like table, visual trees). This will also minimize dependency of Business Users to the IT Department, thereby achieving business flexibility.

Impacts of Using BRMS
  • Needs to socialize BRMS functions the IT depatment, business users and managers, so the organization can effectively realize the benefits fully.
  • Needs to do integration from the BRMS to future applications, and/or existing applications (if needed), in order to fully leverage the BRMS system.
  • Needs to identify which business rule that should be handled in the BRMS system.

BRMS Products:
-IBM ILOG JRules
-Oracle Business Rules
-JBoss Drools
-WSO2 Business Rules Server


--oo00oo--

Tuesday, October 5, 2010

Introduction to ZK Framework

ZK is a RIA (Rich Internet Application) framework,
the uses technology such as
Ajax, XUL, HTML, XHTML, Java.

Unlike traditional dynamic web programming
that often uses Javascript with its compatibity
problems between browsers.
ZK use Java as scripting language, and
the script is executed on the server side (zscript).

By using the Java language, script code
is more standard, portable
and more powerful because it can
use existing Java class libraries.

For server side scripting, ZK uses
Beanshell interpreter as the script engine.
using Beanshell, Java language
can be used like a scripting language, with
features such as the creation of dynamic variables (without
being declared first and without given a type).

ZK also provides a component library,
which provides a variety of ready to use UI components,
such as textbox, button, etc..

ZK allows event-driven programming
just like the desktop programming paradigm,
but with a web based architecture.

This is possible with the use of
Ajax for event creation, and delivery mechanism
from the client side to server side.


The ZK architecture is quite similar to JSF,
with concepts like
component tree, implicit objects, application lifecycle,
EL (expression language).

--oo00oo--

Monday, October 4, 2010

BPM Intro

Apa itu BPM ?

BPM adalah singkatan dari Business Process Management.

Fungsi dari BPM
adalah sesuai dengan namanya memanage business process,
dalam arti membuat, dan kemudian melakukan improvement
terhadap business process yang sudah berjalan.

Pengguna BPM adalah business analyst yaitu orang yang
mengerti proses bisnis yang dilakukan, dan merupakan
ahli pada bidangnya (domain expert).

BPM sendiri terkait dengan metodologi process improvement (Six Sigma, etc) ,
tapi sekarang bisa juga diartikan dan dikaitkan dengan tools/software BPM.

Fungsi software BPM antara lain:
-Fungsi yang user friendly terhadap business users (analysts, managers)
-Memungkinkan business user melakukan proces modeling,
menggunakan notasi pemodelan bisnis proses yang standard
yaitu BPMN
-Memungkinkan business user melakukan pengukuran terhadap proses,
seperti penentuan KPI (Key Performance Indicator)
-Memungkinkan melakukan process simulation
-Mapat melakukan process versioning


Terkait dengan fungsi yang IT-related, BPM memungkinkan:
-Process execution, sebagai platform eksekusi proses yang sudah dimodelkan
pada fase design diatas
-Mengumpulkan data yang terkait dengan eksekusi proses, seperti
durasi eksekusi, untuk dijadikan bahan untuk process analytics
(analisa performance bisnis)
-Otomasi proses, flow dari proses bisnis, baik system related, ataupun
human related dapat diorkestrasikan dalam software BPM
-Integrasi dengan infrastruktur IT yang telah ada, khususnya
pada saat ini, software BPM seringkali dikaitkan untuk memanfaatkan
(leverage) infrastruktur SOA yang ada pada organisasi tsb.

Dari segi vendor, ada beberapa vendor yang menyediakan produk BPM, antara lain:
-Oracle: Oracle BPM Suite 11g
-IBM: IBM Websphere Lombardi Edition (diakuisisi dari Lombardi)
-Intalio: Intalio BPMS

Monday, June 14, 2010

SVN

(coolpie - Juni 2010)

Apa itu SVN

SVN adalah singkatan dari Subversion, yaitu aplikasi revision control open source yang paling banyak dipakai saat ini.

Apa itu "Revision Control" ?

Revision control adalah kegiatan dimana suatu kumpulan source code dari suatu project/aplikasi dapat dimaintain didalam suatu sistem yang dapat melakukan tracking terhadap perubahan-perubahan (revisions) yang terjadi pada source code tersebut, sekaligus mencatat informasi siapa yang melakukan perubahan dan apa yang diubah.

Dengan mencatat perubahan-perubahan ini, suatu source code dapat dengan mudah dilihat status perubahaannya.

Hal-hal yang dapat dilakukan, antara lain yaitu melabelkan revisi ini sebagai release 1, release 2, beta, dst (release management).

Melakukan bactracking ke versi-versi sebelumnya, jika file source code di komputer kita corrupt/rusak, maka kita dapat mengambil ulang (revert) source code dengan versi tersebut dari server.

Sistem revision control juga sangat berguna, dikala dibutuhkan kolaborasi dengan banyak developer pada suatu project. Dengan menggunakan sistem revision control, para developer dapat bekerja secara paralel (concurrent) untuk memasukkan perubahan-perubahan ke dalam source code (selama tidak terjadi konflik).

Mengapa SVN ?

SVN adalah aplikasi yang defacto paling banyak dipakai saat ini di bidangnya yaitu sistem revision control.

SVN adalah penerus dari aplikasi revision control sebelumnya yang dulu banyak dipakai, yaitu CVS (Concurrent Version System).

Apa bedanya SVN dengan sistem revision control yang lain ?

SVN yang merupakan penerus dari CVS, pada dasarnya adalah sistem revision control yang bersifat "centralized", yaitu repositori disimpan di satu tempat terpusat dan dimanage oleh SVN server.

Berbeda dengan SVN dan CVS, ada juga revision control yang mempunyai sifat terdistribusi, contoh: Mercurial, Git.

Siapa yang membuat SVN ?

SVN dikembangkan dan disponsori oleh perusahaan CollabNet mulai tahun 2000 dengan model project opensource.

Tahun 2010 SVN diadopsi menjadi top-level project Apache Foundation.

Bagaimana menggunakan SVN ?

SVN adalah sistem client-server, dimana aplikasi server SVN terinstall di komputer/server dimana repositori source code berada. Untuk melakukan koneksi ke SVN server diperlukan aplikasi SVN client, SVN client dapat berbentuk aplikasi command line ataupun GUI.

Untuk di sisi server dapat digunakan aplikasi SVN server yang disediakan CollabNet, atau juga dapat menggunakan VisualSVN.

VisualSVN adalah SVN server yang sangat mudah diinstall, dikonfigurasi, dan digunakan. Visual SVN juga mempunyai GUI interface yang sederhana tapi lengkap untuk melakukan administrasi server SVN, seperti manajemen repositori dan user.

Untuk SVN di sisi client, khususnya Untuk developer yang terbiasa di Windows, dapat menggunakan berbagai macam SVN client, salah satunya yang terkenal ialah TortoiseSVN, dengan TortoiseSVN perintah-perintah SVN sudah terintegrasi dengan Windows Explorer (memakai klik kanan).

Untuk versi SVN client yang paling basic, juga tersedia SVN command line dari CollabNet.

Apa perintah-perintah dasar dari SVN ?

checkout:
adalah proses awal dimana developer mentransfer suatu project dari SVN repositori ke komputer pribadinya (disebut local copy)

commit:
adalah proses memasukkan perubahan dari lokal copy developer ke repositori

update:
adalah proses memasukkan perubahan dari repositori ke local copy developer

perintah lain yang sering dipakai:
add, delete, ignore, import, export, relocate

Apa itu "conflict resolution" ?

SVN adalah revision control system yang tidak melakukan locking terhadap satu keseluruhan file dalam proses kolaborasi antar developer.

Jadi dimungkinkan seorang developer mengupdate bagian atas dari suatu file, dan developer lain mengupdate bagian yang lain dari file tersebut.

Hal ini akan berjalan lancar selama baris yang diedit tidak saling konflik, dan jika terjadi konflik, maka SVN akan memberitahu bagian mana (baris mana) yang konflik dan adalah keputusan bersama dari para developer tadi untuk mengkomunikasikan bagian manakah yang akan dipakai.

Dalam proses conflict resolution ini, aplikasi SVN juga memberikan kemudahan dengan menyertakan sistem "diff" yaitu untuk melihat perbedaan baris dari dua file.

Dimana informasi lebih lanjut dan dimana mendapatkan SVN ?

SVN di Apache:
http://subversion.apache.org/

Situs SVN lama (tigris):
http://subversion.tigris.org/

TortoiseSVN:
http://tortoisesvn.tigris.org/

Buku tentang SVN, sekualitas buku OReilly:
http://svnbook.org/

VisualSVN Server:
http://www.visualsvn.com/

SVN di wikipedia
http://en.wikipedia.org/wiki/Apache_Subversion

--oo00oo--

Thursday, March 12, 2009

Uniform Server

Uniform Server adalah paket development
Apache, PHP, MySQL yang terintegrasi dan
bersifat portable, dapat dipindah2 antar
komputer lain tanpa instalasi (copy and run).

Dibuat untuk sistem operasi Windows,
developer PHP tinggal meng-klik uniform server start script,
kemudian script tersebut akan membuat direktori virtual W:
berisi struktur folder yang mengemulasi struktur
folder website di Linux.

Di folder ini sudah terdapat Apache Server, MySQL Server,
PHP, dan PEAR library, dan juga management page
untuk start/stop web webserver, database server.
Administrasi database juga disediakan dalam bentuk
aplikasi phpMyAdmin yang sudah diintegrasikan.

Semua fitur ini menjadikan Uniform Server sebagai
paket development PHP
yang lengkap, namun portable/mudah dipindah-pindah,
tidak perlu instalasi.

Sangat cocok baik untuk developer PHP pemula, karena
kemudahan dan kelengkapannya. Tidak perlu instalasi
yang rumit, dan sudah ada web server, database, dan
library dasar. Dengan melewati proses-proses instalasi
yang kadang-kadang rumit, pemula bisa langsung
belajar ke detail PHP sendiri dengan cepat dan efektif.

Uniform Server juga baik digunakan untuk development
aplikasi PHP di dalam suatu project. Dikarenakan tidak adanya
proses instalasi yang rumit, memungkinkan developer
untuk segera dengan cepat mengimplementasi kode, sehingga
sangat cocok untuk membuat aplikasi prototype/proof of concept.

Jika fase implementasi sudah selesai, kode dapat dipindahkan
ke sistem yang sebenarnya (biasanya server/hosting), yaitu dalam fase deployment.

Karena bentuknya yg portable tanpa instalasi, kita dapat memindahkan
uniform server kita (beserta kode aplikasi didalamnya) ke dalam
komputer lain dengan tanpa ada perubahan, dan bisa langsung berjalan.

Keperluan seperti ini sangat cocok jika ada keperluan untuk melakukan demo
aplikasi, yang biasanya dilakukan di komputer terpisah seperti laptop.

Untuk informasi lebih lanjut atau jika ingin men-download silakan mengakses situs
Uniform Server di www.uniformserver.com

--
chris - Mei 2009

MSSQL Integration Service

MSSQL Integration Service (SSIS) is an ETL/integration tools from Microsoft,
packaged in their SQL Server Product, starting from SQL Server 2005.

Zend Framework Intro

Zend Framework (ZF) is a PHP application framework from Zend company. ZF provides class libraries that is useful for application development. ZF libraries is very heavy in OOP usage.