واضح آرشیو وب فارسی:سایت ریسک: View Full Version : مرورري بر wf در net.3 rtech10th October 2008, 05:38 PMکاربران ثبت نام کرده قادر به مشاهده لینک می باشند 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 در يک زمان معين در حال اجرا باشند اما فقط کسري از آنها واقعا در حافظه هستند و از منابع استفاده مي کنند. منبع : articles.ir سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 867]