# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > VB.NET >  آشنایی با Work Flow

## amozesh4

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

----------


## rezaei manesh

من همجین کاری تو نرم افزار دبیرخانه کارخانه پگاه دیدم خیلی واسم جالب هست
من فکر می کردم و می کنم که از سوکت پروگرمینگ استفاده شده  با این روش باید بشه همچین کار کرد
مشتاقانه منتظر توضیحات دیگر شما هستم

----------


## amozesh4

سلام از اینکه می بینم حد اقل یک نفر به این موضوع علاقه مند شده خوشحالم ابتدا بایستی دات نت 2005 یا دات نت فرم ورک 2 و بالاتر را بروی ماشین خود داشته باشید سپس با افزودن ابزاری که در اختیارتان قرار می دم می تونید پروژه worflow ایجاد کنید و از این پس در محیط دات نت شما قادر به ایجاد پروژه های ورک فلو ویندوز و وب خواهید بود بعد از این کار بایستی با برنامه نویسی ورک فلو اشنا شوید که برای این منظور بنده یک راهنمای کامل به صورت ای بوک دارم که در اختیار شما قرار می دهم امید وارم که استفاده کنید و نتیجه مثبت بگیرید البته سایت مشکل داره نتونستم براتون فایلها را بفرستم در اولین فرصت این کار رو می کنم پیشا پیش سال نو را به همه دوستان تبریک می گم سالی سرشار از موفقیت را برای یکایک شما عزیزان ارزو می کنم به امید ایرانی سر بلند و جوانانی بشاش و تلاشگر

----------


## manager

> سلام از اینکه می بینم حد اقل یک نفر به این موضوع علاقه مند شده خوشحالم ابتدا بایستی دات نت 2005 یا دات نت فرم ورک 2 و بالاتر را بروی ماشین خود داشته باشید سپس با افزودن ابزاری که در اختیارتان قرار می دم می تونید پروژه worflow ایجاد کنید و از این پس در محیط دات نت شما قادر به ایجاد پروژه های ورک فلو ویندوز و وب خواهید بود بعد از این کار بایستی با برنامه نویسی ورک فلو اشنا شوید که برای این منظور بنده یک راهنمای کامل به صورت ای بوک دارم که در اختیار شما قرار می دهم امید وارم که استفاده کنید و نتیجه مثبت بگیرید البته سایت مشکل داره نتونستم براتون فایلها را بفرستم در اولین فرصت این کار رو می کنم پیشا پیش سال نو را به همه دوستان تبریک می گم سالی سرشار از موفقیت را برای یکایک شما عزیزان ارزو می کنم به امید ایرانی سر بلند و جوانانی بشاش و تلاشگر


 می شه بیشتر توضیح بدید منظور شما از  work flow چیه ؟؟؟ منظورتون یک نرم افزار خاصه ؟ یا یک روش خاص ؟ هر شرکتی یک  work flow داخلی و خارجی برای کارهای خودش داره..بعضی قسمت هاش رو می شه مکانیزه کرد بعضی قسمت هاش رو هم نمی شه !!! یکم بیشتر و واضح تر توضیح بدید.

----------


## gh_fereydonpoor

سلام دوستان 
خسته نباشید 
این بحث بصورت ابتر مانده است و در نهایت نحوه ایجاد این Work Flow توضیح داده نشده . اگر ممکن است بحث را ادامه دهید.

----------


## rezaei manesh

سلام
دوستان مثل اینکه متوجه نیستند تاپیک دیگه فعال نیست اون دوستمون به قولی که دادند ظاهراً عمل نکردند 
من نمی دونم شما چی  رو میگین براتون ارسال کنه؟!!!!

----------


## tefos666

:شیطان:  دوستان - این موتور گردش کار واقعا ابزار جالبیه - باهاش میتونید یک اتوماسیون جالب paperless درست کنید من خودم چند نمونه رو تو شرکتهای معتبر دیدم و حتی یه موقع علاقه مند به یادگیریش شدم ولی به دلیل اینکه سرم شلوغ شد و مرجع فارسی نبود و..... وقت نکردم برم چند وقت پیش دیدم مایکروسافت ویژوال استدیو 2008 تو کامپوننت های پیشفرض خودش این engine رو گذاشته در صورتی که تو 2005 باید دانلود میکردی - بیخیال !!! من دیدم حالا که بحث موتور گردش کار داغه چند تا کتاب در این مورد بزارم شاید دوستان کسی بدردش خورد 

آموزش کامل موتور گردش کار در وب سایت مایکروسافت 
*MSDN Webcast: Introduction to Windows Workflow Foundation  Part 1 of 7*

*http://msevents.microsoft.com/cui/We...px?culture=en-US&EventID=1032281719&CountryCode=US*

آموزش اولیه موتور گردش کار                     http://www.odetocode.com/Articles/447.aspx




*گردش کاری(workflow) چیست؟* 
درپورتال مایکروسافت آفیس Sharepoint سرور 2007, گردش کاری(workflow) یک راهکار اتومات به منظور جابجایی اسناد یا مدارک دیگر از میان مجموع های از فعالیت ها و عملیات است. به بیانی دیگر چنانچه در سازمان سیستمی برای کنترل نحوه جابجایی اسناد یا مدارک وجود داشته باشد, این سیستم گردش کاری(workflow) نام خواهد گرفت.
برای مثال, اگر بتوان فهمید که برای تایید یک سند(Document) از یک کتابخانه اسناد(*Document library*) بایستی به چه افراد و گروه هائی ارجاع شود, علت را بایستی در پیاده سازی صحیح استراتژی مدیریت اسناد(Document Management) و وجود گردش های کاری(workflow) جستجو کرد. 
هنگامی که مولف سند یک چرخه کاری(workflow) را راه اندازی می کند, فعالیت های مربوط به تایید سند, ایجاد شده و سپس به شرکت کنندگان در چرخه کاری(workflow) واگذار شده و در نهایت دستوالعمل ها به همراه یک لینک برای تایید سند مذکور از طریق هشدار پست الکترونیک(*email alert*) برای شرکت کنندگان ارسال می شود. 
هنگامی که یک گردش کاری(workflow) در جریان است, هر مولف سند یا هر شرکت کننده می تواند ببیند که کدام شخص فعالیتش را به پایان رسانده است.چنانچه هر شخص فعالیت های محوله را به اتمام برساند چرخه کاری اش, به پایان رسیده و مولف هم به صورت اتومات باخبر می شود.
فرآیند گردش کاری تایید(*Approval Workflow*) را می توانید در شکل زیر مشاهده کنید: 
کاربران سایت می توانند از طریق یک سند یا یک مورد که در لیست Sharepoint یا کتابخانه موجود در Sharepoint قرار دارد, یک گردش کاری(workflow) را ایجاد و سپس از آن استفاده کننند. 

همچنین شما می توانید از طریق یکی از برنامه های مایکروسافت آفیس Sharepoint 2007 به انجام فعالیت هائی از قبیل: 
• دیدن لیستی از گردش های کاری(Workflow) • ایجاد یک گردش کاری(workflow)


