Tải bản đầy đủ (.pdf) (105 trang)

Nghiên cứu ứng dụng kiến trúc SOA trong mô hình ứng dụng doanh nghiệp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.48 MB, 105 trang )

..

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------PHẠM ĐỨC THỌ

Phạm Đức Thọ

CÔNG NGHỆ THÔNG TIN

NGHIÊN CỨU ỨNG DỤNG KIẾN TRÚC SOA
TRONG MƠ HÌNH ỨNG DỤNG DOANH NGHIỆP

LUẬN VĂN THẠC SĨ KỸ THUẬT
CÔNG NGHỆ THÔNG TIN

2010B

Hà Nội – Năm 2012


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

PHẠM ĐỨC THỌ

NGHIÊN CỨU ỨNG DỤNG KIẾN TRÚC SOA
TRONG MƠ HÌNH ỨNG DỤNG DOANH NGHIỆP

Chun ngành :



Cơng nghệ thơng tin

LUẬN VĂN THẠC SĨ KỸ THUẬT
CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC :
1. TS Tạ Tuấn Anh

Hà Nội – 2012


LỜI CAM ĐOAN

Tôi – Phạm Đức Thọ, học viên lớp Cao học CNTT 2010 – 2012 Trường Đại
học Bách khoa Hà Nội – cam kết Luận văn tốt nghiệp là cơng trình nghiên cứu của
bản thân tơi dưới sự hướng dẫn của TS. Tạ Tuấn Anh, Viện Khoa học và công nghệ
Việt Nam.
Các kết quả trong Luận văn tốt nghiệp là trung thực, khơng sao chép tồn văn
của bất kỳ cơng trình nào khác.

Hà Nội, ngày 10 tháng 03 năm 2012
Học viên: Phạm Đức Thọ
Lớp: 10BCNTT-HV

1


LỜI CẢM ƠN
Tơi xin bày tỏ lịng biết ơn sâu sắc tới thầy giáo, TS. Tạ Tuấn Anh, Viện Khoa

học và cơng nghệ Việt Nam, đã khuyến khích và rất tận tình hướng dẫn tơi trong
suốt q trình thực hiện luận văn. Nhờ sự quan tâm chỉ bảo và những ý kiến đóng
góp q báu của thầy, tơi mới có thể hồn thành luận văn này.
Tơi xin chân thành cảm ơn tập thể các thầy, cô giáo trường Đại học Bách
Khoa Hà Nội nói chung và Viện Cơng Nghệ Thơng Tin và Truyền Thơng nói riêng
đã tận tình giảng dạy truyền đạt cho tôi những kiến thức, kinh nghiệm quý báu trong
suốt những năm học vừa qua.
Tôi cũng xin cảm ơn các giảng viên đồng nghiệp ở trường Đại học Hùng
Vương đã tạo điều kiện về thời gian để tôi có thể học tập và hồn thành luận văn.
Cuối cùng tơi xin chân thành cảm ơn gia đình, người thân đã hết lòng giúp đỡ,
hỗ trợ về vật chất lẫn tinh thần giúp tôi yên tâm học tập và nghiên cứu trong suốt
quá trình học tập và thực hiện luận văn.

2


MỤC LỤC
LỜI CAM ĐOAN........................................................................................................1
LỜI CẢM ƠN .............................................................................................................2
MỤC LỤC ..................................................................................................................3
DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT ..................................................................6
DANH MỤC BẢNG ...................................................................................................7
DANH MỤC HÌNH ....................................................................................................8
MỞ ĐẦU .................................................................................................................. 11
1. Lý do chọn đề tài ............................................................................................. 11
2. Mục đích, phạm vi nghiên cứu ......................................................................... 11
3. Đối tượng nghiên cứu ...................................................................................... 12
4. Phương pháp nghiên cứu ................................................................................. 12
5. Nhiệm vụ nghiên cứu....................................................................................... 12
CHƯƠNG 1: HỆ THỐNG THƠNG TIN DOANH NGHIỆP THEO MƠ HÌNH

KIẾN TRÚC HƯỚNG DỊCH VỤ ............................................................................. 13
1.1. Hệ thống thông tin doanh nghiệp .................................................................. 13
1.1.1. Khái niệm ............................................................................................. 13
1.1.2. Phân loại các HTTT dùng trong doanh nghiệp ..................................... 13
1.2. Mơ hình kiến trúc hướng dịch vụ ứng dụng trong HTTT doanh nghiệp ........ 15
1.2.1. Tổng quan về kiến trúc hướng dịch vụ .................................................. 15
1.2.2. Kiến trúc của SOA ................................................................................ 16
1.2.3. Các công nghệ được áp dụng ................................................................ 21
1.2.4. Lợi ích khi sử dụng mơ hình SOA trong thiết kế và xây dựng HTTT
doanh nghiệp ..................................................................................................... 30
CHƯƠNG 2: MƠ HÌNH HĨA QUY TRÌNH NGHIỆP VỤ TRONG HTTT
DOANH NGHIỆP THEO KIẾN TRÚC SOA ........................................................... 35
2.1. Quy trình nghiệp vụ...................................................................................... 35

