Archive for » November 10th, 2009«

Overview WCF

Pertanyaan Kritis untuk WCF n WF :
Apakah Windows Comunication Foundation dan Workflow membuat Biztalk (Messaging Bus) menjadi ketinggalan/absolete?
Definisi WCF dan WF :
– Foudational teknologi platform , dimana merupakan tempat untuk membangun aplikasi masa depan Microsoft
– Keduanya bagus untuk area problem service yang menyatukan komunikasi dan workflow

Definisi WCF :
– Termasuk teknologi yang relative baru (di tahun 2009) dan mungkin Konsumen Biztalk masuh nyaman menggunakan Webservice (ASP.Net Framework)
– Adalah jalur kritis dari Strategi Service Microsoft
– Sebuah bagian kunci dari Biztalk server 2009 Platform
– Sebuah FrameWork yang dibuat dan menghosting service

Tujuan dari WCF adalah :
– Untuk menyatukan banyak teknologi dan menyediakan satu tranportasi paradigma developer yang bersifat netral dengan aspek umum( untuk : keamanan,transaksi,penanganan masalah/exception handling)

Note :
Service End Point adalah Raja.
End Point di WCF di definisikan menggunakan singkatan ABC
– A : Adressing
Mendeskripsikan URL yang actual dari service
– B : Binding
Mendeskripsikan bagaimana berkomunikasi dengan service
– C : Contract
Mendefinisikan operasi dan element data yang di expose oleh service yang bersangkutan

Perbedaan dengan ASPNET Web Service :
– WCF benar-benar mempromosikan Gaya mendesign “Contract”, dimana developer membutuhkan pertimbangan akan interaksi aplikasi lain (outside world) dengan service yang ada.

Urutan Pemodelan WCF
– Focus kepada data yang akan di share
– Focus kepada data dimana interface untuk aplikasi kita (outside world) akan seperti apa
– WCF developer memulai untuk mendesign service yang actual untuk implementasikan logika

3 Perbedaan contract untuk WCF Service:
1. Service Contract
2. Data contract
3. Fault contract

Service Contract
Menjelasakan apa saja yang dapat dilakukan oleh service buatanmu.
Dibuat menggunakan .Net Interface Class
Didekorasi dengan WCF Atribute yang mengindentifikasi itu sebagai SERVICE CONTRACT
Note :
Kita dapat menambahkan nama dan namespace properties untuk service contract untuk karakteristik yang lebih baik
Kita juga dapat menambahkan properties untuk “OperationContract”untuk mengontrol operasi akan dinamai apa dan nilai yang akan di set untuk SOAPAction.

Menggunakan WCF Service di BTS
Bagaimana interaksinya
:

  • Message Pattern
    1. One-way
    2. Two Way
  • How To Conclude by
    1. Mengkonsumsi Service dengan Orchestration
    2. Mengkonsumsi Service tanpa Orchestration

Relasi BTS dan WCF

  • BTS :
    – Menawarkan Solusi Message
    – Orcestration Process
    – Adapter ke manacam-macam protocol
    – Mengarahkan data melalui performa yang tinggi
    – Service Runtime dengan scalability yang sudah built in
    – Adanya tambahan module seperti BAM
  • WCF:
    – Menggabungkan Komunikasi .Net yang sudah ada
    – Menawarkan Cross Platform (Support Web Service)
    – Macam-macam container Service Host yang flexible
    – Niali penting dari Konfigurasi service yang ada di luar code

7 Macam WCF adapter :
1. WCF-BasicHTTP
– Builtin WCF Binding
– Adapter ini merupakan paling aman untuk service client yang simple dan sesuai dengan SOAP Basic Profile 1.1

2. WCF-WSHTTP
– Ketika kita memerlukan HTTP EndPoint yang digabung dengan WebService extention Standard untuk : Security ,transaksi,dan encoding yang lebih baik. Ini adalah ideal adapter.

3. WCF-NetTCP
Jika semua Teknology WCF berakhir di channel, maka adapter ini menyediakan tranportasi informasi paling efisien,selama masih disediakan kemampuan WebService Extention.