• بازدید, ویرایش و یا تخصیص مجدد فعالیت ها در یک گردش کاری(workflow)
• تکمیل فعالیت های یک گردش کاری(workflow)
به صورت پیش فرض, سایت آفیس Sharepoint سرور 2007 شامل چندین گردش کاری(workflow) است که پاسخگوی بیشتر سناریوهای تجاری رایج می باشند. علاوه بر این, برنامه نویسان و یا طراحان وب سایت سازمان شما می توانند به منظور کارآمدتر کردن سیستم مدیریت اسناد(Document Management) گردش های کاری سفارشی بسازند.
*مدیریت تایید اسناد(Document Approval)توسط چرخه های کاری از پیش تعریف شده:*
سایت آفیس Sharepoint سرور 2007 شامل چندین نوع گردش کاری است که فرآیند تایید اسناد (Document Approval) را تسهیل کرده است. به صورت پیش فرض, هر چرخه کاری(workflow) با سندی که در یک طبقه بندی موضوعی (*content type*) قرار دارد,در ارتباط است, بنابراین در یک کتابخانه اسناد(Document library) هر نوع گردش کاری را می توان یافت.
*چند نمونه گردش کاری موجود در سایتSharepoint:* 
• تایید(*Approval*):
این گردش کاری مسیر جابجائی سند به منظور تایید میان افراد و گروه ها را دنبال می کند. به صورت پیش فرض, گردش کاری تایید(Approval Workflow) با صفحه ای از کتابخانه(*library*) که روی سایت آپلود شده در ارتباط است, بنابراین می توان برای مدیریت فرآیند تایید نهائی انتشار صفحات وب از وجود این ارتباط بهره برد.
• متمرکز کردن بازخوردها(*Collect feedback*):
این گردش کاری, مسیر جابجائی سند به منظور دریافت بازخوردها (feedback) به افراد یا گروه ها را دنبال می کند, بازخوردها پس از جمع آوری, ترجمه شده و در اختیار کسانی که چرخه کاری(workflow) را راه اندازی کرده اند, قرار می گیرد. 
• متمرکز کردن امضاها(*Collect Signature*):
این گردش کاری, اسناد تهیه شده بوسیله برنامه مایکروسافت آفیس Sharepoint سرور 2007 را به منظور جمع آوری امضاهای دیجیتال به افراد و گروهها ارسال می کند.
نکته قابل توجه اینست که استفاده از این نوع گردش کاری مستلزم شروع کار توسط یکی از برنامه های مایکروسافت آفیس Sharepoint سرور 2007 می باشد.
شرکت کنندگان در این چرخه کاری بایستی سندهای حاوی امضاهای دیجیتال خود را به برنامه مایکروسافت آفیس Sharepoint 2007 الساق کنند.
توجه داشته باشید, گردش کاری جمع آوری امضاها (Collect signature Workflow) تنها برای اسنادی از کتابخانه اسناد (Document library) ظاهر می شود که از مزیت *Signature line* برنامه مایکروسافت آفیس Sharepoint سرور برخوردار باشند.
*نقش چرخه کاری در مدیریت اسناد(Document Management):*
اولین مرحله جهت شروع یک گردش کاری(workflow) به منظور بهبود فرآیند مدیریت اسناد(Document Management) افزودن گردش کاری به لیست, کتابخانه یا هر نوع محتوای دیگر است.برای این کار شما بایستی مجوز مدیریت لیست(*Manage list permission*) را داشته باشید.
به صورت پیش فرض, افرادی که جزء گروه صاحبان سایت(*owner*) هستند, این مجوز را دارند.علاوه بر امکان افزودن چرخه کاری به لیست یا کتابخانه, امکان تعیین اینکه آغاز یک چرخه کاری(workflow) چگونه, در چه زمانی و یا توسط چه شخصی صورت بگیرد, وجود خواهد داشت.
برای مثال,ممکن است , هنگامی که مولفان در حال تهیه نسخه های اصلی و فرعی از اسناد بوده و یا دستور انتشار یک نسخه اصلی(*major*) را برای یک سند صادر می کنند, به صورت اتومات یک گردش کاری تایید (Approval Workflow) راه اندازی شود و یا حتی بخواهید برای کاربران بخصوص امکان ایجاد دستی گردش کاری تایید(Approval Workflow) رافعال کنید. این کار درهرچه کامل تر انجام شدن فرآیند مدیریت اسناد(Document Management) تاثیر بسزائی خواهد داشت.
چنانچه امکان ایجاد دستی چرخه کاری در پورتال Sharepoint فعال شده باشد, کاربران مجاز می توانند گردش کاری موردنظر را از لیست انتخاب کرده و اسناد را با اطلاعاتی مثل لیست شرکت کنندگان, زمان انجام فعالیت ها و دستورالعمل ها تکمیل کنند.
در بعضی گردش های کاری(workflow)امکان تغییر کارکرد توسط صاحبان چرخه کاری و یا شرکت کنندگان در آن وجود دارد.
برای مثال, صاحب گردش کاری ممکن است قادر به افزودن افراد به لیست شرکت کنندگان باشد و یا یک شرکت کننده در چرخه کاری ممکن است فعالیت های واگذار شده به یک شخص را به شخص دیگر واگذار کند.
صاحبان گردش کاری و شرکت کنندگان می توانند توسط صفحه کنترل وضعیت(status page) مربوطه, نحوه پیشرفت و تاریخچه عملیات صورت گرفته در گردش کاری را مشاهده کنند.
آفیس Sharepoint سرور 2007 شامل چندین ابزار گزارش گیری جهت تحلیل تاریخچه بوجود آمده در چرخه کاری است. شما می توانید از ابزار گزارش گیری برای یافتن وقفه هائی که در چرخه کاری شما رخ داده و یا تشخیص اینکه کارکرد اعضای گروه تا چه اندازه ای با معیارهای مورد نظر شما تطابق دارد, استفاده کنید.
به منظور مدیریت اسناد(Document Management) می توان از ابزارهای گزارش گیری که خود شامل چندین گزارش مایکروسافت آفیس اکسل از پیش تعریف شده است, استفاده کرد.
اگر مایل به دریافت اطلاعات موجود در چرخه کاری هستید, می توانید از طریق منابع داده موجود در لیست Sharepoint که می تواند توسط برنامه های دیگر مثل برنامه مایکروسافت آفیس ویزیو 2007, اکسل 2007 یا راهکار پایش فرآیندهای تجاری (*business process monitoring*) آنالیز شده و بکار گرفته شوند, استفاده کنی


" برگرفته شده از سایت تفکر سبز "

 :بوس:  success is doing , not wishing

----------


## rezaei manesh

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

سيستم گردش عمليات اداری Workflow Management System 
سازمان‏هاي امروزي به ويژه مراكز توليدي مجبور به مهندسي مجدد فعاليت‏ها و روش‏ها هستند تا بتوانند هرچه كارآمدتر پاسخگوي مشتريان و بازار رقابتي باشند. اينك قدرتمندي ابزارهاي مديريتي كه در راس آنها سيستم‌هاي اطلاعاتي و تصميم‌گيري (MIS, DSS) قرار دارند ‌، به روشني تاثير و ارزندگي خود را به اثبات رسانده‌اند. در نيمه دوم دهه آخر قرن بيستم، سيستم‌هاي ERP مبتني بر فن‌آوري اطلاعات و مهندسي مجدد فرآيند تجارت كه در ارتباط با يكديگر مورد استفاده قرار گرفتند، به عنوان ابزارهاي مهمي شناخته شدند كه به سازمان‏ها قدرت حضور در لبه جلويي رقابت را مي‏بخشيدند. 
ERP يك راه حل جامع و يكپارچه‌اي است كه از دو بدنه به هم تابيده شامل تكنيك‌هاي مديريتي و ابزار‌هاي فن‌آوري بهره مي‌گيرد. ERP بستر لازم براي كسب و كار الكترونيكي بالاخص در شاخه B2B بوده و راه حل قطعي براي بهره‌گيري وسيع‌تر و بالاتر از سازمان مي‌باشد. توسط ERP صاحب سيستم‌هاي يكپارچه‌اي مي‌شويم كه به سرعت هزينه‌هاي خود را برگشت داده، توسعه وسيعي در روش‌هاي كسب و كار ايجاد و پيشرفت قابل ملاحظه‌اي در روابط بازرگاني پديد مي‌آورد كه به اين ترتيب مي‏‏تواند ارزش افزوده سازمان را به اوج خود برساند. 
اولين قدم در جهت تحقق اين مقوله، پياده‌سازي يك سيستم Workflow engine و Workflow Management System جهت پردازش اطلاعات است. تنها با وجود اين بستر، ارائه سيستم‌هاي ERP امكان‌پذير است. 


سيستم Workflow سيستم اتوماسيون مستندات اطلاعات وTask هايي است كه ميان متقاضيان (نيروي انساني ويا كامپيوتر ) يك سازمان بر اساس يك مجموعه قوانين تعريف شده به منظور دستيابي به اهداف تجاري ، قابل تعريف مي باشد. 