3


2.1.1. Khái niệm quy trình nghiệp vụ .............................................................. 35
2.1.2. Mơ hình hóa quy trình nghiệp vụ .......................................................... 36
2.1.3. Một số cơng cụ hỗ trợ việc mơ hình hóa quy trình nghiệp vụ theo kiến
trúc SOA............................................................................................................ 39
2.2. Giới thiệu BPMN 2.0 ................................................................................... 40
2.2.1. Khái niệm cơ bản .................................................................................. 40
2.2.2. Các kí pháp cơ bản trong BPMN 2.0 .................................................... 41
2.2.3. So sánh BPMN 2.0 với biểu đồ hoạt động của UML ............................. 46
CHƯƠNG 3: MƠ HÌNH HĨA QUY TRÌNH NGHIỆP VỤ BẰNG BPMN 2.0......... 48
3.1. Chuyển đổi mơ hình truyền thống sang BPMN 2.0 ...................................... 48
3.2. Một số quy trình nghiệp vụ đơn giản ............................................................ 48
3.2.1. Quy trình nghiệp vụ xem thơng tin chi tiết hồ sơ học sinh ..................... 48
3.2.2. Quy trình nghiệp vụ tra cứu hồ sơ học sinh .......................................... 51

3.2.3. Quy trình nghiệp vụ đăng nhập khơng nhớ mật khẩu ........................... 54
3.2.4. Quy trình nghiệp vụ học sinh nộp bài tập về nhà................................... 56
3.2.5. Quy trình nghiệp vụ sửa thơng tin hồ sơ học sinh.................................. 58
3.2.6. Quy trình nghiệp vụ phân lớp tự động .................................................. 60
3.3. Quy trình nghiệp vụ có nhiều tác nhân cùng tham gia................................... 63
3.3.1. Quy trình nghiệp vụ xin nghỉ phép cho giáo viên .................................. 63
3.3.2. Quy trình nghiệp vụ xin miễn giảm học phí ........................................... 65
3.3.3. Quy trình đề nghị thanh tốn Dạy trung tâm ......................................... 66
CHƯƠNG 4: ÁP DỤNG CÔNG CỤ HỖ TRỢ BPMN 2.0 TỰ ĐỘNG HĨA MỘT
SỐ QUY TRÌNH NGHIỆP VỤ ................................................................................. 69
4.1. Giới thiệu Activiti ........................................................................................ 69
4.1.1. Tổng quan ............................................................................................. 69
4.1.2. Cài đặt .................................................................................................. 69
4.2. Triển khai Activiti 5.9 để mơ hình hóa quy trình nghiệp vụ bằng BPMN 2.0 72
4.3. Sử dụng cơng cụ Activiti tự động hóa một số quy trình nghiệp vụ ................ 76
4.3.1. Quy trình nghiệp vụ xin nghỉ phép cho giáo viên .................................. 76

4


4.3.2. Quy trình nghiệp vụ xin miễn giảm học phí ........................................... 85
4.3.3. Quy trình đề nghị thanh tốn Dạy trung tâm ......................................... 91
4.4. Đánh giá ....................................................................................................... 98
4.4.1. Ưu điểm của BPMN 2.0 ........................................................................ 98
4.4.2. Nhược điểm của BPMN 2.0 ................................................................... 99
KẾT LUẬN ............................................................................................................. 100
1. Các nội dung đã hoàn thành trong luận văn ................................................... 100
2. Các đóng góp khoa học.................................................................................. 100
3. Hạn chế của luận văn ..................................................................................... 101
4. Hướng phát triển luận văn ............................................................................ 101

TÀI LIỆU THAM KHẢO ....................................................................................... 103

5


DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮT
Chữ viết tắt

Chữ viết đầy đủ

BGH

Ban giám hiệu

BPM

Business Process Management

BPEL

Business Process Execution Language

BPMN

Business Process Modeling Notation

CRM

Customer Relationship Management


E- commerce

Electronic commerce

EAI

Enterprise application integration

ERP

Enterprise Resource Planning

HTTT

Hệ thống thông tin

GVCN

Giáo viên chủ nhiệm

JAX-RPC

Java APIs for XML-Based Remote Procedure Call

JAXM

Java API for XML Messaging

NSD


Người sử dụng

SCM

Supply Chain Management

SOA

Service-Oriented Architecture

SOAP

Simple Object Access Protocol

SRM

Supplier Relationship Management

UML

Unified Modeling Language

6


DANH MỤC BẢNG
Bảng 3-1 Mơ tả quy trình nghiệp vụ xem thông tin chi tiết hồ sơ học sinh .................. 48
Bảng 3-2 Mô tả nghiệp vụ tra cứu hồ sơ học sinh ....................................................... 51
Bảng 3-3 Mơ tả quy trình nghiệp vụ đăng nhập không nhớ mật khẩu ......................... 54
Bảng 3-4 Mơ tả quy trình nghiệp vụ học sinh nộp bài tập về nhà ................................ 56

