Bài báo cáo thực tập-nghiên cứu web services composition sử dụng bpel4ws

  • Số trang: 55 |
  • Loại file: PDF |
  • Lượt xem: 59 |
  • Lượt tải: 0
quangtran

Đã đăng 3720 tài liệu

Mô tả:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH --------------------------------------------- BÁO CÁO TỐT NGHIỆP HỆ ĐẠI HỌC Ngành : Công Nghệ Thông Tin Hệ : Chính quy Niên khóa : 2005-2009 Đề tài : NGHIÊN CỨU WEB SERVICES COMPOSITION SỬ DỤNG BPEL4WS Mã số đề tài : 405170081 Sinh viên thực hiện : Hoàng Xuân Tuấn Mã số sinh viên : 405170081 Người hướng dẫn :TS. Tân Hạnh Năm 2009 LỜI CẢM ƠN Qua 4 năm học tập,được sự tận tình chỉ bảo của các thầy cô trong Học viện đã trang bị cho em những kiến thức để có hành trang vào cuộc sống. Trong 6 tháng qua em xin chân thành cảm ơn thầy Tân Hạnh đã hướng dẫn em làm đề tài này và các bạn trong lớp cũng tạo điều kiện để em hoàn thành luận văn Do thời gian làm đồ án và kiến thức còn hạn chế nên không thể tránh khỏi những sai sót. Em rất mong nhận được sự đóng góp ý kiến của Quý thầy cô và các bạn sinh viên. Em xin gửi đến Quý thầy cô lời chúc sức khỏe và thành công. Em xin chân thành cảm ơn! Sinh viên: Hoàng Xuân Tuấn Báo cáo Thực tập LỜI NÓI ĐẦU Ngày nay, công nghệ thông tin đang là nền công nghệ mũi nhọn trong chiến lược phát triển kinh tế, xây dựng đất nước của hầu hết các quốc gia. Với sự phát triển của internet và với xu thế hội nhập chung của toàn thế giới, các tổ chức, các cơ sở doanh nghiệp cần bắt tay, phối hợp hoạt động và chia sẻ tài nguyên với nhau để nâng cao hiệu quả hoạt động. Hệ thống của các tổ chức doanh nghiệp ngày càng trở nên cồng kềnh hơn với việc triển khai hàng loạt các ứng dụng phân tán dựa trên nhiều hệ nền, kỹ thuật, công nghệ khác nhau. Những nghiên cứu gần đây cho thấy rằng: các khó khăn trong việc tích hợp các hệ thống có thể được khắc phục bằng cách định nghĩa thêm một tầng trừu tượng cho các hệ thống tin học hiện có và mới xây dựng. Tầng này sẽ được xây dựng dựa trên các chuẩn của web service. Công nghệ web service có thể được dùng để xây dựng cầu nối giao tiếp cho các hệ thống xây dựng trên những hệ nền, sử dụng những công nghệ hay chuẩn khác xa nhau, như là .NET, J2EE, CORBA, WebSphere MQ, hay các ứng dụng đóng gói. Việc kết hợp các dịch vụ trong mô hình SOA với quản lý các tiến trình nghiệp vụ là một giải pháp cho việc xây dựng các hệ thống tích hợp.Vì thế ngôn ngữ BPEL4WS ra đời để đáp ứng cho giải pháp trên. BPEL4WS được xây dựng dựa trên ngôn ngữ WSFL (Web Service Flow Language) của IBM và ngôn ngữ XLANG của Microsoft, nó kế thừa được những tính năng nổi trội của hai ngôn ngữ này (tính có cấu trúc của XLang và khả năng mô hình hóa của WSFL ). Mục tiêu của đề tài này … Sinh viên Hoàng Xuân Tuấn MỤC LỤC Hoàng Xuân Tuấn Đ05TH Trang 3 Báo cáo Thực tập  Contents CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH..................................................................1 BÁO CÁO TỐT NGHIỆP HỆ ĐẠI HỌC ....................................................................1 Hình1.1 Mô hình CORBA……………………………………………………………9.8 CHƯƠNG I:HIỆN TRẠNG.........................................................................................10 1.1. Phân tích, đánh giá một số mô hình kiến trúc phân tán hiện tại ...............10 Hình1.1 Mô hình CORBA .........................................................................................11 Hình 1.2 Mô hình EJB ...............................................................................................12 Hình 1.3 Mô hình DCOM ..........................................................................................12 1.2 .Các vấn đề phát sinh, nguyên nhân và biện pháp khắc phục:...................12 1.3. SOA và web service giải quyết vấn đề tích hợp như thế nào:.....................13 Hình 1.4 Mô hình SOA sử dụng webservice ...............................................................14 CHƯƠNG II: WORKFLOW.......................................................................................14 2.1. Khái niệm .................................................................................................. 14 2.2. Ích lợi áp dụng workflow: ...........................................................................14 2.3. Các dạng workflow ....................................................................................15 Hình 2.1 Mô hình tuần tự:............................................................................................15 2.3.1.2.Song song (Parallel Split) ..................................................................15 Hình 2.2 song song......................................................................................................16 2.3.1.3. Đồng bộ hoá .....................................................................................16 2.3.1.4. Phép chọn loại trừ (Exclusive Choice) ..............................................16 Hình 2.4. Mô hình chọn loại trừ....................................................................16 2.3.1.5. Trộn đơn giản (Simple Merge) ..........................................................16 Hình 2.5.Mô hình trộn đơn giản..................................................................................17 Hoàng Xuân Tuấn Đ05TH Trang 4 Báo cáo Thực tập 2.3.1.6. Chọn đa nhánh (Multi-Choice) ..........................................................17 Hình 2.6.Mô hình chọn đa nhánh................................................................................17 2.3.1.7. Trộn đồng bộ hoá .............................................................................17 Hình 2.7.Mô hình trộn đồng bộ hóa............................................................................18 2.3.1.8. Trộn đa nhánh ..................................................................................18 Hình 2.8.Mô hình trộn đa nhánh.................................................................................18 2.3.1.9. Các vòng lặp tuỳ ý ...........................................................................18 Hình 2.9.Mô hình các vòng lặp tùy ý..........................................................................19 CHƯƠNG III:TÌM HIỂU KHÁI QUÁT WEB SERVICE..........................................19 3.1.Định nghĩa web service: là một công nghệ gọi từ xa có tính khả chuyển cao nhất hiện nay: mang tính độc lập nền, độc lập ngôn ngữ. Do đó, các chương trình code bằng các ngôn ngữ lập trình khác nhau, chạy trên các nền tảng (phần cứng & OS) khác nhau đều có thể trao đổi với nhau thông qua công nghệ này.................................................................................................................... 19 Hình 3.1.Mô hình webservice đơn giản................................................20 3.2.Đặc điểm của webservice:...........................................................................20 Hình 3.2. Ứng dụng của webservice trong thực tế .....................................20 3.3.Các thành phần chính trong Webservice:....................................................21 3.3.1.XML: XML là một ngôn ngữ mô tả văn bản với cấu trúc do người sử dụng định nghĩa .Về hình thức XML có ký pháp tựa như HTML nhưng không tuân theo một đặc tả quy ước như HTML. Do web service là sự kết hợp của nhiều thành phần khác nhau , do đó web services sử dụng các tính năng và đặc trưng của các thành phần này để giao tiếp với nhau.Vì vậy XML là một công cụ chính yếu để giải quyết vấn đề này .Từ kết qủa này , các ứng dụng tích hợp vĩ mô tăng cường sử dụng XML.Nhờ có khả năng tổng hợp này mà XML đã trở thành kiến trúc nền tảng cho việc xây dựng web service...................................................21 3.3.2.WSDL -Web Services Description Language :........................................21 Hình 3.3.Mô tả wsdl........................................................................21 3.3.3.UDDI - Universal Description , Discovery and Intergration:...................21 Hình 3.4.Mô hình của UDDI...............................................................22 3.3.4. SOAP - Simple Object Accesss Protocol................................................22 Hoàng Xuân Tuấn Đ05TH Trang 5 Báo cáo Thực tập 3.4.Xây dựng web service:................................................................................23 3.4.1.1.Giai đoạn xây dựng............................................................................23 Hình 4.1.Kiến trúc của bpel process...........................................................................25 4.1.Nội dung cơ bản:.........................................................................................25 4.1.1.Cấu trúc của bpel process:....................................................................25 4.1.2.Mối quan hệ với các Bussiness Partner:................................................27 Hình 4.2. Các thành phần trong bpel process..............................................................27 4.1.3.Trạng thái của BPEL process:................................................................27 4.2.Các Activie cơ bản:......................................................................................28 4.2.1.Invoke:..................................................................................................28 4.2.2.Receive:................................................................................................29 4.2.3.Reply:....................................................................................................29 4.2.4.Assign....................................................................................................30 4.2.5. Throw:..................................................................................................32 4.2.6.Empty:...................................................................................................32 4.3.Các Active có cấu trúc.................................................................................32 4.3.1.Xử lý tuần tự: ...................................................................32 4.3.2.Điều kiện :......................................................................................33 4.3.3.Thực thi vòng lặp :...................................................................34 4.3.4. Song song và xử lý các điểu khiển lệ thuộc: ............................34 4.3.5.Xử lý đa nhánh:....................................................................34 4.3.6.Scope (phạm vi):...................................................................................35 CHƯƠNG 5: ỨNG DỤNG CHO BPEL......................................................................36 5.1.Mô tả nghiệp vụ:.........................................................................................36 5.2.Phân tích bài toán:......................................................................................36 Hình 5.1.Lược đồ hoạt đồng........................................................................................37 5.3.Xây dựng BPEL process:..............................................................................37 5.3.1.Xây dựng các webservice liên quan:.....................................................37 Hoàng Xuân Tuấn Đ05TH Trang 6 Báo cáo Thực tập Hình 5.2.Interface của web service airline webservice...................................38 5.3.2 WSDL cho BPEL Process:.......................................................................38 Hình 5.3. Interface bpel process...................................................................................38 5.3.3 Định nghĩa các Partner Link Types:.......................................................38 5.3.4.Định nghĩa quy trình nghiệp vụ (Bussiness Process Definition).............39 Hình 5.4. Lược đồ tuần tự.............................................................40 5.4.Config engine và cài plug-in........................................................................40 5.4.1.Cài đặt Apache Tomcat:........................................................................41 Hình 5.5 Thiết lập biến môi trường.............................................................................42 Hình 5.6 Start Tomcat 26.............................................................................................42 5.5.2.Cài đặt Axis2( phiên bản nâng cấp của Axis):có nhiều cách để cài đặt axis2,đơn giản nhất là chép tập tin axi2.war vào thư mục C:\apache-tomcat5.5.27\webapps và restart lại tomcat sẽ thành công.Truy câp:http://localhost:8080/axis2 sẽ được:........................................................43 Hình 5.7.Khởi động Axis2...............................................................43 5.4.3.Cài đặt Eclipse WTP:..............................................................................43 Hình 5.8 Thiết lập Axis2 trong eclipse...................................................44 5.4.4 Cài đặt MySQL 4.1 và JDBC connector:..................................................44 Hình 5.9. Lược đồ cơ sở dữ liệu...................................................................................45 5.4.5.Cài đặt ODE Apache..............................................................................45 5.5.Thực hiện:................................................................................................... 45 5.5.1.Chương trình chính:...............................................................................45 Hình 5.10. Giao diện thiết kế......................................................................................46 Hình 5.11.WSDL của web service airline....................................................................46 Hình 5.12.Thiết kế partnerlink....................................................................................47 Hình 5.13 config active ................................................................................48 Hình 5.14. BPEL proccess..........................................................................................49 Hình 5.15. active .................................................................................................49 Hoàng Xuân Tuấn Đ05TH Trang 7 Báo cáo Thực tập Hình 5.16. config active ...............................................................................50 Hình 5.17. Config WSDL cho bpel proccess..............................................................51 Hình 5.18. config deploy.xml.....................................................................................52 5.5.2.Viết client gọi BPEL:..............................................................................52 Hình 5.19.Mô hình bpel process tương tự 1 web service.............................................53 Hình 5.20.Tạo web project client.................................................................................54 MỤC LỤC HÌNH: Hình1.1 Mô CORBA……………………………………………………………9 Hình 1.2 Mô hình EJB hình …………………………………………………………….10 Hình 1.3 Mô hình DCOM …………………………………………………………...11 Hình 1.4 Mô hình SOA sử dụng webservice…………………………………………13 Hình 2.1 Mô hình tuần tự…………………………………………………………….14 Hình 2.3.Mô hình đồng bộ hóa Hình 2.2 song song ………………………………………………...15 ....…………………………………………………………14 Hình 2.4. Mô hình chọn loại trừ ………………………………………………..15 Hình 2.5.Mô hình trộn đơn giản ………………………………………………..15 Hình 2.6.Mô hình chọn đa nhánh ………………………………………………..16 Hình 2.7.Mô hình trộn đồng bộ hóa ……….………………………………………17 Hình 2.8.Mô hình trộn đa nhánh ……………………………………………….17 Hình 2.9.Mô hình các vòng lặp tùy ý……………………………………………….17 Hình 3.1.Mô hình webservice đơn giản…………………………………………….18 Hình 3.2. Ứng dụng của webservice trong thực tế …………………………………19 Hoàng Xuân Tuấn Đ05TH Trang 8 Báo cáo Thực tập Hình 3.3.Mô tả wsdl ………………………………………………20 Hình 3.4.Mô hình của UDDI……………………………………………………….20 Hình 3.5.Cấu trúc SOAP ……………………………………………………….. 21 Hình 4.1.Kiến trúc của bpel process ……………………………………………… 24 Hình 4.2. Các thành phần trong bpel process……………………………………....26 Hình 5.1.Lược đồ hoạt dong……………………………………………………….36 Hình 5.2.Interface của web service airline webservice…………………………....37 Hình 5.3. Interface bpel process ………………………………………………….38 Hình 5.4. Lược đồ tuần tự ………………………………………………………..40 Hình 5.5 Thiết lập biến môi trường ……………………………………………… 41 Hình 5.6 Start Tomcat 26 …………………………………………………………42 Hình 5.7.Khởi động Axis2………………………………………………………. 42 Hình 5.8 Thiết lập Axis2 trong eclipse…………………………………………...43 Hình 5.9. Lược đồ cơ sở dữ liệu …………………………………………………..44 Hình 5.10. Giao diện thiết kế …………………………………………………..45 Hình 5.11.WSDL của web service airline ………………………………………...46 Hình 5.12.Thiết kế partnerlink ……………………………………………………46 Hình 5.13 config active ……………………………………………….47 Hình 5.14. BPEL process 48 ………………………………………………..48 Hình 5.15. active ………………………………………………..48 Hình 5.16. config active ………………………………………………. 49 Hình 5.17. Config WSDL cho bpel process ……………………………………..50 Hình 5.18. config deploy.xml Hoàng Xuân Tuấn ………………………………………………..51 Đ05TH Trang 9 Báo cáo Thực tập Hình 5.19.Mô hình bpel process tương tự 1 web service ……………………….. 52 Hình 5.20.Tạo web project client ………………………………………………...53 CHƯƠNG I:HIỆN TRẠNG 1.1. Phân tích, đánh giá một số mô hình kiến trúc phân tán hiện tại Ba kiến trúc phân tán phổ biến nhất hiện này là CORBA, DCOM và EJB. Các kiến trúc này là sự mở rộng của các hệ thống hướng đối tượng bằng cách cho phép phân tán các đối tượng trên mạng. Đối tượng đó có thể có không gian địa chỉ bên ngoài ứng dụng, hoăc ở một máy khác với máy chứa ứng dụng trong khi vẫn được tham chiếu sử dụng như một phần của ứng dụng. • CORBA – Common Object Request Broker Architecture: ► CORBA được định nghĩa bởi Object Management Group (OMG), là một kiến trúc phân tán mở, độc lập nền tảng và độc lập ngôn ngữ. ► CORBA Component Model (CCM) là một cải tiến đáng kể nhằm định nghĩa các mô hình thành phần so với CORBA. Nó định nghĩa ra quy trình thiết kế, phát triển, đóng gói, triển khai và thực thi các thành phần phân tán. CCM định nghĩa khái niệm Ports cho các thành tố. Các port này được sử dụng để kết nối các thành phần có sẵn với nhau, tạo các hệ thống phân tán phức tạp hơn. Mỗi thành phần CCM có một đối tượng Home chịu trách nhiệm quản lý chu kỳ sống của đối tượng và được triển khai bên trong một trình chứa (container) ► Ưu điểm của CORBA là các lập trình viên có thể chọn bất kỳ ngôn ngữ, nền tảng phần cứng, giao thức mạng và công nghệ để phát triển mà vẫn thoả các tính chất của CORBA. Tuy nhiên CORBA số một nhược điểm là nó là ngôn ngữ lập trình cấp thấp, rất phức tạp, khó học và cần một đội ngũ phát triển có kinh nghiệm. Ngoài ra các đối tượng CORBA cũng khó có thể tái sử dụng. Hoàng Xuân Tuấn Đ05TH Trang 10 Báo cáo Thực tập Hình1.1 Mô hình CORBA • EJB - Enterprise Java Bean: ► Kiến trúc EJB là một kiến trúc thành tố bên phía máy chủ dùng cho việc phát triển và triển khai các ứng dụng phân tán hướng đối tượng cỡ vừa và lớn. ► Kiến trúc EJB có 3 tầng với tầng đầu tiên là tầng trình diễn, tầng thứ hai là tầng xử lý nghiệp vụ, và tầng thứ ba là các tài nguyên như cơ sở dữ liệu máy chủ. Truyền thông giữa các đối tượng EJB thông qua Remote Method Invocation (RMI). Các client không bao giờ tương tác trực tiếp với các bean. Thay vì vậy chúng sẽ sử dụng các phương thức được định nghĩa trong các interface Remote và Home. Mỗi bean tồn tại bên trong trình chứa, chịu trách nhiệm việc tạo thể hiện mới, lưu trữ dữ liệu và các quản lý khác. Trình chứa sẽ triệu gọi các phương thức callback của mỗi thể hiện bean khi có sự kiện tương ứng. Không giống như CCM, EJB không định nghĩa các port kết nối trực tiếp giữa các thành phần liên quan bởi vì mỗi bean bên trong trình chứa là một thực thể độc lập không có bất kỳ ràng buộc nào bên ngoài. ► EJB là một kiến trúc tốt cho việc tích hợp các hệ thống vì nó độc lập nền tảng nhưng nó cũng gặp vấn đề là nó không phải là một chuẩn mở, khả năng giao tiếp với các chuẩn khác vẫn còn hạn chế. Hoàng Xuân Tuấn Đ05TH Trang 11 Báo cáo Thực tập Hình 1.2 Mô hình EJB • DCOM – Distributed Component Object Model: ► DCOM là một mô hình phân tán dễ triển khai với chi phí thấp, hỗ trợ tigh coupling giữa các ứng dụng và hệ điều hành. Mô hình Component Object Model (COM) định nghĩa cách thức các các thành phần và client liên lạc trao đổi với nhau trên cùng một máy. DCOM mở rộng COM bằng cách sử dụng các giao thức mạng chuẩn khi cần trao đối dữ liệu với máy khác trên mạng. DCOM hỗ trợ kết nối giữa các đối tượng và những kết nối này có thể được thay đổi lúc đang chạy. Các đối tượng DCOM được triển khai bên trong các gói nhị phân chứa các mã lệnh quản lý chu kỳ sống của đối tượng và việc đăng ký đối tượng. ► DCOM mang đến nhiều ưu điểm như tính ổn định, không phụ thuộc vị trí địa lý, quản lý kết nối hiệu quả và dễ dàng mở rộng, là một lựa chọn tốt cho các doanh nghiệp sử dụng công nghệ của Windows để chạy các ứng dụng có yêu cầu cao về sự chính xác và ổn định. Tuy nhiên, các công nghệ của Microsoft có một nhược điểm lớn là chúng bị giới hạn trên nền tảng Windows. Hình 1.3 Mô hình DCOM 1.2 .Các vấn đề phát sinh, nguyên nhân và biện pháp khắc phục: Ngày nay áp lực đặt lên các doanh nghiệp ngày càng lớn: giảm chi phí đầu tư cơ sở hạ tầng, khai thác có hiệu quả các công nghệ có sẵn, phải cố gắng phục vụ yêu cầu của Hoàng Xuân Tuấn Đ05TH Trang 12 Báo cáo Thực tập khách hàng ngày càng tốt hơn, đáp ứng tốt các thay đổi nghiệp vụ, khả năng tích hợp cao với các hệ thống bên ngoài… Nguyên nhân chính của mọi khó khăn trên đó là: sự không đồng nhất và sự thay đổi. Hầu hết các doanh nghiệp ngày nay đều sở hữu nhiều hệ thống, ứng dụng, với những kiến trúc khác nhau, xây dựng vào những khoảng thời gian khác nhau và dựa trên những công nghệ khác nhau. phần việc của mình, sau đó chỉ việc tổng hợp thông tin trả về. Trong quá trình kết hợp chắc chắn sẽ gặp những khó khăn như: • Không đủ khả năng quản lý quy trình nghiệp vụ • Tốn chi phi tích hợp • Số lượng lớn nhà cung cấp và khách hàng, đó là chưa kể các đối thủ cạnh trạnh, các quy trình nghiệp vụ phức tạp • Số lượng lớn các ứng dụng cần kết hợp và quản lý như Enterprise Resource Planning (ERP), Supply Chain Management (SCM), và Product Data Management(PDM) …. • Quá nhiều định dạng dữ liệu • Vấn đề bảo mật :Trong khi đó những thay đổi vẫn liên tục xảy ra • Toàn cầu hoá dẫn đến tính cạnh tranh khốc liệt đòi hỏi phải rút ngắn quy trình sản phẩm để tăng ưu thế cạnh tranh với các đối thủ. • Nhu cầu và yêu cầu khách hàng thường xuyên thay đổi nhanh chóng nhằm cho ra các sản phẩm có tính cạnh tranh liên tục xuất hiện trên thị trường. • Cải tiến công nghệ dẫn đến thay đổi các thành phần liên quan 1.3. SOA và web service giải quyết vấn đề tích hợp như thế nào: Công nghệ XML và web service Những nghiên cứu gần đây cho thấy rằng: các khó khăn trong việc tích hợp các hệ thống có thể được khắc phục bằng cách định nghĩa thêm một tầng trừu tượng cho các hệ thống tin học hiện có và mới xây dựng. Tầng này sẽ được xây dựng dựa trên các chuẩn của web service. Một số giải pháp chung trong việc dùng web service cho vấn đề tích hợp: • Tích hợp hướng dữ liệu: ► Xác định thông tin dữ liệu nào cần được chia sẻ (các bảng dữ liệu, các định dạng file và thông điệp) ► Xây dựng các lược đồ mô tả XML (Xml Schema) cho các thông tin này. ► Sử dụng SOAP như là định dạng của thông điệp. • Tích hợp hướng chức năng/hàm APIs: ► Xác định các phương thức từ xa nào sẽ được thể hiện ra ngoài như các web service. ► Định nghĩa kiểu dữ liệu XML cho đối số của các phương thức này. ► Sử dụng SOAP như là định dạng thông điệp. • Tích hợp hướng thành phần giao tiếp: ► Định nghĩa thông tin mô tả web service (WSDL) ► Tạo ra các đối tượng bọc và thực hiện ánh xạ tương ứng giữa thành phần giao tiếp vừa định nghĩa với dữ liệu, thông điệp và các lời gọi hàm APIs (cần được chia sẻ) của hệ thống hiện hành. Hoàng Xuân Tuấn Đ05TH Trang 13 Báo cáo Thực tập Hình 1.4 Mô hình SOA sử dụng webservice CHƯƠNG II: WORKFLOW BPEL4WS là một ngôn ngữ chuẩn cho việc thực hiện các quy trình nghiệp vụ.Để tìm hiểu về các quy trình này chúng ta sẽ đi vào thế giới workflow. Có 2 cách hiểu về workflow. Cách 1: workflow theo nghĩa rộng, là 1 mô hình nghiệp vụ, trong đó các công việc được phân công rõ ràng, thực hiện theo thứ tự đặt sẵn. Khái niệm workflow theo cách hiểu này đã có từ lâu và được ứng dụng rộng rãi trong các ngành công nghiệp. Cách 2: Khái niệm workflow trong khoa học máy tính ứng dụng vào quản lý tiến trình kinh doanh (tìm hiểu dưới đây). 2.1. Khái niệm Workflow là quá trình tự động hóa một phần hoặc toàn bộ một tiến trình kinh doanh. Ý nghĩa của workflow khi này đơn giản chỉ là các luồng công việc. Hệ thống quản trị luồng công việc: quản lý và thực thi các mô hình luồng công việc thông qua việc thực thi các phần mềm. Gồm 2 thành tố: + Bộ phận hỗ trợ đặc tả mô hình luồng công việc + Bộ phận vận hành mô hình đã đặc tả 2.2. Ích lợi áp dụng workflow: Lợi ích của việc sử dụng worflow trong quản lý tiến trình kinh doanh được liệt kê như sau: + Tiến trình kinh doanh đưọc vạch ra rõ ràng, vì thế trách nhiệm và những mối quan hệ cộng tác được định rõ. + Dễ dàng để tối ưu hóa công việc kinh doanh vì những định nghĩa chính xác trên. Hoàng Xuân Tuấn Đ05TH Trang 14 Báo cáo Thực tập + Tiến trình kinh doanh được chia nhỏ thành những module và những module này có thể tổ chức lại theo mô hình workflow để thích ứng với tiến trình kinh doanh chung, vì thế dễ dàng thích nghi nhanh chóng với những thay đổi không đoán trước được trong những yêu cầu và điều kiện kinh doanh. + Workflow có thể theo dõi hằng ngày. + Workflow tích hợp với những ứng dụng hay những hệ thống khác vào tiến trình kinh doanh. + Workflow phân định rõ quan hệ và trách nhiệm trong công việc do nó tạo ra những phần công việc riêng. + Theo dự đoán, workflow sẽ tạo nên những phương pháp, những kĩ thuật từ nhiều nguồn trong khoa học máy tính cũng như quản trị học. Ví dụ, kĩ thuật workflow liên quan đến quản trị cơ sở dữ liệu, tính toán client-server, giao diện người dùng, ứng dụng và kết hợp các hệ thống phụ, quản lý tài liệu, giả lập, tái cau trúc và thực tập kinh doanh 2.3. Các dạng workflow Có rất nhiều dạng workflow từ đơn giản đến nâng cao.ứng dụng sẽ chỉ áp dụng các dạng workflow đơn giản. +Các dạng đơn giản: 2.3.1.1. Tuần tự (Sequence): Mô tả: một hoạt động trong luồng công việc được kích hoạt ngay sau khi 1 hoạt động khác kết thúc trong cùng 1 tiến trình. Ví dụ: hành vi gửi hóa đơn được thực hiện ngay sau hành vi gửi hàng hóa Cài đặt: dạng tuần tự được sử dụng để mô hình các bước liên tiếp trong cùng 1 tiến trình của luồng công việc. Mô hình: Công việcA Công việc B Hình 2.1 Mô hình tuần tự: Công việc B được thực hiện sau khi công việc A được hoàn thành 2.3.1.2.Song song (Parallel Split) Mô tả: 1 điểm trong 1 tiến trình của luồng công việc là nơi 1 công việc được tách thành nhiều công việc con. Các công việc con có thể được tiến hành đồng thời cùng lúc với nhau (song song nhau). Ví dụ: Sau khi hành vi nhận tiền hoàn thành, hành vi gửi hàng và hành vi xuất hóa đơn sẽ được kích hoạt và tiến hành đồng thời Mô hình: Hoàng Xuân Tuấn Đ05TH Trang 15 Báo cáo Thực tập Hình 2.2 song song Công việc B Công việc A Công việc C 2.3.1.3. Đồng bộ hoá Mô tả: 1 điểm trong luồng công việc là nơi các tiến trình hay các công việc con nhập lại làm 1 tiến trình hay công việc đơn. Trong dạng mô hình này, tất cả các luồng đi vào phải chờ nhau tại điểm đồng bộ hóa. Ví dụ: Sau khi hành vi gửi hàng và xuất hóa đơn được thực hiện, hành vi lưu trữ mới được kích hoạt. Mô hình: Công việc A AND Công việc C Công việc B Hình 2.3.Mô hình đồng bộ hóa 2.3.1.4. Phép chọn loại trừ (Exclusive Choice) Mô tả: tại 1 điểm trong luồng công việc sẽ diễn ra sự lựa chọn công việc nào sẽ được kích hoạt tiếp theo trong 1 loạt các công việc kế tiếp Ví dụ: Sau khi công việc kiểm thử phần mềm được thực hiện, dựa vào kết quả kiểm thử sẽ quyết định công việc tiếp theo là lập trình hay đóng gói phần mềm. Mô hình: Công việc B Công việc A Chon b hay c Công việc C Hình 2.4. Mô hình chọn loại trừ 2.3.1.5. Trộn đơn giản (Simple Merge) Mô tả: 1 điểm trong luồng công việc là nơi 2 hay nhiều nhánh gặp nhau, không có sự đồng bộ hóa giữa các nhánh. Ví dụ: Công việc lưu trữ được thực hiện sau khi công việc gửi hóa đơn hoặc công việc nhận hóa đơn được thực hiện. Mô hình: Hoàng Xuân Tuấn Đ05TH Trang 16 Báo cáo Thực tập Công việc Công việc A Công việc B C Hình 2.5.Mô hình trộn đơn giản Chú thích: chỉ cần 1 trong 2 công việc A hoặc B được hoàn thành thì công việc C sẽ được kích hoạt + Các dạng nâng cao: 2.3.1.6. Chọn đa nhánh (Multi-Choice) Mô tả: Một điểm trong tiến trình là nơi mà một hoặc nhiều nhánh được chọn theo một quyết định hoặc dựa trên dữ liệu của nghiệp vụ.Mẫu này khác với mẫu 2.4.1.4 (chọn loại trừ) có thể chọn một hoặc nhiều nhánh được chọn ra và thực thi, tương tự như phép XOR. Các ví dụ:Sau khi thực hiện hành vi đánh-giá-thiệt-hại, hành vi “liên hệ phòng cứu hỏa” hoặc hành vi “liên hệ công ty bảo hiểm” được thực hiện. Ít nhất một trong hai hành vi này được thực hiện. Tuy nhiên, cũng có thể là cả hai cần được thực hiện. Mô hình: B A C Hình 2.6.Mô hình chọn đa nhánh 2.3.1.7. Trộn đồng bộ hoá Mô tả: Một điểm trong tiến trình là nơi nhiều nhánh hội tụ lại thành một tiến trình duy nhất. Nếu có nhiều hơn một nhánh thực thi, việc đồng bộ hóa (việc đợi nhau giữa các nhánh ) được thực hiện. Nếu chỉ có một nhánh được thực thi, các nhánh khác có thể hội tụ mà không cần đồng bộ hóa. Trong mẫu này nếu có một nhánh đã được kích hoạt, thì nó không thể kích hoạt lại lần nữa trong khi còn đang đợi các nhánh khác hoàn tất. Mẫu này khác với mẫu Đồng bộ hóa ở chỗ nó đồng bộ dựa trên số nhánh thực sự được kích hoạt lúc thực thi. Còn mẫu Đồng bộ hóa bắt buộc tất cả các nhánh đi ra khỏi nút AND phân luồng (AND-Split) phải đều được thực hiện. Các ví dụ: Mở rộng ví dụ trong mẫu 6 (chọn đa nhánh), sau khi một hoặc cả hai hành vi liên-hệ-phòng-chữa-cháy và liên-hệ-công-ty-bảo-hiểm đã hoàn tất (dựa trên việc nó có được thực thi hay không), hành vi trình-báo-cáo phải được thực hiện (chỉ duy nhất một hành vi) Mô hình: Hoàng Xuân Tuấn Đ05TH Trang 17 Báo cáo Thực tập A C B Hình 2.7.Mô hình trộn đồng bộ hóa 2.3.1.8. Trộn đa nhánh Mô tả: Một điểm trong tiến trình là nơi hai hoặc nhiều nhánh hội tụ lại và không được đồng bộ hóa. Nếu nhiều hơn một nhánh được kích hoạt, ngay lập tức hành vi sau điểm trộn sẽ bắt đầu đối với mỗi kích hoạt của mỗi nhánh vào. Mẫu này chính là thể hiện cho cơ chế trộn phục vụ cho mục đích dùng chung cho các thành phần trong quy trình. Các ví dụ: Thỉnh thoảng hai hay nhiều nhánh có cùng điểm kết thúc. Thay vì lặp lại tiến trình này cho mỗi nhánh (có thể phức tạp), ta dùng mẫu trộn đa nhánh. Ví dụ đơn giản của trường hợp này là 2 hành vi “kiểm tra đơn xin việc” và “xử lý đơn xin việc” cùng thực hiện song song và thực hiện trước hành vi “đóng trường hợp”. Mô hình: Hình 2.8.Mô hình trộn đa nhánh 2.3.1.9. Các vòng lặp tuỳ ý Mô tả:Một điểm trong tiến trình là nơi các hành vi được thực hiện lặp lại nhiều lần. Mẫu này là thể hiện cho cơ chế lặp cấu trúc. Trong mẫu này việc lặp thường được quyết định bởi các điều kiện hoặc lựa chọn. Các ví dụ:Tiến trình xem xét sản phẩm : trong tiến trình này vòng lặp các hoạt động Make,Read, Note, Approve là một vòng lặp cấu trúc. Hoàng Xuân Tuấn Đ05TH Trang 18 Báo cáo Thực tập Hình 2.9.Mô hình các vòng lặp tùy ý CHƯƠNG III:TÌM HIỂU KHÁI QUÁT WEB SERVICE 3.1.Định nghĩa web service: là một công nghệ gọi từ xa có tính khả chuyển cao nhất hiện nay: mang tính độc lập nền, độc lập ngôn ngữ. Do đó, các chương trình code bằng các ngôn ngữ lập trình khác nhau, chạy trên các nền tảng (phần cứng & OS) khác nhau đều có thể trao đổi với nhau thông qua công nghệ này. Hoàng Xuân Tuấn Đ05TH Trang 19 Báo cáo Thực tập Hình 3.1.Mô hình webservice đơn giản 3.2.Đặc điểm của webservice: • Web service cho phép client và server tương tác được với nhau mặc dù trong những môi trường khác nhau. • Web service thì có dạng mở và dựa vào các tiêu chuẩn.XML và HTTP là nền tảng kỹ thuật cho web service.Phần lớn kỹ thuật của web service được xây dựng là những dự án nguồn mở. Bởi vậy, chúng độc lập và vận hành được với nhau. • Web service thì rất linh động : với UDDI và WSDL, thì việc mô tả và phát triển web service có thể được tự động hóa. • Web service được xây dựng trên nền tảng những công nghệ đã được chấp nhận • Web service có dạng mô đun • Web service có thể công bố (publish) Ví dụ về webservice như: Đặt vé máy bay trực tuyến,các dịch vụ thương mại,dự báo thời tiết…. Hình 3.2. Ứng dụng của webservice trong thực tế Hoàng Xuân Tuấn Đ05TH Trang 20
- Xem thêm -