اجزاء Workflow 
Workflow Management Systemسيستمي است كه تعريف، ايجاد، مديريت و اجراي Workflow ها را از طريق نرم‌افزار كنترل مي‌كند و قادر است كه پروسه‌ها و ارتباطات بين آنها را از طريق ابزارهايي تعريف نمايد. پياده‌سازي اين سيستم بر اساس مدل Workflow Reference Model خواهد بود . 
Workflow Reference Modelبيان كننده نماي معماري سيستم مديريت Workflow كه مشخص كننده اجزاء و Interface هاي اصلي هستند، مي‌باشد كه توسط سيستم مديريت Workflow راهبري مي‌شود. اين مدل توسط کميته WFMC به منظور يکپارچگی و هماهنگی بين تمامی سيستم های Workflow جهان و پيروی آنها از يک استاندارد جهانی ارائه شده است. اين کميته شامل دهها کارشناس خبره از کشورهای مختلف جهان می باشد. که برای آشنايی هر چه بيشتر می توانيد به آدرس زير مراجعه نماييد: 
www.wfmc.org

Workflow بر اساس استاندارد WFMC از سه جز اصلي زير تشكيل شده است: 
•	Workflow Process definition : در اين قسمت طراحی و تعريف جریان کار سازمان انجام می گیرد که از دو قسمت ديگر کاملا مجزاست.
•	Workflow Engine : این قسمت هسته اصلی workflow می باشد که وظیفه انجام کارها بر حسب تعاریف انجام شده در Definition را بر عهده دارد.
•	Worklist handler : این قسمت واسطه کاربر و workfloe engine می باشد و وظیفه نمایش کارهای اختصاص داده شده به کاربران رابر عهده دارد.
مزاياي اصلي سيستم گردش كار 

استفاده از سيستم‌هاي Workflow براي سازمان‌ها مزاياي مستقيم و غير مستقيم متعددي را به همراه دارد. از جمله اين مزايا مي‌توان به موارد زير اشاره كرد: 
•	بهبود كارائي 
•	كنترل بهتر فرآيندها 
•	بهبود خدمات به مشتريان 
•	انعطاف پذيري
•	بهبود فرايندهاي سازمان
•	كاهش دادن هزينه‏هاي زنجيره تامين مواد و منابع 
•	كوتاه نمودن زمان كل توليد
•	كاهش انبارداري به حداقل 
•	گسترده نمودن تنوع در توليد
•	افزايش بهبود كيفيت
•	ايجاد زمان مطمئن براي تحويل
•	سامان‌دهي كارآمد دريافت تقاضا، توليد و تامين منابع در سطح جهاني 
در حال حاضر شرکت مهندسی کاوا رایانه پیاده سازی یسیستم گردش عملیات اداری یا یWorkflow Managment System را به پایان رسانده , این سیستم قابل استفاده در سازمانها , صنایع و کارخانجات می باشد. 

اجزای اصلی این سیستم در زیر مختصرا شرح داده شده :
________________________________________
Process Definition Tool

ابزارهاي مختلفي ممكن است براي تجزيه وتحليل، مدلسازي، شرح ومستند سازي يك فرايند تجاري مورد استفاده قرار گيرند، كه مدل به ويژگيهاي خاص اين ابزارها ونحوه تعامل آنها وابسته نيست. وظيفه اين ابزارها به شرح زير مي باشد: 
•	تعريف مدل سازماني فرايند درسازمان
•	تعريف نقشها، وظايف، مسئوليتهاوسلسله درمراتب درسازمان
•	مشخص كردن نقشها وانتساب افراد به نقشها
•	مدل سازي وبهينه سازي مدل درحين كار
خروجي نهايي اين مدلسازي , طراحي يك Process definitionاست كه مي تواند در زمان اجرا توسط workflow engine تفسير مي شود 	 
________________________________________	________________________________________
Workflow engine

Workflow engine يك سرويس يا موتور نرم افزاري است كه مسؤل مديريت گردش فرآيند (آنچه كه توسط Definition Tool ارائه شده) مي باشد كه بدين منظور يك محيط اجرايي Runtime براي يك نمونه Workflow ايجاد كرد وتسهيلات زير را فراهم مي كند. 
•	تغييرتعريف انجام شده براي فرآيند 
•	كنترل نمونه هاي فرآيند ( ايجاد ,شروع, خاتمه, توقف, تعويق.....) 
•	هدايت فعاليتهاي يك فرايند كه ممكن است شامل عمليات زمانبندي وتغيير داده مربوط به Workflow باشد كه به صورت موازي يا متوالي انجام مي شوند .
•	نگهداريcontrol Data Workflowو Relevant Data Workflow وارسال داده مربوط به Workflow به Application و يا كاربران 
•	مشخص كردن زمانهاي كاري براي كاربر وايجاد يك واسطه براي پشتيباني تعاملات كاربر 
•	اعمال نظارتي براي اهداف كنترلي , مديريتي وبازرسي يك Workflow Engine مي تواند اجراي يك مجموعه از فرايند ها يا زير پروسه ها ,نمونه هايي با محدودهُ مشخص وتعريف شده اي از انواع object ها و ويژگيهاي آنها ,را كنترل كند . 	 
________________________________________	________________________________________
Workflow list handler

سيستم نمايشگر ليست كارها يك سيستم نرم افزاري است كه تبادل اطلاعات بين كاربر(گروهي كاربران) را با سيستم workflow engine انجام مي دهد. اين سيستم امكان مبادله كارها رابين يك سيستم workflow engine فراهم كرده وعملياتي نظير گزارش دادن به كاربران در مورد وضعيت يك كار را نيز عهده دار است. 


>>> دریافت کاتالوگ سیستم مدیریت گردش کار

مانطور که می دانی چند سالی است که موضوع سیستمهای گردش کار (WorkFolw ) مبحثی داغ و کاربردی در طراحی نرم افزار شده و در نرم افزارهای مختلفی مانند اتوماسیون اداری ، انبار و ... کاربردی گسترده دارد .
اما تمامی Source Code هایی که تاکنون از این سیستم به دست آوردم در حوزه برنامه نویسی Java است و در دلفی تاکنون کامپوننت و یا سورس کد خوبی را ندیده ام که بتوانم این سیستم را تهیه کنم !
ببینید سیستم گردش کار به یک Source code خاتمه پیدا نمی کند و تنها به زبان Java پیاده سازی

نشده است. من یکشو ولی تا حدودی Basic شو طراحی کردم. اصل سیستم WorkFlow طراحی آن و پیاده سازی آن هست . 

در حد یک Component یا یک Source code نمیشه روش نظر داد. 
برای مثال PDF سیستم اتوماسیون اداری Chargoon که با نام تجاری دیدگاه توزیع می شود نگاهی بیندازید.

برای مثال به این WorkFlow Engine که Open Source هست نگاهی بیندازید که در زبانهای perl یا Php و حتی C#‎ .net 

قابل استفاده هست : OpenWFE

در حقیقت می خواهم بگم یک Engine هست نه یک Component
سیستم گردش کار یا همان WorkFlow سیستم پیگیری نامه ها نمی باشد تا کنون با فرآیندها یا همان روند اجرای کار مسلماً برخورد کرده اید حال به منظور مکانیزه کردن این فرآیندها ، فرآیندهای مذکور را در سیستم رایانه ای ترسیم و ارجاعات به طور مکانیزه توسط نرم افزار صورت می گیرد 
به عنوان مثال شما تصور کنید در سیستم درخواست کالا از انبار شما فرآیند خاصی را در شرکت یا سازمانتان دارید که ابتدا فردی کالاهای خاصی را درخواست می کند سپس مسئول وی کالاها را تایید کرده و نوبت به مدیر شرکت می رسد و او درخواست را تایید و به انباردار ارسال می کند 
حال در سیستم گردش کار تمامی ارجاعات ، شرطها و ... توسط سیستم مدیریت و کنترل می شود .
این سیستم یکی از ابزارهای BPR می باشد
با تشکر از راهنمایتون ، من موفق به طراحی Engine سیستم گردش کار شدم اما برای طراحی لایه طراحی WorkFlow یا همان طراحی فرآیندها از کامپوننت TSimpleGraph آقای خجسته استفاده می کنم که نسبتاً کار من رو راه انداخته اما اگه کامپوننت خوبی برای این لایه سراغ دارید معرفی نمایید .