Bảng 3-5 Mơ tả quy trình nghiệp vụ sửa thông tin hồ sơ học sinh ............................... 58
Bảng 3-6 Mơ tả quy trình nghiệp vụ phân lớp tự động ................................................ 60
Bảng 3-7 Mô tả nghiệp vụ xin nghỉ phép cho giáo viên .............................................. 64
Bảng 3-8 Mô tả nghiệp vụ xin miễn giảm học phí ...................................................... 65
Bảng 3-9 Mơ tả nghiệp vụ Đề nghị thanh tốn dạy trung tâm ..................................... 67

7


DANH MỤC HÌNH
Hình 1.1 Mơ hình cơ bản của SOA ............................................................................. 16
Hình 1.2 Kiến trúc tổng quan của SOA....................................................................... 17
Hình 1.3 Kiến trúc phân tầng chi tiết của SOA ........................................................... 18
Hình 1.4 Mơ hình triển khai SOA trong thực tế. ......................................................... 19
Hình 1.5 Mơ hình cơ bản của Web Service ................................................................. 20
Hình 1.6 Mơ hình khung của Openwings.................................................................... 25
Hình 1.7 Mơ hình ESB ............................................................................................... 28
Hình 2.1 Quy trình học sinh hồn thành mơn học ....................................................... 36
Hình 2.2 Các Event trong BPMN ............................................................................... 42
Hình 2.3 Các kiểu Activities trong BPMN.................................................................. 43
Hình 2.4 Các kiểu Sub-Process ................................................................................... 43
Hình 2.5 Các loại Gateway ......................................................................................... 44
Hình 2.6 Các đối tượng kết nối ................................................................................... 45
Hình 2.7 Các loại Artifacts ......................................................................................... 46
Hình 3.1 Mơ hình nghiệp vụ xem thêm thông tin chi tiết hồ sơ học sinh ..................... 50
Hình 3.2 Mơ hình hóa quy trình nghiệp vụ xem thông tin chi tiết hồ sơ học sinh
bằng BPMN 2.0 .......................................................................................................... 51
Hình 3.3 Mơ hình nghiệp vụ tra cứu hồ sơ học sinh .................................................... 53
Hình 3.4 Mơ hình hóa quy trình nghiệp vụ tra cứu hồ sơ học sinh bằng BPMN 2.0 ... 54
Hình 3.5 Biểu đồ hoạt động UML nghiệp vụ đăng nhập không nhớ mật khẩu ............ 55

Hình 3.6 Mơ hình hóa quy trình nghiệp vụ đăng nhập khơng nhớ mật khẩu bằng
BPMN 2.0 .................................................................................................................. 56
Hình 3.7 Biểu đồ hoạt động UML nghiệp vụ nộp bài tập về nhà ................................. 57
Hình 3.8 Mơ hình hóa quy trình nghiệp vụ nộp bài tập về nhà bằng BPMN 2.0 .......... 58
Hình 3.9 Biểu đồ luồng xử lý chức năng quy trình sửa thơng tin hồ sơ học sinh ......... 59
Hình 3.10 Mơ hình hóa quy trình nghiệp vụ sửa thông tin hồ sơ học sinh bằng
BPMN 2.0 .................................................................................................................. 60
Hình 3.11 Biểu đồ luồng xử lý chức năng nghiệp vụ phân lớp tự động ....................... 62
8


Hình 3.12 Mơ hình hóa quy trình phân lớp tự động bằng BPMN 2.0 .......................... 63
Hình 3.13 Mơ hình quy trình nghiệp vụ xin nghỉ phép cho giáo viên .......................... 65
Hình 3.14 Quy trình nghiệp vụ xin miễn giảm học phí ............................................... 66
Hình 3.15 Quy trình đề nghị thanh tốn tiền dạy trung tâm ......................................... 68
Hình 4.1 Màn hình chính Activiti Explorer................................................................. 70
Hình 4.2 Cơng cụ Activiti Modeler............................................................................. 71
Hình 4.3 Cơng cụ Activiti Probe................................................................................. 71
Hình 4.4 Cơng cụ Activiti Cycle ................................................................................. 72
Hình 4.5 Mơ hình hóa quy trình bằng BPMN 2.0 trên Eclipse .................................... 73
Hình 4.6 Đăng nhập bằng quyền quản trị hệ thống ..................................................... 74
Hình 4.7 Tải thêm quy trình vào Activiti Explorer ...................................................... 74
Hình 4.8 Màn hình quản lý các quy trình hiện có ........................................................ 75
Hình 4.9 Màn hình khởi động quy trình đã mơ hình hóa bằng BPMN 2.0 ................... 76
Hình 4.10 Mơ hình quy trình nghiệp vụ xin nghỉ phép cho giáo viên .......................... 76
Hình 4.11 Giáo viên đăng nhập để xin nghỉ phép........................................................ 79
Hình 4.12 Màn hình chính Activiti Explorer ............................................................... 79
Hình 4.13 Chọn khởi động quy trình xin nghỉ phép .................................................... 79
Hình 4.14 Hồn thiện thơng tin xin nghỉ ..................................................................... 80
Hình 4.15 Người quản lý đăng nhập ........................................................................... 81

