جریان های کاری (Workflows)

همه نرم­افزارهای تجاری امروزه هدف مشترکی دارند و آن هم پشتیبانی از فرایندهای تجاری است. بعضی از فرآیندها کاملاً اتوماتیک هستند، یعنی فقط به ارتباطات میان برنامه های کاربردی استناد می­کنند و بقیه آنها که در اکثریت نیز هستند، علاوه بر ارتباطات بین برنامه ها به مقداردهی اولیه فرایندها توسط اشخاص، تأیید اسناد، برطرف نمودن شرایط استثنایی که رخ می­دهد و… استناد می­کنند.

در هر یک از دوحالت اغلب میتوان یک سری گسسته از گامهای شناخته شده را مشخص نمود که به آن Workflow می­گویند. یک Workflow فعالیتهای اشخاص و نرم­افزارهای درگیر در فرآیند را شرح میدهد. هنگامی که این Workflow تعریف می­شود، یک برنامه کاربردی می­تواند در راستای آن تعریف ساخته شود تا فرایندهای تجاری آن برنامه کاربردی را پشتیبانی کند.

به منظور درک چیزهایی که از Workflow میخواهیم، بهتر است که در مورد انواع برنامه­های کاربردی که ممکن است از Workflow استفاده کنند بیشتر فکر کنیم. در اینجا برخی از این برنامه های کاربردی آورده شده است:

الف برنامه ASP.Net ای که از Workflow برای کنترل ترتیب نمایش صفحات به کاربرهایش استفاده میکند. استفاده از Workflow میتواند تغییر جریان فرمها را بدون تغییر دادن خود فرمها امکان پذیر سازد (مانند جداسازی واسط کاربری از منطق برنامه(.

ب- برنامه مرکب در محیط سرویس­گرا ممکن است رفتار هسته­اش را با استفاده از Workflowپیاده سازی نماید. هر چه بیشتر و بیشتر برنامه منطقش را از طریق Web Service به معرض نمایش بگذارد، ایجاد فرایندهای تجاری بر روی این سرویسها ساده­تر میشود. تکنولوژی Workflow برای منطقی که سرویسها را می­خواهد طلب کند و آنها را  در یک برنامه مرکب به هم مرتبط کند یک زیر ساخت مناسب مهیا می­سازد.

ج- برنامه­ای که یک مشکل مشخص را حل می­کند مانند CRM یا مدیریت روابط مشتری و  یا سرویسهای مالی، ممکن است که در راستای یک Workflow ساخته شود. این نوع از برنامه ها عموماً فرایندهای تجاری متفاوتی را پیاده­سازی می­کنند. ساختن منطقی که فرایندهایش را بر روی یک Workflow هدایت می­کند، ساخت برنامه را سریعتر می­کند، تغییرات را سریعتر می­توان اعمال نمود و سفارشی نمودن آن را ساده­تر می­نماید.

Visual Studio 2005 ابزاری به نام (WWF) Windows Workflow Foundation به همراه جعبه ابزار ها و محیط Designer جهت طراحی جریان های کاری فراهم کرده است که دارای یک واسط گرافیکی بسیار عالی برای نمایش رفتار ها و عملیات جریان ها است.

طراح(WF VS2005 Designer)  یک افزودنی است که در VS 2005 میزبان شده است و توسعه دهندگان را برای ایجاد Workflow ها و فعالیتهای درون آنها توانمند می­سازد. WF  مدل Workflow ای را مهیا می­کند تا به توسعه دهندگان این اجازه داده شود که جریان فرایند تجاریشان را توصیف کنندWorkflow .ها می­توانند توسط ساختارهای گرافیکی استفاده شده، مشخصات فایل  XML، کد و یا ترکیبی از آنها را بنویسند.

 

یک workflow ابتدا براساس نیازهای مشخص شده، توسط WF طراحی شده و مراحل شروع، عملیات جریان کاری و در نهایت پایان توسط دیاگرام ها تعیین می شوند. این workflow سپس بر روی یک برنامه کاربردی توسط سایر سرویسها (Runtime Service and Engine)و پردازش های مورد نیاز قرار گرفته و عملیات مورد نظر تعیین شده را در داخل فرآیند مورد نظر اجرا می نماید.

موتور زمان اجرا (Runtime Engine) اجرای Workflow را مدیریت می­کند و اجازه میدهد که آنها برا ی مدت زمان زیاد و پس از راه­اندازی مجدد ماشین بازهم وجود داشته باشند. سرویسهای زمان اجرا(Runtime Services)، مهیاکننده سرویسهای اصلی و مرکزی مانند سرویس تراکنش­ها و سرویس ماندگاری برای موتور زمان اجرا هستند. WF به همه فرایندهای برنامه کاربردی این اجازه را می­دهد که Workflow هایشان را بر روی WF هاست شده اجرا کنند یعنی WF را در داخل فرایندهایشان بالا بیاورند.

موتور زمان اجرا مهیا کننده سرویسهایی است که هر Workflow ای به آن نیاز دارد مانند ترتیب­گذاری، مدیریت حالتها، امکانات پیگیری و پشتیبانی از تراکنش­ها. موتور WF هنگام بار گذاری و خارج نمودن از بارگذاری ماشین حالت و همچنین جهت مدیریت حالت جاری Workflow های در حال اجرا مورد استفاده قرار می­گیرد.

Activity : یک واحد کاری را فعالیت گویند. عمل یک فعالیت پیاده سازی شده، می تواند خیلی ساده و یا کاملا" دشوار باشد.

Workflow : گروهی از فعالیت ها که تعدادی پردازش منطقی را اجرا می کنند و پیشتر به طور مفصل تشریح شد.

Workflow Designer : ابزاری گرافیکی که توسط VS میزبانی می شود و توانایی ایجاد و تغییر در فعالیت ها و جریان های کاری را دارد.

Base Activity Library : یک گروه اساسی و بنیادی از فعالیت ها که برنامه نویسان و توسعه دهندگان برای تولید جریان های کاری از آن استفاده می کنند. همانطور که در شکل بالا مشخص است، جریان کاری مختار است تا از سایر فعالیت های خارج از کتابخانه خود نیز استفاده نماید.

Runtime Engine : یک تولید کننده کتابخانه WF که Workflow ها را اجرا می کند. موتور زمان اجرا (Runtime Engine) اجرای Workflow را مدیریت می­کند و اجازه میدهد که آنها برا ی مدت زمان زیاد و پس از راه­اندازی مجدد ماشین بازهم وجود داشته باشند.

Runtime Services : گروهی از سرویسها که Workflow می تواند از آنها استفاده نماید، شامل پشتیبانی از تراکنش ها، ماندگاری یک وضعیت Workflow و رهگیری آن تا لحظه اجرا و … . سرویسهای زمان اجرا(Runtime Services)، مهیاکننده سرویسهای اصلی و مرکزی برای موتور زمان اجرا هستند.

Host Process : یک برنامه کاربردی یا Application که از موتور زمان اجرای WF و هر جریان کاری که توسط آن اجرا می شود، میزبانی می کند. WF به همه فرایندهای برنامه کاربردی این اجازه را می­دهد که Workflow هایشان را بر روی WF هاست شده اجرا کنند یعنی WF را در داخل فرایندهایشان بالا بیاورند.

 

 

پاسخ دهید