سیستم Workflow سیستم اتوماسیون مستندات اطلاعات وTask هایی است که میان متقاضیان (نیروی انسانی ویا کامپیوتر ) یک سازمان بر اساس یک مجموعه قوانین تعریف شده به منظور دستیابی به اهداف تجاری ، قابل تعریف می باشد. 

اجزاء Workflow 
Workflow Management Systemسیستمی است که تعریف، ایجاد، مدیریت و اجرای Workflow ها را از طریق نرم‌افزار کنترل می‌کند و قادر است که پروسه‌ها و ارتباطات بین آنها را از طریق ابزارهایی تعریف نماید. پیاده‌سازی این سیستم بر اساس مدل Workflow Reference Model خواهد بود . 
Workflow Reference Modelبیان کننده نمای معماری سیستم مدیریت Workflow که مشخص کننده اجزاء و Interface های اصلی هستند، می‌باشد که توسط سیستم مدیریت Workflow راهبری می‌شود. این مدل توسط کمیته WFMC به منظور یکپارچگی و هماهنگی بین تمامی سیستم های Workflow جهان و پیروی آنها از یک استاندارد جهانی ارائه شده است. این کمیته شامل دهها کارشناس خبره از کشورهای مختلف جهان می باشد.

Workflow بر اساس استاندارد WFMC از سه جز اصلی زیر تشکیل شده است: 

Workflow Process definition : در این قسمت طراحی و تعریف جریان کار سازمان انجام می گیرد که از دو قسمت دیگر کاملا مجزاست. 
Workflow Engine : این قسمت هسته اصلی workflow می باشد که وظیفه انجام کارها بر حسب تعاریف انجام شده در Definition را بر عهده دارد. 
Worklist handler : این قسمت واسطه کاربر و workfloe engine می باشد و وظیفه نمایش کارهای اختصاص داده شده به کاربران رابر عهده دارد. 

مزایای اصلی سیستم گردش کار 

استفاده از سیستم‌های Workflow برای سازمان‌ها مزایای مستقیم و غیر مستقیم متعددی را به همراه دارد. از جمله این مزایا می‌توان به موارد زیر اشاره کرد: 

بهبود کارائی 
کنترل بهتر فرآیندها 
بهبود خدمات به مشتریان 
انعطاف پذیری 
بهبود فرایندهای سازمان 
کاهش دادن هزینه‏های زنجیره تامین مواد و منابع 
کوتاه نمودن زمان کل تولید 
کاهش انبارداری به حداقل 
گسترده نمودن تنوع در تولید 
افزایش بهبود کیفیت 
ایجاد زمان مطمئن برای تحویل 
سامان‌دهی کارآمد دریافت تقاضا، تولید و تامین منابع در سطح جهانی 

Process Definition Tool
ابزارهای مختلفی ممکن است برای تجزیه وتحلیل، مدلسازی، شرح ومستند سازی یک فرایند تجاری مورد استفاده قرار گیرند، که مدل به ویژگیهای خاص این ابزارها ونحوه تعامل آنها وابسته نیست. وظیفه این ابزارها به شرح زیر می باشد: 
تعریف مدل سازمانی فرایند درسازمان 
تعریف نقشها، وظایف، مسئولیتهاوسلسله درمراتب درسازمان 
مشخص کردن نقشها وانتساب افراد به نقشها 
مدل سازی وبهینه سازی مدل درحین کار 
خروجی نهایی این مدلسازی , طراحی یک Process definitionاست که می تواند در زمان اجرا توسط workflow engine تفسیر می شود 

( که مشکل من بیشتر در این قسمت می باشد به عنوان مثال در کامپوننت TSimpleGraph در زمان اتصال خطوط در شناسائی ابجکت شروع و ابجکت پایان با مشکل مواجه شده ام )

Workflow engine

Workflow engine یک سرویس یا موتور نرم افزاری است که مسؤل مدیریت گردش فرآیند (آنچه که توسط Definition Tool ارائه شده) می باشد که بدین منظور یک محیط اجرایی Runtime برای یک نمونه Workflow ایجاد کرد وتسهیلات زیر را فراهم می کند. 
تغییرتعریف انجام شده برای فرآیند 
کنترل نمونه های فرآیند ( ایجاد ,شروع, خاتمه, توقف, تعویق.....) 
هدایت فعالیتهای یک فرایند که ممکن است شامل عملیات زمانبندی وتغییر داده مربوط به Workflow باشد که به صورت موازی یا متوالی انجام می شوند . 
نگهداریcontrol Data Workflowو Relevant Data Workflow وارسال داده مربوط به Workflow به Application و یا کاربران 
مشخص کردن زمانهای کاری برای کاربر وایجاد یک واسطه برای پشتیبانی تعاملات کاربر 
اعمال نظارتی برای اهداف کنترلی , مدیریتی وبازرسی یک Workflow Engine می تواند اجرای یک مجموعه از فرایند ها یا زیر پروسه ها ,نمونه هایی با محدودهُ مشخص وتعریف شده ای از انواع object ها و ویژگیهای آنها ,را کنترل کند . 

Workflow list handler

سیستم نمایشگر لیست کارها یک سیستم نرم افزاری است که تبادل اطلاعات بین کاربر(گروهی کاربران) را با سیستم workflow engine انجام می دهد. این سیستم امکان مبادله کارها رابین یک سیستم workflow engine فراهم کرده وعملیاتی نظیر گزارش دادن به کاربران در مورد وضعیت یک کار را نیز عهده دار است. 

جهت کسب اطلاعات بیشتر می توانید به سایت کمیته WFMC مراجعه کنید :
http://www.wfmc.org



 	Lassalle Technologies is committed to creating powerful flowcharting/diagramming components. AddFlow is our main product. It is available in both ActiveX and .NET editions. We provide also graph layout components which automatically display graphs or flow charts in a reasonable manner, following some aesthetic rules (hierarchic, symmetric, orthogonal, ...)


Flow Diagramming

Each time you need to graphically display interactive diagrams, you should consider using AddFlow, a royalty-free control that offers unique support to create diagrams interactively or programmatically: workflow, diagrams, communication networks, organizational charts, process flows, state transitions diagrams, CTI applications, CRM (Customer Relationship Management), expert systems, graph theory, quality control diagrams, database diagrams, ...

» AddFlow ActiveX version
» AddFlow for .NET


Graph layout components

You may also wish to draw a graph without having to worry about the position of each node or link. LayoutFlow is a set of four graph autolayout controls that perform autolayout graph drawing and therefore automatically auto-arrange the graph. We provide an ActiveX version and a .NET version of each layout component.

----------


## mosiera98

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

----------


## moin_moadi

من دنباله يه سري برنامه ها و كد ها Sampel  براي Workflow  مي گردم اگه دارين به ايميلم يا تو تايپيك بزارين مرسي

----------


## davoodmz

با تشكر از شما 
دوستان لطفا يك نمونه كد در دلفي و ارتباط فرم ها با work flow طراحي شده  بزارين ممنون ميشم 
خيلي مبحث خوبي است با تشكر از همه عزيزان

----------


## محمدامین شریفی

کتاب بسیار کامل از انتشارات دوست داشتنی من یعنی Appress به نام Windows_Workflow in_.NET_3.5 فکر کنم بهترین منبع برای یادگیری باشد.

---------------------
مترجم:محمد امین شریفی

 چرا work flow(جریان کاری)؟
