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