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

Web services và tích hợp ứng dụng

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 (899.92 KB, 97 trang )

Bộ giáo dục và đào tạo
Trờng đại học bách khoa Hà Nội
------------------------------

Hồ Anh Dũng

Webservice và Tích hợp ứng dụng

Chuyên ngành : Công nghệ thông tin

luận văn thạc sĩ khoa học
Ngành công nghệ thông tin

ngời hớng dẫn khoa học: TS.Vũ Tuyết Trinh

Hà nội 2008


LI CM N
Để có đợc sự thành công của mỗi ngời, ngoài sự cố gắng và nỗ lực học
tập, rèn luyện của bản thân, không thể thiếu sự quan tâm, giúp đỡ của các thầy
cô và những thế hệ đi trớc, gia đình, bạn bè đồng nghiệp.
Tác giả xin đợc gửi lời biết ơn chân thành nhất tới TS V Tuyt Trinh
đã tận tình hớng dẫn và động viên tôi trong suốt quá trình thực hiện luận văn
của mình.
Tác giả xin cảm ơn tới toàn thể các thầy cô giáo trong Bộ môn H thng
Thụng tin, Trung tâm sau đại học Trờng Đại Học Bách Khoa Hà Nội đã giúp
đỡ Tôi trong quá trình học tập tại trờng.
Xin cảm ơn gia đình và bạn bè đã tạo mọi điều kiện để tác hoàn thành
luận văn của mình.



1

MỤC LỤC
DANH SÁCH HÌNH VẼ................................................................................. 3
DANH SÁCH BẢNG ..................................................................................... 6
DANH SÁCH TỪ VIẾT TẮT........................................................................ 7
LỜI CẢM ƠN.................................................................................................. 9
Chương 1:MỞ ĐẦU...................................................................................... 10
1.1. Tích hợp ứng dụng của doanh nghiệp .................................................. 10
1.2. Từ tích hợp dữ liệu đến tích hợp ứng dụng .......................................... 12
1.3. Mục đích của luận văn.......................................................................... 18
1.4. Cấu trúc luận văn. ................................................................................. 19
Chương 2:MỘT SỐ CÔNG NGHỆ TÍCH HỢP ỨNG DỤNG................. 21
2.1. Giới thiệu .............................................................................................. 21
2.2. Môi trường đồng tích hợp đồng nhất Java – RMI ................................ 22
2.3. Môi trường tích hợp không đồng nhất.................................................. 24
2.4. Công nghệ Web services ...................................................................... 27
2.5. Nhận xét đánh giá ................................................................................. 31
CHƯƠNG 3:WEB SERVICES VÀ CÁC CHUẨN ................................... 34
3.1. Ngôn ngữ XML. ................................................................................... 37
3.2. Các chuẩn của Web service .................................................................. 37
3.2.1 Chuẩn WSDL .................................................................................. 38
3.2.2. Chuẩn UDDI .................................................................................. 51
3.2.2.1. Công bố dịch vụ....................................................................... 53
3.2.2.2. Tìm kiếm Dịch vụ .................................................................... 57
3.2.3. Chuẩn SOAP .................................................................................. 62
3.2.3.1. Thông điệp SOAP.................................................................... 62
3.2.3.2. Cấu trúc của SOAP .................................................................. 63



2

Chương 4:ỨNG DỤNG MINH HỌA.......................................................... 69
4.1. Kịch bản về du lịch ............................................................................... 69
4.2. Môi trường xây ứng dụng ..................................................................... 70
4.3. Quy trình hoạt động của ứng dụng ....................................................... 71
4.4. Mô tả các dịch vụ.................................................................................. 72
4.4. Công bố và tìm kiếm dịch vụ................................................................ 81
4.4.1. Đăng ký dịch vụ ............................................................................. 81
4.4.2. Tìm kiếm dịch vụ ........................................................................... 84
4.5. Thông điệp trao đổi dữ liệu theo chuẩn SOAP..................................... 87
Chương 5:KẾT LUẬN.................................................................................. 93
TÀI LIỆU THAM KHẢO ............................................................................ 95


3

DANH SÁCH HÌNH VẼ
Hình

Trang

1.1. Các ứng dụng hoạt động riêng lẻ của doang nghiệp

