Kết luận:Thông qua các định nghĩa ở trên, chúng ta có thể hiểu tiến trình nghiệp vụlà một dòng chảy các hoạt động được thực hiện bởi con người hay máy móc được phân chia thực hiện theo
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trần Thu Trang
HỆ THỐNG QUẢN LÝ TIẾN TRÌNH NGHIỆP
VỤ VÀ ỨNG DỤNG CHO BÀI TOÁN QUẢN LÝ VĂN BẢN ĐI ĐẾN TRONG NỘI BỘ CƠ QUAN
Ngành:CÔNG NGHỆ THÔNG TIN Chuyên ngành: HỆ THỐNG THÔNG TIN
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học:
PGS.TS Nguyễn Văn Vỵ
HÀ NỘI – 2015
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kếtquả nêu trong luận văn làtrung thực và chưa từng được ai công bố trong bất kỳcông trình nào khác
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này
đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc
Học viên thực hiện Luận văn
Trần Thu Trang
Trang 41
LỜI CÁM ƠN
Trước tiên tôi xin được bày tỏ sự trân trọng và lòng biết ơn đối với PGS.TS Nguyễn Văn Vỵ, giảng viên Bộ môn Công nghệ phần mềm – Khoa Công nghệ thông tin – Trường Đại học Công nghệ - ĐHQGHN Trong thời gian học và làm luận văn tốt nghiệp, thầy đã dành nhiều thời gian quý báu và tận tình chỉ bảo, hướng dẫn tôi trong việc nghiên cứu, thực hiện luận văn
Tôi xin được cảm ơn các GS, TS đã giảng dạy tôi trong quá trình học tập và làm luận văn Các thầy đã giúp tôi hiểu thấu đáo hơn lĩnh vực mà mình nghiên cứu để có thể vận dụng các kiến thức đó vào trong công tác của mình
Xin cảm ơn các bạn bè, đồng nghiệp và nhất là các thành viên trong gia đình đã tạo mọi điều kiện tốt nhất, động viên, cổ vũ tôi trong suốt quá trình học tập và nghiên cứu để hoàn thành tốt bản luận văn tốt nghiệp này
HàNội, tháng 05 năm 2015
Tác giả
Trần Thu Trang
Trang 52
MỤC LỤC
LỜI CAM ĐOAN 0
LỜI CÁM ƠN 1
MỤC LỤC 2
MỞ ĐẦU 4
Giới thiệu 4
Cấu trúc luận văn 4
Chương I: Tổng quan về hệ thống quản lý tiến trình nghiệp vụ 6
1.1.Quản lý tiến trình nghiệp vụ (Business Process Management-BPM) 6
1.1.1.Lịch sử BPM 6
1.1.2.Khái niệm BusinessProcess 7
1.1.3.Phân loại BusinessProcess 8
1.1.4.Định nghĩa Business Process Management - BPM 9
1.2.Mô hình hóa tiến trình nghiệp vụ (Business Process Modeling) 10
1.2.1.Một số ký pháp mô hình hóa tiến trình nghiệp vụ 10
1.2.2.Chuẩn mô hình hóa tiến trình nghiệp vụ 13
1.2.3 Từ mô hình hóa đến thực thi tự động tiến trình nghiệp vụ 24
1.3.Hệ thống quản lý tiến trình nghiệp vụ (Business Process Management System BPMS) 33
1.3.1.BPM + IT = BPMS (Business Process Management System) 34
1.3.2 Lịch sử hình thành và phát triển BPMS 36
1.3.3 BPMS liên quan đến kiến trúc hướng dịch vụ SOA như thế nào? 40
1.3.4 Những tiêu chuẩn đang được phát triển cho BPMS 40
1.3.5 Kiến trúc hệ thống BPMS 41
1.3.6 Thị trường BPMS 42
Chương II: Hệ thống quản lý tiến trình nghiệp vụ Intalio|BPMS 48
2.1.Quy trình tổng quát triển khai một ứng dụng theo BPMS 48
2.1.1.Phương pháp BPMS 48
2.1.2.Quy trình phát triển ứng dụng theo BPMS 49
2.1.3 Mô hình vòng đời phát triển của BPMS 50
2.2.Tổng quan về Intalio 51
2.2.1.Intalio|BPMS 52
Trang 63
2.2.2 Intalio|Design 53
2.2.3 Intalio|Server 69
Chương III: Ứng dụng 76
3.1 Cài đặt công cụ mô hình hóa: Intalio|Design: 76
3.2 Các bước xây dựng ứng dụng 77
3.2.1 Bước 1: Phân tích đặc tả bài toán 77
3.2.2 Bước 2: Cài đặt và vận hành 78
3.3 Triển khai thử nghiệm các ứng dụng 78
3.3.1 Tiến trình nghiệp vụ Duyệt văn bản 78
3.3.2 Tiến trình nghiệp vụ Xin văn phòng phẩm 84
KẾT LUẬN 91
1.Phương pháp luận và phương pháp 91
2.Ứng dụng thực tiễn 91
3.Những tồn tại và hướng tiếp tục 91
Tài liệu tham khảo 93
Trang 7BPM là một giải pháp công nghệ mới dựa trên nền tảng web và hướng dịch vụ Ứng dụng công nghệ này phù hợp với yêu cầu quản lý của các doanh nghiệp cũng như
xu hướng phát triển công nghệ, tạo khả năng tái cấu trúc nhanh chóng các tiến trình nghiệp vụ của tổ chức Đó cũng là một nhu cầu cấp bách đối với các doanh nghiệp
ngày nay Vì những đặc trưng mới này, đề tài “Hệ thống quản lý tiến trình nghiệp vụ
và ứng dụng cho bài toán quản lý văn bản đi đến trong nội bộ cơ quan” được tôi chọn
làm đề tài luận văn Mục tiêu là làm quen với một cách tiếp cận mới để triển khai ứng dụng công nghệ thông tin và thử nghiệm để có thể rút ra kinh nghiệm bước đầu thực hiện các ứng dụng theo định hướng này
Cấu trúc luận văn
Luận văn này sẽ tập trung nghiên cứu tìm hiểu về khái niệm, kiến trúc, công nghệ của các thành phần xây dựng lên một “Hệ thống quản lý tiến trình nghiệp vụ”, cài đặt
và triển khai thử nghiệm Luận văn gồm 4 chương sau
− Chương I: Giới thiệu
Trang 85
− Chương II: Tìm hiểu “Hệ thống quản lý tiến trình nghiệp vụ” - Business Process Management System (BPMS) trong chương này sẽ trình bày các nội dung sau:
Các khái niệm liên quan đến hệ thống quản lý tiến trình nghiệp vụ như:
“Quy trình nghiệp vụ - Business Process”; “Quản lý tiến trình nghiệp vụ - Business Process Manager”; “Mô hình hóa tiến trình nghiệp vụ - Business Process Modeling”: Trong phần này sẽ trình bày về chuẩn mô tả Quy trình quản lý nghiệp vụ Business Process Management Notation BPMN, và ngôn ngữ thực thi Quy trình nghiệp vụ Business Process Execution Language BPEL
Khái niệm, kiến trúc của hệ thống BPMS, các sản phẩm BPMS tiêu biểu
− Chương III: Tìm hiểu một hệ thống BPMS cụ thể, hệ thống Intalio|BPMS – hệ thống BPMS mã nguồn mở, được đánh giá là đáng tin cậy nhất và được nhiều tổ chức, doanh nghiệp trên thế giới sử dụng
− Chương IV:Chương này trình bày về việc thực hiện cài đặt hệ thống Intalio|BPMS Xây dựng một số ví dụ mô hình tiến trình nghiệp vụ bằng các công
cụ do hệ thống Intalio|BPMS cung cấp
− Cuối cùng là kết luận và tài liệu tham khảo
Trang 91.1.1.Lịch sử BPM
Các nhà lý thuyết quản lý không ngừng phát triển những ý tưởng mới về khái niệm quản lý để hỗ trợ cho các tổ chức, doanh nghiệp đối mặt với những thách thức của thị trường ngày càng phát triển nhanh, độ cạnh tranh cao Mặc dù lúc đầu những ý tưởng quản lý có vẻ khác nhau và không liên quan đến nhau, nhưng chúng đều có một điểm chung không thay đổi qua nhiều năm sau Họ có thể gọi đó là quá trình tái cấu trúc tiến trình nghiệp vụ, kinh doanh (Business Process Reengineering - BPR), hay Quản lý chất lượng tổng thể (Total Quality Management -TQM), hay là Six Sigma, tuy nhiên chúng đều có một khái niệm chung đó là Quản lý tiến trình (Process Management)Chang (2006)
Thuyết Quản lý tiến trình ngày nay có nguồn gốc từ thuyết về chất lượng những năm 80, và tái cấu trúc Quy trình kinh doanh, nghiệp vụ những năm 90:
Trong cuộc cách mạng việc làmnăm 1776, Adam Smith đã đưa ra ý tưởng về chuyên hóa môn lao động Khái niệm chuyên môn hóa lao động là nền tảng của việc phân phòng ban, ngành theo chức năng trong các tổ chức hiện nay
Cuộc cách mạng tiếp theo là của kỹ sư Frederick Winslow Taylor (được biết đến với phát minh công cụ máy thép) Taylor mở rộng khái niệm của Smith về chuyên môn hóa lao động bằng việc đưa ra phương pháp khoa học và phép đo lường quá trình sản xuất được trình bày trong cuốn sách Principles of Scientific Management (1991)
Trang 107
Một trong những người đầu tiên đã điều chỉnh thuyết của Taylor đó là Henry Ford – người thành lập hãng Ford Motor (1913) Henry Ford đã mở rộng khái niệm chuyên môn hóa lao động và đưa ra quy định về trình tự để hoàn thành công việc Khái niệm này cho phép sản xuất hàng loạt và đưa ra được các thông số kỹ thuật của quá trình sản xuất
Trong những năm 1970, các tập đoàn của Mỹ bắt đầu nhận thấy sự cạnh tranh từ Châu Âu và các đối tác Nhật Bản, người tiêu dùng có quyền lựa chọn cho việc mua sắm Do đó các nhà sản xuất bắt buộc phải sản xuất ra sản phẩm chất lượng đáp ứng yêu cầu, dịch vụ của khách hàng Vì vậy thuyết Quản lý tiến trình đòi hỏi phải hướng tới việc thỏa mãn yêu cầu của khách hàng, thu hút khách hàng
1.1.2.Khái niệm BusinessProcess
Để tìm hiểu Quản lý tiến trình nghiệp vụ là gì chúng ta cần hiểu khái niệm tiến trình nghiệp vụ(Business Process)là gì?
Phụ thuộc vào từng lĩnh vực khác nhau mà người ta đưa ra định nghĩa tiến trình khác nhau Theo Chang (2006) đưa ra định nghĩa tiến trìnhtheo 2 góc nhìn khác nhau như sau:
− Theo góc nhìn kỹ thuật hệ thống, tiến trình là: Một chuỗi các sự kiện sử dụng nguyên liệu đầu vào để sản xuất ra các kết quả đầu ra
− Theo góc nhìn kinh doanh, tiến trình là: Một dòng chảy các hoạt động được thực hiện bởi con người hay máy móc được phân chia thực hiện theo các phòng ban để đạt được mục tiêu kinh doanh, tạo ra các giá trị nội bộ và thỏa mãn yêu cầu của khách hàng
Theo Aguilar và Ruth (2004), tiến trình nghiệp vụ là sự kết hợp có logic, cấu trúc,
hoạt động một cách độc lập của các hoạt động trong tổ chức, doanh nghiệp nhằm đạt được mục tiêu, kết quả mong muốn
Theo Hammer và Champy (1993), tiến trình nghiệp vụlà một tập các hoạt động
cùng với nhau nhằm tạo ra các kết quả có giá trị cho khách hàng
Trang 118
Theo Davenport (1993), tiến trình nghiệp vụ là sự thực hiện có trình tự bắt đầu –
kết thúc của các hoạt động với đầu vào và đầu ra xác định
Theo Talwar (1993), tiến trình nghiệp vụ là bất kỳ chuỗi hoạt động nào được định
nghĩa từ trước được thực hiện để đạt tới các kết quả đã được định trước
Kết luận:Thông qua các định nghĩa ở trên, chúng ta có thể hiểu tiến trình nghiệp
vụlà một dòng chảy các hoạt động được thực hiện bởi con người hay máy móc được
phân chia thực hiện theo các phòng ban để đạt được mục tiêu kinh doanh, tạo ra các giá trị nội bộ và thỏa mãn yêu cầu của khách hàng
1.1.3.Phân loại BusinessProcess
Sự phân loại Business Process cũng phụ thuộc vào các góc nhìn khác nhau Theo như Batson và Williams (1998), đã đưa ra gợi ý phân loại Bussiness Process như sau:
− Phân loại theo chức năng (Functional) và liên chức năng(Cross-Functional):
Functional là tập hợp các hoạt động thực hiện một chức năng cụ thể trong một
phòng ban cụ thể như “Kế toán”.Cross-Functional là sự liên kết các hoạt động
chức năng giữa các phòng ban, ví dụ: Chức năng “Thực hiện đơn hàng” có thể bao gồm đơn hàng, việc sản xuất và vận chuyển hàng
− Customer vs Administrator: Customer là những tiến trình thực hiện việc cung
cấp sản phẩm tới khách hàng Administrator là những tiến trình nằm trong nội bộ
tổ chức hỗ trợ cho các tiến trìnhCustomer
− Manufacturing vs Service: Manufacturing là hoạt động sản xuất ra những hàng
hóa hữu hình Service: là hoạt động nhằm sản xuất ra hàng hóa vô hình, đem lại
lợi ích cho tổ chức, kinh doanh
Một cách phân chia khác, theo bài viết Al Mashari 2000, Willcocks và Smith đã phân loại Business Process thành 4 nhóm cơ bản:
− Core: Trung tâm hoạt động của tiến trình
− Support: Thành phần hỗ trợ như: Công nghệ thông tin, kế toán…
Trang 129
− Management: Thành phần quản lý, thực hiện việc tổ chức, kiểm soát nguồn lực kinh doanh
− Business network Process: Những hoạt động bên ngoài tổ chức, doanh nghiệp
Sự phân loại này của Willcocks và Smith gần với sự phân loại Business Process được định nghĩa trong Wikipedia về “Type of Business Process” Theo Wikipedia (Process Types, 2008) Business Process được phân loại như sau:
− Management Process: Các hoạt động chi phối toàn bộ hoạt động của hệ thống,
gồm 2 hoạt động Quản lý tổ chức doanh nghiệp (Corporate Govermance) và
Chiến lược quản lý (Strategic Management)
− Operation Process: Các hoạt động cốt lõi của việc kinh doanh, tạo ra các giá trị, như: Quá trình mua, Sản xuất, Tiếp thị, Bán hàng…
− Supporting Process: Các hoạt động thực hiện nhiệm vụ hỗ trợ các hoạt động kinh doanh cốt lõi, như: Kế toán, Hỗ trợ kỹ thuật, Tuyển dụng…
1.1.4.Định nghĩa Business Process Management - BPM
Theo Chang (2006), tại đại học Florida đã đưa ra định nghĩa BPM như sau:
“Quản lý tiến trình nghiệp vụ là: Một cách tiếp cận có hệ thống, cấu trúc nhằm phân tích, cải tiến, kiểm soát và quản lý các tiến trình với mục đích nâng cao chất lượng sản phẩm dịch vụ”
Cũng theo một bài bác khác của Chang (2006) đã chỉ ra: “Quản lý tiến trình nghiệp vụ là: Các phương pháp tiếp cận chiến lược kinh doanh để thu được kết quả đột phá trong việc thu được hiệu suất cao của quá trình thực hiện, và thỏa mãn nhu cầu của khách hàng”
Dựa trên quan điểm của giáo sư Mary J.Benner và giáo sư Michael L Tushman, Chang (2006) đã sửa đổi và đưa ra khái niệm sau: “Quản lý tiến trình là việc dựa trên cái nhìn toàn bộ tổ chức như một hệ thống gồm các tiến trình liên kết với nhau, chúng
có mối quan hệ chặc chẽ được mô hình hóa dưới dạng sơ đồ, qua đó có thể cải tiến và đảm bảo các tiến trình của tổ chức một cách tốt nhất, hiệu quả nhất”
Trang 1310
Kết luận:
Xét về mặt quản lý:BPM là cách tiếp cận có hệ thống nhằm giúp tổ chức, doanh
nghiệp tiêu chuẩn hóa, tối ưu hóa tiến trình hoạt động với mục đích giảm chi phí, tăng chất lượng hoạt động nhằm đạt tới các mục tiêu cần thiết
Về mặt công nghệ:BPM là một bộ công cụ giúp tổ chức, doanh nghiệp thiết kế,
mô hình hóa, triển khai, giám sát, vận hành và cải tiến các tiến trình kinh doanh một cách linh hoạt
Tóm lại, BPM có thể được hiểunhư sau: “Quản lý tiến trình là việc dựa trên cái nhìn toàn bộ tổ chức như một hệ thống gồm các tiến trình liên kết với nhau, chúng có mối quan hệ chặt chẽ được mô hình hóa dưới dạng sơ đồ, qua đó có thể cải tiến và đảm bảo các tiến trình của tổ chức một cách tốt nhất, hiệu quả nhất” Chang(2006)
1.2.Mô hình hóa tiến trình nghiệp vụ (Business Process Modeling)
Trong phần 1.1 chúng ta đã tìm hiểu Quản lý tiến trình nghiệp vụ BPM là gì, vậy làm thế nào để xây dựng được một phần mềm hệ thốngQuản lý tiến trình nghiệp vụ?
Để trả lời được câu hỏi này trước hết chúng ta cần phải có công cụ để mô hình hóa tiến trình nghiệp vụ Trong phần này sẽ trình bày các công nghệ để mô hình hóa tiến trình nghiệp vụ, đặc biệt sẽ tìm hiểu sâu về chuẩn mô hình đang được sử dụng rất rộng rãi,
và được đánh giá cao phù hợp với mô hình hóa tiến trình nghiệp vụ đó là chuẩn Business Process Modeling Notation (BPMN)
1.2.1.Một số ký pháp mô hình hóa tiến trình nghiệp vụ
1.2.1.1.Ký pháp mô hình hóaFlow chart
Flow chart là công cụ đồ họa gồm các ký hiệu để biểu diễn cho các phép toán, dữ liệu, hướng đi, thiết bị … nhằm mục đích định nghĩa, phân tích và giải quyết vấn đề Flow chart được coi là hệ thống ký pháp mô tả các tiến trình đầu tiên Flow chart mô tả dòng hành động theo thứ tự xác định và không hỗ trợ trường hợp các hành vi gặp lỗi
Vì vậy công nghệ flow chart thường được sử dụng để mô tả các tiến trình ở mức cao,
Trang 1411
nó rất dễ sử dụng, không tốn nhiều thời gian, giúp nhanh chóng xác định được điểm không hợp lý của các tiến trình để cải tiến (Aguilar and Ruth 2004)
1.2.1.2.Ký pháp mô hình hóaData Flow Diagram (DFD)
DFD dùng để mô tả dòng dữ liệu, mối quan hệ giữa các tiến trình với nhau và với các thành phần bên ngoài DFD có thể được coi như là một phương thức để tổ chức dữ liệu Nó được phát triển bởi Yourdon vào năm 1960
1.2.1.3 Ký pháp mô hình hóaRole Activity Diagrams (RAD)
RAD tập trung vào biểu diễn vai trò của tiến trình và sự tương tác giữa chúng RAD có 4 ký pháp cơ bản là Role, Sates, Actions và Interaction (Middlesex University, 2009)
1.2.1.4 Ký pháp mô hình hóaRole Interaction Diagram (RID)
RID gồm tập các ký tự và ký hiệu để biểu diễn tiến trình, các hoạt động và vai trò được kết nối với nhau tạo thành một ma trận Trục tung biểu diễn các hoạt động, vai trò được biểu diễn trên trục hoành, đường nằm ngang thể hiện sự tương tác với con người (Aguilar and Ruth, 2004)
RID không được mềm dẻo như flowchart, các ký pháp khá cứng nhắc Với các mũi tên chỉ trái phải rất khó để xây dựng, tuy nhiên RID có khả năng chia nhỏ các hoạt động, có thể biểu diễn được các tiến trình phức tạp RID rất có hiệu quả trong việc thiết
kế luồng công việc (workflow), RID được sử dụng nhiều trong việc thể hiện sự điều phối, tương tác của các tiến trình
1.2.1.5 Ký pháp mô hình hóaObject-Oriented method and Unified Modeling Language (UML)
Lịch sử phát triển lập trình hướng đối tượng được bắt đầu với sự phát triển của ngôn ngữ mô phỏng sự kiện rời rạc của Dahl và Nygaard ở Nauy vào năm 1967 Phương pháp hướng đối tượng được định nghĩa như sau: Phương phápđược sử dụng để
mô hình hóa và lập chương trình đó là coi tiến trình như một đối tượng (Aguilar and Ruth, 2004)
Trang 1512
Đi kèm theo phương pháp hướng đối tượng có rất nhiều công nghệ khác như Object-Oriented Design (OOD), Object-Oriented Analysis and Design (OOAD), Object Modeling Technique (OMT) và Object Oriented System Analysis (OOSA) Những công nghệ này khác nhau cơ bản ở tập các ký pháp cung cấp.Tuy nhiên có một phương pháp Object-Oriented (OO) hiệu quả, được đánh giá cao nhất là UML
UML được phát triển bởi Object Manangement Group (OMG)để mô hình hóa các phần mềm ứng dụng theo hướng đối tượng, nó được thiết kế rất mềm dẻo và hướng người dùng UML cho phép các nhà phát triển tạo được rất nhiều loại mô hình khác nhau như: mô hình nghiệp vụ (business tiến trình), mô hình luồng công việc (workflow), mô hình tuần tự (sequence), mô hình ứng dụng, database, kiến trúc (architecture)…(Maksimchuk and Naiburg, 2004)
UML có tất cả 14 loại biểu đồ, được chia làm 2 nhóm chính: biểu đồ hành vi, biểu
đồ cấu trúc Sơ đồ dưới đây mô tả các loại biểu đồ trong UML (UML v2.2,2009):
Hình 1.1 Các loại biểu đồ trong UML Tuy nhiên tất cả các loại biểu đồ trên đều không thích hợp để mô hình hóa tiến trình nghiệp vụ, nếu cần thiết để mô hình hóa tiến trình nghiệp vụ bằng UML thì chỉ có
Trang 16BPMN được phát triển từ Business Process Management Initiative (BPMI), phiên bản BPMN 1.0 được đưa ra vào tháng 5/2004 Tháng 6 năm 2005 BPMI và OMG công
bố sự kết hợp hoạt động Quản lý tiến trình nghiệp vụ BPM của họ để đưa ra một chuẩn công nghiệp cho ngành công nghiệp BPM đang ngày càng phát triển này Tính đến tháng 3 năm 2011, phiên bản hiện tại của BPMN là 2.0
OMG: được thành lập năm 1989 gồm 11 công ty trong đó có Hewlett-Packard, IBM, Sun Microsystems, Apple Computer, American Airlines and Data General Tính đến nay hơn 800 công ty cả công nghiệp máy tính và công ty sử dụng phần mềm là thành viên của OMG Các sản phầm của OMG: UML 2.1, MOF 2.0, XMI 2.1 (2006), BPMN(2005), Business Motivation Model (BMM) (2007), Consortum of IT Software Quality(CISQ)…
Tại sao lại dùng BPMN để mô hình hóa tiến trình nghiệp vụ?
BPMN là một chuẩn để mô hình hóa tiến trình nghiệp vụ đã được quốc tế công nhận
BPMN độc lập với các phương pháp mô hình hóa tiến trình
BPMN rút ngắn khoảng cách giữa tiến trình nghiệp vụ với việc thực thi nó
BPMN cung cấp ký pháp tiêu chuẩn để tất cả các bên liên quan nghiệp vụ đều có
thể hiểu được: Các nhà phân tích kinh doanh – người tạo ra và hoàn thiện các tiến
Trang 17Nhờ các ký pháp ngữ nghĩa để xây dựng biểu đồ tiến trình, BPMN giúp việc mô hình hóa tiến trình trong tiến trình nghiệp vụ thể hiện sự liên kết giữa các đối tượng để trao đổi thông tin với nhau một cách rõ ràng, hoàn chỉnh và hiệu quả
BPMN cung cấp kỹ thuật để tự động sinh ra mã BPEL(Business Process Execution Language ngôn ngữ thực thi tiến trình nghiệp vụ) từ tiến trình.Do đó các tiến trình nghiệp vụ có thể xem như được thực hiện ở mức sơ đồ các ký hiệu Nghĩa là các tiến trình nghiệp vụ sau khi được đặc tả bằng sơ đồ,nó có thể được hệ thống BPM trực tiếp thực thi, không cần các kỹ sư trung gian biên dịch sang ngôn ngữ thực thi (BPEL)
1.2.2.2.BPMNvà UML
BPMN và UML không phải là đối thủ cạnh tranh nhau trong việc sử dụng các ký pháp để mô hình hóa UML là phương pháp tiếp cận hướng đối tượng để mô hình hóa các ứng dụng.Nó chủ yếu dùng để đặc tả và thiết kế phần mềm (bpmn.org, 2008) Trong khi đó BPMN là cách tiếp cận hướng tiến trình để mô hình hóa hệ thống, và được sử dụng để mô hình hóa các tiến trình nghiệp vụ Owen và Raj (2004) đã đưa ra
4 ưu điểm nổi bật của BPMN so với UML trong việc mô hình hóa tiến trình nghiệp vụ như sau:
− BPMN được tạo ra không phải để thay thế UML, và cũng không phải là phiên bản phát triển, mở rộng của UML UML là ngôn ngữ hỗ trợ các nhà phát triển xác định, hình dung và mô hình hóa tài liệu hệ thống phần mềm Do đó mục đích UML là dành cho kiến trúc phần mềm và kĩ sư phần mềm để sắp xếp quá trình phát triển hệ thống phần mềm Trong khi đó BPMN nhằm mục đích hỗ trợ các nhà phân tích tiến trình nghiệp vụ, kiến trúc hệ thống, và kỹ sư phần mềm để sắp xếp, xây dựng mô hìnhtiến trình nghiệp vụ
Trang 1815
− UML là xa lạ đối với hầu hết các nhà phân tích nghiệp vụ UML định nghĩa 3 loại biểu đồ chính sau: Biểu đồ cấu trúc tĩnh; Biểu đồ hành vi động và Biểu đồ quản
lý, tổ chức các giải pháp phần mềm Trong đó, chỉ có biểu đồ hành vi động (biểu
đồ hoạt động UML Activity, biểu đồ ca sử dụng Use Case) mới có thể được sử dụng để mô hình hóa tiến trình nghiệp vụ
− Mặc dù BPMN và UML tương đương nhau về mặt ý nghĩa tạo các ký pháp đồ họa để mô hình hóa tiến trình nghiệp vụ, nhưng chúng lại có cách tiếp cận khác nhau Trong khi UML chọn hướng tiếp cận hướng đối tượng, thì BPMN lại chọn hướng tiến trình Phương pháp làm việc với UML đầu tiên biểu diễn các đối tượng bằng sơ đồ cấu trúc tĩnh sau đó xây dựng sơ đồ hành vi động để hiển thị sự tương tác giữa các đối tượng Vì thế mà việc sử dụng UML là khó khăn đối với các nhà phân tích nghiệp vụ, họ dễ quen thuộc với mô hình trực quan, cách tiếp cận hướng nghiệp vụ mà BPMN cung cấp, ở đó những luồng điều khiển, tin nhắn được mô hình trước, và mô hình các tiến trình cũng được xác định rõ ràng hơn
− UML không có khả năng thực thi được mô hình nghiệp vụ, các nhà phát triển chỉ
có thể mô hình một phần ứng dụng của họ bằng UML, trong khi chi tiết ở mức thực thi thì không thể thực hiện được BPMN có khả năng biểu diễn, thực thi mô hình nghiệp vụ một cách tự động bằng ngôn ngữ BPEL(Business Process Execution Language ngôn ngữ thực thi tiến trình nghiệp vụ)
− UML thiếu nền tảng toán học để ánh xạ sang ngôn ngữ thực thi tiến trình nghiệp
vụ BPEL Trong khi đó BPMN có nền tảng toán học vững chắc để ánh xạ sang ngôn ngữ BPEL có thể thực thi được mô hình tiến trình nghiệp vụ một cách tự động
1.2.2.3.BPMN – Business Process Diagram (BPD)
BPD được tạo bởi tập hợp các ký pháp đồ họa Những ký pháp này được biểu diễn dưới dạng trực quan, gần gũi với nghiệp vụ nhất để các nhà phân tích nghiệp vụ
có thể dễ dàng sử dụng để mô hình hóa tiến trình nghiệp vụ của họ Các ký pháp cơ
bản cốt lõi của BPMN được thành 4 nhóm sau: Flow Object; Connecting Object;
Swimlanes; và Artifacts (xem hình )
Trang 19sự kiện được chia làm 3 loại chính: sự kiện bắt đầu, sự kiện trung gian và sự kiện kết thúc
Hình dưới đây mô tả hình vẽ tượng trưng cho 3 sự kiện:
Hình 1.3 Các loại sự kiện chính
− Sự kiện bắt đầu:Process bắt đầu được thực hiện
− Sự kiện trung gian:Process kết thúc
− Sự kiện kết thúc:Xuất hiện giữa sự kiện bắt đầu và sự kiện kết thúc
Hình 1.7.liệt kê danh sách các sự kiện trong BPMN, ký hiệu trong vòng tròn thể kiện các loại sự kiện khác nhau Sự kiện bắt đầu và sự kiện trung gian thường đưa ra
Trang 2017
nguyên nhân (kích hoạt – trigger), còn sự kiện kết thúc đưa ra kết quả Sự kiện bắt đầu chỉ có thể catch trigger, sự kiện kết thúc chỉ có thể throw trigger, sự kiện trung gian có thể catch hoặc throw trigger
Hình 1.4 Các loại sự kiện cụ thể trong BPMN Activity: Thể hiện các hoạt động trong một tiến trình nghiệp vụ Activity được biểu diễn là hình chữ nhật góc tròn.Hoạt động có thể là nguyên tử hoặc không nguyên
tử (có thể chia nhỏ) Có 2 loạiActivity là Sub-Process, và Task (hình 1.8) Activity có thể được thực hiện 1 lần hoặc lặp nhiều lần
Hình 1.5 Các biểu diễn của Activity
Trang 2118
− Task: là một activity nguyên tử, có một số loại task như: gửi, nhận message, based task… Trong task có thể được thêm các biểu tượng, đánh dấu để phân biệt các loại task
user-− Sub-tiến trình: là activity có thể được chia nhỏ thành các sub-tiến trình ở mức chi tiết hơn Có 2 loại sub-tiến trình: nhúng (embeded) và độc lập (independent) Danh sách các ký hiệu khác được sử dụng biểu diễn cho Activity:
Transaction là một tập các hoạt động có logic, chúng phải làm theo một phương thức giao dịch xác định
Event sub-tiến trìnhđược đặt vào trong sub-tiến trình,
nó sẽ được kích hoạt khi gặp sự kiện đầu (Start Event) được kích hoạt
Gọi các sub-tiến trình hay task
Hình 1.6 Task type: dùng để phân loại hành vi được thực hiện
Activity Markers: dùng để nhận biết hành vi của các activity (Sub-tiến trình, Task) thực hiện thế nào
Trang 2219
Gateway: Được sử dụng để kiểm soát sự phân nhánh hay sát nhập Sequence Flow (sẽ được trình bày trong phần Connecting Object) Do đó, gateway chính là cổng xác định sự rẽ nhánh, chia nhánh, sát nhập hay điểm kết nối các đường dẫn với nhau Gateway được biểu diễn dưới hình dạng kim cương, và có đánh dấu bên trong để phân biệt các loại điều khiển khác nhau
Exclusive Gateway: Khi phân nhánh các Sequence flow sẽ
xác định nhánh đi Khi sát nhập, gateway chờ các nhánh hoàn thiện trước khi kích hoạt các nhánh ra (tương đương với phép toán XOR trong logic)
Event-based Gateway: Luôn theo sau bắt các sự kiện hoặc
nhận nhiệm vụ, sequence flow (sẽ được trình bày ở phần Connecting Object) sẽ được định tuyến tới các sự kiện/nhiệm
vụ tiếp theo
Parallel Gateway: trong trường hợp phân nhánh sequence
flow, tất cả các nhánh đi ra sẽ được kích hoạt đồng thời Khi sát nhập các nhánh song song sẽ đợi khi tất cả các nhánh hoàn thành trước khi kích hoạt các nhánh tiếp theo (Tương đương với AND trong logic)
Complex gateway
Exclusive event-based gateway: Mỗi sự xuất hiện của sự kiện tiếp theo sẽ bắt đầu một thể hiện tiến trình mới
Parallel Event-based gateway: sự xuất hiện của tất cả các
sự kiện tiếp theo sẽ bắt đầu một thể hiện tiến trình mới
Trang 2320
b Connecting Objects
Connecting Objects được sử dụng để kết nối các đối tượng trong mô hình tiến
trình nghiệp vụ Có ba đối tượng kết nối sau: Sequence Flow, Message Flow,
Association
Sequence Flow: Sequence Flow được biểu diễn bằng hình mũi tên liền, sử dụng
để hiển thị thứ tự mà Activity sẽ được thực hiện trong tiến trình nghiệp vụ
Message Flow: Message Flowđược biểu diễn bởi hình mũi tên nét đứt, sử
dụng để thể hiện các thông điệp trao đổi giữa 2 Process Participantriêng biệt trong tiến trình Trong BPMN, 2 Pool trong sơ đồ thể hiện cho 2 Participant (Pools Sẽ được trình bày ở phần Swimlanes)
Association: Association được biểu diễn bởi một đường thẳng nét đứt với đầu mũi tên, sử dụng để thể hiện sự kết hợp với dữ liệu, văn bản và Artifact của các đối tượng, nó thể hiện dữ liệu đầu vào và đầu ra của Activity (Artifacts sẽ được trình bày ở phần Artifacts sau đây)
c Swimlanes
Swimlanes được sử dụng để phân vùng các phần riêng biệt vai trò thực hiện chức
năng khác nhau để dễ quản lý.Nó có hai cấu trúc chính: Pool và Lane
POOL(Participant): Poolđại diện cho một thành phần – người tham gia (Participant) vào tiến trình Trong Pool chứa tập các ký pháp, được sử dụng để phân vùng tập hợp hoạt động của các Pool với nhau, thường được đặt trong bối cảnh B2B (Business to Business)
Trang 24và phân loại các Activity
Lane được sử dụng để tách các hoạt động liên quan đến một chức năng riêng của công ty hoặc một vai trò cụ thể Sequence flow có thể vượt qua ranh giới của các Lane trong Pool, Message có thể không được sử dụng giữa các đối tượng trong Lane của cùng Pool
d Artifacts
Artifacts: Được sử dụng để cung cấp thông tin bổ sung cho tiến trình nghiệp vụ
Có 3 loại Artifacts sau: Data Object, Text Annotation, Group Một mô hình tiến trình
có thể có nhiều Artifact
Data Object: Data Object được sử dụng để cung cấp thông tin về thứ mà Activity yêu cầu hay tạo ra, chúng được kết nối với Activity thông qua Association Data Object không ảnh hưởng trực tiếp đến Sequence Flow hay Message Flow của tiến trình
Data input: dữ liệu đầu vào cho tiến trình
Data output: kết quả dữ liệu đưa ra bởi tiến trình
Data object: Thể hiện những thông tin như tài liệu, email hoặc letter kèm theo tiến trình
Trang 2522
Collection data object: Tập hợp thông tin, dữ liệu
Data store: Process có thể đọc ghi dữ liệu
Message: nội dung trao đổi giữa các Participant
Text Annotation: Được sử dụng để chú thích, giải thích thêm thông tin cho người đọcdễ hiểu biểu đồ BPMN
Group:Group được biểu diễn bởi hình chữ nhật tròn nét đứt, sử dụng để nhóm
các hoạt động thuộc cùng một loại, tên loại cũng chính là nhãn của nhóm Việc phân nhóm có tác dụng hỗ trợ việc phân tích, viết tài liệu, nó không ảnh hưởng gì đến
Sequence Flow của các hoạt động trong nhóm
Conversation link: Liên kết các Communication tới Participant
Forked Conversation link: Kết nối Communication tới nhiều Participant
Hình minh họa dưới đây mô tả sơ đồ của một Conversation:
Trang 2724
1.2.3 Từ mô hình hóa đến thực thi tự động tiến trình nghiệp vụ
Trong những phần đã trình bày ở trên, ta đã có công cụ để xây dựng mô hình tiến trình nghiệp vụ Để trả lời câu hỏi làm thế nào để xây dựng phần mềm“Hệ thống quản
lý tiến trình nghiệp vụ” Sau đây sẽ trình bày ngôn ngữ thực thi tiến trình nghiệp vụ (Business Process Execution Language - BPEL) – ngôn ngữ có mối quan hệ mật thiết với chuẩn BPMN, và Máy thực thi ngôn ngữ đó (BPEL Engine) cụ thể là Apache ODE (Orchestration Director Engine)
1.2.3.1.Business Process Execution Language (BPEL)
a Giới thiệu
BPEL thực ra là viết tắt của WS-BPEL (Web Services Business Process Execution Language), là chuẩn ngôn ngữ thực thi để định nghĩa các hoạt động trong tiến trình nghiệp vụ với các dịch vụ web BPEL là ngôn ngữ định nghĩa Business Processe, nó kết hợp các dịch vụ và tạo ra dịch vụ mới Các tiến trình trong BPEL xuất hoặc nhập thông tin bằng cách sử dụng giao diện Webservice Phiên bản hiện tại là WS-BPEL 2.0 - phiên bản chính thức đầu tiên của BPEL đạt chuẩn OASIS năm 2007 WS-BPEL là một đặc tả của nhà cung cấp trung gian do OASIS phát triển để xác định qui trình nghiệp vụ như tập các tương tác giữa các dịch vụ Web OASIS định nghĩa WS-BPEL như sau:
"Các qui trình nghiệp vụ có thể được mô tả theo hai cách: Các tiến trình nghiệp
vụ thực hiện mô hình hóa hành vi thực tế của người tham gia trong tương tác nghiệp vụ
và Các tiến trình nghiệp vụ trừu tượng một phần là các tiến trình xác định riêng, không nhằm đến việc thực hiện Một tiến trình nghiệp vụ trừu tượng có thể ẩn giấu đối với một vài chi tiết tác nghiệp cụ thể
WS-BPEL là ngôn ngữ để mô tả các tiến trình nghiệp vụ Trừu tượng và Thực thi Bằng cách đó, nó mở rộng mô hình tương tác các dịch vụ Web và cho phép nó hỗ trợ các giao dịch kinh doanh WS-BPEL định nghĩa một mô hình tích hợp tương tác, sẽ tạo điều kiện mở rộng tích hợp tiến trình tự động hóa trong cả không gian kinh doanh"
Trang 2825
BPEL là một chuẩn ngôn ngữ dựa trên XML, định nghĩa các cấu trúc để có thể biểu diễn các tiến trình nghiệp vụ Nó định nghĩa tập các cấu trúc điều khiển cơ bản (điều kiện, vòng lặp…) cũng như các thành phần để gọi dịch vụ từ Webservice hoặc nhận thông tin từ các dịch vụ WS-BPEL dựa trên WSDL (Web Service Definition Language) để thực hiện các giao diện với Webservice
b Công nghệ liên quan tới BPEL
Theo như phần giới thiệu ở trên thì BPEL liên quan trực tiếp đến các công nghệ Web service, vậy để hiểu được ngôn ngữ BPEL chúng ta cần nắm các khái niệm cơ bản của Web service Trong phần này sẽ trình bày một số công nghệ, khái niệm cơ bản liên quan đến Web service: Thế nào là Web service; Kiến trúc của Web service; Các thành phần của dịch vụ Web; Quy trình xây dựng một dịch vụ Web
Web service: Theo định nghĩa của W3C (World Wide Web Consortium), dịch vụ Web là một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau thông qua mạng Internet, với giao diện chung và
sự gắn kết của nó được mô tả bằng XML Dịch vụ Web là tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thực hiện các chức năng và đưa ra các thông tin người dùng yêu cầu Một dịch vụ Web được tạo nên bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ dàng nhìn thấy và có thể truy cập đến những dịch
vụ mà nó thực hiện, đồng thời có thể yêu cầu thông tin từ dịch vụ Web khác
Kiến trúc của Web service: Dịch vụ Web gồm có 3 chuẩn chính: SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language) và UDDI (Universal Description, Discovery, and Integration) Hình dưới đây mô tả kiến trúc của Web Service:
Trang 2926
Hình 1.9 Hình mô tả kiến trúc của Web Service Thành phần của Web service: Các thành phần của Web service gồm: XML, WSDL, UDDI, SOAP
XML – eXtensible Markup Language: được sử dụng để định nghĩa các thành phần dữ liệu trên trang web và cho những tài liệu B2B
WSDL - Web Service Description Language: WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của XML, bao gồm các thông tin:
− Tên dịch vụ
− Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của dịch vụ Web
− Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện của dịch
vụ Web cộng với tên cho giao diện này)
Cấu trúc tài liệu WSDL được định nghĩa như sau:
<definitions>
<types>
definition of types
</types>
Trang 30Universal Description, Discovery, and Integration (UDDI)
UDDI định nghĩa một số thành phần cho biết các thông tin về cách sử dụng và biết được đối tượng nào cung cấp dịch vụ, cho phép các client truy tìm và nhận những thông tin được yêu cầu khi sử dụng dịch vụ Web
Cấu trúc UDDI :
− Trang trắng - White pages: chứa thông tin liên hệ và các định dạng chính yếu của dịch vụ Web, chẳng hạn tên giao dịch, địa chỉ, thông tin nhận dạng… Những thông tin này cho phép các đối tượng khác xác định được dịch vụ
− Trang vàng - Yellow pages: chứa thông tin mô tả dịch vụ Web theo những loại khác nhau Những thông tin này cho phép các đối tượng thấy được dịch vụ Web theo từng loại với nó
− Trang xanh - Green pages: chứa thông tin kỹ thuật mô tả các hành vi và các chức năng của dịch vụ Web
− Loại dịch vụ - tModel: chứa các thông tin về loại dịch vụ được sử dụng
SOAP - Simple Object Access Protocol:
Chúng ta đã hiểu cơ bản dịch vụ Web như thế nào nhưng vẫn còn một vấn đề khá quan trọng Đó là làm thế nào để truy xuất dịch vụ khi đã tìm thấy? Câu trả lời là các dịch vụ Web có thể truy xuất bằng một giao thức là Simple Object Access Protocol –
Trang 31Một SOAP đơn giản trong body sẽ lưu các thông tin về tên thông điệp, tham chiếu tới một thể hiện của dịch vụ, một hoặc nhiều tham số Có 3 kiểu thông báo sẽ được đưa ra khi truyền thông tin: request message(tham số gọi thực thi một thông điệp), respond message (các tham số trả về, được sử dụng khi yêu cầu được đáp ứng)
và cuối cùng là fault message (thông báo tình trạng lỗi)
Quy trình xây dựng một Web service: Có 4 giai đoạn chính để xây dựng một dịch vụ Web là xây dựng, triển khai, tiến hành và quản lý
Để xây dựng một dịch vụ Web, chúng ta cần hiểu được những việc phải làm và nên bắt đầu từ đâu Qui trình xây dựng một dịch vụ Web bao gồm các bước sau:
− Định nghĩa và xây dựng các chức năng, các dịch vụ mà dịch vụ sẽ cung cấp (sử dụng ngôn ngữ Java chẳng hạn)
− Tạo WSDL cho dịch vụ
− Xây dựng SOAP server
− Đăng ký WSDL với UDDI registry để cho phép các client có thể tìm thấy và truy
− Client nhận file WSDL và từ đó xây dựng SOAP client để có thể kết nối với SOAP server
− Xây dựng ứng dụng phía client (chẳng hạn sử dụng Java) và sau đó gọi thực hiện dịch vụ thông qua việc kết nối tới SOAP server
Lựa chọn một ngôn ngữ, xây dựng các tiến trình nghiệp vụ và chúng ta bắt đầu tạo nên một dịch vụ Web như ý muốn Sau đó là cung cấp dịch vụ Web này trên Internet
Trang 3229
c Cấu trúc, thành phần của BPEL
BPEL là ngôn ngữ lập trình theo cấu trúc XML, giống như các ngôn ngữ lập trình BPEL gồm 3 thành phần chính:
− Logic lập trình (Programming logic): BPEL
− Kiểu dữ liệu (Data types): XSD (XML Schema Definition)
− Dữ liệu đầu ra đầu vào (Input/Output): WSDL (Web Services Description Language)
Hình 1.10 Mối quan hệ giữa Process trong BPEL và WSDL BPEL cung cấp các cấu trúc vòng lặp, nhánh, biến, gán… khá giống ngôn ngữ lập trình truyền thống và cho phép định nghĩa các business tiến trìnhes theo cách 1 thuật toán Nhờ các cấu trúc này mà việc định nghĩa tiến trình trở lên đơn giản hơn.Cấu trúc chính của WS-BPEL 2.0 gồm các thành phần sau:
− Process
− PartnerLink: kết nối tương tác giữa các tiến trình
− Variable: dữ liệu được sử dụng trong tiến trình
− CorrelationSets: các thông điệp tương quan để xử lý các trường hợp dựa trên định danh duy nhất
− Xử lý sự kiện, ngoại lệ:
Fault handler: thực hiện các xử lý trong trường hợp thất bại
Event Handler: khi sự kiện đưa ra xảy ra thì gọi tới tiến trình tương ứng
Trang 33d Ví dụ chương trình “Hello Word” được viết bằng BPEL
XML Schema Definition - XSD: Được sử dụng để định nghĩa kiểu dữ liệu sẽ được sử dụng trong chương trình Ở đây XSD sẽ định nghĩa kiểu dữ liệu string “Hello World”
File WSDL: Được sử dụng để dịnh nghĩa webservice cung cấp dịch vụ in ra dòng
“Hello World”:
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="http://www.eclipse.org/tptp/choreography/2004/engine/Print"
Trang 34<format:typeMapping encoding="Java" style="Java">
<format:typeMap typeName="xsd:string" formatType="java.lang.String"/>
Trang 3532
BPEL Engine
Khi các tiến trình đã được định nghĩa bằng WS-BPEL, bước tiếp theo là thực thi những tiến trình đó bằng cách nào Cách đơn giản đó là các tiến trình đó được đưa vào tiến trình-engine, engine này sẽ thực hiện nhiệm vụ thao tác với Web service, gửi
và nhận message, điều khiển, thao tác dữ liệu và điều khiển lỗi như đã được định nghĩa trong tiến trình
Hình 1.11 Kiến trúc của một Process-Engine Một trong những engine của BPEL đó là Apache ODE (Orchestration Director Engine), đây là dự án mã nguồn mở được xây dựng bởi Intalio, được viết bằng java, hệ thống sẽ thực thi các tiến trình được viết bằng mã WS-BPEL 2.0 (Apache ODE, 2009) Hình minh họa dưới đây mô tả kiến trúc ODE BPEL compiler của Apache ODE
Hình 1.12 Kiến trúc ODE BPEL compiler của Apache ODE
Trang 3734
1.3.1.BPM + IT = BPMS (Business Process Management System)
Như ở phần trước đã trình bày, chúng ta đã biết Business Process Management
- BPM không phải là một lý thuyết mới mẻ, nhưng cách thực hiện nó đã được thay đổi, được hỗ trợ rất nhiều bởi công nghệ mới BPM là sản phẩm cung cấp tập các công cụ
và dịch vụ cần thiết để quản lý tiến trình nghiệp vụ, kinh doanh theo thuyết quản lý Khi tiến trình nghiệp vụ, kinh doanh này được tự động hóa thì được gọi là “Hệ thống quản lý tiến trình nghiệp vụ”
Hệ thống quản lý tiến trình nghiệp vụ (BPMS) thể hiện một bước đột phá trong việc sử dụng và thực hiện hệ thống thông tin BPMS thay đổi kiểu thiết kế truyền thống sang một hướng thiết kế tập trung vào tiến trình nghiệp vụ để phù hợp với thực tế tập trung vào tiến trình nghiệp vụ của các tổ chức quản lý tiến trình nghiệp vụ Vì vậy BPMS cho phép các tổ chức này có thể điều khiển được tất cả các chu trình hoạt động Quản lý tiến trình nghiệp vụ (BPM) trong thực tế như: Đo lường, đánh giá; Giám sát; Kiểm soát; Phân tích tiến trình… BPMS làm việc như một trung tâm kiểm soát con người, ứng dụng và dữ liệu (Chang 2006)
Để hiểu rõ sự khác biệt trong cách tiếp cận của hệ thống BPMS chúng ta có thể tìm hiểu về “Kiểu thiết kế truyền thống sản phầm phần mềm” và “Kiểu thiết kế tập trung vào tiến trình”:
− Theo kiểu thiết kế truyền thống hướng lập trình mã lệnh:Để xây dựng một sản phẩm phần mềm gồm các bước sau:
Business analyst: Thu thập, phân tích yêu cầu nghiệp vụ, kinh doanh
Functional analyst: Phân tích chức năng, dự thảo những chi tiết kỹ thuật
để xác định chức năng của hệ thống
Technical analyst: Phân tích kỹ thuật, công nghệ, cấu hình hệ thống theo
các chức năng đã được xác định Đưa ra tài liệu thiết kế kỹ thuật để lập trình
Programming: Thực hiện việc viết chương trình, kiểm thử… để đưa ra
phần mềm cuối cùng
Trang 3835
Có thể nhận thấy rằng, các yêu cầu kinh doanh đều thông qua 3 trong 4 bước trên trước khi sản phẩm phần mềm cuối cùng được đưa vào sử dụng Tại mỗi bước, yêu cầu kinh doanh lại được đem ra thảo luận, thay đổi, vì vậy yêu cầu kinh doanh trên thực tế theo thời gian sẽ bị thay đổi, không đảm bảo đúng hoàn toàn với yêu cầu ban đầu
Để khắc phục được hạn chế này, hệ thống BPMS với cách tiếp cận theo kiểu
“Hướng tiến trình” cho phép các nhà kinh doanh có thể trực tiếp tham gia thiết kế các giải pháp Công nghệ thông tin (CNTT)
− Theo kiểu “Hướng tiến trình”: Với sự hỗ trợ của BPMS các nhà phân tích kinh doanh, nghiệp vụ có thể thiết kế các tiến trình kinh doanh, nghiệp vụ ở mức cao với công cụ đồ họa, sau đó biểu đồ kinh doanh sẽ được tự động sinh mã chương trình và được thực thi mà không cần sự hỗ trợ của các nhà phát triển CNTT Nhưng nếu thực sự cần thiết sự thì các nhà phát triển CNTT có thể làm việc trên biểu đồ kinh doanh đã được thiết kế, họ có thể những các đoạn mã ngôn ngữ kịch bản được hỗ trợ bởi BPMS (như BPEL) để bổ sung vào việc điều khiển tiến trình kinh doanh đó Vì vậy mà khoảng cách giữa các nhà kinh doanh và phát triển công nghệ thông tin được giảm xuống tối thiểu
Dưới đây là hình minh họa mô hình truyền thống và mô hình hướng tiến trình (Ghalimi và Madden, 2000):
Hình 1.13 Mô hình truyền thống và hướng tiến trình (Ghalimi và Madden, 2000)
Trang 3936
Theo Silver (2006) một hệ thống BPMS ít nhất cần phải có các chức năng cơ bản sau:
− Thể hiện tiến trình làm việc của con người (Human Workflow);
− Khả năng tích hợp Framework (Intergration Framework);
− Máy cung cấp, phân tích nguyên tắc nghiệp vụ, kinh doanh (Business Rule Engine);
− Bộ giám sát, theo dõi các hoạt động kinh doanh (Business Activity Monitoring - BAM);
− Bộ phân tích tiến trình (Process Analystics);
− Xử lý ngoại lệ;
− Bộ mô hình hóa, mô phỏng (Modeling, Simulation)…
Ưu điểm khi sử dụng hệ thống BPMS:
− BPMS giúp các nhà kinh doanh có thể tham gia chặt chẽ, gần hơn với thiết kế công nghệ thông tin
− BPMS cho phép tích hợp con người, hệ thống và dữ liệu tham gia trong tiến trình kinh doanh, nghiệp vụ
− BPMS cung cấp mô phỏng hóa tiến trình kinh doanh, tối ưu hóa các tiến trình đó
để đạt được kết quả tốt nhất theo mong đợi
− BPMS cho phép theo dõi, kiểm soát, và cải tiến tiến trình kinh doanh
− BPMS cho phép thay đổi tiến trình kinh doanh hiện thời với chi phí thấp nhất (có thể thay đổi cải tiến, cập nhật tiến trình kinh doanh, nghiệp vụ đơn giản bằng cách thay đổi mô hình là đủ)
1.3.2 Lịch sử hình thành và phát triển BPMS
Trong quá trình hình thành và phát triển BPMS đã trải qua 3 giai đoạn chính:
Trang 4037
− Giai đoạn thứ nhất là lý thuyết quản lý của Fredrick Taylor trong thập kỉ 20, nói rằng: “tiến trình ẩn chứa trong quá trình làm việc khi che giấu đi các chi tiết thủ công”
− Giai đoạn thứ 2 cho rằng “Quy trình có thể được tái xây dựng lại một cách thủ công trong cùng một phạm vi hoạt động như trước” Theo giải pháp này, các thay đổi trong tiến trình có thể sửa đổi lại, tuy nhiên các chức năng cơ bản sẽ tồn tại một cách rời rạc trong phần mềm, giống như các ứng dụng ERP (tái cấu trúc phần mềm) tuy nhiều hỗ trợ nhưng vẫn kém linh hoạt
− Giai đoạn thứ 3 của BPMS cho phép các công ty và công nhân có thể tạo ra và tối
ưu hóa tiến trình nghiệp vụ một cách nhanh chóng, Tính dễ thích ứng với sự thay đổi là một mục tiêu chính trong thiết kế Thông qua các tiến trình nghiệp vụ linh hoạt, các chuỗi giá trị có thể được giám sát và cải thiện liên tục
Mặc dù sử dụng chung một thuật ngữ, tuy nhiên BPM trong giai đoạn thứ 3 khác hẳn về mặt bản chất so với 2 giai đoạn đầu BPMS của giai đoạn thứ 3 được tạo lên bởi một số công nghệ đi trước Một trong những công nghệ đó là:
− Workflow: là sự tự động hóa tiến trình nghiệp vụ một cách toàn bộ hay từng phần Trong quá trình đó các tài liệu, thông tin hay các công việc được chuyển từ người này đến người khác để thực hiện
− Quản lý tài liệu: các giải pháp quản lý tài liệu định ra lộ trình cho các tài liệu để phục vụ tiến trình nghiệp vụ
− Quản trị nội dung doanh nghiệp (Enterprise Content Management - ECM): các giải pháp này giúp cho việc quản lý và thúc đẩy thông tin trao đổi trong tòan bộ một tổ chức
− Tích hợp ứng dụng doanh nghiệp (Enterprise Application intergration - EAI): giải pháp cung cấp khả năng chia sẻ thông tin giữa các ứng dụng, nguồn dữ liệu trong phạm vi một tổ chức