Hình 4.16 Màn hình chính Activiti Explorer của người quản lý .................................. 81
Hình 4.17 Các cơng việc đang chờ xử lý .................................................................... 81
Hình 4.18 Nhận việc xử lý yêu cầu xin nghỉ phép....................................................... 82
Hình 4.19 Xử lý u cầu và hồn thành ...................................................................... 83
Hình 4.20 Nhận lại yêu cầu thay đổi ........................................................................... 83
Hình 4.21 Gửi lại yêu cầu ........................................................................................... 84
Hình 4.22 GV gửi lại yêu cầu đã sửa .......................................................................... 84
Hình 4.23 Quy trình nghiệp vụ xin miễn giảm học phí ............................................... 85
Hình 4.24 Học sinh đăng nhập vào hệ thống ............................................................... 87
Hình 4.25 Chọn quy trình Xin miễn giảm học phí ...................................................... 87

9


Hình 4.26 Điền đầy đủ thơng tin vào form khởi động ................................................. 88
Hình 4.27 Quy trình đã được khởi động...................................................................... 88
Hình 4.28 GVCN nhận phần việc của mình ................................................................ 89
Hình 4.29 GVCN Xử lý cơng việc .............................................................................. 89
Hình 4.30 Quy trình chuyển tiếp cơng việc đến BGH ................................................. 90
Hình 4.31 BGH Xử lý cơng việc................................................................................. 90
Hình 4.32 Quy trình đề nghị thanh tốn tiền dạy trung tâm ......................................... 91
Hình 4.33 GV chọn quy trình Thanh tốn Dạy trung tâm............................................ 93
Hình 4.34 GV nhập các thông tin để tiến hành thanh tốn .......................................... 94
Hình 4.35 Cơng việc xuất hiện trong hàng chờ của giáo vụ ........................................ 94
Hình 4.36 Giáo vụ xử lý yêu cầu ................................................................................ 95
Hình 4.37 Giáo viên nhận lại u cầu ......................................................................... 95
Hình 4.38 Tải lên tài ngun đính kèm ....................................................................... 96
Hình 4.39 Giáo vụ nhận lại yêu cầu ............................................................................ 96
Hình 4.40 Quản lý đào tạo nhận việc .......................................................................... 97
Hình 4.41 Thủ quỹ hồn thành quy trình thanh tốn ................................................... 97


10


MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay nhiều dịch vụ trên Internet cũng như trong các công ty được thiết kế
theo kiến trúc SOA (Service Oriented Architechture - kiến trúc hướng dịch vụ).
Dịch vụ là yếu tố then chốt trong SOA, nó giúp cho các doanh nghiệp có thể tích
hợp các thành phần hiện có vào các ứng dụng mới và các thành phần này có thể
được chia sẻ hoặc tái sử dụng trong nhiều lĩnh vực khác nhau của cơng ty đó mà
khơng cần phải chỉnh sửa mã nguồn hay phải tái cấu trúc lại hệ thống.
Xuất phát từ lợi ích của việc xây dựng hệ thống thơng tin doanh nghiệp theo
hướng SOA nên ngày càng nhiều công ty áp dụng SOA trong việc thiết kế các hệ
thống thơng tin doanh nghiệp của mình nhằm đạt được mức độ linh hoạt cao trong
kinh doanh. Chính vì lẽ đó tôi chọn đề tài “Nghiên cứu ứng dụng kiến trúc SOA
trong mơ hình ứng dụng doanh nghiệp” là đề tài luận văn tốt nghiệp.
2. Mục đích, phạm vi nghiên cứu
 Nghiên cứu tìm hiểu về SOA, hệ thống thơng tin doanh nghiệp, đưa ra được
các lợi ích khi sử dụng SOA trong thiết kế và xây dựng hệ thống thông tin
doanh nghiệp.
 Nghiên cứu tìm hiểu về mơ hình hóa quy trình nghiệp vụ và nghiên cứu cách
thức sử dụng kí pháp của BPMN 2.0. Từ đó mơ hình hóa một số quy trình
nghiệp vụ trường học.
 So sánh các ưu điểm của BPMN 2.0 với biểu đồ hoạt động UML.
 Chuyển đổi một số mơ hình quy trình nghiệp vụ dạng truyền thống sang
BPMN 2.0.
 Áp dụng phần mềm Activiti 5.9 để tiến hành tự động hóa một số quy trình
nghiệp vụ trường học đã được mơ hình hóa bằng BPMN 2.0.


11


3. Đối tượng nghiên cứu
- Các quy trình nghiệp vụ trong một tổ chức, doanh nghiệp.
- Kiến trúc SOA
- Ngôn ngữ mơ hình hóa BPMN 2.0
- Phần mềm Activiti 5.9
4. Phương pháp nghiên cứu
Các phương pháp nghiên cứu đã được áp dụng bao gồm:
- Phương pháp nghiên cứu lý thuyết, tổng hợp tài liệu.
- Phương pháp ứng dụng minh họa.
- Phương pháp nghiên cứu thực tiễn.
5. Nhiệm vụ nghiên cứu
 Tìm hiểu khái quát về kiến trúc SOA, hệ thống thơng tin doanh nghiệp,
