آموزش Workflow – آموزش تبدیل Workflow به XAML

آموزش Workflow – آموزش تبدیل Workflow به XAML

با سلام و عرض ادب. در خدمت دوستان عزیز هستیم با آموزش Workflow – آموزش تبدیل Workflow به XAML از وب سایت آموزش برنامه نویسی سورس باران. در این دوره، آموزش Workflow در ۴۶ جلسه بصورت متنی به شما آموزش داده خواهد شد. لطفا تا انتها با ما همراه باشید…

این دوره جهت حفظ حقوق نویسنده از سایت حذف شده، مطالب جدیدتری بزودی در سایت قرار میگیرد

گردش کار (Workflow)

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

سازمان ها از گردش کار برای مشارکت کارکنان در انجام وظیفه و همگام سازی داده ها در بین سیستم ها استفاده می کنند و از آن در رسیدن به اهدافی چون بهره وری بیشتر، مسئولیت پذیری بیشتر و سود بیشتر بهره می جویند. برای این موضوع تعاریف بسیاری آورده شده است، می توان گفت گردش کار گاهی به عنوان مجموعه ای از وظایف که یک خروجی را تولید می کنند، تعریف می شود. به علاوه گردش کار به جابه جایی خودکار مستندات یا داده ها در یک توالی از فعالیت ها و وظایف ها که به یک فرایند مربوط می شوند، نیز گفته می شود.

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

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

نمونه هایی از گردش کار:

گردش های کار با توجه به اهدافی که دارند شناخته می شوند. در زیر به چند نمونه از گردش های کار آورده شده است:

۱- گردش کار مدیریت مستندات:

سازمان های بسیاری هستند که این گردش کار را در دل سازمان خود دارند. به عبارتی، یک مستند نیاز به تایید، تغییر و اضافه کردن متن در طی یک گردش کاری از این نوع را دارد.

۲- خدمات مشتریان (پیگیری سفارش)

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

۳- مدیریت تعطیلات

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

اجزای گردش کار:

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

۱- مقدار ورودی: شامل اطلاعات و مقادیری است که برای کامل شدن یک مرحله از گردش کار، مورد نیاز است.

۲- قوانین تغییر: الگوریتم هایی که توسط نقش های انسانی یا سیستمی یا ترکیبی از هر دو انجام می شود را قوانین تغییر گویند.

۳- مقدار خروجی: اطلاعات و مقادیری که توسط هر مرحله تولید شده و به عنوان ورودی به مرحله بعد داده می شود را گویند.

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

۱- ترتیبی: دراین گردش کار برگشت به مرحله قبل وجود ندارد.

۲- سیستمی: این گردش کارها پیچیده تر هستند و امکان بازگشت به مرحله قبل را نیز دارند.

۳- مبتنی بر قوانین: این دسته همانند گردش کارهای ترتیبی هستند اما با این تفاوت که قوانین هستند که پیشرفت در فرایند را تعیین می کنند.

گردش کاری به سه حالت ممکن است شروع شود:

۱- زمانبندی شده: با توجه به زمانی که برای شروع و تکرار آن در نظر گرفته شده است، شروع می شود.

۲- فرم: در واقع رایج ترین نوع شروع در گردش کار است که کاربر با پر کردن فرم و ارسال آن، گردش کار را به جریان می اندازد.

۳- API: سیستم های دیگر می توانند یک گردش کار را در قالب پیامک اعلان یا وب سرویس و به کمک API شروع کنند.

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

۱- افزایش تولید: گردش های کاری مکانیزه شده، زمان انجام کارها را کاهش داده و درنتیجه تولید و بهره وری را افزایش می دهند.

۲- شفافیت: به مدیران این امکان را می دهد که متوجه شوند که در فرایند های کاری آن ها در لحظه چه اتفاقاتی رخ می دهد.

۳- انعطاف پذیری بالا در تغییرات: گردش ها کار این اجازه را به سازمان ها می دهد که به راحتی و به سرعت در فرایند های خود تغییرات لازم را ایجاد کنند.

۴- مسئولیت پذیری بهتر: نظارت و پایش اجرای فرایند های کسب و کار امکان ایجاد معیار هایی را برای بهبود مستمر فرایند ها ایجاد می نماید.

منابع : Introduction-to-workflows

bpm-tutorial/workflow-tutorial

Workflow_Fundamentals

what-is-workflow

 

آموزش تبدیل Workflow به XAML