11

1.2. Tích hợp các ứng dụng đơn lẻ trong doanh nghiệp

12


1.3. Tích hợp dữ liệu qua thành phần trung gian

14

1.4. Phương pháp tích hợp dữ liệu ETL

15

1.5. Đồng bộ dữ liệu giữa hai ứng dụng

16

1.6. Tích hợp quy trình nghiệp vụ

17

2.1. Giao tiếp giữa Client và Server qua RMI

23

2.2. Client truy cập dịch vụ thông qua một đối tượng

25

2.3. Cơ chế hoạt động của Corba

26

2.4. Giao tiếp giữa bên sử dụng dịch vụ và cung cấp dịch vụ


28

2.5. Quan hệ giữa các thành phần trong Web services

28

2.6. Tính tương liên yếu của dịch vụ

29

2.7. Tính trong suốt của web services

31

3.1. Mối quan hệ giữa các thành phần

35


4

3.2. Các thành phần kỹ thuật cơ bản của Web services

35

3.3. Kiến trúc cơ bản của một dịch vụ web

36


3.4. Mô tả vai trò của WSDL

38

3.5. Cấu trúc một WSDL

39

3.6. Các tập tin của tài liệu WSDL

40

3.7. Mối quan hệ giữa các phần tử trong WSDL

41

3.8. Vai trò và hoạt động của UDDI

51

3.9. Mối quan giữa các trang thông tin và dữ liệu UDDI

52

3.10. Mối quan hệ giữa các kiểu dữ liệu trong UDDI

53

3.11. Quan hệ giữa WSDL và UDDI


53

3.12. Thông điệp SOAP được truyền đi

62

3.13. Vai trò và hoạt động của SOAP trong dịch vụ web

63

3.14. Cấu trúc của một thông điệp SOAP

63

3.15. Xác nhận chữ ký trung gian

64

4.1. Minh hoạ tìm kiếm và thực hiện giao dịch

70

4.2. Minh họa quy trình hoạt động của ứng dụng

71


5

4.3. Đăng ký nhà cung cấp dịch vụ


82

4.4. Đăng ký dịch vụ

83

4.5. Tạo các tMode mô tả dịch vụ

84

4.6. Tìm kiếm theo chủng loại

85

4.7. Giao diện tìm kiếm dịch vụ

86

4.8. Các thông tin dịch vụ

87


6

DANH SÁCH BẢNG
Bảng

Trang


3.1. Các phần tử trong BusinessService

55

3.2. Danh sách các phần tử trong BindingTemplate

57

3.3. Các giá trị của phần tử faultcode

67


7

DANH SÁCH TỪ VIẾT TẮT
CORBA

Command Object Request Broker Architecture

CRM

Customer Relationship Management

DCE

Distributed Computing Environment

DCOM


Distributed Componet Object Model

EAI

Enterprise Application Integration

ERP

Enterprise Resource Planning

ETL

Extract, Tranform, and Load

HTML

Hyper text Markup Language

HTTP

Hyper text Transfer Protocol

IIOP

Internet Inter ORB Protocol

JRMI

Java Remote Method Invoketion


JVM

Java Virtual Machine

OMG

Object Management Group

ORB

Object Request Broker

ORPC

Object Remote Procedure Call

RMI

Remote Method Invoke

RPC

Remote procedure call

SCM

Supply chain Management

SGML


Standard Generalized Markup Language


8

SOAP

Simple Object Access Protocol

UDDI

Universal Description Discovery And Integration

URL

Uniform Resource Locator

W3C

World Wide Web Consortium

WS

Web services

WSDL

Web services Discription Language


XML

Extensible Markup Language


9

LI CM N
Để có đợc sự thành công của mỗi ngời, ngoài sự cố gắng và nỗ lực học
tập, rèn luyện của bản thân, không thể thiếu sự quan tâm, giúp đỡ của các thầy
cô và những thế hệ đi trớc, gia đình, bạn bè đồng nghiệp.
Tác giả xin đợc gửi lời biết ơn chân thành nhất tới TS V Tuyt Trinh
đã tận tình hớng dẫn và động viên tôi trong suốt quá trình thực hiện luận văn
của mình.
Tác giả xin cảm ơn tới toàn thể các thầy cô giáo trong Bộ môn H thng
Thụng tin, Trung tâm sau đại học Trờng Đại Học Bách Khoa Hà Nội đã giúp
đỡ Tôi trong quá trình học tập tại trờng.
Xin cảm ơn gia đình và bạn bè đã tạo mọi điều kiện để tác hoàn thành
luận văn của mình.