sau đó tập trung vào tìm hiểu về BPMN 2.0, quy trình nghiệp vụ, và mơ
hình hóa quy trình nghiệp vụ bằng BPMN 2.0.
 So sánh BPMN 2.0 với biểu đồ hoạt động UML.
 Nghiên cứu sử dụng cơng cụ Activiti 5.9 để tự động hóa các quy trình
nghiệp vụ đã được mơ hình hóa bằng BPMN 2.0.

12


CHƯƠNG 1: HỆ THỐNG THƠNG TIN DOANH NGHIỆP THEO
MƠ HÌNH KIẾN TRÚC HƯỚNG DỊCH VỤ
1.1.

Hệ thống thông tin doanh nghiệp


1.1.1. Khái niệm
Hệ thống thông tin doanh nghiệp là hệ thống hỗ trợ cho các quy trình nghiệp
vụ của một tổ chức với các chức năng như sản xuất, phân phối, bán hàng, kế tốn,
tài chính và nhân sự.
Các thành phần chính trong hệ thống thơng tin doanh nghiệp gồm:
 Hệ thống hoạch định nguồn lực doanh nghiệp (Enterprise Resource
Planning - ERP)
 Hệ thống quản trị quan hệ khách hàng (Customer Relationship
Management - CRM) và hệ thống quản trị quan hệ nhà cung cấp
(Supplier Relationship Management - SRM)
 Hệ thống quản trị chuỗi cung ứng (Supply Chain Management - SCM)

1.1.2. Phân loại các HTTT dùng trong doanh nghiệp
Có nhiều cách phân loại các HTTT dùng trong doanh nghiệp. Dưới đây là
cách phân loại dựa trên loại hỗ trợ mà HTTT cung cấp.
1.1.2.1.

Các hệ thống hỗ trợ hoạt động
 Hệ thống xử lý giao dịch (xử lý giao dịch kinh doanh)
 Hệ thống điều khiển tiến trình (điều khiển các quá trình cơng nghiệp)
 Hệ thống cộng tác xí nghiệp (hỗ trợ giao tiếp, cộng tác trong doanh
nghiệp)

Các hệ thống hỗ trợ hoạt động, hay các HTTT tác nghiệp, xử lý các dữ liệu
dùng cho các hoạt động kinh doanh và sinh ra trong các hoạt động đó. Các hệ thống

13


này sinh ra nhiều sản phẩm thông tin dùng bên trong và bên ngoài doanh nghiệp.

Chúng thường đảm nhận các vai trò sau đây:
 Xử lý một cách hiệu quả các giao dịch kinh doanh,
 Điều khiển các tiến trình cơng nghiệp (thí dụ q trình chế tạo sản
phẩm),
 Hỗ trợ việc giao tiếp và cộng tác trong tồn xí nghiệp,
 Cập nhật các CSDL cấp Công ty.
Tuy nhiên các hệ thống này không chú trọng vào việc tạo ra các sản phẩm
thông tin mang đặc thù quản lý. Muốn có các thơng tin dạng đó phải tiến hành xử lý
tiếp trong các HTTT hỗ trợ quản lý.
1.1.2.2.

Các hệ thống hỗ trợ quản lý
 Hệ thống thông tin quản lý (các báo cáo theo mẫu định trước)
 Hệ hỗ trợ quyết định (hỗ trợ quyết định tương tác, không theo mẫu)
 Hệ thống thông tin điều hành (các thông tin cho lãnh đạo cấp cao nhất)

Các hệ thống hỗ trợ quản lý, trợ giúp các nhà quản lý trong việc ra quyết định.
Chúng cung cấp các thông tin và các hỗ trợ để ra quyết định về quản lý, là các
nhiệm vụ phức tạp do các nhà quản trị và các nhà kinh doanh chuyên nghiệp thực
hiện. Về mặt ý niệm, thường chia ra các loại hệ thống chính sau đây, nhằm hỗ trợ
các chức trách ra quyết định khác nhau:
 Các HTTT quản lý - cung cấp thông tin dưới dạng các báo cáo theo
mẫu định sẵn, và trình bày chúng cho các nhà quản lý và các chuyên
gia khác của doanh nghiệp,
 Các hệ thống hỗ trợ quyết định - cung cấp trực tiếp các hỗ trợ về mặt
tính tốn cho các nhà quản lý trong q trình ra quyết định (không theo
mẫu định sẵn, và làm việc theo kiểu tương tác, không phải theo định
kỳ),

14



 Các HTTT điều hành - cung cấp các thông tin có tính quyết định từ các
nguồn khác nhau, trong nội bộ cũng như từ bên ngồi, dưới các hình
thức dễ dàng sử dụng cho các cấp quản lý và điều hành.

1.2.

Mơ hình kiến trúc hướng dịch vụ ứng dụng trong HTTT doanh

