Tìm hiểu mô hình và công nghệ wf 4.0 - Pdf 72

Window Workflow Fowdation 4.0
TRƯỜNG ĐẠI HỌC SƯ PHẠM KĨ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
TÌM HIỂU MÔ HÌNH VÀ
CÔNG NGHỆ WF 4.0
GVHD: NGUYỄN MINH ĐẠO
SVTH:
NGUYỄN HỮU TRUNG 07110144
NGUYỄN HỮU TÀI 07110108
NGUYỄN HỮU THANH 07110116
NGUYỄN VĂN PHONG 07110089
NGUYỄN PHÚ CƯỜNG 07110019
THÁNG 11/2011
1
Window Workflow Fowdation 4.0
Contents
1. Ứng dụng workflow đơn giản đầu tiên với WF4 ....................................................... 14
17
2.Làm việc với các Activity được xây dựng sẵn ........................................................... 17
If Activity ............................................................................................................ 19
Assign activity ..................................................................................................... 20
While activity ...................................................................................................... 20
Kết quả thu được khi chạy ứng dụng workflow trên: ............................................ 23
3.Xây dựng workflow bằng code .................................................................................. 23
Xây dựng ứng dụng workflow bằng code C# .................................................... 24
Expression ............................................................................................................. 27
Variables ............................................................................................................... 27
4.Xây dựng Flowchart workflow: ................................................................................. 27
FlowDecision activtity ......................................................................................... 28
FlowSwitch<T> activity ...................................................................................... 29

thống trong cùng một môi trường, nhưng những đối tượng với vai trò khác nhau sẽ có
các luồng công việc khác nhau. Hình vẽ dưới đây là ví dụ về các luồng công việc trong
hệ thống tổ chức thi tuyển sinh đại học tại Việt Nam. Dưới góc nhìn của các thí sinh,
luồng công việc thi tuyển sinh gồm 3 việc chính phải làm. Thực hiện luồng công việc
này, các thí sinh đạt được mục đích là dự thi đại học thành công. Dưới góc nhìn của đơn
vị tổ chức tuyển sinh thì lại khác, luồng công việc tổ chức thi tuyển sinh gồm có 9 công
việc chính phải làm, thực hiện luồng công việc này sẽ đạt được mục đích là tổ chức
thành công một kỳ tuyển sinh đại học.
Hình 1. Luồng công việc Thi tuyển sinh đại học dưới góc nhìn của thí sinh
Hình 2. Luồng công việc Tổ chức tuyển sinh đại học dưới góc nhìn của đơn vị tổ
chức tuyển sinh
2. Sự thực thi các LCV
4
Window Workflow Fowdation 4.0
Ứng với một quá trình thực thi LCV là một thể hiện của LCV đó. Một LCV có thể có
nhiều thể hiện khác nhau do quá trình thực thi khác nhau. Mỗi LCV khi thực thi sẽ phải
tuân thủ các quy tắc nhất định. Đó là các quy định về quy trình nghiệp vụ thực tế của tổ
chức, doanh nghiệp tạo ra và thực thi LCV đó như các ràng buộc về sự tương tác với
người thực hiện công việc, ràng buộc về thời gian thực thi, các điều kiện cho phép xảy
ra sự kiện chuyển đổi trạng thái v.v… Ngoài ra, từng công việc thành phần bên trong
một LCV cũng có các ràng buộc riêng của nó trong quá trình thực thi.
Ví dụ, công việc “Nhận đăng ký thi” trong ví dụ về LCV Tổ chức tuyển sinh đại học
ở phần trước có thể có một số ràng buộc như: bắt đầu từ ngày t
1
và kết thúc vào ngày t
2
;
chỉ cho phép đăng ký khi các giấy tờ đều hợp lệ, thí sinh đăng ký phải tốt nghiệp trung
học phổ thông trước đó, v.v…
3. Tầm quan trọng trong việc đưa LCV và Mô hình LCV vào ứng dụng

mở rộng nhiều tính năng nên ngày càng phù hợp với quy luật hoạt động tự nhiên của
doanh nghiệp, đồng thời tăng cường tối đa sự hỗ trợ, nên ngày càng trở nên quan trọng
hơn.
4. Đặc điểm:
Hiện nay, trên thế giới, có rất nhiều nền tảng công nghệ được thiết kế nhằm hỗ trợ
việc xây dựng các sản phẩm mô hình hóa LCV, cũng như các phần mềm mã nguồn mở
khác với mục đích tương tự. Trong đó, Windows Workflow Foundation là một nền tảng
công nghệ do Microsoft nghiên cứu, xây dựng và đóng gói trong bộ .Net Framework (từ
phiên bản 3.0 trở lên). WF cho phép người dùng định nghĩa, thực thi và quản lý LCV
với các những điểm khác biệt so với các hệ thống khác như sau:
 WF cho phép điều khiển các công việc thực thi trong thời gian dài (nhiều ngày,
nhiều tháng, …).
 WF có thể chỉnh sửa động khi đang thực thi.
 WF là một phương pháp lập trình khai báo kết nối các thành phần được định