10

Chương 1
MỞ ĐẦU

1.1. Tích hợp ứng dụng của doanh nghiệp
Ngày nay, ứng dụng Công nghệ Thông tin có mặt trong hầu hết các
doanh nghiệp và hỗ trợ cho nhiều lĩnh vực từ các nghiệp vụ văn phòng đơn
giản đến các nghiệp vụ sản xuất kinh doanh tức tạp. Tuy nhiên, các doanh

nghiệp sử dụng ứng dụng Công nghệ Thông tin chưa mang tính chiến lược,
mà chỉ giải quyết các công việc tức thời, dẫn đến không đáp ứng được khả
năng sử dụng của doanh nghiệp khi có sự thay đổi. Để giải quyết vấn đề này,
các ứng dụng cần được cải tiến, nâng cấp cho phù hợp với nghiệp vụ của
doanh nghiệp. Phần lớn các ứng dụng được xây dựng mang tính chất cục bộ,
mỗi ứng dụng chỉ hỗ trợ riêng cho một số nghiệp vụ và phạm vi sử dụng trong
một doanh nghiệp hay một tổ chức. Vì vậy, việc cải tiến, nâng cấp cũng chỉ
đáp ứng được các yêu cầu cục bộ.
Các ứng dụng thường hoạt động độc lập, riêng lẻ, ít có mối quan hệ qua
lại giữa chúng, chỉ một số được kết nối và trao đổi dữ liệu với nhau. Do đó,
các ứng dụng không có khả năng xử lý và tổng hợp dữ liệu từ nhiều nguồn dữ
liệu. Với hạn chế này, các nghiệp vụ xử lý và tổng hợp thông tin của doanh
nghiệp gần như phải thực hiện thủ công. Ví dụ, để có một bản báo cáo chi tiết
về tình hình tài chính và tiền lương lao động, người sử dụng phải thao tác trên
hai ứng dụng để có được hai bản báo cáo, sau đó tổng hợp số liệu vào một bản
báo cáo chi tiết. Rõ ràng, cách thức hoạt động của các ứng dụng chưa mang
lại hiệu qủa cho các doanh nghiệp. Khi khối lượng thông tin ngày càng lớn,
thì đây là một khó khăn mà doanh nghiệp gặp phải trong việc xử lý thông tin.
Hình 1.1 sau, minh họa hoạt động riêng lẻ, độc lập của các ứng dụng.


11

Ứng dụng
ERP
Ứng dụng CRM

Cổng thông tin
doanh nghiệp


Ứng dụng
Kế thừa

Ứng dụng
Tài chính

Ứng dụng
SCM

Hình 1.1. Các ứng dụng hoạt động riêng lẻ của doang nghiệp
Trong hình 1.1, không phải tất cả các ứng dụng đều kết nối với nhau, một
số hoạt động độc lập, một số kết nối với nhau. Ví dụ, người sử dụng ứng dụng
tài chính có thể có được các thông tin của ứng dụng SCM và ứng dụng CRM,
hoặc người sử dụng cổng thông tin doanh nghiệp có thể có được các thông tin
của ứng dụng kế thừa. Rõ ràng, mỗi ứng dụng chưa khai thác hết nguồn dữ
liệu đa dạng ở các ứng dụng khác và việc đưa ra một bản thông tin đầy đủ về
tình hình tài chính, thiết bị máy móc, quan hệ khách hàng, cung ứng hàng
hóa... là khó khăn.
Với sự phát triển của công nghệ Internet và nhu cầu sử dụng thông tin
ngày càng cao của các doanh nghiệp. Các ứng dụng đơn lẻ không thể đáp ứng
được nhu cầu sử dụng của doanh nghiệp, mà phải thay thế bằng các ứng dụng
có khả năng thực hiện các quy trình nghiệp vụ tự động và tổng hợp dữ liệu từ
nhiều nguồn dữ liệu. Để làm được điều này, các ứng dụng cần phải kết nối và
trao đổi dữ liệu.