nghiệp
1.2.1. Tổng quan về kiến trúc hướng dịch vụ
SOA (Service Oriented Architecture) – Kiến trúc Định hướng Dịch vụ là một
cách tiếp cận hay một phương pháp luận để thiết kế và tích hợp các thành phần khác
nhau, bao gồm các phần mềm và các chức năng riêng lẻ lại thành một hệ thống
hoàn chỉnh. Kiến trúc SOA rất giống như cấu trúc của các phần mềm hướng đối
tượng gồm nhiều module. Tuy nhiên khái niệm module trong SOA khơng đơn thuần
là một gói phần mềm, hay một bộ thư viện nào đó. Thay vào đó, mỗi module trong
một ứng dụng SOA là một dịch vụ được cung cấp rải rác ở nhiều nơi khác nhau và
có thể truy cập thơng qua mơi trường mạng. Nói một cách ngắn gọn, một hệ thống
SOA là một tập hợp nhiều dịch vụ được cung cấp trên mạng, được tích hợp lại với
nhau để cùng cộng tác thực hiện các tác vụ nào đấy theo yêu cầu của người dùng.
Một trong những cách hiểu sai lầm nhất về SOA là coi SOA là một công nghệ.
Mặc dù SOA hoạt động được là nhờ công nghệ, nhưng khách hàng cần phải chuyển
đổi từ chỗ chỉ việc tích hợp cơng nghệ SOA sang việc phải điều chỉnh các phương
pháp thực hiện dự án, chính sách bảo trì và thay đổi để đạt được các lợi ích về khả
năng trưởng thành và đáp ứng.
Dịch vụ là yếu tố then chốt trong SOA. Có thể hiểu dịch vụ như là một loại
module thực hiện một quy trình nghiệp vụ nào đó. Một trong những mục đích của
SOA là giúp các ứng dụng có thể 'nói chuyện' với nhau mà không cần biết các chi

tiết kỹ thuật bên trong. Để thực hiện điều đó SOA định ra một chuẩn giao tiếp (dùng
để gọi hàm dịch vụ) được định nghĩa rõ ràng và độc lập với nền tảng hệ thống, và
có thể tái sử dụng. Như vậy, SOA là cấp độ cao hơn của phát triển ứng dụng, chú
15


trọng đến quy trình nghiệp vụ và dùng giao tiếp chuẩn để giúp che đi sự phức tạp kỹ
thuật bên dưới. Sự trừu tượng là cốt lõi của khái niệm dịch vụ, nó giúp cho các
doanh nghiệp có thể tích hợp các thành phần hiện có vào các ứng dụng mới và các
thành phần này có thể được chia sẻ hoặc tái sử dụng trong nhiều lĩnh vực khác nhau
của cơng ty đó mà khơng cần phải chỉnh sửa mã nguồn hay phải tái cấu trúc lại hệ
thống.
Có nhiều cách khác nhau để kết nối các dịch vụ, chẳng hạn dùng các giao thức
mạng có sẵn, hoặc tạo một giao thức riêng. Nhưng từ năm 2001, các dịch vụ web
(Web service) được xây dựng dựa trên nền tảng web toàn cầu, bất cứ nơi nào cũng
có, đã trở thành một phương pháp phổ biến cho việc kết nối các thành phần của hệ
thống SOA với nhau. Thoạt nhìn SOA và dịch vụ web trơng có vẻ giống nhau
nhưng chúng khơng phải là một.

Hình 1.1 Mơ hình cơ bản của SOA

1.2.2. Kiến trúc của SOA
1.2.2.1.

Kiến trúc tổng quan của SOA

16


Hình 1.2 Kiến trúc tổng quan của SOA

 Service Provider: Cung cấp các dịch vụ phục vụ cho một nhu cầu nào đó.
User (người sử dụng hay một ứng dụng sử dụng service) khơng cần quan tâm
đến vị trí thực sự mà service họ cần sử dụng đang hoạt động.
 Serive Consumer: User sử dụng dịch vụ được cung cấp bởi Service Provider.
 Service Registry: Nơi lưu trữ thông tin về các service của các Service
Provider khác nhau, Service Consumer dựa trên những thơng tin này để tìm
kiếm và lựa chọn Service Provider phù hợp.
Service Provider sẽ đăng ký thông tin về service mà mình có thể cung cấp (các
chức năng có thể cung cấp, khả năng của hệ thống (tài nguyên, hiệu năng), giá cả
dịch vụ,...) vào Service Registry. Service Consumer khi có nhu cầu về một service
nào đó sẽ tìm kiếm thơng tin trên Service Registry. Ngồi chức năng hỗ trợ tìm
kiếm, Service Registry cịn có thể xếp hạng các Service Provider dựa trên các tiêu
chí về chất lượng dịch vụ, bầu chọn từ các khách hàng đã sử dụng service, ... Những
thông tin này sẽ hỗ trợ thêm cho quá trình tìm kiếm của Service Consumer. Khi đã
xác định được Service Provider mong muốn, Service Consumer thiết lập kênh giao
tiếp trực tiếp với Service Provider nhằm sử dụng service hoặc tiến hành thương
lượng thêm (về mặt giá cả, tài nguyên sử dụng, ...).

17


1.2.2.2.

Kiến trúc chi tiết

Hiện nay chưa có một mơ hình chính thức nào của SOA. Thật sự SOA là một
phương pháp luận giúp chúng ta tận dụng sức mạnh của các nguồn lực, nguồn tài
nguyên khác nhau trong mạng máy tính để trở thành một hệ thống nhất. Mỗi một
cơng ty, hệ thống có một mơ hình SOA khác nhau. Nhìn chung mơ hình SOA có
các đặc điểm sau:


