Etiket: Port

Biztalk 2009 : SQLBinding – 4 – Orchestration

Eylül 14th, 2009

Bir önceki makaleyi yazarken anlatmaya çalıştım fakat gözüm korktuğu için vazgeçmiştim, Bu makalede tekrar basit bir orchestration tasarlamayı anlatmayı deniyeceğim.

En son çok basit bir mapping göstermiştim (cidden basit). Ondan önce de schema ları hazırlamıştık. Aslında çoğu işi tamamlamışız :)

  1. İlk olarak Solution Explorer -> proje ismi sağ click -> Add -> New Item yolunu izleyerek listeden Biztalk Orchestration u seçiyoruz. Buna bir isim verip (ben Common dedim) Add butonuna tıklıyoruz.
  2. orc1

  3. Daha sonra aşağıdaki resimdeki gibi Orchestration a ilgili shape leri ekliyoruz
  4. orc2

  5. Şimdi bu shapelerde kullanılmak üzere mesaj tanımlamarı yapmamız gerekmekte. Bize dosya, sql send, sql receive olmak üzere 3 adet mesaj tipi yeterli olucaktır.
    1. Orchestration View dan Messages a sağ click ve New Message seçilir.
    2. Bu mesajın Identifier özelliğini msg_File yapalım. Message Type özelliğini ise Schemas ın altından sqlbinding.data olarak seçelim.
    3. Orchestration View dan Messages a sağ click ve New Message seçilir.
    4. Bu mesajın Identifier özelliğini msg_SQLRequest yapalım. Message Type özelliğini ise Schemas ın altından sqlbinding.SQLBinding_InsertTableOperation_dbo_sqlbinding.Insert olarak seçelim.
    5. Orchestration View dan Messages a sağ click ve New Message seçilir.
    6. Bu mesajın Identifier özelliğini msg_SQLResponse yapalım. Message Type özelliğini ise Schemas ın altından sqlbinding.SQLBinding_InsertTableOperation_dbo_sqlbinding.InsertResponse olarak seçelim.
  6. Herşey tamam gibiyse ekran aşağıdaki resimdeki gibi görülecektir;
  7. orc3

  8. Şimdi orchestrationa eklediğimiz shapelerin ayarlarını yapalım:
    1. İlk Receive shape i seçilir ve bunun Activate özelliği True yapılır. Bunu yapmazsanız projeyi deploy ederken sıkıntılarla karşılaşabilirsiniz.
    2. Message özelliği ise msg_File olarak seçilir. Name özelliği ise Rcv_File yapılır.
    3. orc4

    4. Transform shape inin üzerine çift tıklanır. Aşağıdaki resimdeki gibi ayarları yapılır. Bir önceki makalemizde mapi hazırladığımız için tüm ayarlar rahatlıkla yapılabilir.
    5. orc7

    6. İlk Send sharepi seçilir. Message özelliği msg_SQLRequest olarak seçilir. Name özelliği ise Snd_SQLRequest yapılır.
    7. İkinci Receive sharepi seçilir. Message özelliği msg_SQLResponse olarak seçilir. Name özelliği ise Rcv_SQLResponse yapılır.
    8. İkinci Send sharepi seçilir. Message özelliği msg_SQLResponse olarak seçilir. Name özelliği ise Snd_SQLResponse yapılır. Bunu kullanarak işlem sonucunu herhangi bir dosyaya yazdıracağız ileride.
  9. Bununla birlikte port ayarları dışındaki tüm shapelerin ayarlarını tamamlamış olduk. Portları ise Port Surface kısımlarına sağ click -> New Configured Port a tıklayarak tanımlamaktayız.
  10. Şimdi ilk portumuzu dosya okumak ve ikinci portumuzu da dosya yazmak için tanımlayalım.
    1. New Configured Port a tıkladıktan sonra karşımıza gelen ekrandan Next butonuna tıklıyoruz.
    2. İsim verme ekranında dilerseniz portunuza isim verebilirsiniz. Daha sonra Next ile bir sonraki ekrana geçiyoruz.
    3. Select a Port Type ekranında hiçbir şey yapmamıza gerek yok. Next deyip geçiyoruz.
    4. İlk tanımlayacağımız portdan dosyayı okuyacağımız için Port direction of communication dan I’ll always be receiving messages on this port u seçiyoruz. Port binding den Specify now seçilir, URI olarak c:\BiztalkMessages\sqlbinding\IN\*.xml tanımını veriyoruz. Siz farklı bir yol verebilirsiniz. Transport olarak da File seçiyoruz.
    5. orc9

    6. İkinci tanımlayacağımız portun ayarları da bu şekilde olucak. Fakat bu portdan dosya gönderme işlemi yapacağız.
    7. New Configured Port a tıkladıktan sonra karşımıza gelen ekrandan Next butonuna tıklıyoruz.
    8. İsim verme ekranında dilerseniz portunuza isim verebilirsiniz. Daha sonra Next ile bir sonraki ekrana geçiyoruz.
    9. Select a Port Type ekranında hiçbir şey yapmamıza gerek yok. Next deyip geçiyoruz.
    10. Bu porttan dosya göndereceğimiz için; Port direction of communication dan I’ll always be sending messages on this port. seçilir. Port binding den Specify now seçilir, URI olarak c:\BiztalkMessages\sqlbinding\OUT\%messageid%.xml tanımını veriyoruz. Buradaki %messageid% ifadesi mesajın unique olan id sidir. Bu ifadeyle dosyaların üst üste yazılması engellenir ve her mesaj ayrı birer dosya olarak kaydedilir. Transport olarak File , Pipeline olarak PassThruTransmit seçiyoruz.
    11. orch1

  11. Bu tanımladığımız iki port tek yönlü portlardı. Şimdi tanımlayacağımız port ise iki yönlü. Yani bir requeste karşılık olarak karşı taraftan bir de response mesajı beklenir. Bu port sql e kayıt aktarıp, cevabı ileten port olarak kullanılacak.
    1. New Configured Port a tıkladıktan sonra karşımıza gelen ekrandan Next butonuna tıklıyoruz.
    2. İsim verme ekranında dilerseniz portunuza isim verebilirsiniz. Daha sonra Next ile bir sonraki ekrana geçiyoruz.
    3. Burada Communication Pattern olarak Request-Response seçilir ve Next ile devam edilir.
    4. Port direction dan I’ll be sending a request and receiving a response seçilir.
    5. Port Binding den Specify Later seçilir.
  12. Port tanımlamalarımız yaptıktan sonra geriye kalan sadece Receive ve Send shape lerini ilgili porta, aşağıdaki resimdeki gibi, bağlamak.
  13. orch2

  14. Son olarak da projeyi derleyip hata olmadığından emin olun.

Bir sonraki makalede hazırladığımız bu projeyi deploy etmeyi anlatmaya çalışacağım.

Tags: , , , , , , ,
Posted in BizTalk | No Comments »