Механізм управління потоками Windows Workflow Foundation. Частина 1, Різне, Програмування, статті

Цікава складається ситуація: досить довго при обговоренні можливостей майбутньої Windows Vista(Яка тоді ще мала лише кодове позначення Longhorn) мова йшла головним чином про нову програмної моделі системи, яка тоді назвалася WinFX. За великим рахунком перше уявлення попередньої ознайомчої версії OC на PDC “2003 пройшло саме в такому ключі:” Longhorn – це WinFX “.


Але з випуском в травні минулого року публічної другої бета-версії Windows Vista тема технологічного набору WinFX, який саме тоді отримав офіційну назву .NET Framework3.0, пішла в тінь більш широких обговорень Windows з точки зору роботи користувачів (включаючи, звичайно, і важливі питання настроювання й адміністрування ОС). Ситуація не змінилася і сьогодні, через три місяці після початку продажів Vista. І це цілком зрозуміло: на даному етапі перед Microsoft і замовниками стоїть завдання практичного впровадження системи на рівні користувача.

Втім, немає сумнівів, що найближчим часом актуальність базових програмних інновацій Windows Vistaзнову буде швидко рости. У цьому плані можна виділити два аспекти. По-перше, використання фундаментальних нововведень буде все сильніше затребуване на рівні клієнтських додатків – як тиражних продуктів, так і замовлених рішень. По-друге, зараз почнеться активний період підготовки до випуску фінальної версії Windows Server Longhorn, для якої можливості розробки вельми пріоритетні.

У цій статті ми хочемо коротко познайомити читачів з одним з компонентів. NET Framework 3.0 – Windows Workflow Foundation (WF) *. За нашими спостереженнями, WF поки не став об’єктом уважного вивчення ІТ-фахівцями та розробниками. Одна з причин цього в тому, що даний програмний компонент з’явився в складі. NET Framework 3.0 вже ближче до випуску Vista (здається, це було в серпні 2005 р.). При цьому в плані маркетингового просування цей продукт в силу його специфічності явно залишений корпорацією Microsoft “на потім” (відзначимо, що технологія управління ідентифікацією CardSpace з’явилася в. NET Framework 3.0 майже в самий останній момент, але з огляду на актуальність питань безпеки, Microsoft докладає великі зусилля до її популяризації).

* Microsoft свідомо використовує скорочення WinWF або просто WF, а не WWF, щоб його не плутали з відомою абревіатурою World Wide Fund (Всесвітній фонд охорони дикої природи).

Тим не менш WF – це цікаво і перспективно, причому зовсім не в якомусь віддаленому майбутньому. Зрозуміло, мова не йде про те, що внутрішній механізм Vista в своєму нинішньому варіанті може конкурувати з промисловими workflow-системами. Але тут треба мати на увазі наступні обставини.

1. Навіть у такому початковому, клієнтському, варіанті (а в його розвитку не варто сумніватися) WinWF представляє реальний інтерес для замовників і незалежних розробників. І ряд російських софтверних вендорів вже почали включати його в свої продукти.

2. Напевно найбільш цікавий варіант застосування WF пов’язаний з використанням Windows Server, а Longhorn з’явиться вже скоро (на рубежі 2007-08 рр..).

3. WF з’явився не на порожньому місці. Насправді в ньому легко побачити базові технології BizTalk Server. У той же час важливий сам прецедент перенесення, нехай і в спрощеному варіанті, на масову платформу механізму управління потоками робіт (управління бізнес-процесами). Це має сприяти розширенню сфери застосування таких технологій і методів організації прикладних рішень, в тому числі і прискоренню просування професійних workflow-інструментів.

4. У плані перспектив WF, напевно, варто провести аналогію c SharePoint: вбудовані технології Windows SharePoint Services теж з’явилися в складі ОС відносно недавно і спочатку були зустрінуті ринком з певною обережністю.

Закінчивши на цьому вступ, подивимося, що ж являє собою Windows Workflow Foundation. Але перш відзначимо, що. NET Framework 3.0 доступний в складі не тільки Windows Vista, але і Windows XP.






Технологічна платформа. NET Framework 3.0


Платформа Microsoft. NET Framework 3.0 призначена для розробки додатків нового покоління на основі керованого коду для ОС сімейства Windows Longhorn (в даний час вони представлені клієнтської Windows Vista). Вона доступна також для роботи в середовищі Windows XP і Windows Server 2003 в якості додаткового програмного компонента.

По суті в. NET Framework 3.0 включений повний функціонал раніше випущеного набору .NET Framework2.0, поверх якого встановлюється більш високорівнева технологічний шар, раніше відомий під назвою WinFX. Таким чином, оголошений зараз набір. NET 3.0 складається з двох частин, кожна з яких включає кілька компонентів. До складу першої частини,. NET Framework 2.0, входять Common Language Runtime 2.0, Base Class Library 2.0, ADO.NET 2.0, ASP.NET 2.0, Windows Forms 2.0, VB 8.0 і C # 2.0. До складу WinFX – Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF) і Windows CardSpace (WCS).

