ارکستریشن یا هم نواسازی در تقابل با کاریگرافی یا رقصندگی

در هم نواسازی ما دو تا عنصر اصلی داریم :

  • رهبر ارکستر
  • نوازندگان ابزارها (شما فرض کن سنتور که من عاشقشم)

بعدش این نوازندها طبق دستورات رهبر ارکستر سازهاشون رو می زنن، حالا اگه رهبر ارکستر خسته بشه یا بخواد یه Break بگیره چی میشه ؟ خوب مشخصه اون عبارات هارمونیک هم به تبع تغییر می کنن. اینجا خیلی باید دقت کرد چرا ؟ چونکه همون سرویس قبلی داره اجرا میشه ولی خروجی تفاوت داره.

اما تو رقصندگی ما چی داریم ؟

  • یه رقصنده داریم
  •  یه گروه از رقّاصان صحنه

حالا رقصندگی چه کار میکنه ؟ Direction ، در واقع میاد جهت میده چطور سرویس رقص صورت بگیره ولی اینجا خود رقاص ها استقلال رفتاری دارن و مختارن (Autonomous) که چطور اون جهت دهی رو تحقق ببخشن. (realization)

هم نواساز سرویس (Service Orchestration) یک فرآیند کسب و کار قابل اجرای متمرکز منفرد (به مانند رهبر ارکستر) را ارئه می کند که نقش هماهنگی تعاملات فی ما بین سرویس های مختلف را بر عهده دارد.

در واقع Orchestrator یا هم نواساز دو تا وظیفه داره :

  • فراخوانی سرویس ها Service Invoke
  • ترکیب سرویس ها Service Combine

در واقع در Service Orchestration سرویس های چندگانه رو توسط یک Fixed Logic کنار هم قرار میدیم. این  Fixed Logic تو یه جای منفرد تشریح میشه. مثالش هم BPEL process هست. BPEL process شامل یه Logic هستش که می تونه چندین سرویس رو فراخونی کنه و Response هاشون رو یه عنوان یه Single Response Service ارائه کنه.

Orchestration زمانی مفید مواقع میشه که روی تمامی Actor های فرآیندمون کنترل داشته باشیم زمانی که همه اون Actor ها داخل یه Domain Control حاضر باشن و ما بتونیم جریان جریان کار رو دیکته کنیم. (dictate the flow of activities).

مساله دیگه اینکه هم نواسازی نسبت به رقصندگی دو تا مزیت داره :

  • قابلیت اطمینان Reliability
  • قابلیت تغییر Modifiability : ساخت و تغییر  process workflows و ترکیب سرویس های پیچیده (complex service compositions) در visual BPM tools که داخل پلت فرم های هم نواسازی هست آسون تره.

از سوی دیگه دیگه اینکه هم رقصندگی نسبت به هم نواسازی دو تا مزیت داره :

  • عملکرد Performance : هم نواساز هنگام تفسیر اسکریپت های جریان کار دچار یه سربار عملکرد (performance overhead) میشه
  • هزینه Cost : رقصندگی بر خلاف هم نواساز نیاز به زبان میانی یا زبان خاصی نداره

 

محمد احسان حیدری

محمد در حال حاضر دانشجوی ارشد آی تی در دانشگاه شهید بهشتی است. او علاقه زیادی به تولید محتوی غنی مرتبط با توسعه نرم افزارها و تکنولوژی های مبتنی بر وب دارد. از علاقه مندی های تحقیقاتی او می توان به مهندسی نرم افزار چابک، تکنولوژی های وب پویا، داده کاوی، و یادگیری عمیق نام برد.

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

در تلگرام هم همراه شما هستم

اگر علاقه مند به مباحث معماری سیستم های اطلاعاتی و نرم افزاری هستید می توانید به کانال ما در تلگرام بپیوندید و از تازه های معماری نرم افزار اطلاع پیدا کنید

پیوستن بستن