Hình 1.3 Kiến trúc phân tầng chi tiết của SOA
Một vài thành phần quan trọng trong kiến trúc này:
 Connectivity: đây là tầng thấp nhất của SOA, có nhiệm vụ giao tiếp trực tiếp
với các thành phần khác như cơ sở dữ liệu, giao tiếp với các ứng dụng khác,
các web service,… Vì vậy có thể coi đây là tầng vật lý của SOA.
 Orchestration: là các dịch vụ xử lý các quy trình nghiệp vụ và dộc lập với
tầng vật lý phía bên dưới.
 Composite Application: là các ứng dụng tổng hợp nhằm mục đích trình diễn
(presentation) và hiển thị thơng tin cho người dùng cũng như cung cấp một
giao diện cho người dùng tương tác với hệ thống như là một phần mềm duy
nhất. Tầng này có thể là các website, portal, các ứng dụng client mở rộng
(rich client), các thiết bị di động thông minh (smart device),…

18


 Các thành phần khác: gồm có quy trình phát triển (development), quản lý các
dịch vụ (service management), và quản lý con người (governance). Như vậy
có thể thấy SOA khơng chỉ đơn thuần là về mặt cơng nghệ mà nó là tổng hịa
của rất nhiều yếu tố: cơng nghệ, cơ sở hạ tầng, con người và quy trình nghiệp
vụ.

Hình 1.4 Mơ hình triển khai SOA trong thực tế.
1.2.2.3.

SOA và Web service

Chúng ta có thể thấy mơ hình trên của SOA rất giống với của mơ hình Web
service:


19


Hình 1.5 Mơ hình cơ bản của Web Service
SOA và Web service là hai khái niệm tách biệt nhau. SOA chỉ đặc tả một mơ
hình phát triển các ứng dụng dựa trên dịch vụ, Còn Web service tập trung vào cơng
nghệ để thực hiện điều đó dựa trên nền tảng Web. Nói ngắn gọn, Web service là
một mơ hình cụ thể hóa của SOA. Web service được sử dụng phần lớn trong các
ứng dụng SOA. Chúng ta cần chú ý là khái niệm “service” của SOA không chỉ là
Web service mà nó bao hàm cả các dịch vụ khác mà chúng ta có thể tìm thấy và sử
dụng chúng trong một mạng máy tính.
1.2.2.4.

Mơ hình giao tiếp bằng thơng điệp (message) trong SOA

So với kiểu thiết kế Component-Based, điểm khác biệt chính của SOA là cung
cấp khả năng giao tiếp giữa các thành phần trong hệ thống (service) sử dụng thông
điệp (message) dựa trên các chuẩn giao tiếp đã được chuẩn hóa (HTTP, FTP,
SMTP, ...). Chính nhờ đặc điểm này, hệ thống SOA trở nên độc lập với platform
(platform independent). Các service hoạt động trên nền các platform khác nhau vẫn
có thể giao tiếp với nhau nhờ vào các interface giao tiếp đã được chuẩn hóa để cộng
tác xử lý một tác vụ nào đó.
Sử dụng thơng điệp (message) để giao tiếp có các lợi thế sau:

20


 Thông điệp trở thành ngôn ngữ chung của các platform và các ngơn ngữ lập
trình khác nhau. Điều này đảm bảo các service trên các platform khác nhau

hoạt động với cấu trúc dữ liệu đặc thù của platform đó.
 Hoạt động gửi nhận thông điệp được thực hiện theo cơ chế chỉ gửi. Phía gửi
và phía nhận khơng cần phải chờ thông điệp trả lời sau khi đã gửi đi một
thơng điệp. Điều này giúp cho phía gửi và phía nhận tiếp tục xử lý cơng việc
sau khi gửi thông điệp mà không cần dừng thực thi để chờ thơng điệp trả lời.
 Các thơng điệp từ phía gửi có thể được gửi đến một dịch vụ trung gian có
nhiệm vụ lưu trữ các thơng điệp. Dịch vụ trung gian sẽ gửi (forward) thơng
điệp cho phía nhận khi phía nhận có thể xử lý yêu cầu tiếp theo. Cơ chế
Store-and-Forward này đảm bảo các thông điệp sẽ không bị thất lạc trong
trường hợp phía nhận bị quá tải và không thể nhận thêm yêu cầu mới.
 Việc trao đổi thông điệp theo cơ chế bất đồng bộ giúp ứng dụng không cần
ngừng thực thi để chờ một tác vụ kết thúc mà có thể tạo ra các luồng xử lý
các công việc khác nhau.
 Các thông điệp lưu trữ thông tin về các đối tượng dữ liệu dưới dạng đặc tả
hình thức thay thế việc phải nối tiếp hóa và hủy nối tiếp các đối tượng dữ
liệu truyền qua mạng khi ứng dụng thực hiện gọi từ xa một ứng dụng khác.
 Thơng điệp có thể lưu trữ thơng tin về ngữ cảnh bảo mật của kênh giao tiếp.
