Nền tảng FileNet P8 cung cấp tính mở rộng và tính linh hoạt mức doanh nghiệp để xử lý các thách thức nội dung đòi hỏi khắt khe nhất, các quy trình nghiệp vụ phức tạp nhất và tích hợp với tất cả các hệ thống hiện có của bạn. Phần 1 của loạt bài này giới thiệu về kiến trúc FileNetP8 và BPF. Sau đó, với một ví dụ về khung công tác này đang hoạt động, nó xem xét một trường hợp nghiệp vụ với một công ty thương mại hư cấu có tên là Công ty XYZ, đi từ một phân tích các yêu cầu nghiệp vụ, thông qua việc mô hình hóa một thiết kế giải pháp, để triển khai thực hiện bằng FileNet P8.
25 trang |
Chia sẻ: haohao89 | Lượt xem: 1886 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Xây dựng các ứng dụng BPM bằng FileNet phần 2:, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Xây dựng các ứng dụng BPM bằng FileNet, Phần 2:
Cấu hình một ứng dụng Web FileNet bằng Business
Process Framework Explorer
Các bước tiếp theo trong kịch bản "Công ty XYZ"
Bo Li, Kỹ sư phần mềm về phát triển FileNet BPF, IBM
Wei Wang, Kỹ sư phần mềm, IBM
LaiFeng Zhang, Kỹ sư phần mềm, IBM
Tóm tắt: Đây là bài thứ hai của một loạt bài gồm ba bài hướng dẫn bạn tìm hiểu
cách xây dựng ứng dụng Web Business Process Management (BPM-Quản lý quy
trình nghiệp vụ) tùy chỉnh riêng của bạn. Bạn sẽ bắt đầu từ đầu, bằng cách sử dụng
nền tảng FileNet® P8 của IBM® và Business Process Framework (BPF-Khung
công tác quy trình nghiệp vụ), với một ví dụ dựa trên một nghiên cứu về trường
hợp của một công ty hư cấu, "Công ty XYZ". Phần 2 giới thiệu BPF và chỉ cho
bạn cách sử dụng BPF Explorer (Trình thám hiểm BPF) và cách chạy ứng dụng.
Ứng dụng Contract Management Web (Web Quản lý hợp đồng) và các tệp cấu
hình liên quan của nó với Content Engine (Máy Nội dung), Process Engine (Máy
Quy trình) và BPF Explorer có trong kết quả cuối cùng.
Mở đầu
Nền tảng FileNet P8 cung cấp tính mở rộng và tính linh hoạt mức doanh nghiệp để
xử lý các thách thức nội dung đòi hỏi khắt khe nhất, các quy trình nghiệp vụ phức
tạp nhất và tích hợp với tất cả các hệ thống hiện có của bạn. Phần 1 của loạt bài
này giới thiệu về kiến trúc FileNet P8 và BPF. Sau đó, với một ví dụ về khung
công tác này đang hoạt động, nó xem xét một trường hợp nghiệp vụ với một công
ty thương mại hư cấu có tên là Công ty XYZ, đi từ một phân tích các yêu cầu
nghiệp vụ, thông qua việc mô hình hóa một thiết kế giải pháp, để triển khai thực
hiện bằng FileNet P8.
Phần 2 là một hướng dẫn để cấu hình các ứng dụng Web BPF trong BPF Explorer.
Khi làm theo hướng dẫn với BPF, bạn sẽ đi qua quy trình triển khai thực hiện một
giải pháp.
IBM FileNet BPF
IBM FileNet BPF (Khung công tác quy trình nghiệp vụ FileNet của IBM) được
thiết kế và được xây dựng trên nền tảng FileNet P8 và sử dụng công nghệ mới
nhất trong công nghệ Web. BPF cho phép bạn nhanh chóng phát triển các ứng
dụng dựa vào quy trình, cho phép những người tham gia quy trình truy cập thông
qua trình duyệt Web.
Các lợi thế và các tính năng của BPF
Với khung công tác phát triển ứng dụng phù hợp của mình, BPF cung cấp một cơ
sở cấu hình cao, có chất lượng để làm giảm đáng kể số lượng mã mới chưa qua
thử thách cần dùng để hoàn thành một dự án. Nó có các đặc điểm sau:
Nó là một khung công tác quản lý của các đối tượng trường hợp, tích hợp
quy trình và nội dung.
Nó được tích hợp với eForms.
Nó dựa vào Ajax.
Nó sử dụng phân phối và quản lý công việc dựa trên vai trò.
Nó sử dụng tiêu chuẩn phân loại và ưu tiên phức tạp.
Nó có các hàm tìm kiếm và lọc tùy chỉnh.
Nó có kiểm soát quyền truy cập dựa trên người dùng.
Nó có khả năng xử lý hàng loạt.
Với các tính năng này, BPF cho phép bạn tạo các ứng dụng tùy chỉnh mà không có
thẻ giá tùy chỉnh.
Triển khai nhanh
Các giai đoạn thiết kế, phát triển, thử nghiệm chấp nhận của người dùng và
lập danh sách có thể xảy ra trong ít nhất là hai tháng.
BPF chạy nhanh chủ yếu trong giai đoạn phát triển, nhưng nó cũng có tác
động tích cực đến các giai đoạn khác do bạn đang làm việc với một khung
công tác bền vững.
Chất lượng cao
BPF làm giảm đáng kể số lượng mã mới chưa qua thử thách được sử dụng
trong một dự án.
Khung công tác kết hợp nhiều kinh nghiệm ngành nghề từ các dự án trong
quá khứ.
Mã nhất quán trong suốt quy trình, làm cho nó dễ bảo trì hơn.
Chức năng rộng rãi
Nhiều tính năng quản lý công việc phổ biến đã được xây dựng thành mã cơ
sở (như gõ các danh sách chọn trước, có khả năng để đẩy hoặc kéo công
việc và các dấu vết kiểm tra đầy đủ).
Các mục này sẽ có chi phí rất cao nếu bạn đã viết chúng từ đầu cho một dự
án tùy chỉnh.
Ứng dụng tùy chỉnh không có thẻ giá tùy chỉnh
Khung công tác cấu hình cao cung cấp khả năng thích ứng với hầu hết các
yêu cầu ứng dụng không cần mã hóa nhiều.
Các mục này sẽ có chi phí rất cao nếu bạn đã viết chúng từ đầu cho một dự
án tùy chỉnh.
Sự độc lập của khách hàng
Các công cụ cấu hình cung cấp cho những người sử dụng được đào tạo
đúng một cách để tiếp tục sửa đổi và điều chỉnh dễ dàng các ứng dụng theo
các yêu cầu của họ.
Kiến trúc BPF
Hình 1 mô tả kiến trúc tổng thể của BPF và cách BPF tương tác với nền tảng File
P8.
Hình 1. Kiến trúc BPF
Bản thân BPF có hai thành phần: một ứng dụng Web BPF (BPF Web application)
được triển khai trên một máy chủ J2EE và BPF Explorer. Ứng dụng Web BPF là
một cổng thông tin có thể cấu hình, có thể tùy chỉnh, ngoài hộp cho các ứng dụng
BPM và là một thùng chứa giao diện người dùng (UI) với các thành phần có liên
quan với các ứng dụng BPF. BPF Explorer là một công cụ dựa trên MMC
(Microsoft Management Console - Bàn điều khiển quản lý của Microsoft) dùng để
định nghĩa và cấu hình các ứng dụng BPF.
Trên tầng dữ liệu, còn được gọi là tầng bền vững, BPF sử dụng một kho lưu trữ
của máy nội dung để lưu trữ và quản lý dữ liệu đối tượng nghiệp vụ. Các giá trị cài
đặt ứng dụng Web BPF, mô hình đối tượng miền và các định nghĩa hiển thị trực
quan dữ liệu được lưu trữ trong một cơ sở dữ liệu siêu lưu trữ BPF chuyên dụng
do BPF Explorer quản lý.
Tầng nghiệp vụ được chia thành các phần sau đây:
Các dịch vụ nghiệp vụ BPF -- Một tập các mô-đun đặt trên tầng dữ liệu và
bao bọc logic nghiệp vụ quản lý trường hợp.
Ứng dụng Web BPF -- Ứng dụng, cung cấp giỏ tài liệu đến (inbasket) và
giao diện người sử dụng trình diễn công việc, được lưu trữ trong một môi
trường máy chủ ứng dụng J2EE. Nó sử dụng các dịch vụ nghiệp vụ BPF.
Tầng khách cung cấp hai máy khách cho tầng nghiệp vụ:
Máy khách Web -- Máy khách Web BPF cung cấp một giao diện tính năng
phong phú của máy khách hầu như dày đặc cho ứng dụng Web BPF và có
bao gồm các trang HTML, JSP, JavaScript và các đối tượng khác.
Các phép toán BPF -- Các phép toán BPF là một tập hợp các hàm được
đóng gói như là một lớp Java dựa trên nhà tích hợp (integrator) thành phần.
Các phép toán BPF tạo và sử dụng các đối tượng trường hợp bằng cách sử
dụng các dịch vụ nghiệp vụ BPF từ một bước trên sơ đồ dòng công việc.
Triển khai thực hiện một giải pháp BPF sử dụng BPF Explorer
Hình 2 cho thấy toàn bộ dòng quy trình của ứng dụng Quản lý hợp đồng (Contract
Management), ứng dụng ví dụ mà chúng ta đã thiết kế trong Phần 1 của loạt bài
này. Dựa trên dòng quy trình này, chúng ta có thể nhận biết các vai trò liên quan,
các bước quy trình, đối tượng trường hợp được định tuyến giữa các bước này và
các đáp ứng ở mỗi bước. Bây giờ chúng ta sẽ bắt đầu triển khai thực hiện quy trình
này bằng cách cấu hình tất cả các vấn đề này trong BPF Explorer.
Hình 2. Dòng quy trình của ứng dụng Quản lý hợp đồng
Trước khi bắt đầu, bạn cần phải nhập khẩu tệp cấu hình BPF cơ bản vào BPF
Explorer. Bạn có thể tìm thấy tệp này trong phần Tải về ở cuối bài viết này. Chúng
tôi khuyên bạn nên nhập khẩu các tệp cấu hình cho ứng dụng Quản lý hợp đồng
BPF (cũng có trong các bản tải về) khi lần đầu tiên bạn đọc bài viết này, để bạn có
thể xem lại quy trình cấu hình một cách nhanh chóng và có một sự hiểu biết cơ
bản. Sau đó, bạn có thể nhập khẩu tệp cấu hình BPF cơ bản một lần nữa và thực
hiện các nhiệm vụ cấu hình này từng bước một theo hướng dẫn dưới đây.
Định nghĩa những người sử dụng và các vai trò
BPF có thể sử dụng những người dùng và các nhóm có trong thư mục LDAP, đó
là, Active Directory (Thư mục hiện tại) trong ví dụ của chúng ta, cũng như các vai
trò truy cập Vùng làm việc. Ở đây chúng ta chấp nhận tùy chọn đầu tiên bằng cách
thiết lập Enable Access Roles là False (Cho phép các vai trò truy cập là Sai) như
Hình 3. Khi bạn thiết lập tùy chọn này là False, bạn không cần phải tạo ra bất kỳ
các vai trò truy cập nào trong Vùng làm việc.
Hình 3. Vô hiệu hoá các vai trò truy cập
Sau đó hãy tạo những người sử dụng và các nhóm sau đây trong Active Directory.
Bảng 1. Những người dùng và các nhóm trong Active Directory
Nhóm Người dùng thành viên
Người lập chỉ
mục joe
Người kiểm tra mark
Người phê duyệt ana
Người giám sát sue
Cuối cùng, chúng ta tạo những người dùng và các vai trò sau đây trong BPF
Explorer. Trong BPF, chúng ta chỉ cần tạo những người dùng có tên giống như vai
trò của họ. Những người dùng này là những người dùng mẫu. Khi một người dùng
đăng nhập lần đầu tiên, BPF sẽ xác thực người dùng này dựa vào Active Directory
và tự động thêm người dùng này vào cơ sở dữ liệu siêu lưu trữ BPF.
Bảng 2. Những người sử dụng và các nhóm trong BPF Explorer
Nhóm Người dùng thành viên
Người lập chỉ
mục người lập chỉ mục
Người kiểm tra người kiểm tra
Người phê duyệt người phê duyệt
Người giám sát người giám sát
Lưu ý, khi định nghĩa một vai trò trong BPF explorer, Access name (Tên truy cập)
phải giống như tên nhóm tương ứng trong Active Directory, do chúng ta đặt
Enable Access Roles là false. Nếu không, nó phải giống như vai trò truy cập
tương ứng của nó trong Vùng làm việc.
Tạo các trường trường hợp và đối tượng trường hợp của Quản lý hợp đồng
Trên trang cấu hình Case Dictionary (Từ điển trường hợp) trong BPF Explorer,
bạn có thể chỉ rõ các trường ứng dụng nào có trong một kiểu trường hợp. Trước
khi bạn làm điều này, bạn cần định nghĩa kiểu trường hợp và tạo ra tất cả các
trường cho nó.
Dựa trên mô hình dữ liệu được định nghĩa trong Máy Nội dung, hãy tạo thủ công
các trường ứng dụng được liệt kê trong Hình 4 trừ những trường bắt đầu bằng
BP8.
Hình 4. Các trường ứng dụng
Sau đó bạn định nghĩa một kiểu trường hợp là Quản lý hợp đồng (Contract
Management) và trưng ra tất cả các trường của ứng dụng mà bạn vừa tạo cho nó
trong Case Dictionary, như trong Hình 5.
Hình 5. Quản lý hợp đồng trong Case Dictionary
Cuối cùng, bạn cần cấu hình công cụ create_case, như bạn thấy trong Hình 6, để
quy định giao diện khi tạo ra một trường hợp Contract (Hợp đồng) mới. Bạn có
thể thiết lập các giá trị hiển thị và mặc định và chỉ rõ chúng có cần thiết hay
không.
Hình 6. Cấu hình của công cụ create_case
Nhập khẩu định nghĩa dòng công việc
Thay vì cấu hình thủ công dòng công việc trong BPF Explorer, bạn có thể sử dụng
một công cụ tiện ích được cung cấp để nhập khẩu tự động các cấu hình dòng công
việc. Đó là WFImport.exe, nằm trong C:\Program Files\FileNet Business Process
Framework\Utils\. Hãy khởi chạy công cụ này, xác định tệp .pep của dòng công
việc Quản lý hợp đồng, chọn tất cả các bước và các đáp ứng và nhập khẩu. Sau đó,
bạn có thể xem các cấu hình dòng công việc này trong BPF Explorer.
Tạo và cấu hình các giỏ tài liệu đến
Trong bước này, chúng ta sẽ định nghĩa các giỏ tài liệu đến (inbasket) cho từng vai
trò. Theo dòng quy trình này, chúng ta có thể thấy rằng chúng ta cần các các giỏ
tài liệu đến sau đây.
Đối với Người lập chỉ mục:
o Index Inbasket (Lập chỉ mục các giỏ tài liệu đến) giữ các trường hợp
vừa mới được tạo ra đang chờ lập chỉ mục.
o My Work Inbasket (Các giỏ tài liệu đến công việc của tôi) làm hộp
thư đến cá nhân để giữ các trường hợp đang chờ.
Đối với Người kiểm tra:
o Review Inbasket (Kiểm tra các giỏ tài liệu đến) giữ các trường hợp
đang chờ đợi kiểm tra.
o My Work Inbasket (Các giỏ tài liệu đến công việc của tôi) làm hộp
thư đến cá nhân để giữ các trường hợp đang chờ.
Đối với Người phê duyệt:
o Pending Approvals Inbasket (Các giỏ đang chờ phê duyệt) giữ các
trường hợp đang chờ phê duyệt.
Đối với Người giám sát:
o Index Inbasket giữ các trường hợp vừa mới được tạo đang chờ đợi
để lập chỉ mục.
o Review Inbasket giữ các trường hợp đang chờ đợi kiểm tra.
o My Work Inbasket làm hộp thư đến cá nhân để giữ các trường hợp
đang chờ.
Ở đây chúng ta lấy Index Inbasket cho Người lập chỉ mục làm ví dụ. Hãy làm theo
các bước sau:
1. Trong trình đơn ngữ cảnh của Inbasket Configuration (Cấu hình giỏ tài liệu
đến), chọn New -> Inbasket.
2. Từ thẻ General, đặt tên Inbasket là Index (Chỉ mục), Master Role (Vai trò
chính) là Indexer (Người tạo chỉ mục), Step name (tên Bước) là Indexing
Queue (Lập chỉ mục hàng đợi), Queue name (tên Hàng đợi) là
ContractManagement (Quản lý hợp đồng) và Filter name (tên Bộ lọc) là
public filter.
3. Đánh dấu chọn Sequential Modes (Các chế độ Tuần tự) và bỏ dấu chọn
Browse Models (Duyệt các mô hình), để sử dụng chế độ "Go Next"
(Chuyển đến) thay cho "Browse". Vì vậy khi chúng ta nhập vào giỏ này,
một trường hợp sẽ được mở tự động, thay vì hiển thị một danh sách các
trường hợp.
4. Đánh dấu chọn hai tùy chọn: Enable Save button (Cho phép nút Lưu) và
Enable Close button (Cho phép nút Đóng). Bằng cách cho phép các tùy
chọn này, các nút Save và Close sẽ được thêm vào thanh công cụ và chúng
ta có thể sử dụng chúng để lưu và đóng một trường hợp. Giữ nguyên các
tùy chọn khác ở giá trị mặc định của chúng.
Hình 7. Cấu hình chung của Index Inbasket
5. Trên thẻ Roles (Các vai trò), chọn Indexer và đặt nó tới vai trò Master như
trong Hình 8.
Hình 8. Cấu hình Roles của Inbasket Index
6. Trên thẻ Responses (Các đáp ứng), với đáp ứng IndexComplete, xác định
các trường cần thiết như trong Hình 9. Vì vậy, nếu bạn muốn thực hiện
hành động này, bạn phải nhập các giá trị cho các trường cần thiết này.
Hình 9. Cấu hình đáp ứng IndexComplete của Inbasket Index
7. Với đáp ứng IndexPend, chúng ta đã thêm một số lý do có sẵn và thêm một
hoạt động với PERSONAL Group là Case Filed và Active User Name (Tên
người dùng hoạt động) là Builtin Property (Đặc tính kèm sẵn), như trong
Hình 10. Vì vậy, khi tạm dừng một trường hợp, đáp ứng này sẽ được gửi tới
Hộp thư đến (Inbox) của chúng ta.
Hình 10. Cấu hình đáp ứng IndexComplete của Inbasket Index
8. Đối với đáp ứng Index Reject, thêm một số lý do có sẵn như trong Hình 11.
Hình 11. Cấu hình đáp ứng IndexComplete của Inbasket Index
9. Trên thẻ Browse Fields (Duyệt các trường), chọn các trường sau đây như
trong Hình 12. Những người dùng sẽ thấy các trường này trong danh sách
trường hợp trong Browse Mode (Chế độ duyệt).
Hình 12. Cấu hình Browse Fields của Inbasket Index
10. Trên thẻ Case Fields (Các trường trường hợp), chọn các trường sau đây như
trong Hình 13. Những người dùng sẽ thấy các trường này trong Case Tab
(Thẻ Trường hợp) sau khi mở một trường hợp. Bạn có thể sử dụng Case
Tab Designer (Nhà thiết kế Thẻ trường hợp) để thiết kế giao diện người
dùng khi hiển thị Case.
Hình 13. Cấu hình Case Fields của Inbasket Index
Hình 14. Nhà thiết kế Thẻ trường hợp
11. Trên thẻ Inbasket Filters , thêm các bộ lọc Priority (Ưu tiên), ReceiveDate
(Ngày nhận) và Case ID (Mã định danh trường hợp).
Hình 15. Cấu hình Inbasket Filters
12. Trên thẻ Toolbar (Thanh công cụ), cấu hình các công cụ như trong Hình 16.
Hình 16. Cấu hình Thanh công cụ (Toobar)
13. Trên thẻ Tabs, chọn Case, Attachment (Gắn kèm) và Audit (Kiểm toán)
như trong Hình 17. Khi chúng ta mở một trường hợp, chúng ta sẽ thấy ba
thẻ này.
Hình 17. Cấu hình các Thẻ
Hình dưới đây minh họa giao diện người dùng nhận được mà chúng ta vừa cấu
hình ở trên.
Hình 18. Giao diện người dùng Web nhận được
Chạy ứng dụng
Khởi động lại máy chủ J2EE ở nơi ứng dụng Web BPF được lưu trữ. Sau khi máy
chủ đã khởi động xong, mở Internet Explorer và nhập URL của ứng dụng Web
BPF. Trên trang đăng nhập, hãy đăng nhập như là người lập chỉ mục khi sử dụng
người dùng "joe". Sau đó, bạn sẽ thấy trang giao diện của người lập chỉ mục như
hình dưới đây. Để tìm hiểu toàn bộ ứng dụng, hãy tham khảo bài viết trong Phần
3.
Hình 19. Giao diện ứng dụng
Kết luận
Trong bài viết này, dựa trên mô hình nội dung và quy trình và các tài sản trong
Phần 1, chúng ta đã tập trung vào việc triển khai thực hiện kịch bản nghiệp vụ của
Công ty XYZ và xây dựng một ứng dụng Web BPF. Chúng ta đã thảo luận thêm
về cách cấu hình ứng dụng trong BPF Explorer, bao gồm những người dùng và
các vai trò, mô hình trường hợp, dòng công việc và các giỏ tài liệu đến. Bạn có thể
tải các tệp xml do chúng tôi cung cấp và nhập chúng vào BPF Explorer của bạn để
nghiên cứu.
Phần 3 sẽ tập trung vào cách sử dụng ứng dụng Web BPF mà chúng ta vừa xây
dựng xong, bao gồm một số chủ đề nâng cao.