به عنوان یک برنامه نویس،حرفه ما حل کردن مسائلی است که در جهان واقعیت رخ میدهد.نوع و دشواری مسائلی که ما باید حل کنیم بسیار گسترده است و وابسته به نوع کاری است که ما برای آن برنامه مینویسیم.ولی فارغ از پیچیدگی هر نوع مسئله،ما همه آنها را به یک شکل حل میکنیم:ما آنها را به قسمت های کوچکتر منطقی که بتوانیم آنها را کنترل کنیم میشکنیم(کوچک میکنیم)، و همچنین آن قسمت ها ی کوچک شده را باز کوچکتر میکنیم و به همین ترتیب کوچک و کوچکتر.
هنگامی که ما در میابیم که این وظیفه کوچک شده به اندازه normal و طبیعیش تبدیل شده است و میتوان آنرا درک و مدیرت کرد، آن وظیفه را انجام میدهیم.
این وظایف اغلب به هم وابسته هستند و یک سلسله مراتبی (sequence) ای از دستورالعمل هایی را به ما نشان میدهند که فقط باید در زمان خودشان انجام بشوند.
در برنامه نویسی سنتی شما بوسیله زبان برنامه نویسیتان شروع به کدنویسی آن وظیفه میکنید.
کد شما مشخص میکند که چه کاری(دستورالعمل های اجرایی) رادر میان سلسله ای از دستورالعمل هایش(جریان کنترل ها-the flow of control-) انجام میدهد.شما همچنین کدهای برای تصمیم گیری بر حسب مقدار متغیر ها (پ.ن:نوشتن دستورات شرطی) یا فراخوانی event ها(پ.ن:مثلا onClick) و وظعیت کنونی برنامه یتان مینویسید.*
جریان کاری (work flow)، یک سری منظم شفافی از مراحلی است که باید برخی از اهداف از پیش تعین شده را مطابق با الگو های خواص، انجام دهد.با این تعریف،چیزی که ما پیشین تشریح کردیم یک جریان کاری(work flow) بود.
*این جریان کاری میتواند درون کد تعریف شود،ولی تنها روش اسفاده از جریان کاری نیست.
ما هر روز از جریان کاری در نوشتن کدهایمان بهره مند میشویم(پ.ن:منظور اینست که جریان کاری یک امریست که ما همیشه در حل مشکلاتمان از آن استفاده میکنیم).
شاید ما متوجه نشویم که واقعا داریم از روش work flow در کارمان استفاده میکنیم ولی ما این مفهوم و concept را حتی زمانی که خودمان هم متوجه انجام آن نیستیم،بکار میگیریم.
خوب پس!،این همه حرف درباره جریان کاری چرا زدیم؟!چرا نویسنده، این کتاب را نوشته است؟! و چرا شما دارید این کتاب را میخوانید؟!!!!!!
*Workflows Are Different
*of course(قطعا!) ، جریان کاری که من پیشین برایتان شرح دادم، همه داستان نبود!.جریان کاری باید بیشتر از این چیز ها باشد و هست!.
برای یک برنامه نویس workFlow تداعی کننده یک محیط گرافیکی بسیار قدرتمند ، که میتواند دستورات پیچیده برنامه نویسی و جریان کاری کنترل ها را به صورت گرافیکی تعریف کند،میباشد.
work flow برای شما محیطی را به ارمغان می آورد که بتوانید به آسانی کارها(activites) را مدل سازی و ویژوالی کنید(پ.ن:مراحل و دستور العمل هایی را که پیشین به صورت مرحله به مرحله، به قسمت های منطقی و قابل فهم شکسته بودید).تغییرات و شخصی سازی در Work flow ای که شما آنرا طراحی کرده اید بسیار راحت و قدرتمند است.
ولی WorkFlows چیزی فراتر از یک محیط طراحی میباشد.Workflows یک مدل برنامه نویسی جدیدی را عرضه کرده است.*در این مدل روش بهتری برای جدا کردن، عملی که میخواهد انجام شود (what to do)و زمانی که میخواهد انجام شود(when to do it) ارائه شده است.این جداسازی به شما این امکان را میدهد که بتوانید زمان اجرای عملیات را بدون تغییر در نحوه اجرای عملیات،تغییر دهید.Workflows اغلب از مدل برنامه نویسی declarative* *به* *نسبت  مدل برنامه نویسی procedural استفاده میکند*.
با این مدل، قسمت منطقی برنامه یا business logic در قطعه های(components) جدا از هم نوشته میشوند(encapsulate).ولی قوانین جریان کنترل ها که بین component ها میباشد بصورت declarative حکم فرماست.
بدیهی است که زبان های چند منظوره ای مانند #C یا Visual Basic، میتوانند مسائل برنامه نویسی را حل کنند.ولی مدل برنامه نویسی Workflows،واقعا به شما این امکان را میدهد که بتوانید مدل زبان برنامه نویسی خودتان را طراحی کنید.

----------


## محمدامین شریفی

با چنین زبانی،شما میتوانید قوانین موجود در عالم برنامه نویسی را بوسیله ابزاری بکار برید که آن قوانین با آن  ابزار و رویه ها در حوضه برنامه نویسی شناخته میشوند.(پ.ن:مانند ابزاری که در visio بکار میبرید).برای متخصصان در این حوضه پی بردن به یک روند کاری از طریق مشاهده یک workFlow بسیار آسان تر از خواندن روند کاریست که توسط واژه ها(ی روند کاری) نوشته شده است،میباشد.برای مثال اگر حوضه ای که دارید روی آن کار میکنید،"بانک داری" یا "امور مالی" باشد،شما با واژه هایی از این دست روبرو هستید:حساب مالی،چک،وام،اعتبارات،بده کاری،مشتری،حساب دار،شعب و از این دست روبرو هستید.ولی اگر حوضه ی کاری شما "تحویل پیتزا" باشد،واژه های بالایی در کار شما هیچ کاربردی ندارد. و شما با واژه های دیگری از این دست روبرو هستید:منوی قضا،مواد اولیه،آدرس مشتری ها،شماره تلفن مشتری ها،راننده ها،انعام و از این دست واژه ها روبرو خواهید شد.
مدل WorkFlow به شما این امکان را میدهد که بتوانید برای هر نوع مسئله از ابزاری استفاده کنید که مربوط به آن مسئله بخصوص است.
بوسیله WorkFlows شما میتوانید به آسانی شروع به مدل سازی سیستم و تعاملات انسانی درون سیستم اقدام ورزید.شما میتوانید اجرای مراحل کاریتان را تعریف کنید و کدهایی را برای کنترل کردن ترتیب اجرای آن مراحل بنویسید.این را به یاد داشته باشید که کدهای برنامه همیشه در قالب کنترل ها هستند.
در جهان واقعی شما با کارها و تعاملات انسانی(Human interations) ها مختلفی روبرو هستید.مشکل اساسی اینست که رفتارهای انسان ها همیشه مانند "کد های برنامه" قابل پیشبینی نیستند.برای مثال،شاید شما در پروژه یتان مجبور شوید "گرو گذاشتن وثیقه" را مدل سازی کنید.برای مدل سازی این مرحله، شما باید چقدر کنترل را درون پروژه یتان بکار ببرید؟
آیا همیشه وثیقه مالی به عنوان اولین روش است؟مقدار این وثیقه مالی چقدر باید باشد؟چگونه باید مقدار این وثیقه را مشخص کنیم؟قبل و بعد از وثیقه گذاشتن باید چه مراحلی طی شود؟و احتمالاتی که مشا باید همه آنها را درون پروژهیتان مدل سازی کنید(پ.ن:در ایران ریش گرو گذاشتن! و التماس کردن و ... را هم در پروژه یتان لحاظ کنید وگرنه برای مثال ساختن وبسایت دانشگاهیتان با مشکلات عدیده ای روبرو میشود).نکته ای که در این مسائل وجود دارد،اینست که حل کردن این مسائل با استفاده از مدل برنامه نویسی رویه ای(procedural) بسیار مشکل است،به این علت که در این کارها تصمیمات انسانی دخیل است.ترتیب اجرای کارها همیشه قابل پیش بینی نیست.در اینگونه مسائل که بعد تصمیمات و واکنش های انسانی(human interaction)دخیل است،واقعا مدل برنامه نویسی WorkFlow در این بین محشر است و در بین بقیه مدل های برنامه نویسی میدرخشد.
*چرا* Windows Workflow Foundation *؟*
اگر  WorkFlow مهم است،حالا چرا ما باید از Windows Workflow Foundation یا همان WF باید استفاده کنیم؟ماکروسافت این بنیان را برای این بنا کرد که نوشتن برنامه دات نتی شما را آسان تر و قدرتمند تر کند.WF یک برنامه مجزا نیست.workFlow یک بنیان نرم افزاری است که برای وارد شدن "جریان کاری" به درون برنامه شما،طراحی شده است.