4. WCF-NetMSMQ
– Disconnect operation mode
– Menyediakan integrasi dengan antrian melalui MSMQ

5. WCF-NetNamedPipe
Ketika kita memiliki sumber / target WCF Application di server yang sama seperti Biztalk

6. WCF-Custom
Dipakai ketika kita memerlukan custom WCF Endpoint.
Digunakan untuk manipulasi detail binding dan tambahan behaviours

7. WCF-CustomIsolated
Untuk WCF endpoints yang di host oelha Web server local
Memerlukan binding atau behavior custom

Tambahan WCF Adapter di .Net 3.5 :
8. WS2007Http
9. WSFederationHttp
10. NetPeertep
11. webHttp
12. MsmqIntegration

Architecture WCF Biztalk :
wcf_adapter
Keterangan :
– Message tiba dari client ke IIS Server
– IIs menentukan service End Point untuk instantiate.
– WCF Service Host di aktivasi
– BTS EnPoint Manager dipanggil
SEsuai urutan untuk mendapatkan setting dari receive location yang cocok dengan service endpoint
– Message di process melalu WCF chanel dan extention yang berkaitan
– Lingkaran Message Engine melalui beberapa komponen-komponen receive pipeline dan map sebelum mengirim message ke messageBox viz Biztalk Message Agent


BTS memiliki konsep

  • “In-Process” Host
    Merujuk pada Windows Service, dimana dimiliki dan dioperasikan oleh Biztalk Server

  • “Isolated” Host
    Digunakan ketika BTS tidak memilki lifecycle akan process container.

    Digunakan untuk :
    1. WCF – BasicHttpAdapter
    2. WCF-WSHttpAdapter
    3. WCF-CustomIsolatedAdapter

Type-type End-Point :

  • Service End Point
    Wizard ini akan menfenerate sebuah service WCF yang bisa di pakai oleh host yang berada diluar Biztalk Server
  • MEX (Meta Data Only EndPoint)
    Dipakai Jika kita sudah memiliki Inprocess WCF Biztalk EndPoint dimana deskripsi metadata yang kita harapkan diexpose pada IIS Web Server

References : SOA Patterns with BizTalk Server 2009, Richard Seroter

OVERVIEW BTS (BIZTALK SERVER) 2009

Apakah biztalk itu –> ini pertanyaan saya ketika mendengar nama yang sangat asing ini..^^
tentu saja sempat saya menebak2, saya kira ini adalah suatu bahasa pemrograman, lalu saya cb tanya2, lalu dapat info, merupakan sebuah server 🙂
sehingga saya pny pandangan biztalk = machine komp (yang berbentuk sedemikian rupa sehingga di fungsikan mirip server)

setelah saya baca literature buku dan artikel2, saya mulai mencoba menginstall BTS (Biztalk Server) 2009(thx msdnaa), yang merupakan sebuah software.
Kata2 server sama seperti SQL “Server”, sql merupakan tools dr microsoft.

Singkat kata biztalk seperti itu.

Berikut ini adalah penjabaran mengenai BTS 2009

Product Biztalk Server server pertama kali di release adalah Biztalk Server 2000.
Biztalk adalah :

  • sebuah platform yang handal akan SOA mu dan
    membuat kesempatan baru untuk membuat lingkuanganmu lebih agile(cepat,cerdas ) dan flexibel.
  • Sebuah solusi teknologi yang menyadari tujuan dan visi dari arsitektur bisnis, SOA tidak dapat diimplementasikan hanya dengan kertas dan pensil 🙂
  • Sebagai host platform
  • Produk Microsoft yang berkelas Enterprise (skala besar), dimana memungkinkan integrasi proses melintasi melintasi entity yang berbeda (entity di sini meliputi : Organisasi, platform, aplikasi)
  • Tidak hanya merupakan sebuah produk yang membantu implementasi service oriented

Note :
SOA dapat dengan sukses dibangun, TANPA menggunakan BTS (Biztalk Server) .

