State Machine Workflow di Windows Workflow Foundation

Posted on

Pada sebuah organisasi atau perusahaan, dikenal dengan adanya sebuah SOP (Standard Operational Procedure) yang melandasi alur kerja yang ada. Dalam pelaksanaannya, para anggota diwajibkan untuk mengikuti SOP yang telah didefinisikan. Alur kerja perusahaan yang semakin kompleks membuat manajemen proses kerja harus diperhatikan dengan seksama, sehingga dibutuhkan teknologi yang dapat mengakomodasi kinerja perusahaan agar tercipta hasil yang maksimal. Saat telah banyak perusahaan yang menggunakan teknologi untuk mengontrol, memonitoring proses bisnis yang ada. Tercatat ada beberapa teknologi dari masing-masing vendor, antara lain Microsoft dengan Sharepointnya, SAP, Oracle dan IBM. Dalam platform teknologi Microsoft sendiri, Windows Workflow Foundation (WWF) menjadi salah satu andalan dalam mendefinisikan dan mengatur kinerja perusahaan agar lebih efektif. Artikel lengkap tentang WWF bisa dibaca di https://fadlikadn.wordpress.com/2013/05/05/wwf-1-workflowtesting/.

Pada Windows Workflow Foundation, ada 2 tipe workflow, yaitu Sequence Workflow dan State Machine Workflow. Sequence Workflow merupakan workflow yang didesan dengan alur top down, di mana alur proses bisnis didefinisikan secara berurutan (sequence). Sedangkan State Machine Workflow merupakan workflow yang mengacu pada state activity yang saling dihubungkan, sehingga lebih dinamis.

Untuk membuat State Machine Workflow dasar, digunakan Visual Studio 2010 sebagai toolnya. Buat sebuah project Workflow Application baru. Kemudian pada Workflow Designer, masukkan sebuah elemen flowchart baru. Flowchart inilah yang akan menjadi model dari State Machine Workflow yang kita buat.

New Project Worklow
Project Worklow Baru

Proses bisnis yang digunakan sebagai contoh di sini adalah proses pengajuan kredit peminjaman dana untuk usaha baru. Ini banyak terdapat pada dunia perbankan ataupun koperasi simpan pinjam. Proses bisnis digambarkan dengan format spesifikasi YAWL diagram.

Diagram Proses Bisnis Alur Peminjaman Dana
Diagram Proses Bisnis Alur Peminjaman Dana

Setelah proses bisnis selesai didefinisikan, langkah berikutnya adalah membuat workflow pada WWF. Desain workflow pada WWF berbeda dengan model di atas, ada notasi-notasi tersendiri yang ada di dalamnya. Di sinilah state machine workflow diterapkan.

Sebelum Workflow Didesain
Sebelum Workflow Didesain

Konversi state yang ada pada spesifikasi YAWL diagram menjadi activity-activity tersendiri pada WWF. Untuk contoh, di sini, digunakan komponen Writeline untuk mensimulasikan sebuah activity. Sebenarnya kita bisa membuat sendiri code activitynya, di mana kita bisa lebih dinamis dalam mendefinisikan proses apa saja yang ada di dalam sebuah acvitity.

Contoh StateMachine Workflow
Contoh StateMachine Workflow

Setelah itu, tuliskan code untuk menginisiasi program agar menjalankan workflow yang telah dibuat.

using System;
using System.Linq;
using System.Activities;
using System.Activities.Statements;
using System.Collections.Generic;

namespace CreditApplication
{

    class Program
    {
        static void Main(string[] args)
        {
            Order myOrder = new Order
            {
                Nama = "Fadlika Dita Nurjanto",
                Amount = 570
            };

            //menyiapkan parameter yang akan dimasukkan ke workflow
            IDictionary<string, object> input = new Dictionary<string, object>
            {
                {"OrderInfo", myOrder}
            };

            //mengeksekusi workflow
            IDictionary<string, object> output = WorkflowInvoker.Invoke(new Workflow1(), input);

            //hasil dari keluaran workflow yang sudah dijalankan
            bool status = (bool)output["Accept"];
            Console.WriteLine("Status Penerimaan Kartu Kredit : {0}", status);

            Console.WriteLine("Press ENTER to exit");
            Console.ReadLine();
        }
    }
}

Setelah itu, jalankan workflow dengan menekan tombol F5.

Hasil Setelah Dijalankan
Hasil Setelah Dijalankan

Untuk mencobanya dengan kondisi yang berbeda, ubah Loan Amount menjadi 400. Saat dijalankan akan mengeluarkan hasil yang berbeda.

Dengan Variabel Yang Berbeda
Dengan Variabel Yang Berbeda

Contoh project lengkapnya dapat didownload di https://copy.com/Ema1RfQ3alRS. Semoga bermanfaat 🙂

Iklan

One thought on “State Machine Workflow di Windows Workflow Foundation

    Intan said:
    10 Desember 2016 pukul 08:39

    terimakasih.. artikelnya sangat membantu 🙂

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s