----------


## محمدامین شریفی

فارغ از نوع برنامه ای که شما در حال نوشتن آن هستید،امکاناتی در WF وجود دارد که  شما میتوانید از مزایای آن در برنامه یتان بهره مند شوید.
اگر شما در حال کار بر روی یک برنامه Line Of Business هستید(پ.ن:در این برنامه وظیفه ها به شدت به هم وابسطه هستند و اغلب با نام LOB شناخته میشوند)،شما میتوانید برای هماهنگ کردن وظایف از WF استفاده کنید.
ا*گر فعالیت انسانی در پروژه ی شما نقش دارد،شما میتوانید از مدل state machine در WF جهت نشان دادن عکس العمل مناسب(منطقی) در برابر واکنش های انسان استفاده کنید.*
اگر شما نیاز به برنامه ای دارید که خواصیت "شخصی سازی" بسیار بالایی داشته باشد،شما میتوانید از  ذات برنامه نویسی  declarative ورک فلو جهت جداسازی قسمت منطقی برنامه یتان از قسمت اجرایی برنامه یتان،بهره مند شوید.
Workflows به شما امکان شخصی سازی کنترل هایتان را بدون هیچگونه اثری بر قسمت منطقی برنامه یتان را میدهد.و اگر  به دنبال راهی بهتر جهت جداسازی و کپسوله کردن "منطق برنامه یتان" ،جهت راحت تست کردن کارایی آنها میباشید،شما میتوانید قسمت منطقی برنامه یتان را به وضایف جدا از هم،برای اجرا در محیط WF در آورید. 
دلایل بسیار متعددی برای استفاده از WF وجود دارد.در زیر چند نمونه از آنها را لیست کرده ایم:

WWF سکویی قدرتمند و انعطاف پذیری برای کار با جریان کاری به شما عرضه میکند.شما میتوانید به جای اینکه وقت و انرژی خود را صرف ساختن فریم ورک،محیط طراحی گرافیکی و محیط اجرای نرم افزار کنید،از WWF استفاده کنید و وقت گرانبهای خود را صرف حل مسائل واقعی نرم افزار کنید.WWF باعث ارتقای پایداری توسعه نرم افزار شما میشود.ساختار برنامه های "فرایند کاری" که با WWF نوشته میشوند بسیار شبیه به هم میشوند. ثبات در مدل برنامه نویسی و ابزار دات نت ،باعث زیاد شدن کارایی شما در نوشتن برنامه های جدید و کار بر روی برنامه های پیشین میگردد.*WWF از دو مدل فرایند کاری پشتیبانی میکند،مدل برنامه نویسی ترتیبی(sequential) بیشتر در برنامه هایی بکار میرود که فعالیت های انسانی در آن نقش ندارند و تمامی فعالیت ها قابل پیش بینی هستند (system interaction).مدل برنامه نویسی State machine  برای حل کردن مسائلی  که  فعالیت های انسانی نقش اصلی را ایفا میکنند ،بسیار مناسب است.* WWF از روش workflow persistence پشتیبانی میکند(پ.ن:در کتاب مفصلا توضیح داده شده است).توانایی ذخیره کردن و از سرگیری وضعیت فرایندی که در حال اجراست از خصوصیت این روش میباشد.این ویژگی خصوصا برای مدل سازی عکس العمل های انسانی بسیار پرکاربرد است.همچنین از این ویژگی میتوان در فرایند های کاری ای که زمان اجرای بسیار زیادی دارند،بهره مند شد.WWF از روش حل مسئله به شیوهاستفاده از "مدل های آشنای برنامه نویسی "(domain-specific model) پشتیبانی میکند.ماکروسافت شما را به نوشتن کامپوننت های شخصی سازی شده یتان،ترغیب میکند.هر کامپوننت سمبل یک مسئله برنامه نویسی ایست که در دنیای برنامه نویسی همه برنامه نویسان آن صورت مسئله را با آن سمبل میشناسند.(پ.ن:برای مثال هنگامی که شما سمبل For را درون برنامه یتان drag & drop میکنید.شماتیک این سمبل دقیقا همانند همان چیزی است که پیشین در برنامه های visio  دیده اید).WWF یک اکوسیستم کامل از جریان کاری برای شما مهیا کرده است.ماکروسافت علاوه بر محیط متداول فرایند کاری،یکسری امکانات استاندارد دیگری هم به این مجموعه اضافه کرده است،از جمله:workflow persistence, workflow monitoring
tracking,  rules engine و workflow designer که این امکانات درون ویژوال استدیو(visual studio) تعبیه شده است و شما میتوانید درون برنامه یتان از آنها استفاده کنید.WWF قابلیت گسترش بسیار بالایی دارد.ماکروسافت(Microsoft) تعدادی اکتنشن(extension) در اختیار شما قرار داده است که میتوانید عملکرد workflows را به دلخواه خود در آورید.برای نمونه،اگر persistence service استاندارد SQL،نیاز های شما را برآورده نکند،شما میتوانید سرویس مورد دلخواه خود را پیاده سازی کنید!!(پ.ن:در کتاب به صورت مفصل توضیح داده شده است)WWF به همراه ویژوال استدیو(visual studio) عرضه شده است و شما میتوانید بدون خرید هیچگونه مجوزی آنرا درون پروژه یتان استفاده کنید.به همین دلیل،عملا سکویی(framework) ای استاندارد برای توسعه جریان کاری در ویندوز درآمده است.جامعه در حال رشد توسعه دهنده های WF (پ.ن:مانند من وشما :چشمک: )پیوسته اطلاعات،کد ها و همچنین *کامپوننت هایشان(Activity Components )* در اختیار همدیگر میگزارند.

----------


## محمدامین شریفی

اینم PDF دانشگاهی برای شما دانشجویان.به امید روزی که همه تحقیقات و جزوات دانشجویی در اینترنت قابل دسترس باشد و آرزوی بزرگ بیل گیتس که همان paperless شدن کارهاست،محقق شود.

----------


## محمدامین شریفی

1- *مقدمه ای برWFF* 
واقعا همه نرم افزارهای تجاری امروزه هدفی مشترک دارندو آن هم پشتیبانی از فرایندهای تجاری است.بعضی از فرآیندها کاملاً اتوماتیک هستندیعنی فقط به ارتباطات میان برنامه های کاربردی استناد می کنند و بقیه آنها که در اکثریت نیز هستند علاوه بر ارتباطات بین برنامه ها به مقداردهی اولیه فرایندها توسط اشخاص ،تایید اسناد ،برطرف نمودن شرایط استثنایی که رخ می دهد و... استناد می کنند. 
در هر یک از دوحالت اغلب میتوان یک سری گسسته از گامهای شناخته شده را مشخص نمود که به آن Workflow می گویند. یک Workflow فعالیتهای اشخاص و نرم افزارها درگیر در فرایند را شرح میدهد.هنگامی که این Workflow تعریف می شود، یک برنامه کاربردی می تواند در راستای آن تعریف ساخته شود تا فرایندهای تجاری آن برنامه کاربردی را پشتیبانی کند. 
ساختن و اجرا کردن یک Workflow در نرم افزار یک چالش منحصر به فرد را مطرح می کند.برخی از فرآیندهای تجاری برای کامل شدن به ساعتها،روزها و یا ماهها زمان نیاز دارند.برای نمونه چگونه توسعه دهندگان اطلاعات مربوط به حالت جاری Workflow را برای این مدت زمان نگهداری میکنند؟این نوع از Workflowهای طویل الاجرا همچنین می خواهند به صورت نامحدود با سایر نرم افزارها ارتباط برقرار کنند.چگونه می توان چالشهای ایجاد شده توسط ارتباطات ناهماهنگ را بر توسعه دهنگان ساده تر نمود؟و ازآنجاییکه تعاملات در نرم افزار به صورت ثابت مدلسازی شده اند، اشخاص قادر باشند که فرایندهای تجاری را به صورت پویا تغییر دهند (به خاطر اینکه مردم به داشتن انعطاف پذیری بیشتر گرایش دارند).چگونه می¬توان Workflow را برای رفتارهای گوناگون، مضاد و پیش بینی نشده اشخاص مدیریت نمود؟بدون داشتن زیرساخت صحیح براورده کردن نیازمندیهایی شبیه اینها بسیار سخت است.اگر تکنولوزی برای پشتیبانی Workflow ها صریحا طراحی شده باشد، ساختن این نوع مفید از نرم افزارها میتواند سرراست باشد. 
Microsoft Windows Workflow Foundation)WWF) برای برآورده کردن این نیازمندیها ساخته شده است.یک جزء هسته از .Net Framework 3 ، که میخواهد یک جزء اساسی سکوی Windows برای توسعه دهندگان باشد.WWF اسکلتی مشترک برای ساختن Workflow ها در برنامه های کاربردی ویندوزی مهیا می نماید خواه این Workflow ها تعاملات بین نرم افزار، تعاملات بین اشخاص و یا هر دو این نوع تعاملات را داشته باشند.WWF در Windows Vista, XP, 2003 قابل است. 