در برنامه های واقعی، انواع Workflow ها را با نوشتن کد ایجاد می کنیم و مرتب نیاز داریم که آنها را تست کنیم. اما همان طور که می دانید ذخیره سازی، اجرا و یا انتقال Workflow ها از طریق یک فایل XAML صورت می پذیرد. در این آموزش قصد داریم یک نمونه Workflow را به یک رشته XAML تبدیل کنیم.

Write #C Codes to Run Workflow

But then open the Program.cs file and change the following with the following code (red part):

Program.cs file
using system;
using system.Linq;
using System.Activities;
using System.Activities.Statements;
using System.Threading;

namespace usebookmark
{

    class program
    {
        static void Main (string [] args)
        {
            AutoResetEvent syncEvent = new AutoResetEvent (false);
            string bookmarkName = "GreetingBookmark";
            WorkflowApplication wfApp = new WorkflowApplication (new Workflow1 ()
            {
                BookmarkNameInarg = bookmarkName
            });
            wfApp.Completed = delegate (WorkflowApplicationCompletedEventArgs e)
            {
                syncEvent.Set ();
            };
            wfApp.Run ();
            wfApp.ResumeBookmark (bookmarkName, Console.ReadLine ());
            syncEvent.WaitOne ();

            Console.WriteLine ("------------- \ nProvided to you by: https://www.sourcebaran.com \ npress any key ...");
            Console.ReadLine ();
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19th
20
21
22
23
24
25
26
27
28
29
30
31
32

using system;
using system.Linq;
using System.Activities;
using System.Activities.Statements;
using System.Threading;
 
namespace usebookmark
{
 
    class program
    {
        static void Main (string [] args)
        {
            AutoResetEvent syncEvent = new AutoResetEvent (false);
            string bookmarkName = "GreetingBookmark";
            WorkflowApplication wfApp = new WorkflowApplication (new Workflow1 ()
            {
                BookmarkNameInarg = bookmarkName
            });
            wfApp.Completed = delegate (WorkflowApplicationCompletedEventArgs e)
            {
                syncEvent.Set ();
            };
            wfApp.Run ();
            wfApp.ResumeBookmark (bookmarkName, Console.ReadLine ());
            syncEvent.WaitOne ();
 
            Console.WriteLine ("------------- \ nProvided to you by: https://www.sourcebaran.com \ npress any key ...");
            Console.ReadLine ();
        }
    }
}

 
Run Workflow

Set the UseBookmark project as a StartUp project, and press Ctrl + F5 shortcut to run Workflow. This will save the Workflow and will display the result without debugging. As you can see, the result is executed in the Windows console and the numbers that we expect are printed:

 
How does the usebookbook workflow work?

In step 2 (building activity using Bookmark), we created a class that has inherited NativeActivity. NativeActivity is a special abstract feature that you can use to create complex assets.

Chapter 5 will be discussed further on how to build activated activites.

But in the code below, using the context.CreateBookmark () method, we created a bookmark with two arguments BookMarkName and BookMarkCallback:
context.CreateBookmark (BookmarkName.Get (context), new BookmarkCallback (OnResumeBookmark));
1

context.CreateBookmark (BookmarkName.Get (context), new BookmarkCallback (OnResumeBookmark));

 

When we call the function () wfApp.ResumeBookmark in the program.cs file, the OnResumeBookmark method that we defined in the MyReadLineActivity.cs file will run. But in the code below, by setting the CanInduceIdle property, we can show if our custom activity can cause the Workflow to be idle or not. The default value is false:

MyReadLineActivity.cs file
protected override bool CanInduceIdle
        {
            get
            {
                {return true; }
            }
        }
1
2
3
4
5
6
7

protected override bool CanInduceIdle
        {
            get
            {
                {return true; }
            }
        }

But consider the piece of code below:
wfApp.ResumeBookmark (bookmarkName, Console.ReadLine ());
1

wfApp.ResumeBookmark (bookmarkName, Console.ReadLine ());

When the above command is executed, the OnResumeBookmark method () will be called in the MyReadLine activity, and the value entered into the console by the user is received by the () Console.ReadLine and passed to () OnResumeBookmark.

5/5 - (1 امتیاز)

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.

پکیج طلایی برنامه نویسی- 13 پکیج برنامه نویسی موبایل، ویندوز و وب در 1 بسته
  • انتشار: ۵ بهمن ۱۳۹۶

دسته بندی موضوعات

آخرین محصولات فروشگاه

مشاهده همه

نظرات

بازخوردهای خود را برای ما ارسال کنید

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.