Biztalk 2009 Menawarkan WCF Adapter dan Sql Server Adapter.

Biztalk menggunakan teknologi adapter-adapter ini untuk :

  • Menghubungkan perbedaan entity (meliputi : Organisasi, platform, aplikasi)
  • Membuat integrasi akan :

    1. Data
    2. Event
    3. Process
    4. Service

Software Adapter

  • Kita menggunakannya ketika establish(mendirikan/membangun) komunikasi antara 2 komponen yang secara umum tidak dapat berkolaborasi.
  • Biztalk Adapter dibangun dengan framework yang umum dimana hasilnya ada dalam system terintegrasi yang dapat di konfigurasi TANPA CODING.

4 Adapter yang umum :
1. File System
2. MSMQ
3. HTTP
4. SMTP

Biztalk berhasil menyelesaikan masalah di 3 area :
EAI (Enterprise Application Integration)
Menghubungkan aplikasi-aplikasi yang secara umum tidak dapat berkomunikasi satu dengan yang lainnya
EAI_APP

Mengisi Aturan (Role) B2B (Business To Business)
Memfasilitasi komunikasi lintas organisasi yang berbeda
B2B

BPA(Business Process Automation)
Sejarahnya dari procedure workflow yang manual dan sekaran diubah kedalam process yang bisa di eksekusi
BPA
Note :
Biztalk sebaiknya dapat ditargetkan untuk solusi yang mempertukarkan message (pesan) secara real-time.
Pola dari proses Publish dan Subcribe :
1. Sebuah Paradigma message asynchronous (tidak teratur), dimana pengirim dari message(PUBLISHER) tidak diprogram untuk mengirimkan message kepada specific receivers (SUBSCRIBER)
2. Message yang dipublish adalah karakteristik ke dalam Class, tanpa pengetahuan akan “SUBSCRIBER yang mungkin ada di sana”
3. SUBSCRIBER mengexpresikan ketertarikan satu atau lebih class dan hanya menerima message yang tertarik, tanpa pengetahuan akan “apakah PUBLISHER ada di sana”.

Cara Kerja Biztalk
          Received Processing by pipelines publish
Message —- > Biztalk Adapter —- > MAPS —– > Message Box
MessageBox

Message Box Database membentuk sesuatu dengan menyediakan :

  • Keawetan (Durability)
  • Kenyaataan (Reliability)
  • Kemampuan mengukur (Scalability)

Message dipublish ke Biztalk server dapat menyebar(fan out) ke lusinan SUBSCRIBER, yang dapat tidak tertarik akan aplikasi yang melakukannya(publishing it).
Definisi Message adalah :

  • Data diproses melalui Message Engine dari biztalk server
  • Data diantar sebagai document XML
  • Merupakan sebuah flat file atau document yang berisikan kata-kata

Isi dari Message , dapat berupa :
– Sebuah command , contoh : InsertCostumer
– Sebuah document contoh : Invoice
– Sebuah event ,contoh :VendorAdded();

Message dapat memiliki sebuah type yang berkaitan dengannya, dimana difenisikan dengan unik dalam message bus.
Type tersebut adalah type yang berbeda dalam xmlnamespace dan root node name. dan seperti object dari Class dalam OOP.
Definisi Message context adalah :

  • atribut penting lainnya (Property Bag) dari message dalam biztalk server.
  • Satu set dari nama / nilai property (termasuk meta data yang digunakan untuk publish message dan attribute dari message tsb), yang menunggu dikirim ke message selama masih ada di dalam Biztalk.

Definisi Promoted Properties adalah

  • Property dalam message context, yang dapat dilihat di Biztalk Engine, oleh karena itu dapat digunakan untuk menunjukan keputusan.

Definisi Receive Location adalah

  • Sesuatu yang dikonfigurasi untuk endpoint yang actual yang menerima message
  • Sesuatu yang menggunakan adapter untuk mengetahui bagimana untuk menggunakan inbound message
  • Sesuatu yang bisa di konfigurasi untuk menggunakan file adapter
  • Sesuatu yang menyimpan path file untuk memonitor