12

Tích hợp ứng dụng là một giải pháp cho xử lý, tổng hợp dữ liệu từ các
ứng dụng đơn lẻ và hoạt động độc lập. Thông qua môi trường tích hợp, các

ứng dụng có thể kết nối, trao đổi dữ liệu và hỗ trợ cho nhau. Hình 1.2 dưới
đây, minh họa tích hợp ứng dụng của doanh nghiệp[1].
Hệ thống ERP

Các ứng dụng
nội bộ
Ứng dụng
cổng doanh
nghiệp

Hệ thống
CRM

Tích hợp
ứng dụng

Hệ thống
Tài chính

Cơ sở
dữ liệu

Hệ thống
Kế thừa
Hệ thống
SCM

Hình 1.2. Tích hợp các ứng dụng đơn lẻ trong doanh nghiệp
1.2. Từ tích hợp dữ liệu đến tích hợp ứng dụng
Việc tích hợp không phải dễ dàng do các ứng dụng được phát triển tại các

thời điểm khác nhau, sử dụng công cụ phát triển khác nhau và thực thi trên
nền khác nhau. Vì vậy, đòi hỏi môi trường hỗ trợ tích hợp phải đáp ứng được
ít nhất các yêu cầu sau[2]:
• Có khả năng kết nối giữa các nền tảng phần cứng và phần mềm khác
nhau.
• Có cách thức xử lý các giao dịch trên các nguồn dữ liệu đa dạng.


13

• Có khả năng định vị được dữ liệu, ứng dụng cần tích hợp.
• Có thể truy cập và sử dụng ứng dụng cần tích hợp.
• Có khả năng trao đổi thông tin.
Các yêu cầu trên là điều kiện cần thiết cho tích hợp ứng dụng. Tuy nhiên,
cần có giải pháp xử lý dữ liệu nhằm đảm bảo đồng bộ dữ liệu. Giải pháp hiệu
qủa nhất cho đồng bộ dữ liệu là tích hợp dữ liệu.
™ Tích hợp dữ liệu: Giải pháp này được thực hiện ở mức dữ liệu, với mục
đích di chuyển dữ liệu giữa các cơ sở dữ liệu. Tùy theo quy mô, cấu trúc của
cơ sở dữ liệu và chi phí cho dự án tích hợp mà sử dụng một trong hai mô hình
tích hợp sau:
-

Tích hợp dữ liệu trực tiếp
Với mô hình tích hợp này, dữ liệu trong các cơ sở dữ liệu có cùng
định dạng, hoặc xây dựng một cơ sở dữ liệu mới bao quát các cơ sở
dữ liệu có cấu trúc khác nhau. Mô hình này thường áp dụng cho các
ứng dụng đơn giản, có chi phí thấp.

- Tích hợp dữ liệu qua thành phần trung gian
Đây là mô hình tích hợp dùng cho các cơ sở dữ liệu có cấu trúc và

định dạng dữ liệu khác nhau. Ở đây, thành phần trung gian đóng vai
trò trung chuyển có nhiệm vụ nhận dữ liệu từ cơ sở dữ liệu nguồn, sau
đó biến đổi và chuyển tới cơ sở dữ liệu đích. Do đó, cấu trúc nguyên
thủy của của các cơ sở dữ liệu không bị thay đổi. Mô hình này đang
được sử dụng phổ biến và rộng rãi. Sau đây, hình 1.3 sẽ minh họa dữ
liệu tích hợp qua thành phần trung gian.


14

Cơ sở
dữ liệu 1

Dữ liệu

Dữ liệu

Chuyểnđổi
dữ liệu

Cơ sở
dữ liệu 2

Dữ liệu

Cơ sở
dữ liệu 3

Hình 1.3. Tích hợp dữ liệu qua thành phần trung gian
Tuy hai mô hình trên có cấu trúc khác nhau, nhưng cả hai đều sử dụng