Điều này cung cấp khả năng điều khiển liên quan đến bảo mật như xác thực
và ủy quyền.

1.2.3. Các công nghệ được áp dụng
1.2.3.1.

Sun JINI

Công nghệ Jini cho phép xây dựng một hệ thống là một mạng của các dịch vụ.
Các dịch vụ có thể được thêm vào và xố bỏ khỏi mạng, và người dùng mới có thể
tìm kiếm các dịch vụ hiện có. Tất cả đều xảy ra động, khơng có sự quản lý.

21



Dịch vụ được dựa trên các giao diện đã được viết trong ngơn ngữ lập trình
Java. Nó khơng quan tâm đến việc dịch vụ cài bằng phần cứng hay phần mềm. Đối
tượng dịch vụ mà người dùng tải về được cung cấp bởi các thành phần cung cấp
dịch vụ. Client chỉ cần biết rằng họ đang làm việc với một cài đặt của một giao diện
được viết bằng ngôn ngữ lập trình Java. Việc thiết kế dựa trên các giao diện dịch vụ
cho phép xây dựng các hệ thống với tính sẵn dùng cao. Một thành phần có thể sử
dụng bất kỳ dịch vụ nào phù hợp với giao diện, thay vì được cấu hình tĩnh để giao
tiếp với một thành phần nhất định nào đó.
Cơng nghệ Jini được xây dựng phía trên cơng nghệ Java (xem hình dưới).
Phương thức triệu gọi từ xa của Java (RMI) cung cấp cơ chế thu rác từ xa của các
đối tượng từ xa và khả năng chuyển trạng thái của đối tượng cũng như mã đối tượng
qua mạng.
Kiến trúc Jini bao gồm:
 Dịch vụ tra cứu (Looup Services): Dịch vụ tra cứu lưu trữ các dịch vụ
Jini và cung cấp các uỷ nhiệm để truyền thơng với dịch vụ, bản thân nó
cũng là một dịch vụ Jini.
 Dịch vụ Jini(Jini services): Dịch vụ Jini được đăng ký với dịch vụ tra
cứu và có khả năng được triệu gọi thông qua giao diện công khai của
mình (giao diện này được định nghĩa thơng qua một giao diện từ xa).
Hệ thống nền tảng truyền thông của Jini là RMI.
 Thành phần sử dụng dịch vụ Jini (Jini Client): Thành phần sử dụng dịch
vụ Jini là một phần mềm yêu cầu đối tượng uỷ nhiệm từ dịch vụ tra cứu
để gọi dịch vụ Jini.
Jini có một số các dịch vụ được xây dựng sẵn, bao gồm:
 Dịch vụ tìm kiếm tra cứu (Lookup Discovery Services): Dịch vụ tìm
kiếm tra cứu thơng báo cho các thành phần sử dụng dịch vụ về các thay

22



đổi trong mạng Jini. Các dịch vụ có thể kết hợp hoặc tách ra khỏi mạng
bất kỳ thời điểm nào.
 Dịch vụ tái tạo ràng buộc(Lease Renewal Services): Khái niệm tái tạo
ràng buộc hỗ trợ mạng dịch vụ Jini tính naưng tự hàn gắn và khắc phục
lỗi. Dịch vụ phải tái tạo ràng buộc không được tái tạo, dịch vụ sẽ là một
ứng viên bị loại bỏ khỏi mạng lưới dịch vụ. Trách nhiệm của những
người quản trị trong lĩnh vực này được giảm tới mức tối thiểu nhờ tính
năng tự hàn gắn của hệ thống.
 Dịch vụ giao dịch (Transactor Services): Dịch vụ cho phép sử dụng các
giao dịch trong một hệ thống phân tán. Thông thường, các tổ chức sử
dụng cơ sở dữ liệu để tạo các hệ thống giao dịch. Dịch vụ giao dịch của
Jini đưa tính năng giao dịch của cơ sở dữ liệu lên mạng. Các dịch vụ có
thể tham gia vào các giao dịch để đảm bảo các thuộc tính ACID
(Atomicity- Consistency- Isolation- Durability) gắn liền với giao dịch.
 Dịch vụ hộp thư sự kiện (Event MailBox Services): Các thay đổi trong
mạng dịch vụ Jini đựơc truyền đi trogn hệ thống bằng cách sử dụng các
sự kiện phân tán. dịch vụ hộp thư sự kiện hỗ trợ tính năng thơng báo
các sự sự kiện cho các dịch vụ ngay cả khi dịch vụ không được kích
hoạt tại thời điểm hiện tại.
1.2.3.2.

Openwings

Openwings là một khung kiến trúc hướng dịch vụ cho việc xây dựng các hệ
thống các siêu hệ thống (hệ thống của hệ thống). Mặc dù khơng bị ràng buộc cụ thể
với Jini, nó cho phép xây dựng dựa trên các khải niệm của Java và Jini để cung cấp
một giải pháp hoàn thiện hơn.
Openwings có hàng loạt các dịch vụ cốt lõi hỗ trợ tính tốn hướng đối tượng.


23


×