Tutorial ini akan menunjukkan kekuatan dan kenyamanan menggunakan Flow, bahasa drag-and-drop sederhana untuk pengembangan Service. Dalam tutorial ini anda akan membuat sebuah service yang memetakan permintaan respone, menggunakan operasi LOOP untuk memproses data array, dan menambahkan logika untuk mengubah data dari satu format yang lain untuk output.
Catatan: operasi LOOP dengan pernyataan “for loop” seperti dalam bahasa Java.
Permulaan
Tutorial ini dibuat untuk lanjutan atas tutorial sebelumnya :
- 1. Membuat Paket IS dan Folder
- 2. Membuat dan Menjalankan Flow Service
- 3. Membuat Type Dokumen
- Tutorial di atas harus diselesaikan terlebih dahulu.
- IS(Integeration Server) harus sudah hidup atau running.
Langkah Selanjutnya
Anda akan membuat service seperti langkah berikut:
- Menciptakan Flow Service yang memetakan Request untuk Respone
- Menambahkan dan mengkonfigurasi operasi MAP dan LOOP
- Menambahkan logika transformasi
- Mengimpor file data sebagai inputan ke service
Langkah Selanjutnya: Buat Flow Service untuk Memetakan Request untuk Responses
Dalam langkah ini anda akan membuat Flow Service yang memetakan Request dengan Respone.
Untuk membuat Flow Services:
- Klik kanan pada folder FLOW_Tutorial.services dan pilih New> Flow Services
Designer meminta anda untuk memberikan nama service.
- Namai service baru dengan OrderRequestToOrderResponse dan klik Finish:
![]() |
Desainer menampilkan service baru di Paket Navigator , dan membuka service di Editor Arus di panel atas pusat desainer.
- Pilih tab Input / Output di bagian bawah tampilan Flow Editor
![]() |
- Memperluas Palette ke kanan Flow Editor, tab Input / Output (atau menggunakan salah satu metode alternatif yang dijelaskan dalam tutorial sebelumnya) untuk menambahkan Dokumen Referensi ke kiri (input).
![]() |
Desainer menampilkan dialog Select... :
![]() |
- Klik untuk memperluas folder FLOW_Tutorial -> docs , pilih Type Dokumen OrderRequest , dan klik OK :
![]() |
Desainer menciptakan referensi dokumen baru di tab Input / Output :
![]() |
- Namai dokumen Request:
![]() |
- Tambahkan Dokumen Referensi output ke service
- Dengan cara yang sama seperti anda menambahkan OrderRequest Dokumen Referensi ke input dari service, menambahkan Dokumen Referensi ke FLOW_Tutorial.docs:OrderResponse output service, dan namai dengan Response
![]() |
Anda sekarang telah mendefinisikan input dan output untuk OrderRequestToOrderResponse service. Anda dapat memperluas Request dan Respon node untuk menampilkan struktur mereka, yang diciptakan oleh referensi type dokumen yang anda buat sebelumnya:
![]() |
Langkah 2: Menambahkan MAP dan Loop Langkah-langkah untuk Service
Pada Langkah ini anda akan menambahkan dua Step MAP dan Step LOOP ke Service.
Untuk menambahkan Step MAP:
- Pilih tab Tree di bagian bawah Editor Flow , dan memperluas Palette di sebelah kanan editor.
Fungsi Editor, termasuk tools MAP dan LOOP yang sekarang tersedia:
![]() |
- Menambahkan step berikut untuk service :
Sebuah MAP
Sebuah lOOP
MAP yang lain sebagai anak dari LOOP
MAP yang lain tetapi bukan sebagai anak dari LOOP
![]() |
- Pilih tab Pipeline di panel bawah
Pipeline In dan Pipeline Out dari Pipeline menunjukkan variabel Request / Request / Orders dan Response / Respon / Orders sebagai Daftar Dokumen:
![]() |
Sekarang anda dapat mengatur Inputan LOOP array dan output berbagai properti dari Step LOOP .
Untuk mengatur Inputan properti array LOOP untuk Request / Request / Orders :
- Pilih step LOOP dalam editor flow
Desainer akan menampilkan Properti LOOP :
![]() |
- Pilih MAP yang terakhir dalam service dan salin elemen array Request / Request / Orders dari tampilan Pipeline :
![]() |
- Pilih LOOP lagi untuk menampilkan Properti LOOP
- Paste Request / Request / Orders langsung ke bidang input array :
![]() |
Best Practice: Menyalin dan Mengcopy mengurangi kemungkinan kesalahan pengetikan, terutama ketika berhadapan dengan struktur yang sangat kompleks dan nama yang panjang.
- Melakukan proses yang sama untuk mengatur properti LOOP Output array ke Response / Response / Orders:
![]() |
Jika anda memilih step MAP yang ada di bawah step LOOP dan melihat Pipeline Editor , Anda akan melihat bahwa Pipeline In dan Pipeline Out sekarang menunjukkan Request / Request / Orders dan Response / Response / Orders sebagai tunggal Dokumen bukan Lists Dokumen:
![]() |
Anda mungkin sekarang sudah aman untuk dapat melakukan pemetaan data pada LOOP .
Langkah 3 : Memetakan Data didalam LOOP #
Dalam langkah ini anda akan memetakan data didalam LOOP .
Untuk memetakan data:
- pilih step MAP :
![]() |
- Menghubungkan unsur-unsur berikut dari step MAP pada tab Pipeline :
Pipeline In: Request / Request / Orders / OrderID
ke: Pipeline Out: Response / Response / Orders/ OrderID
Pipeline In: Request / Request / Orders / UnitPrice
ke: Pipeline Out: Response / Response / Orders / AmountDue
![]() |
Catatan: Anda dapat memetakan elemen dengan cara :
- Memilih sumber elemen, kemudian menyeret dan menjatuhkannya pada elemen tujuan
atau dengan:
- Memilih variabel sumber dan memilih variabel tujuan, kemudian mengklik icon link