*3-1- چه برنامه های کاربردی به Workflow نیاز دارند؟* 
به منظور درک چیزهایی که از Workflow میخواهیم بهتر است که در مورد انواع برنامه¬های کاربردی که ممکن است از Workflow استفاده کنند بیشتر فکر کنیم . در اینجا برخی از این برنامه های کاربردی اورده شده است: 
1-برنامه Asp.Net ای که برای کنترل ترتیب نمایش صفحات به کاربرهایش از Workflow استفاده میکند.استفاده از Workflow میتواند تغییر جریان فرمها را بدون تغییر دادن خود فرمها امکان پذیر کند(مانند جداسازی واسط کاربری از منطق برنامه). 
2-برنامه مرکب در محیط سرویس گرا ممکن است رفتار هسته اش را با استفاده از Workflowپیاده سازی نماید.هر چه بیشتر و بیشتر برنامه منطقش را از طریق Web Service به معرض نمایش بگذارد،ایجاد فرایندهای تجاری بر روی این سرویسها ساده تر میشود.تکنولوژی Workflow برای منطقی که سرویسها را می خواهد طلب کند و آنها را به در یک برنامه مرکب به هم مرتبط کند یک زیر ساخت مناسب مهیا می¬کند. 
3-برنامه ای که یک مشکل مشخص را حل می¬کند مانند CRM یا مدیریت روابط مشتری، یا فروشگاه مجازی ، یا سرویسهای مالی ممکن است که در راستای یک Workflow ساخته شود.این نوع از برنامه ها عموماً فرایندهای تجاری متفاوتی را پیاده¬سازی می¬کنند.ساختن منطقی که فرایندهایش را بر روی یک Workflow هدایت می¬کند، ساخت برنامه را سریعتر می-کند،تغییرات را سریعتر می توان اعمال نمود و سفارشی نمودن آن را ساده تر می نماید. 
2- مروری بر روی Visual Studio 2005 Designer for Windows Workflow Foundation 
VS2005 برای اینکه توسعه دهندگان بتوانند سریعا Workflowها را توسعه دهند یک واسط گرافیکی بسیار عالی در اختیارشان قرار داده است. 

*زبان علامتگذاری Workflow های WF:* 
هر Workflow ای که با WF تولید  شود می تواند بوسیله ترکیبی از فایلهای زیر نمایش داده شود 
1- یک فایل XML ،یا نشانه گذاری،که شامل فرداده های اعلانی از Workflow باشند. 
2- یا یک فایل نشانه گذاری شده در ترکیب با یک فایل Code-Behind که شامل کدهایی است که رفتار و مشخصات Workflow را نمایش می¬دهد. 
3- یک یا چند فایل کد که شامل هر دو منطق تعریف شده و رفتار Workflow باشد. 
فایل نشانه¬گذاری شده در یک extensible Application Markup Language)XAML) نوشته شده است. 
از آنجایی که XAML شمایی منتشر شده دارد،شما می توانید این فایل را با استفاده از یک Text Editor یا XML Editor بسازید.اگرچه VS2005 یک واسط گرافیکی مناسب دارد که این فایل را به صورت اتوماتیک ایجاد می کند. 
توسعه دهندگان Workflow می توانند فایل فراداده و منطق آن را از هم جدا و یا با هم مجتمع کنند. 
فایل کد یک از دو نوع زیر خواهد بود: 
1-یک فایل کد بیس که شامل منطق برنامه را کپسوله می¬کنداین فایل ممکن است به زبان C#‎ یا VB نوشته شده باشد. 
2-فایل قوانین Workflow که منطق برنامه را در رابطه با قوانین تعریفی را کپسوله می¬کند تا اینکه کد را کپسوله کند. 

*خصوصیات این Designer عبارتند از:* 
یک نمای طراحی drag-and-drop که اجازه ایجاد نمودن Workflow های سفارشی با استفاده از Activity های انتخاب شده از منوی Toolbox را به شما می دهد. 
یک واسط که اجازه کارکردن بر روی نشانه گذاری Workflowتان را با استفاده از ابزارهای گرافیکی حسی می دهد. 
داشتن یک پنجره برای مشخصات و ویژگیهای آن (Properties window) که توسعه دهندگان به راحتی می توانند مشخصات آن را تنظیم نمایند. 
اشکال زدایی Workflowهایتان بوسیله الصاق نمودن به فرآیند Share Point،در ضمن می توانید 
در Workflow هایتان breakpoint نیز قرار دهید. 
همچنین قادر هستید که خطاها،تصحیح خطاها و مدیریت رخدادها را به فعالیتها متصل کنید.
3- معماری میزبانی Workflow 
عاملیت Workflow در WSS )Windows Share Point Services 3.0) برای WF)Microsoft Windows Workflow Foundation) ساخته شده است یعنی یکی از اجزای سکوی ویندوز که اسکلت برنامه نویسی و ابزاری برای توسعه و اجرای برنامه های کاربردی مبتنی بر Workflow را مهیا می¬کند.مخصوصاً WSS از دو جزء اصلیWF یعنی طراح(WF VS2005 Designer) و موتور زمان اجرای آن(WF runtime engine) استفاده می¬کند. 
طراح(WF VS2005 Designer) یک افزودنی است که در VS2005 میزبان شده است و توسعه دهندگان را برای ایجاد Workflow ها و فعالیتهای درون آنها توانمند می¬سازد.WWF مدل Workflow ای را مهیا می¬کند تا به توسعه دهندگان این اجازه داده شود که جریان فرایند تجاریشان را توصیف کنند. Workflow ها می¬توانند ساختارهای گرافیکی استفاده شده، مشخصات فایل XML، کد و یا ترکیبی از آنها را بنویسند. 
موتور زمان اجرا (WF runtime engine) اجرای Workflow را مدیریت می کند و اجازه میدهد که آنها برا یمدت زمان زیاد و پس از راه اندازی مجدد ماشین بازهم وجود داشته باشند.سرویسهای زمان اجرا مهیاکننده سرویسهای اصلی و مرکزی مانند سرویس تراکنش¬ها و سرویس ماندگاری را برای موتور زمان اجرا هستند.WF به همه فرایندهای برنامه کاربردی این اجازه را می دهد که Workflow هایشان را بر روی WF هاست شده اجرا کنند یعنی WF را در داخل فرایندهایشان بالا بیاورند.وقتی که شما Workflow های WSS را می نویسید، 
WSS برای WF میزبان است. 
موتور زمان اجرا مهیا کننده سرویسهایی است که هر Workflow ای به آن نیاز دارد مانند ترتیب گذاری، مدیریت حالتها، امکانات پیگیری و پشتیبانی از تراکنش ها. موتور WF هنگام بار گذاری و خارج نمودن از بارگذاری ماشین حالت و همچنین جهت مدیریت حالت جاری Workflow های در حال اجرا مورد استفاده قرار می گیرد. 
WSS از موتور زمان اجرای WF میزبانی می کند. WSS پیاده¬سازیهای خاصی از سرویسهای زیر را برای موتور WF فراهم می کند که عبارتند از تراکنش، ماندگاری، نقشها، پیگیری، مبادله پیام.توسعه دهندگان می توانند راه¬حلهای خود را بر اساس WSS ایجاد نمایند. 
شکل زیر معماری Workflow در WSS را نشان می دهد.WSS موتور زمان اجرای WF را در داخل فرآیندش میزبانی کرده است و پیاده¬سازی¬های خاصی از سرویسهای مورد نیاز را مهیا نموده است.عاملیت موتور زمان اجرای WF از طریق WSS Object Model به معرض نمایش گذاشته شده است. 
*
3-1- ماندگاری Workflow* 
یکی از مهمترین سرویسهایی که WSS برای موتور Workflow ای WF مهیا می¬کند سرویس ماندگاری است.Workflow ها شامل تعاملات انسانی که ذاتاً طویل الاجرا هستند. در شرایط ایده¬آل اشخاص زمان نسبتاً زیادی را برای تکمیل کارشان احتیاج دارند.در بسیاری از سناریوهای اداری Workflow ها عموما یک روز طول می¬کشند اگر بیشتر نشود!.حال به Workflow ایی که مسیر تایید اسناد را ایجاد می¬کند توجه کنید این سناریو ممکن است بیش از چند روز به طول بیانجامد برای آینکه باید سند مورد بررسی قرار گرفته و سپس تایید شود. 
بسیار واضح است است که قرار دادن تمام نمونه¬های Workflow در تمام زمان اجرا عملی نیست خیلی زود منابع مورد نیازی که توسط Workflow های زمان اجرا انباره شده اند سیستم را به حالت توقف(Halt) می برند. 
درعوض ،هنگامی که نمونه Workflow به نقطه¬ای میرسد که منتظر دریافت ورودی از طرف کاربراست WSS آن را از حافظه خارج و اطلاعات مربوط به آن را نگهداری می کند.سپس هر وقت یک رخداد مناسب اتفاق افتاد مانند اینکه کاربر ورودی را واردکند یا ،نیاز به شروع مجدد Workflow داشته باشیم، WSS مجددا آن نمونه از Workflow را با استفاده از داده¬های ذخیره شده به حافظه می آورد به طوری که نمونه Workflow می تواند می تواند دریافت و مدیریت نماید رخداد را همانطوری که مورد نیاز است. بنابراین ازآنجاییکه ممکن است نعداد بیشماری نمونه Workflow در یک زمان معین در حال اجرا باشند اما فقط کسری از آنها واقعا در حافظه هستند و از منابع استفاده می کنند.
(منبع)

