680 likes | 945 Views
فصل : BizTalk. دوره SOA استانداری قم - جواد تقی زاده. Lifecycle of a Message. سرویس متناظر با BizTalk. تغییرات. به ازای هر تغییر در قسمت های Biztalk Project لازم است برای اعمال تغییرات بر روی BizTalk Administration ، Deploy مجدد صورت گیرد. Group Hub.
E N D
فصل : BizTalk دوره SOA استانداری قم -جواد تقی زاده
تغییرات • به ازای هر تغییر در قسمت های Biztalk Project لازم است برای اعمال تغییرات بر روی BizTalk Administration، Deploy مجدد صورت گیرد
Group Hub • ابزاری برای Tracking و Monitoring می باشد • سه عمکرد اصلی • مشاهده سرویس های در حال اجر شامل orchestrations، پیام ها • اتصال به پایگاه داده MessageBox برای مشاهده داده های جاری و حالت بلادرنگ از سیستم • فعال، غیرفعال کردن، خاتمه دادن به service instances • عیب یابی روتینگ (Diagnosing Routing Failures)
Group Hub • مشاهده 100 پیام دریافتی • مشاهده 100 پیام ارسالی • مشاهده 50 پیام Suspend شده توسط Biztalk Server
Group Hub • مشاهده جزئیات پیام ها(Message Detail): • اطلاعات عمومی پیام • بدنه پیام • مشاهده جریان پیام(Message Flow)
مراحل Deploy • تنظیمات Deploy • نام Application (مورد استفاده در مدیریت BizTalk) • نام پایگاه داده تنظیمات • آدرس پایگاه داده سرور
Deploy ناقص • ناقص بودن تنظیمات در BizTalk Server Administration و لزوم انجام دستی تنظیمات • خطاهای رایج Deployدر ادامه
خطای عدم امکان start ، Orchestration • علت: عدم تعیین Binding مربوط به Port ورودی یا Port خروجی برای Orchestration
خطای عدم انجام عملکرد Orchestration • علت: • عدم start بودن Orchestration • عدم start بودن SendPort • Disable بودن ReceiveLocation • عدم تعیین فیلتر برای SendPort
خطای no subscribers • A message received by adapter "FILE" on receive location "Receive Location4" with URI "E:\Depna\Research\Soa\Soa Course\Taghizad\biztalk\Code\Consume Web Service to Orchestration\Him_WebService_BTS\IN\*.xml" is suspended. • Error details: The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure. • MessageId: {587EF74B-390E-4DA7-9585-CCB6721E659D} • InstanceID: {0C7034BF-A6F6-4101-A97C-C648BF165B33}
Event Log • نحوه شناسایی خطاهای Orchestrationفعال • نحوه بررسی خطاها قراردادن تکه کد زیر در Message Assignment یا Expression Object System.Diagnostics.EventLog.WriteEntry(“Source", “Message");
سناریوها • انتقال فایل از یک شاخه به شاخه دیگر • تبدیل فایل متن به XML • بررسی صحت فایل XML • مصرف وب سرویس • فرایند خودکار خرید • پردازش فایل XML ورودی و ایجاد دو فایل XML جهت استفاده در دو سیستم
سناریوی : انتقال فایل از یک شاخه به شاخه دیگر
انتقال فایل • انتقال فایل هایی که به یک شاخه می آیند به شاخه دیگر
تعریف Message • تعریف Port Type • افزودن Port: Receive Port و Send Port • افزودن فعالیت: Receive برای دریافت از پورت Receive و ارسال به پورت Send • Build • تعریف Application Name • Deploy • نصب بر روی Biztalk Administrator
فراخوانی Pipeline در Orchestration • به کمک Object، Expression اینکار صورت می گیرد: InputFrmPipeline= Microsoft.XLANGs.Pipeline.XLANGPipelineManager.ExecuteReceivePipeline(typeof(XmlValidateFrmPipeline.ValidatorReceivePipeline),mSg_Input); InputFrmPipeline.MoveNext(); نحوه: Namespace Name . Pipeline Type Name XmlValidateFrmPipeline.ValidatorReceivePipeline
نمونه فایل مبدا و مقصد فایل مبدا • Sandro;Pereira;1978-04-04;Crestuma;4415 Crestuma • Lígia;Tavares;1982-01-21;Seixo-Alvo;451 Seixo-Alvo • José;Silva;1970-09-19;Crestuma;4415 Crestuma • Rui;Barbosa;1975-09-19;Lever;4415 Lever فایل مقصد <Pessoas> <Pessoa xmlns=""> <Nome>Sandro</Nome> <Apelido>Pereira</Apelido> <DataNascimento>1978-04-04</DataNascimento> <Morada>Crestuma</Morada> <CodigoPostal>4415 Crestuma</CodigoPostal> </Pessoa> <Pessoa xmlns=""> <Nome>Lígia</Nome> <Apelido>Tavares</Apelido> <DataNascimento>1982-01-21</DataNascimento> <Morada>Seixo-Alvo</Morada> <CodigoPostal>451 Seixo-Alvo</CodigoPostal> </Pessoa> <Pessoa xmlns=""> <Nome>José</Nome> <Apelido>Silva</Apelido> <DataNascimento>1970-09-19</DataNascimento> <Morada>Crestuma</Morada> <CodigoPostal>4415 Crestuma</CodigoPostal> </Pessoa> <Pessoa xmlns=""> <Nome>Rui</Nome> <Apelido>Barbosa</Apelido> <DataNascimento>1975-09-19</DataNascimento> <Morada>Lever</Morada> <CodigoPostal>4415 Lever</CodigoPostal> </Pessoa> </Pessoas>
Deploy • تنظیم Receive Location • تنظیم Receive Port • تنظیم Send Port • تنظیم گورت وب سوریس
فراخوانی Pipeline • به کمک Expression Object
ایجاد پیام خروجی • به کمک Construct Message Object و Message Assignment Object
دو فایل XML ورودی نا صحیح: <ns0:ReportPO xmlns:ns0="http://XmlValidateFrmPipeline.OrderCreate"> <OrderNumberByNC>12345</OrderNumberByNC> <StoreIdentifier>LWW</StoreIdentifier> <Country>India</Country> <City>Hyderabad</City> </ns0:ReportPO> صحیح: <ns0:ReportPO xmlns:ns0="http://XmlValidateFrmPipeline.OrderCreate"> <OrderNumberByNC>12345</OrderNumberByNC> <StoreIdentifier>LWW</StoreIdentifier> <Country>India</Country> </ns0:ReportPO>
نمونه استفاده از Looping Table Functoid • دریافت فایل xmlی که اطلاعات حضور و غیاب افراد را دارد ولی اطلاعات این افراد در یک تگ قراردارد. • هدف: ایجاد XML مناسبتر • نحوه: ایجاد MAP
Table Looping Functroid • ورودی ها: • تعداد رکوردها • تعداد ستون • مقادیر
ایجاد map انتقال • ایجاد map • انتخاب شمای مبدا • انتخاب شمای مقصد • قراردادن Looping Table برای انتقال از چند مقدار • لینک دادن مقادیر • تعیین تعداد رکوردها • تعیین تعداد فیلدها • قراردادن Data Extractor