một số phương pháp xử lý và trao đổi dữ liệu giữa các cơ sở dữ liệu và dưới
đây là một số phương pháp mà cả hai cùng sử dụng[2]:
- Chuyển giao bó.
- Hợp dữ liệu.
- Nhân bản dữ liệu.
- Trích chọn, biến đổi và truyền – ETL.
Trong các phương pháp trên, phương pháp ETL được sử dụng nhiều hơn
cả. Với phương pháp này, dữ liệu được trích chọn từ một cơ sở dữ liệu nguồn,
sau đó biến đổi theo định dạng dữ liệu của cơ sở dữ liệu đích, và cuối cùng
cập nhật dữ liệu vào cơ sở dữ liệu đích. ETL là một phương pháp cho phép
hợp nhất dữ liệu từ các nguồn dữ liệu khác nhau, và được dùng để di chuyển
dữ liệu với số lượng lớn vào kho dữ liệu từ các nguồn dữ liệu.
Hình 1.4 sau, biểu diễn tích hợp dữ liệu bằng phương pháp ETL[2].


15

Các ứng
dụng được
đóng gói
(ERP,CRM)

Các hệ thống
kế thừa

Trích
chọn

Biến
đổi


Nạp

Kho dữ liệu

Các ứng
dụng cục bộ
khác(c++,
vb, java)

Nguồn dữ liệu
tạm thời

Hình 1.4. Phương pháp tích hợp dữ liệu ETL

Một vấn đề quan trọng của tích hợp dữ liệu đó là toàn vẹn dữ liệu. Ta
phải đảm bảo không có mâu thuẫn dữ liệu giữa các cơ sở dữ liệu khi một ứng
dụng nào đó hợp thay đổi dữ liệu. Trường hợp đơn giản là một ứng dụng
client/server: Khi client yêu cầu dữ liệu, server sẽ cung cấp cho nó một bản
sao dữ liệu. Client thực hiện đọc/ghi dữ liệu trên bản sao dữ liệu đó, sau khi
kết thúc giao dịch, dữ liệu trong bản sao sẽ được cập nhật vào bản chính trên
server. Vì thế, dữ liệu luôn đảm bảo toàn vẹn. Trong trường hợp nhiều bản
sao cùng tồn tại trong các cơ sở dữ liệu, khi dữ liệu ở một bản sao nào đó thay
đổi thì dữ liệu trên các bản sao ở cơ sở dữ liệu khác cũng phải thay đổi theo.
Ví dụ: Thông tin người lao động của một công ty được lưu trong nhiều
cơ sở dữ liệu. Cơ sở dữ liệu nhân sự chứa thông tin cá nhân, cơ sở dữ liệu tài


16


chính chứa thông tin tiền lương. Cả hai cơ sở dữ liệu này chứa thông tin về
người lao động. Do đó, thông tin của một nhân sự được thêm vào thì dữ liệu
phải được cập nhật trên cả hai cơ sở dữ liệu.
Để đảm bảo tính toàn vẹn của dữ liệu. Một trong những phương pháp
được sử dụng là đồng bộ dữ liệu. Đồng bộ dữ liệu là sự phù hợp các nội dung
trong hai hay nhiều cơ sở dữ liệu nhằm đảm bảo tính nhất quán của dữ liệu.
Với phương thức này, dữ liệu được thay đổi ở một cơ sở dữ liệu, và sau đó
được sao chép tới các cơ sở dữ liệu khác. Tuỳ thuộc vào các yêu cầu sử dụng,
dữ liệu có thể được sao chép khi có một sự kiện xảy ra hoặc vào một thời
điểm nào đó. Hình 1.5 dưới đây, minh họa đồng bộ dữ liệu giữa hai ứng
dụng[2]
Ứng dụng 2

Ứng dụng 1

Đồng bộ
dữ liệu

Cơ sở
dữ liệu1

Cơ sở
dữ liệu2

Hình 1.5. Đồng bộ dữ liệu giữa hai ứng dụng
Trong hình 1.5, cơ sở dữ liệu 2 chứa một bản sao của cơ sở dữ liệu 1.
Khi ứng dụng 1 thay đổi dữ liệu trong bản chính ở cơ sở dữ liệu 1, thì dữ liệu
của bản sao trong cơ sở dữ liệu sẽ được cập nhật lại. Do đó, không có dị bộ
dữ liệu giữa các cơ sở dữ liệu.



17