Note:
-Adapter memberikan tanda (stamps) sebuah set nilai ke dalam message contract
-Receive Location memiliki receive pipeline yang penting dan diasosiasikan dengan mereka(receive locations)
Definisi PipeLine adalah :
Sebuah sequential set dari operasi yang ditunjukan pada inbound message disiapkan untuk bisa dibagi dan diproses oleh biztalk server

Tujuan Pipeline adalah :
– Decript
– Unzip
– Validasi Struktur XML

Aturan Penting dari pipeline adalah untuk:
– mengindentifikasi tipe dari inbound message
– menaruh tipe kedalam message context sebagai promoted property

Definisi Message Type adalah
– Karakter unique dari message

Receive Port
ReceivePort


Ada 2 SUBCRIBERS :
1. Send Port
Memiliki kriteria : -kebalikan konsep dari receive location
-bertanggung jawab untuk mengirim message keluar dari biztalk bus
-Tidak hanya sebuah adapter reference ataupun sebuah pipeline(receive
location) , melainkan juga memiliki kemampuan memaping XSLT ke Outbound Message
Jika Sebuah Send port berlangganan pada sebuah message, maka
– Pertama akan aplikasikan XSLT Map ke message
– Memproses hal tersebut dengan mengirimkan ke pipeline
– Akhirnya menggunakan adpter untuk mengirimkan message keluar dari biztalk

2. Biztalk Orcehstration
Adalah :
– sebuah bisnis proses yang bisa di jalankan menggunakan message untuk menyelesaikan operasi di dalam workflow
– bagian yang optional di dalam biztalk solution

Data contract
Mendeskripsikan type dari message yang mengalir melewati message bus

XSD
Mengandung : Elements, Struktur Organisasi, Type Data
Mendefinisikan :
– Batasan Pesanan node-node
– Menentukan node diperlukan atau tidak
– Mementukan berapa banya node dapat ditampilkan di dalam node tree

Biztalk Schema Editor
Adalah :
– Pembuat mudah Model berdasarkan record dan fields.
– Bukan hanya tools yang sederhana ,melainkan editor ini memungkinkan kita untuk membanguan secara visual bentuk complex message melalui visual properties dan XSD annotations.

Beberapa cara untuk membuat schema di biztalk schema editor :
1. Generate schema dari yg sdh ada (an exsiting xml file)
2. XSD Schema di bangun melalu Biztalk Adapter
3. Schema baru dapat secara langsung di buat melalui import dan including preveiously Creted Schemas
4. Build new XSD schema from scratch

Biztalk Mappers
Adalah:
– Sebuah tool yang digunakan Biztalk untuk membuat XSLT(Extensible Language Transformation) dengan cara visualisasi (grafik)
– Hanya untuk logic data normalisasi, BUKAN UNTUK

BISNIS LOGIC
Paradigma membuat MAP:
1. Source Schema di identifikasi di sebelah kiri
2. Destination Schema di sebelah kanan

Lebih dari 75 Functiods tersedia di Biztalk Mapper, berikut ini adalah category nya :
1. String manipulation
2. Mathematical calculation
3. Logical Condition
4. Cumulative Computation

Biztalk menyediakan Workflow. Dimana mengizinkan kita untuk dapat :
– Membuat grafik yang bisa di execute
– Long running
– Statefull process

Workflow ini disebut ORCHESTRATION (di design di VS.Net dan di Execute di BTS)
Workflow terdiri dari :
– Control Flow
– Message Manipulation
– Konsumsi Service
– Dan lain-lain
Orchestration digunakan untuk:
– Process Manual yang otomatis terjadi (Automation Manual Process)
– Choreography a series of Disconnect Services
– Process untuk 1 form dengan 1 workflow

Orcestration shape(Receive,send,transform,decide,loop) digunakan untuk membuat orchestration diagram kita menjadi seperti di bawah ini:

orchestration

Ref : SOA Patterns with BizTalk Server 2009, Richard Seroter

Category: SOA  Tags:  Leave a Comment