Web services và tích hợp ứng dụng
Trang 1LUAN VAN THAC SI KHOA HOC
WEB SERVICES VA TICH HOP UNG DUNG
TRƯỜNG ĐẠI XỘC CÔNG NGHIỆP TP kC
Trang 2DANH SÁCH BẢNG
DANH SÁCH TỪ VIỆT TẤT
LOL CAM ON
Chượng 1:MO DAU
1.3 Mục đích của luận văn
1.4, Cấu trúc luận văn
Chương 2:MỘT SỐ CÔNG NGHỆ TÍCH HỢP ỨNG DỤNG
2.1 Giới thiệ
2.2 Môi trường đồng tích hợp đồng nhÏt Java ~ RMI
2.3, Môi trường tích hợp không đồng nhất,
Trang 3Chương 4:ỨNG DỤNG MINH HỌA
4.1 Kịch bản về du lịch
4.2 Môi trường xây ứng dụng
4.3 Quy trình hoạt động của ứng dụng 4.4 Mô tả các dịch vụ
Trang 4Các ứng dụng hoạt động riêng lẻ của doang nghiệp
2.3 Cơ chế hoạt động của Corba 26
" Giao tiếp giữa bên sử dụng vụ và cung cắp dịch vụ 28 2.5 Quan lệ giữa các thành phần trong Web services 28 L3.øTính tương liên yêu của dich vu - fe 29 2.7 Tinh trong suét cia web services 31
35
Trang 53.2 Các thành phần kỹ thuật cơ bản của Web services
3.7 Mối quan hệ giữa các phần tử trong WSDI
3.8 Vai trò và hoạt động của UDDI
3.13 Vai trò và hoạt động của SOAP trong dich vu web
3.14, Cau trúc của một thông điệp SOAP
Trang 7DANH SÁCH BẢNG
Trang 8
CRM Customer Relationship Management ˆ
DCE Distributed Computing Environment — |
—ˆ_ | Distributed Componet Object Model "
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
Trang 10tậ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 những thế hệ dĩ trước, gia đình, bạn bè đồng nghiệp
ơn chân thành nhất tới TS Vũ Tuyết Trinh đã tận
cô v
«_ Tôi xin được gửi lời bí
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
‘Toi xin cảm ơn tới toàn thể các thấy cô giáo trong Bộ môn Hệ thống
học Trường Đại Học Bách Khoa Hà Nội đã giúp
Thông, ng tâm sau d
đỡ tôi rong quá trình học tập tại trường
lh và bạn bè đã tạo mọi điều kiện để tôi hoàn thành
Xin cảm ơn gia đì
luận văn của mình
Trang 11Chương L
MỞ ĐẦU
1,1 Tích hợp ứng dụng của đoanh 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 dân đến các nghiệp vụ sản xuất kinh doanh tức tạp Tuy nhiên, các doanh
sử dụng ứng dụng Công nghệ Thông tin chưa mang tính chiến lược, 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 ứ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Ẫu lớn các ứn# 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ộ
dụng thường hoạt động độc lập, riêng lẻ, ít có mỗi quan hệ qua
lø, chỉ một số được kết nỗi và trao đổi dữ liệu với nha Do dé, Các ứn
bảo cáo chỉ 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 tỉn 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, mình họa hoạt động riêng lẻ, độc lập của các ứng dụng.
Trang 12
hat độ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 thác hết nguồn dữ
kế thừa Rõ rằng, mỗi ứng dụng chưa kh:
$c đưa ra một bản thông tin đẩy đủ về
* Với sự phát triển của công nghệ Internet và nhu cầu sử đụ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 va
trao đối dữ liệu.
Trang 13Tí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 I.2 dưới đây, mình họa tích hợp ứng dụng của doanh nghiệp,
«_ 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 dang.
Trang 14
éu kiện cẵn thiết cho tích hợp ứng dụng Tuy nhiên,
Các yêu cầu trên là
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 sử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 đi chuyển đỹ 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à chỉ phí cho dự án tích hợp mà sử dụng một trong hai mô hình
ứng dụng đơn giản, có chỉ phí thấp
~_ Tích hợp dữ liệu qua thành phần trung gian
hợp dùng cho các cơ sở dữ liệu có cấu trúc và
Đây là mô hình
đị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ủỷ 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.
Trang 15a
E Chuyénadi
dữ liệu
Hình 1.3 Tích hợp dữ liệu qua thành phần trung gian
ình trên có cấu trúc khác nhau, nhưng cả hai đều sử dụng,
Tuy hai m6
và dưới
một số phương phấp xử lý và tao đổi dữ liệu giữa các cơ sở dữ li
đây là một số phương pháp mà cả hai cùng sử dụng";
~-_ Chuyển giao bó,
- Hợp dir
~ Nhân bản đữ liệt
~_ 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,
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 ETLPI,
Trang 16
Kho dữ liệu
guên dỡ liệu tạm thôi
nh 1.4 Phương pháp tích hợp dữ liệu ETI
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, lừ liệu Trường hợp đơn giản là một ứng dụng
dụng nào đó hợp thay đổ
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ệư>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 địch, dữ liệu trong bản sao sẽ được cập nhật vào bản chính trên
server Vi thé, dữ liệu luôn đảm bảo toàn vẹn Trong trường hợp nhiều bản trong các cơ sở dữ liệu, khi dữ liệu ở một bản sao nào đó thay
Trang 17chí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, đữ 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, “lữ 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, mỉnh họa đồng bộ dữ liệu giữa hai ứng
dung!
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 l 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ữ liệu giữa các cơ sở dữ
Trang 18chó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 nghỉ 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
Trang 19Trong 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à chỉ phí cho người sử dụng
1.3 Mục đích của luận văn
của việc sử dụng các ứng dụng công nghệ
“Từ nhiều lợi ich mang lại
thông tin Cúc đoanh 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 ứmgrdụng công nghệ thông tin, đặc biệt là ứng dụng tích hợp Sir ra dai cia
về thu thập vả xử lý thông tin Đây là vấn đề mà các doanh nghiệp đang gặp
tủa các ứng dụng tích hợp là một giải pháp giải quyết khó khăn
ngày càng lớn và phức tạp Với các ứng dụng,
phải khi khối lượng thông tỉ
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,
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 dỗ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
fy, cần phải
không cùng ngôn ngữ và không cùng môi trường thực thi
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
Trang 20khụ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 cich 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 tớn đưa ra, bao gồm cỏc cụng nghệ :
(Ă) 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) đụ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
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 đữ liệu thụng qua cỏc chuẩn, mà khụng cần quan tõm đến ứng dụng đú được xõy
Trang 2120
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 serviees 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 dung minh hoa ‘
Trinh 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 serviees, và việc tích hợp ứng dụng cũng được thực “hiện bing, web services voi các chuẩn WSDL, UDDI, SOAP, Qua d6, ngudi
đọc có cái nhìn rõ về công nghệ web serviees trong tích hợp ứng dụng
Chương 5: Kết luận
MF ”
Trang 22trường, đối thủ cạnh tranh, tình hình tải chính Điểu đó đồi hỏi các ứng
sài doanh nghiệp có thể kết
¡ng gặp nhiều khó khăn, khi mà các ứng,
dụng trong một doanh nợi
đổi dữ liệu Tuy nhiên, việ
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 “Xí một doanh Ÿïighiệ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 quạ.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
lo để kết nổi và trao đổi dữ liệu giữa các ứng dụng,
Ngoài vấn để làm sa
một vấn để khác không kém phan quan trong 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.
Trang 23hơ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 điệ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 trinh RMI Mot RMIRegistry trên máy chủ chứa thông tin về các đối tượng Server và cung cấp tén dich vy cho RMI Khi elient(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ì elient sẽ tìm kiếm trong RMIRegistry Khi một RMI elient 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.
Trang 24Bằ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.Idưới đây, minh họa một cơ chế giao tiếp giữa các ứng dụng
tích hợp
aes ee §
Hinh 2.1 Giao tiếp gitta Client va 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 điệ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
đó, Skelếcton 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ự 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 Ï* 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 địch vụ thực thỉ trong COM.
Trang 25không cùng ngôn ngữ thì các công nghệ trong mí
không đáp ứng được Việc này yêu cầu phải có một công nghệ khác có thể hiểu được các ngôn ngữ của các ứng dụng được tích hợp Để giải quyết vấn “đề này, một công nghệ cho môi trường tích hợp không đồng nhất đã ra đời, đó
là công nghệ CORBA
CORBAI®“H”| là công nghệ tích hợp các ứng dụng phân tán được
chuẩn hóa bởi tổ chức OMG, sử dụng được trên các nền hệ điều hành và tương thích được với nhiều ngân ngữ Trong Corba việc triệu gọi các đối tượng từ xa thông, qua giao thức IIOP, tắt cả đều dựa vào thành phần môi giới yêu cầu đối tượng ORB hoạt động như một kênh đối tượng trung tâm, mỗi
đối tượng Corba có thể tương tác trong suốt với đối tượng Corba khác trên
tượng có một giao điện, It có thể sử dụng các
ếu giống như các đối tượng corba
cùng một máy hoặc ở máy khác trong mạng Mi
và giao diện này mô tả một tập các phương thức
phương thức gọi trên các đối tượng tham chỉ
server đang nằm trong không gian địa chỉ của corba client ORB đảm nhận
việc tìm một sự thực thi của đối tượng corba, so sánh, nhận gửi đi các yêu
cầu, nhận lại các kết quả trả về cho client Đối tượng Corba tương tác với
ORB thông qua giao diện của ORB Hình 2.2 sau, biểu diễn sở đỗ kiến trúc của Borba theo mô hình clienuserver!™!,
Trang 26iao tiếp với nhau thông qua các đối tượng Stub, Skeleton, thành phần môi
giới trung gian OBIR và môi trường mạng với giao thức IIOP
Một điểm giống với công nghệ Java-RMI của Corba đó là cách triệu gọi “phương thức của đổi tượng trên ứng dụng khác thông qua các đối tượng đại điện Stub và Skelecton Tuy nhiên, đối tượng Stub và Skelecton của CORBA
Trang 27Cơ chế hoạt động của công nghệ Corba theo mô hình client/server Ở
đây, các ứng dụng client và server có thể được xây dựng trên cùng một ngôn
ngữ, hoặc trên các ngôn ngữ khác nhau ( C+1, Java, .)
~ Đối tượng Stub chuyển yêu cầu đổi tượng
gian ORB phia client
~ Trường hợp đối tượng cẩn triệu gọi không có ở ORB client, thi ORB
sầu tới ORB phía server thông qua giao thức IIOP
client chuyển yêu
~ ORB chuyên yêu cầu tới đối tượng đại điện cho cho đối tượng tham
~ ORB server chuyển đối tượng thực sự cho ORB client
Trang 28~ ORB client chuyển tới Stub
~ Cuối cùng Stub chuyển đối tượng thực sự cho ứng dụng client
Rõ rằng, đối tượng mà ứng dụng client yêu cầu là trong suốt, bởi vì ứng
dụng client không cần phải quan tâm các đối tượng triệu gọi nằm ở đâu, nó chỉ gọi các đổi tượng đó từ đối tượng đại diện Stub
hiện xử lý những công việc phức (ập hơn thông đùa môi trường mạng Giống
như các công nghệ DCOM, RMI, CORBA, web services cũng là một công
Trang 29dụng=-28
tỨng dụng
tụng cắp
Hình 2.4 Giao tiếp giữu bên sử dụng dịch vụ và cung cấp địch vụ
Web servicos được xây dựng từ các chuẩn SOAP, WSDL, UDDI trên
giao điện của HIẾN vụ bling mérti WSDL va sử dụng dịch vụ thông qua giao
thức SOAP Hình 2.5 đưới đây, biểu diễn một kiến trúc đơn giản của Web serVicestt
Hình 2.5 Quan hệ giữu các thành phân trong Web services
Trang 30ƯA điểm của web servies là các chuẩn được xây dựng trên nền tảng ngôn
ngtr XML Bay là sự thuận lợi cho mở rộng ứng dụng, mà không ảnh hưởng, đến mỗi liên kết nội tại với các ứng dụng khác Một ưu điểm nữa của web
services là không cần bận tâm đến các ứng dụng trên ngôn ngữ nào, thực thi
trên nền hệ điều hành nào, cấu hình phần cứng ra sao và định vị ở đâu Qua
Ta có thể thấy các ứng dụng tích hợp có được tính tính tương liên yếu và
tính trong suốt khi sử dụng công nghệ web services
« Tỉnh tươip liên yếu: Trong môi trường tương liên mạnh, mỗi ứng, ết nổi với ứng dụng khác qua một tổ hợp các giao diện đóng, giao thức
dụng,
mạng: đóng, dẫn đi
việc tích hợp các ứng dụng tốn nhiều thời gian, chỉ phí
cao để mở liên kết và liên kết lại các máy tính trong hệ thống Bởi vì những,
sự thay đổi đó sẽ dẫn đến sự thay đôi của giao diện Với tính tương liên yếu
của web services, mỗi một phần của phần mềm đã đưa lên như là một dịch vụ „web, đễ dàng để dĩ chuyển đến các vị trí, và có thể đơn giản để liên kết lại các
dịch vụ web, Hình 2.6 sau, mô tả tính tương liên yếu của dich vụ 2
Sun server Web services
sun server Webservices
Trang 31“Trong phẩn 1 của hình 2.5, một ứng dụng trên máy tính mini truy cập, một web services trên máy mainrame Tuy nhiên, nhà cung cấp máy mainframe mudn thay thé may cũ với một máy chủ Sun mới
máy nào khác Khi may mainframe thay thể bởi máy Sun thì máy
p bẮt cứ sự rắc
minicomputer vẫn tiếp tục truy cập địch vụ web mà không rối nào,
vari thay thé vin gp tực, nhà
tuy Trong phần 3 và 4 của hìi
minicomputer bằng máy Sun server và máy Windows
đó, không cần phải quan tâm địch vụ được đặt ở đâu, khi cần đến dịch vụ chỉ
cần triệu gọi thông qua địa chỉ URLs
h 2.7 sau, minh hoa cho tinh trong sudt ctia web services
Trang 32Trong, hình 2.7, một web service cé thé được định vị trong hai
mién(Domain) khác nhau Một lý do nào đó, miền A bị lỗi không thể hoạt
động dược, phía sử dụng, dịch vụ có thể truy cập dịch vụ web trên miền B mà
không hè biết dịch vụ sử dụng đang nằm trên miền B i
2.5 Nhận xét đánh giá
"Trên đây, giới thiệu một số công nghệ tích hợp ứng dụng gồm Java-RMI,
DCOM, CORB và Web services Các công nghệ có điểm chung là được sử dụng để xây dựng các ứng dụng phân tác trên cơ sở môi trường mạng Tuy
Trang 33nhiên, đi sâu hơn nữa thì các công nghệ đáp ứng được mức độ yêu cầu khác
nhau cho một giải pháp tích hợp ứng dụng
khác(môi trường không đồng nhất) thì chúng không sử dụng được Để
khắc phục vấn để này, công nghệ CORIBA được ra đời để thay thể cho
Java-RMI và DCOM trong, nhưng hạn chế của công nghệ này là các ign IDL
, web services lit
mỗi trường tích hợp đồng nhất, không đồng ml
+ Hỗ trợ ngôn ngữ lập trình: Trong khi các công nghệ khác chỉ được hỗ
mới, được xây dựng trên
+ Chuẩn mớỡ; Web serviees là một công ng!
các chuẩn WSDL, UDDI, SOAP mã nền tảng là ngôn ngữ XMIL Với hác
: web services dễ thiết kế, phát
én, sit dung là có sẵn và dễ đăng ra quy trình ngh
services thì hoàn toàn mễm đẻo, nó được xây dựng từ kết nối lòng giữa
ứng dụng công bổ dịch vụ và ứng dụng sử dụng địch vụ đó.
Trang 34® Chỉ phí: Các giải pháp tích hợp ứng dụng, như giải pháp trung gian
thông điệp có chỉ phí rất cao cho thỉ hành Với web services trong, tương lai sẽ đạt tới mục tiêu rẻ hơn, nhanh hơn
® Phạm vi sử dụng: Các giải pháp tích hợp ứng dụng như trung gian thông, điệp, các ứng dụng tích hợp được xem như các thực thể đơn,
Trong khi đó, web serviees cho phép các công ty chỉa các ứng dụng lớn
thành các phần nhỏ độc lập và xây dựng mối quan hệ giữa chúng tạo
nên một hệ thống trong suốt,
s Hiệu quả: web services cho phép các ứng dụng phân chia thành các thành phần nhỏ hơn, làm cho cho tích hợp các ứng dụng dễ dàng mà hoạt động, của ứng dụng không có sự tách rời Đây là một công nghệ cho tích hợp ứng dụng, mang lại nhiều hiệu quả hơn so với các giải
pháp truyền thống khác Ệ
Với các ưu điểm trên, công nghệ web services thực sự nổi trội hơn cả, và
“lây là một sự lựa chọn hàng đầu về giải pháp công nghệ cho tích hợp ứng dụng, Do tầm quan trọng của web serviees cho các ứng dụng tích hợp, nội dung, tiếp theo của luận văn sẽ trình bày chỉ tiết về công nghé web services cling, Voitac chuẩn, và xây dựng một ứng dụng mình họa cho tích hợp ứng
dụng bằng web services,
Trang 35M4
Chương 3
WEB SERVICES VA CAC CHUAN
hiệu ở chương 2 của luận văn, web services là một ứng,
Như đã gi
dụng thực hiện một công việc nào đó, nó có thể được tìm thấy và triệu sọi
ứng dụng có thể tích hợp web
thông qua môi trường web Người phát tri
services vào ứng dụng của mình bằng cách thức gọi thủ tục từ xa hoặc thỏng
cung cấp dich vụ, và các web serkjce khác đối
vi web servies có tính tương liên yếu nên việc tích hợp vả phát triển tm
tạo nên một ứng dụng tích hợp Nó được modul hóa, tự mô tả, định vị va
gọi theo dia chi URLs théng qua môi trường web với giao thức truyền thông
HTTP,
Voi mot web ser ¢ gém có các thành phân tham gia:
~_ Provider: Tạo ra các dịch vụ, đăng ký và cung cấp dịch vụ
Trang 36._ Các thành phần tham gia tạo nên mỗi liên kết chặt chẽ với nhau tạo
nên một mồi quan hệ khép kín và không tách rời nhau được
'Vai trò và hoạt động của các thành phần tham gia được minh họa trong
hình 3.1
Hinh 3.1 Mỗi quan hệ giữu các thành phầm
Web services không phải là một công nghệ có tính phát minh, nó là công,
nghệ được xây dựng trên nền tảng XML và sử dụng môi trường mang
Hình 3.2 dưới đây, mô tả các thành phần kỹ thuật cơ bản của web
services ” FORMAT STANDARD
NETWORK Hình 3.2 Các thành phần kỹ thuật cơ bản của Web services INTERNET
Trang 37services được thiết kế dựa trên mỗi quan hệ giữa các thành phần Hình 3.5
đưới đây, mô tả kiến trúc cơ bản của web services,
Hinh 3.3 Kiến trúc cơ bản của một dịch vụ web „
“rong hình 3.3, WSDI, được tạo ra khi xây dựng địch vụ và dược công, bồ trong UDDI để người sử dụng địch vụ biết được cách thức gọi dịch vụ
Rõ ràng, sự thành công của công nghệ web services chính là được xây WSDL, UDDI, SOAP ma nén tang là ngôn ngữ XML
đựng trên các chuả
Trang 38trong ứng, dụng tích hợp nên phần tiếp theo của luận văn sẽ trình bày chỉ tiết
về ngôn ngit XML va cae chuin WSDL, UDDI, SOAP
3.1 Ngôn ngữ XML
XML là ngôn ngữ đánh dấu với mục đích chung do W3C đề nghị, để tạo mà các ngôn ngữ đánh dấu khác, Đây là một tập con đơn giản của SGML, có khả năng mô tả nhiều loại dữ liệu khác nhau, Mục đích chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống được kết nối với Internet, Các ngôn ngữ dựa trên XML được định nghĩa theo cách thông thường, cho phép các chương trình sửa đổi và kiểm tra hợp lệ bằng các ngôn ngữ này mà không, cần có hiểu biết trước về hình thức của chúng
Đặc điểm của XML
- XMI, được dùng để tạo cấu trúc dữ liệu
- XML duge str dung trong nhiều ngôn ngữ lập trình ~ XMITà một chuẩn mới,
- XML Ia sự mô đun hóa
- XMI„được sử dụng miễn phí, có nền độc lập
-ˆ 4
3.2 Các chuẩn của Web serviee
Web service là một thành phần đơn lẻ, hoặc được xây dựng từ các thành
phần đơn lẻ, để xử lý một công, việc, hoặc một phần công việc khi được tích hợp vào một ứng dụng Tuy nhiên, sự thành công của web serviees chính là sử dung cae chuan WSDL, UDDI va SOAP,
Trang 3938
3.2.1 Chuan WSDL
Web services duoe mé ta bằng ngôn ngữ dựa trên chuẩn WI2SL, ngôn
ngữ này còn được gọi là ngôn ngữ mô tả Web viết tit 1a WSDL WSDL duge sử dụng mô tä cách thức truy cập web services Bằng cách mô tả đó, người sử, đụng có thể biết được các phương thức và sử dụng tham số để triệu gọi chúng WSDI, thường xác định giao điện lập trình của các dịch vụ web Các công cụ như VisualStudio.Net tự động quá trình truy cập WSDL,, đọc và mã hoá ứng dung dé tham chicu mot dich vụ web cụ thê
Hinh 3.4 dudi day, minh hea tai ligu WSDL str dung trong Web services
Dang ky dich vu
Trang 40
bị ý 1 : Ệ ry ui ae
3% Tạ uc
Hình 3 5 đâu tric mot WSDL
Mot tai ligu WSDL duge xdy ais bằng ngôn ngữ XML,, và tuân theo giu như hình 3.5 Trong đó, nó mô tả các thông tin về web services
Tên dịch vụ Dia chi dich vu
Dinh đạng thông điệp và giao thức Kiểu dữ liệu
Kiéu thong diép,
„Các thông tin mé ta web services duge chia thành hai phan
Phần mô tả: Chita tén dịch vụ va dia chi dich vụ
Phan thi hành: Mô tả kiểu dữ liệu, kiểu thông điệp
Hình 3.6 sau, minh họa các phần của một tài liệu WSDL.