Với yêu cầu ứng dụng công nghệ thông tin ngày càng cao, việc tích hợp
chỉ dừng ở mức dữ liệu là chưa đáp ứng nhu cầu sử dụng. Trong hoạt động
sản xuất kinh doanh, các doanh nghiệp cần có thông tin tổng hợp, nhanh
chóng, hỗ trợ cho kế hoạch phát triển. Điều này làm cho các nghiệp vụ thực
hiện thủ công không còn phù hợp nữa, mà phải được thay thế bằng các nghiệp
vụ tự động trên các ứng dụng. Xuất phát từ nhu cầu đó, các quy trình nghiệp
vụ cần được tích hợp trên các ứng dụng tích hợp.
™ Tích hợp quy trình nghiệp vụ: Tích hợp quy trình nghiệp vụ được
thực hiện ở mức xử lý nghiệp vụ. Thay vì thực hiện các nghiệp vụ trên từng
ứng dụng riêng lẻ, người sử dụng có thể thực hiện các nghiệp vụ đó trên một
ứng dụng. Ở đây, các luồng thông tin sẽ đi qua một kênh thông tin hoặc thành
phần trung gian chia sẻ. Hình 1.6 dưới đây, minh họa cho một quy trình
doanh nghiệp[2]:
Người
quản lý

Cung cấp thông tin người lao động

Môi trường tích hợp

Ứng dụng
Tài chính

Ứng dụng
Y tế

Ứng dụng

Lao động

Hình 1.6. Tích hợp quy trình nghiệp vụ


18

Trong hình 1.6, người sử dụng có được thông tin tổng về người lao động
từ ứng dụng cung cấp thông tin người lao động. Khi người quản lý cần thông
tin của một người lao động, ứng dụng sẽ cung cấp một bản báo cáo đầy đủ
bao gồm các thông tin về sức khỏe, tiền lương, và tình trạng lao động. Trong
trường hợp sử dụng các ứng dụng đơn lẻ để tổng hợp thông tin, người sử dụng
phải tìm kiếm thông tin trên từng ứng dụng và sau đó đưa vào bản báo cáo
tổng hợp. Rõ ràng, việc tích hợp quy trình nghiệp vụ tiết kiệm thời gian, sức
lực và chi phí cho người sử dụng.
1.3. Mục đích của luận văn
Từ nhiều lợi ích mang lại của việc sử dụng các ứng dụng công nghệ
thông tin. Các doanh nghiệp ngày càng quan tâm hơn nữa việc phát triển và
khai thác các ứng dụng công nghệ thông tin, đặc biệt là ứng dụng tích hợp.
Sự ra đời của các ứng dụng tích hợp là một giải pháp giải quyết khó khăn
về thu thập và xử lý thông tin. Đây là vấn đề mà các doanh nghiệp đang gặp
phải khi khối lượng thông tin ngày càng lớn và phức tạp. Với các ứng dụng
tích hợp, doanh nghiệp có thể khai thác tối đa nguồn thông tin nội tại trong
doanh hoặc của doanh nghiệp khác.
Tuy nhiên, việc kết nối các ứng dụng đơn lẻ thành một thành một ứng
dụng tích hợp có thể trao đổi dữ liệu cũng gặp nhiều khó khăn. Phần lớn các
ứng dụng được triển khai và xây dựng tại các thời điểm, một số được xây
dựng trên cùng ngôn ngữ, cùng môi trường thực thi, một số khác lại xây dựng
không cùng ngôn ngữ và không cùng môi trường thực thi. Vì vậy, cần phải
lựa chọn công nghệ tích hợp sao cho phù hợp.

Có hai vấn đề cần quan tâm cho sự lựa chọn công nghệ ứng dụng tích
hợp đó là:


19