nghĩa sẵn (activity).
 WF cho phép người dùng định nghĩa các LCV.
6
Window Workflow Fowdation 4.0
 WF hỗ trợ nhiều kiểu ứng dụng khác nhau.
Đồng thời, WF cũng có một số đặc điểm ưu việt sau:
 Cung cấp một kiến trúc mạnh mẽ và linh hoạt cho việc phát triển ứng dụng LCV
 Thúc đẩy sự nhất quán trong phát triển ứng dụng, giúp cải thiện năng suất trong
việc tạo ra ứng dụng mới cũng như sửa chữa, nâng cấp ứng dụng cũ
 Cung cấp dịch vụ Persistence, cho phép thực thi LCV trong một thời gian dài.
 Có khả năng mở rộng vô hạn; nghĩa là Microsoft cung cấp một số điểm mở rộng
cho phép chúng ta có thể sửa đổi những thuộc tính mặc định của LCV. Chẳng
hạn như khi dịch vụ SQL Persistence nêu trên không đáp ứng được nhu cầu của
chúng ta, chúng ta có thể tự xây dựng dịch vụ riêng của mình
5. Kiến trúc cơ bản của WF
Kiến trúc cơ bản của WF gồm có 3 thành phần chính: BAL (Base Activity Library),

càng cần thiết (nhất là những doanh nghiệp có tiến trình nghiệp vụ thay đổi theo thời
gian). Việc sử dụng XML để định nghĩa LCV có thể giải quyết được vấn đề này.
Vì Workflow Runtime có thể chấp nhận gần như tất cả các dạng định nghĩa LCV (phụ
thuộc vào người lập trình), tức là lập trình viên chỉ cần thông dịch định nghĩa LCV được
cung cấp thành định dạng mà Workflow Runtime có thể hiểu và thực thi. Tuy nhiên,
điều may mắn ở đây là WF hỗ trợ định nghĩa LCV sử dụng ngôn ngữ nền tảng xml
(XML-based Workflow Definition), đó là XAML (Extensive Application Markung
Language). Việc định nghĩa LCV theo cấu trúc xml giúp LCV có thể dễ dàng được sửa
đổi và triển khai. Thay vì phải biên dịch lại trong Visual Studio, người dùng chỉ cần
chỉnh sửa lại file định nghĩa LCV bằng bất kì trình Editor nào (ngay cả notepad), và đưa
vào Workflow Runtime trước khi nó tạo lại mô hình LCV.
XAML ban đầu được đưa vào sử dụng trong WPF (Windows Presentation
Foundation, một công nghệ được Microsoft đưa vào sử dụng từ .Net Framework 3.0 trở
đi, trong đó giao diện chương trình thiết kế bằng WPF được định nghĩa thông qua file
9
Window Workflow Fowdation 4.0
XAML). Một file *.xaml về bản chất không cần phải được biên dịch, mà bản thân nó có
thể chạy được trên bất kì trình duyệt nào ở bất kì máy tính Windows nào có cài đặt .Net
3.0 trở lên. Chẳng hạn như, với file a.xaml sau đây thể hiện 1 button có chữ Helloworld:
Dùng trình duyệt mở File a.xaml sẽ hiển thị kết quả như sau:
Hình 4. HelloWorld
7. Sự lưu trú của WF trên ứng dụng:
10
<?xml version="1.0"?>
<Button
xmlns="http://schemas.microsoft.com/winfx/2006/xa
ml/presentation"
Margin="36" Foreground="Blue"
FontSize="36pt">Hello, World!
</Button>