Таким чином,. NET 3.0 – це. NET 2.0 плюс деяка додаткова функціональність. Існуюча сьогодні середа. NET 2.0 Framework і компілятори залишаються незмінними. Однак розробники тепер отримали нові можливості в чотирьох ключових напрямках.

Windows Communication Foundation – По суті нове покоління засобів взаємодії програмних компонентів: Web Services (asmx), Web Services Extensions (WSE),. NET Remoting, Enterprise Services і Microsoft Message Queue (MSMQ). Тут з’явилося дуже багато нововведень, але потрібно підкреслити, що WCF не замінює вже існуючі технології, а створює лише розширення для них. Більше того, перша версія WCF найчастіше лише пропонує нові способи застосування старих засобів.

Windows Presentation Foundation – Перше реальне оновлення технологічного середовища призначеного для користувача інтерфейсу з моменту випуску Windows 95. У WPF входить нове ядро, яка має замінити GDI і GDI +, використовувані в нинішній Windows-платформі. WPF є високорівнева об’єктно-орієнтована функціональний шар (framework), що дозволяє створювати 2D і 3D інтерфейси. Зараз WPF можна назвати альтернативним варіантом DHTML і JavaScript, використовуваним в Web-розробці стосовно Windows Forms. Але в майбутньому WPF повинен об’єднати Windows і Web-розробку (в тому числі Ajax).

Windows Workflow Foundation часто характеризують як функціональне підмножина BizTalk Orchestration, реалізоване на рівні Windows (як це свого часу сталося з Terminal Services і SharePoint Services). Механізм управління потоками можна запускати в клієнтських, серверних і Web-додатках, при цьому можна працювати з візуальним конструктором для проектування завдань і маршрутів виконання робіт. WF – це хороший спосіб познайомитися з перевагами процесно-орієнтованого підходу, особливо для тих, кому BizTalk Server здається функціонально надлишковим, складним в освоєнні або просто занадто дорогим.

Windows CardSpace являє собою засноване на галузевих стандартах рішення для управління ідентифікацією при роботі з Інтернетом. Простіше кажучи, WCS – це спосіб простий і безпечної ідентифікації користувачів при переміщенні між ресурсами Інтернету, не вимагає повторного введення імен і паролів. На відміну від більш ранніх технологій уніфікованої ідентифікації (наприклад, Microsoft Passport) WCS управляє безпосередньо користувачами і додатками, з якими встановлюється контакт (не з централізованого ресурсу). Іншими словами, можна використовувати різні схеми (і рівні складності) для ідентифікації при доступі, наприклад, на Web-форуми і для банківських операцій. У будь-якому разі Microsoftне управляє довірчими посвідченнями користувачів.

Відзначимо, що в самому попередньому варіанті (три роки тому) WinFX складався з трьох основних компонентів – WCF, WPF і WinFS (нова файлова система). Але потім фінальна реалізація WinFS була відкладена до появи серверної Longhorn, а в складі комплексу з’явилися WF і InfoCard. Як пояснювали ще рік тому представники Microsoft, в цьому розширенні не було ніяких несподіванок – роботи над даними технологіями велися вже давно, і їх поява в Vistа було заплановано ще кілька років тому. Наприклад, WF раніше називався Windows Workflow Services і мав статус служб ОС. А CardSpace (спочатку ця технологія називалася InfoCard) спочатку входила до складу WCF, але потім в результаті зростання актуальності проблем Identity Management виросла в окремий компонент WinFX.


Загальні принципи


Згідно з визначенням Microsoft , Windows Workflow Foundation надає собою програмну модель, ядро ​​виконання та інструменти для швидкої розробки додатків, що підтримують бізнес-процеси, в ОС Windows нового покоління. WF підтримує як системні, так і призначені для користувача процеси, в тому числі спеціальні програми, потоки сторінок інтерфейсу користувача, документообіг, складові робочі процеси для орієнтованих на служби додатків, робочий процес на основі бізнес-правил і робочий процес для керування системами. В WF входять графічні засоби розробки, які дозволяють створювати додатки, що підтримують бізнес-процеси, з використанням імперативного коду і декларативних правил. При цьому підтримка бізнес-процесів реалізована на рівні базової платформи розробки, завдяки чому можна створювати додатки, моделюють постійно змінюються бізнес-процеси і легко адаптуються до цих змін.

WF – це набір елементарних блоків, званих “активностями” (activities), які зберігаються у вигляді моделей, що описують реальні процеси. На основі моделей механізм workflow виконує задану послідовність активностей, реалізованих людьми або програмними функціями.

Кожен запускається екземпляр workflow створюється і управляється як внутрішній процес (in-process) механізму виконання (workflow runtime engine, WRE). В межах одного домену програми може бути запущено кілька WRE, тобто підтримуються кілька паралельних примірників workflow.

Читати частина 2

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*