- Pilih MAP yang terakhir didalam service dan hubungkan Sender Data sebagai berikut:
Pipeline In : Request / Request / Sender
ke: Pipeline Out: Response / Response / Customer
![]() |
- Klik Simpan
Anda baru saja selesai membuat service OrderRequestToOrderResponse
Anda sekarang dapat menjalankan service dan memuat file sebagai inputan untuk service.
Langkah 4: Menjalankan Service dengan Data dari Input File
Dalam langkah ini anda akan menjalankan service dan input data dengan memuat file XML.
Untuk memuat file input dan menjalankan layanan langkahnya :
- Pilih tab OrderRequestToOrderResponse Editor
pilih icon Pull down run
Menu dari toolbar Designer dan pilih untuk Run As -> Run Flow Service
![]() |
Desainer akan menampilkan dialog Input.
- Pilih tombol Load...
![]() |
Desainer akan menampilkan dialog explorer.
- Download dan pilih file FLOW_Tutorial_4_Input.xml dan klik Open
Desainer akan menampilkan data yang diambil dari file input. File input Orders berisi seperti berikut :
![]() |
| Sender | Buyer1 | |||
|---|---|---|---|---|
| Orders | OrderID | SKU | UnitPrice | Quantity |
| 100 | 01 | 150 | 20 | |
| 101 | 04 | 50 | 12 | |
| 102 | 11 | 65 | 32 |
- Pilih OK. Desainer akan menjalankan service dan menampilkan tab Results:
![]() |
Anda dapat memverifikasi bahwa data file input dipetakan dengan benar dengan membandingkan nilai dalam input dialog dengan yang di panel Result .
Langkah 5: Tambahkan Transformasi Logika ke Data Map
Flow akan menyediakan Transformers yang memungkinkan anda dengan cepat dan mudah menerapkan transformasi data. Transformers adalah layanan ringan yang dapat dikonsolidasikan ke dalam satu step MAP .
Dalam step ini: Anda akan memasukkan Transformer ke dalam MAP langkah untuk mengubah data karena sedang diproses oleh service.
Catatan: Anda harus menghapus link antara UnitPrice dan AmountDue sebelum anda menambahkan Transformer.
Untuk menghapus pemetaan data ke Response / Response / Orders / AmountDue pada step MAP :
- Pilih step MAP , kemudian pilih tab Pipeline :
![]() |
- Pilih link antara UnitPrice dan AmountDue elemen, dan klik Delete

![]() |
Anda sekarang dapat menambahkan Transformer untuk service.
Untuk menambah trafo pub.math: multiplyInts:
- Dari tampilan toolbar Pipeline , klik tanda panah ke bawah bagian dari menu Transformer
pilih pub.math , kemudian pilih multiplyInts:
![]() |
Desainer menambahkan pub.math: multiplyInts Transformer ke Pipeline.
![]() |
- Perluas Transformer, kemudian petakan input berikut:
Request / Request / Orders / UnitPrice
ke: num1 dari transformator Service In
Request / Request / Orders / Quantity
ke: num2 dari transformator Service In
- Memetakan Transformer variabel Value Service Out ke: Response / Response / Orders / AmountDue
![]() |
- Runtuh Transformer untuk meninjau pemetaan layanan:
![]() |
Untuk menambah trafo pub.string: toupper ke step MAP yang terakhir:
- Pilih step MAP yang terakhir, dan hapus link antara Request / Request / Sender dan Response / Response / Customer
- Tambahkan Transformer pub.string: toupper ke step MAP yang terakhir, dan memetakan input dan output sebagai berikut:
Request / Request / Sender
ke: inString
- memetakan output sebagai berikut:
Value untuk: Response / Response / Customer
![]() |
Pilih icon Save. Anda sekarang dapat menjalankan service lagi.
- Pilih Run dari toolbar Designer :
Desainer menampilkan data yang diambil dari file input:
![]() |
| Sender | Buyer1 | |||
|---|---|---|---|---|
| Orders | OrderId | SKU | UnitPrice | Quantity |
| 100 | 01 | 150 | 20 | |
| 101 | 04 | 50 | 12 | |
| 102 | 11 | 65 | 32 |
- Pilih OK
Desainer menjalankan layanan dan menampilkan tab Results :
![]() |
kesimpulan #
Anda telah membuat Flow Service khas yang memetakan satu struktur data yang lain, loop atas array, dan melakukan transformasi data sederhana.
Catatan: Anda juga dapat menggunakan fungsi REPEAT untuk melakukan operasi serupa dengan LOOP . Jika anda sudah familiar dengan Java, anda bisa menggunakan REPEAT sebagai “loop sementara ”.

































Comments