hoạt giống như chúng ta đã có trong giao diện người dùng trong Windows Presentation
Foundation (WPF). Windows Workflow Foundation (WF) cung cấp một framework cho
11
Window Workflow Fowdation 4.0
việc xây dựng ứng dụng và cung cấp cho ta một ngôn ngữ cấp cao hơn để xử lý các task
không đồng bộ, song song và xử lý các task phức tạp khác.
Có một runtime để quản lý bộ nhớ và các đối tượng, đã giúp chúng ta tập trung
nhiều hơn vào các khía cạnh nghiệp vụ quan trọng. Tương tự như vậy, có một runtime
có thể quản lý tính phức tạp của công việc không đồng bộ, nó cung cấp một bộ các tính
năng cải thiện hiệu suất phát triển. WF là một bộ công cụ cho việc khai báo công việc,
các activity giúp xác định logic công việc và kiểm soát luồng công việc, và runtime để
thực thi các ứng dụng. Một cách ngắn gọn, WF sử dụng một ngôn ngữ cấp cao hơn để
viết các ứng dụng, với mục tiêu làm cho các nhà phát triển phần mềm làm việc tốt hơn,
các ứng dụng dễ dàng hơn để quản lý, và dễ dàng thay đổi hơn. Runtime WF không chỉ
thực hiện các luồng công việc cho mình, nó cũng cung cấp các dịch vụ và tính năng
quan trọng khi viết ứng dụng logic như bảo toàn trạng thái (persistence of state), đánh
dấu trạng thái (bookmarking), tất cả đều dẫn đến luồng (thread) và xử lý linh hoạt cho
phép mở rộng quy mô của quy trình nghiệp vụ.
2. Những điểm khác biệt so với WF 3.5:
WF 4.0 khác hoàn toàn so với các phiên bản trước đó. Những ứng dụng WorkFlow
trước đó chỉ có thể chạy được với .NET framework dưới 4.0. WF 4.0 được thiết kế lại
mới hoàn toàn: những activity và service trong WF 4.0 không thể thay thế được với các
phiên bản trước đó.
-Trong WF 3.5 có cả code class và designer class: Code class chứa đựng bản cài đặt
cho những đối tượng CodeActivity. Nó cũng chứa đựng định nghĩa thành viên lớp và bộ
thụ lý sự kiện. Trong WF 4.0 không có code class trong phiên bản này. Bù lại WF 4.0
cung cấp những activity được xây dựng sẵn như WriteLine, Assign...Nếu những activity
xây dựng sẵn này không đủ thì ta có thể tạo các custom activity bằng cách sử dụng
CodeActivity.
-Một điểm khác nữa là việc sử dụng variable và argument rõ ràng hơn. Bởi vì không

làm việc với Windows Presentation Foundation thì các file XAML trở nên rất quen
thuộc, đây là một dạng cấu trúc giống với XML cho phép người dùng có thể khai báo
các activity trong một workflow. Visual Studio 2010 hỗ trợ giao diện đồ họa trực quan
cho phép người dùng có thể tùy chỉnh các activity và các workflow.
Khi làm việc với WF4, có một điểm đáng chú ý trong IDE là các control là
Variables, Arguments và Imports.
14
Window Workflow Fowdation 4.0
Đây là một trong những cải tiến đáng kể trong WF4. Có thể hiểu Variables trong
WF4 một cách đơn giản như sau, nếu xem workflow là một class, thì Variables là class
members được dùng để lưu trữ các data của workflow, hoặc các data sẽ được chia sẽ
giữa các activity trong workflow. Các variable có thể được quy định mức độ như tồn tại
trong toàn bộ workflow hoặc chỉ tồn tại trong một thành phần nhỏ hơn.
Arguments cũng tương tự như Variables nhưng arguments được dùng để trao đổi
dữ liệu ra hoặc vào trong workflow. Có thể xem arguments như các method parameters.
Có một điểm chú ý là đối với arguments, chúng ta phải quy định Direction là In hay Out
đồng nghĩa với quy định rằng argument dùng để truyền dữ liệu vào workflow hay truyền
dữ liệu từ workflow ra ngoài.
Xây dựng Workflow
Để xây dựng workflow, ta có thể kéo thả các activity đã được xây dựng trong
Toolbox vào designer. Trong ví dụ này, workflow sẽ chỉ xuất ra màn hình dòng “Hello,
world”.
Để thực hiện, kéo thả một Sequence activity vào vùng designer và sau đó tiếp
tục kéo thả WriteLine activity vào Sequence activity vừa mới tạo ra ở trước. Kết quả thu
được là sơ đồ sau
15
Window Workflow Fowdation 4.0
Tuy nhiên, nếu chú ý những gì chúng ta đang làm thì khi chạy ứng dụng này,
chúng ta sẽ không thấy được kết quả. Do đó, để thấy được kết quả như thế nào, cần
thêm vào một số dòng lệnh bằng các thêm vào ở tập tin Program.cs như sau


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status