- Khả năng mở rộng: Khi doanh nghiệp cần phát triển ứng dụng thì
không phải xây dựng lại từ đầu mà có thể kế thừa từ các ứng dụng đó.
- Tính trong suốt: Khi có một sự thay đổi của một ứng dụng nào đó
trong ứng dụng tích hợp, thì không ảnh hưởng đến hoạt động của ứng
dụng tích hợp.
Từ nhu cầu tích hợp ứng dụng và sử dụng các công nghệ tích hợp một
cách hiệu qủa. Mục đích của luận văn là tìm hiểu các công nghệ phục vụ cho
tích hợp ứng dụng. Trong đó, web services là một công nghệ hiện đang được
quan tâm nhiều.
1.4. Cấu trúc luận văn.
Nội dung tiếp theo của luận văn gồm có các chương sau:
Chương 2: Tổng quan về một số công nghệ tích hợp.
Giới thiệu các công nghệ tích hợp của các tổ chức, tập đoàn công nghệ
thông tin đưa ra, bao gồm các công nghệ :
(i) Công nghệ tích hợp sử dụng cho các ứng dụng có môi trường đồng
nhất.
(ii) Công nghệ tích hợp sử dụng cho các ứng dụng có cùng môi trường
hoặc trên các môi trường khác nhau, và ứng dụng tích hợp ít có sự
thay đổi.
(iii) Công nghệ tích hợp sử dụng cho các ứng dụng đa nền, đa ngôn ngữ
và đặc biệt là khả năng mở rộng của ứng dụng khi sử dụng công
nghệ này.
Chương 3: Web services và các chuẩn.
Web services là một công nghệ đang trở nên phổ biến cho các ứng dụng

tích hợp. Đây là công nghệ cho phép các ứng dụng kết nối và trao đổi dữ liệu
thông qua các chuẩn, mà không cần quan tâm đến ứng dụng đó được xây


20

dựng trên ngôn ngữ nào, và thực thi trên môi trường nào. Công nghệ web
services dựa trên kiến trúc hướng dịch vụ, các ứng dụng được đóng gói,
modul hóa các chức năng, có thể được công bố như các dịch vụ, và phục vụ
cho tất cả những ứng dụng cần tích hợp bất kể trong hay ngoài doanh nghiệp.
Chương 4: ứng dụng minh họa.
Trình bày kịch bản của ứng dụng du lịch. Trong đó, ứng dụng được tích
hợp từ các dịch vụ đặt vé máy bay, đặt chỗ khách sạn. Các dịch vụ được xây
dựng trên công nghệ web services, và việc tích hợp ứng dụng cũng được thực
hiện bằng web services với các chuẩn WSDL, UDDI, SOAP. Qua đó, người
đọc có cái nhìn rõ về công nghệ web services trong tích hợp ứng dụng.
Chương 5: Kết luận.


21

Chương 2
MỘT SỐ CÔNG NGHỆ TÍCH HỢP ỨNG DỤNG

2.1. Giới thiệu
Để góp phần vào chiến lược kinh doanh của các doanh nghiệp, các ứng
dụng cần phải đáp ứng được yêu cầu về thông tin tổng hợp: khách hàng, thị
trường, đối thủ cạnh tranh, tình hình tài chính…. Điều đó đòi hỏi các ứng
dụng trong một doanh nghiệp hoặc ngoài doanh nghiệp có thể kết nối và trao
đổi dữ liệu. Tuy nhiên, việc kết nối cũng gặp nhiều khó khăn, khi mà các ứng

dụng hoạt động trong môi trường không đồng nhất. Thông thường, các ứng
dụng không tập trung trên một máy tính mà nằm ở nhiều máy tính khác nhau,
có khoảng cách địa lý trong phạm vi một doanh nghiệp, một tỉnh thành, một
quốc gia hay trên toàn cầu, việc kết nối được thực hiện thông qua môi trường
mạng. Với một ứng dụng tích hợp gồm các thành phần, các modul là các ứng
dụng thì hoạt động trao đổi dữ liệu có thể theo hướng đối tượng hoặc hướng
thông điệp. Trong mô hình hướng đối tượng, phía yêu cầu có được dữ liệu
thông qua các đối tượng và các đối tượng này có thể tập trung trên một máy
hoặc nhiều máy. Ở mô hình hướng thông điệp, các ứng dụng trao đổi dữ liệu
thông qua nội dung của thông điệp.
Ngoài vấn đề làm sao để kết nối và trao đổi dữ liệu giữa các ứng dụng,
một vấn đề khác không kém phần quan trọng là sự lựa chọn công nghệ tích
hợp. Hiện nay, các ứng dụng tích hợp được xây dựng trên các công nghệ phân
tán chủ yếu của các tổ chức, các hãng như W3C, OMG, IBM, và đặc biệt là
tập đoàn khổng lồ Microsoft. Do tầm quan trọng của các công nghệ, phần tiếp
theo của luận văn sẽ giới thiệu một số công nghệ phân tán sử dụng trong tích
hợp ứng dụng.