----------


## محمدامین شریفی

در زیر 2 فایل ارائه را برای شما قرار داده ام.
فایلی که در قالب powerpoint می باشد،فایل ارائه ای است که با projector نمایش داده می شود.
فایلی که در قالب word می باشد،فایل ارائه ای است که با آن اسلاید ها توضیح داده می شوند.

پیروز باشید.

----------


## a3mooneabi22

سلام دوستان
چگونه میتوان یک Workflow رابه فرم یاصفحه وب ربط داد؟بطوری که با استفاده از آنهابتوان روی Workflow تاثیرگذاشت؟
درواقع می خواهم بدانم چگونه میتوان interface ای ساخت که با workflow محاوره داشته باشد؟
کسی میتونه به من کمک کنه؟
مرجع فارسی کسی سراغ داره؟!!!! :متفکر:

----------


## محمدامین شریفی

> سلام دوستان
> چگونه میتوان یک Workflow رابه فرم یاصفحه وب ربط داد؟بطوری که با استفاده از آنهابتوان روی Workflow تاثیرگذاشت؟
> درواقع می خواهم بدانم چگونه میتوان interface ای ساخت که با workflow محاوره داشته باشد؟
> کسی میتونه به من کمک کنه؟
> مرجع فارسی کسی سراغ داره؟!!!!


یک کنترل WF ایجاد کن.(ترجیها sequential باشه،چون برای اولین بار راحت تر است)
بصورت یک سرویس(service) برنامه را publish کن.
حالا می توانی آنرا در هر محیطی اجرا کنی.
در کل WF و WCF می توانند ارتباط تنگاتنگی را با هم داشته باشند.
مرجع فارسی هم نمی شناسم.ولی در هنگام خرید یک کتاب ترجمه شده،بهت پیشنهاد میکنم تاریخ و انتشارات انگلیسی برایت بیشتر از انتشارات فارسی آن مهم باشد.

پیروز باشید.

----------


## marashi_s

سلام ، خسته نباشید .
من یک سیستم جریان کاری را با WF  پیاده سازی کرده ام ،به این صورت که یک کارمند درخواست مرخصی خود را برای مدیر خود ارسال می کند . اگر سیستم مدیر روشن بود درخواست برایش ارسال می شود ولی اگر خاموش بود ؟؟؟
من می خواهم با Persistence Service تمام مراحلی را که تا قبل از رسیدن به مدریر طی شده بود ذخیره کنم و زمانی که مدیر Login کرد درخواست ها برایش ارسال شوند . با این سرویس هم کار کردم ولی دو مشکل: 1)زمانی که نمونه ها ذخیره شدند چگونه آنها را دوباره بازیابی کنم که از همان جایی که سیستم به حالت معلق رفته دوباره اجرا شوند؟ (هر مثالی را که در این زمینه دیده ام فقط روش ذخیره را گفته بود ) 2) آیا اصلاً استفاده از این سرویس درست است یا خیر؟
یک سوال دیگر : آیا می شود دونسخه ازاین برنامه را روی یک کامپیوتر اجرا کرد که کارمند در نسخه ی اول درخواست مرخصی را بدهد و مدیر در نسخه ی بعدی آن را دریافت کند ؟ آیا WF راهکاری برای این موضوع دارد؟(یک نفر گفت که WF می تواند IP کامپیوتر را در خود ذخیره کند ، ولی توضیح بیشتری نداد)
خواهش میکنم جوابم را زود بدهید واقعاً  بهش نیاز دارم . این پروژه را باید خیلی زود تحویل دهم.
با تشکر

----------


## marashi_s

ببخشید من موفق به گرفتن فایل های شما نمی شم .
همش Error می دهد.

----------


## dokhmal

منم نتوستم فایلها رو بگیرم !!!!! :( :ناراحت:

----------


## sedehi

با سلام
متاسفانه دسترسی لازم را برای دریافت فایلها تعریف نکرده اید و امکان دریافت وجود ندارد . اگه ممکن است آنها را در انجمن آپلود کنید تا بتوانیم دریافت کنیم.


با تشکر

----------


## محمدامین شریفی

> با سلام
> متاسفانه دسترسی لازم را برای دریافت فایلها تعریف نکرده اید و امکان دریافت وجود ندارد . اگه ممکن است آنها را در انجمن آپلود کنید تا بتوانیم دریافت کنیم.
> 
> 
> با تشکر


http://www.barnamenevis.org/do...file&id=207897

----------


## homa_h

باسلام 
لطفا اگركسي درزمينه *فاکتور های ارزیابی موتور های گردش کار* اطلاعاتي دارد اين فاكتورهاراكه براساس استانداردهاي موجودهست رابراي من اينجاقراربده
ممنون

----------


## koorehpaz

با سلام خدمت دوستان من برنامه نويس شركت پتروشيمي تبريز هستم
برنامه ما يك CMMS هستش كه پايگاه داده آن Oracle 9i بوده و ما از گردش كار اراكل در اين برنامه استفاده كرديم اگه دوستان بخوان مي‌تونم اينو آموزش بدم
با تشكر

----------


## saghari

درود بر شما
قطعا ارائه آموزش ميتونه مفيد باشه.

----------


## wm_reza

[CSS][DOWN[JAVA][/CS[COLOR="#2e8b57"]S]LOAD][/DOWN[/C_OLOR]LOAD__[/JAV_A]]

----------


## wm_reza

[HTML]

```
[HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML][HTML]
```

[/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTML][/HTیزبلشیلیقفابالML][/HTML][/HTML][/HTML][/HTML]

----------