22

2.2. Môi trường đồng tích hợp đồng nhất Java – RMI
Công nghệ này[3],[16] sử dụng để tích hợp các ứng dụng có cùng một ngôn
ngữ lập trình. Do có đặc điểm cùng môi trường tích hợp nên các ứng dụng có
kết nối và trao đổi dữ liệu trực tiếp với nhau, không cần thành phần chuyển
đổi ngôn ngữ trung gian. Công nghệ cho môi trường tích hợp đồng nhất chủ
yếu là Java-RMI của IBM và DCOM của Microsoft. Tuy nhiên, ngôn ngữ
Java chiếm ưu thế cho lập trình phân tán nên Java-RMI được sử dụng nhiều
hơn.
Công nghệ RMI là một giải pháp mở rộng cho việc xây dựng các ứng

dụng phân tán của Java. RMI cho phép các mô hình lập trình giống nhau gọi
các phương thức hướng đối tượng trên cùng máy cục bộ hay phân tán, các đối
tượng được gọi sử dụng ngôn ngữ Java.
RMI hỗ trợ các đối tượng từ xa thông qua giao thức JRMI. Với công
nghệ này, phía yêu cầu thông tin và phía cung cấp thông tin đều được xây
dựng trên ngôn ngữ Java. Mỗi đối tượng RMI Server định nghĩa một giao
diện, để có thể truy cập đối tượng Server bên ngoài JVM hiện hành, và trên
JVM của máy tính khác. Giao diện là một tập các cách thức để biểu diễn các
dịch vụ và triệu gọi đối tượng phía server. Nó được xây dựng và biên dịch
bằng chương trình RMI. Một RMIRegistry trên máy chủ chứa thông tin về
các đối tượng Server và cung cấp tên dịch vụ cho RMI. Khi client(máy khách)
yêu cầu một đối tượng tham chiếu tới đối tượng server(máy chủ) thì client sẽ
tìm kiếm trong RMIRegistry. Khi một RMI client yêu cầu một dịch vụ từ
RMI server, nó thực hiện các bước sau:
+ Kết nối với JVM có chứa các đối tượng ở xa.
+ Truyền các thông số cho JVM ở xa.
+ Chờ các kết quả của các phương thức yêu cầu.
+ Nhận về giá trị cần gọi.


23

Bằng việc sử dụng các đối tượng, cả dữ liệu và mã lệnh có thể được
trao đổi trực tiếp giữa máy chủ và máy khách. Vì thế, một đối tượng có thể
chạy được trên cả máy máy chủ lẫn máy khách.
RMI là một công nghệ phát triển trên Java nên nó có thể sử dụng được
trên nhiều nền khác nhau và trên nhiều hệ điều hành khác nhau.
Hình 2.1dưới đây, minh họa một cơ chế giao tiếp giữa các ứng dụng
tích hợp.
Client Process


Server Process

RMI
Stub

Skeleton

Hình 2.1. Giao tiếp giữa Client và Server qua RMI
Trong hình 2.1, khi máy khách gọi một phương thức phía máy chủ nó sẽ
gọi đến đối tượng đại diện Stub. Stub chuyển lời gọi đến đối tượng đại diện
cho đối tượng thật trên máy chủ là Skelecton thông qua kiến trúc RMI. Sau
đó, Skelecton gọi đối tượng thật trên máy chủ và kết quả trả về cho máy
khách. Quá trình trả kết quả về cho máy khách được thực hiện tuần tự ngược
lại với quá trình gọi. Ngoài công nghệ Java-RMI, còn có một công nghệ sử
dụng cho môi trường tích hợp đồng nhất nữa đó là công nghệ DCOM.
DCOM

[4]

là một chuẩn do tập đoàn Microsoft phát triển, nó là mở rộng

của chuẩn COM. DCOM cung cấp các đối tượng từ xa thông qua một giao
thức được gọi là ORPC. ORPC được xây dựng trên DCE/RPC và tương tác
với các dịch vụ thực thi trong COM.


×