Luận văn Ứng dụng kiến trúc hướng dịch vụ trong bài toán thanh toán tập trung

ĐẠI HỌC QUỐC GIA HÀ NỘI  
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ  
NGUYỄN ĐỨC NGỌC  
NG DNG KIẾN TRÚC HƯỚNG DCH VỤ  
TRONG BÀI TOÁN THANH TOÁN TP TRUNG  
LUẬN VĂN THẠC SĨ  
Hà Nội - 2010  
ĐẠI HỌC QUỐC GIA HÀ NỘI  
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ  
NGUYỄN ĐỨC NGỌC  
NG DNG KIẾN TRÚC HƯỚNG DCH VỤ  
TRONG BÀI TOÁN THANH TOÁN TP TRUNG  
Ngành  
: Công nghệ Thông tin  
Chuyên ngành : Hệ thống thông tin  
số  
: 604805  
LUẬN VĂN THẠC SĨ  
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. NGUYỄN NGỌC HÓA  
Nội - 2010  
LỜI CAM ĐOAN  
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá  
nhân tôi. Trong toàn bộ nội dung của luận văn, những điều được trình bầy hoặc là của  
cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo  
đều có xuất xứ rõ ràng và được trích dẫn hợp pháp.  
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy  
định cho lời cam đoan của mình.  
Nội, ngày 30 tháng 5 năm 2010  
Người cam đoan  
Nguyễn Đức Ngọc  
LỜI CẢM ƠN  
Trong quá trình học tập và hoàn thành luận văn tốt nghiệp, tôi đã nhận  
được rẩt nhiều sự giúp đỡ, động viên từ thầy cô, gia đình và bạn bè. Tôi muốn bày tỏ  
sự cảm ơn sâu sắc của mình tới tất cả mọi người.  
Tôi xin bày tỏ sự cám ơn đặc biệt tới TS Nguyễn Ngọc Hóa, người đã định  
hướng cho tôi trong lựa chọn đề tài, đưa ra những nhận xét quý giá và trực tiếp hướng  
dẫn tôi trong suốt quá trình nghiên cứu và hoàn thành luận văn tốt nghiệp.  
Tôi xin cảm ơn các thầy cô trong khoa CNTT - Trường Đại học Công nghệ  
- ĐHQG Hà Nội đã dạy bảo tận tình cho tôi trong suốt khoảng thời gian học tập tại  
trường.  
Tôi xin cảm ơn toàn thể bạn bè đồng nghiệp tại Trung tâm Công nghệ  
Thông tin Ngân hàng Đầu tư và Phát triển Việt Nam, đơn vị mà tôi đang công tác, đã  
chia sẻ, giúp đỡ tạo điều kiện cho tôi tham gia khoá học và hoàn thành khoá luận này.  
Xin cảm ơn tất cả những bạn bè đã giúp đỡ tôi trong suốt quá trình học tập và công  
tác.  
Cuối cùng, tôi xin gửi lời cảm ơn sâu sắc nhất tới gia đình của mình, nguồn  
động viên và cổ vũ lớn lao và là động lực giúp tôi thành công trong công việc và trong  
cuộc sống.  
Nội, ngày 30 tháng 5 năm 2010  
Nguyễn Đức Ngọc  
MỤC LỤC  
LỜI CAM ĐOAN  
LỜI CẢM ƠN  
MỤC LỤC  
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ  
DANH MỤC BẢNG BIỂU  
DANH MỤC HÌNH VẼ  
MỞ ĐẦU ....................................................................................................................1  
Chương1-TNG QUAN VKIN TRÚC HƯỚNG DCH V..............................5  
1.1 Mở đu........................................................................................................5  
1.2 Kiến trúc hướng dch v...............................................................................7  
1.2.1 Khái nim vSOA ...........................................................................7  
1.2.2 Kiến trúc SOA.................................................................................9  
1.2.2.1 Tng tng thao tác hthng .................................................9  
1.2.2.2 Tng thành phn tác nghip ..................................................9  
1.2.2.3 Tng dch v.......................................................................10  
1.2.2.4 Tng xlý nghip v..........................................................10  
1.2.2.5 Tng biu din....................................................................10  
1.2.2.6 Tng tích hp......................................................................11  
1.2.2.7 Tng QoS(Tng cht lượng dch v)...................................11  
1.3 Các tính cht ca mt hthng SOA .........................................................11  
1.4 Kết lun.....................................................................................................12  
Chương 2 - CÁC BƯỚC TRIN KHAI MT NG DNG THEO MÔ HÌNH  
SOA ..........................................................................................................................13  
2.1 Các phương pháp tiếp cn trong trin khai SOA ........................................13  
2.2 Quy trình phát trin ng dng theo mô hình SOA......................................14  
2.2.1 Phân rã domain..................................................................................14  
2.2.2 Xây dng Goal-service....................................................................16  
2.2.3 Phân tích hthng con ....................................................................17  
2.2.4 Đưa ra các dch v...........................................................................17  
2.2.5 Đặc tthành phn............................................................................17  
2.2.6 Cu trúc thành phn và dch v........................................................18  
2.2.7 La chn gii pháp thc thi .............................................................18  
SOA và Web Service...............................................................................18  
2.3.1 Kiến trúc Web services....................................................................18  
2.3.2 Simple Object Access Protocol – SOAP..........................................20  
2.3.3 Web Service Description Language (WSDL) ..................................21  
2.3.4 UDDI ..............................................................................................22  
2.3  
2.4 Kết luận.......................................................................................................22  
Chương 3 - ỨNG DỤNG SOA TRONG TÍCH HP HỆ THỐNG THANH TOÁN  
HÓA ĐƠN CỦA BIDV............................................................................................23  
3.1 Phát biểu bài toán.......................................................................................23  
3.2 Đề xuất mô hình SOA trong hệ thống thanh toán hoá đơn của BIDV ........23  
3.3 Quy trình hoạt động....................................................................................25  
3.4 Cơ sở dữ liệu .............................................................................................30  
3.5 Thiết kế Web service dùng trong hệ thống.................................................30  
3.6 Kết lun.....................................................................................................32  
Chương 4 - THỰC NGHIỆM VÀ ĐÁNH GIÁ ......................................................33  
4.1 Môi trường tích hợp...................................................................................33  
4.2 Tích hợp thử nghiệm..................................................................................34  
4.3 Kết quả thực nghiệm..................................................................................39  
Chương 5 - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ...........................................59  
TÀI LIỆU THAM KHẢO .......................................................................................60  
PHỤ LỤC - CÁC USE CASE CỦA HỆ THỐNG THANH TOÁN HÓA ĐƠN....61  
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ  
Bank for Investment and Ngân hàng Đầu tư và Phát triển  
Development of Vietnam Việt Nam  
BIDV  
Corebanking  
Hệ thống ngân hàng cốt lõi  
Corebanking  
Service Consumer  
Ngưi sdng dch vụ ở đây có thể  
là mt ng dng, mt dch vhoc  
là các module phn mm khác yêu  
cu sdng dch vụ. Đây là thực thể  
thc thi quá trình định vdch vụ  
thông qua service registry, liên kết  
vi dch vvà thc thi các chc  
năng của dch vụ. Người sdng  
dch vthc thi chức năng dịch vụ  
bng cách mt gi yêu cu theo  
đúng dịnh dạng được mô ttrong  
hợp đồng.  
Service  
Consumer  
Service provider  
Nhà cung cp dch vụ ở đây là một  
Service provider  
dch vchp nhn và xlý nhng  
yêu cu từ người sdng dch v.  
Nó có thlà mt hthng  
mainframe, mt thành phn hoc  
các dng phn mm khác xlý yêu  
cu dch v. Nhà cung cp gi hp  
đồng lên service registry để nhng  
ngưi sdng dch vcó thtruy  
cập đến nó.  
Service Registry  
Service registry là cha tt ccác  
dch vụ đăng ký. Service registry  
chp nhận và lưu trữ các hợp đồng  
gửi đến tnhà cung cp dch vvà  
cung cp các hợp đồng tùy theo yêu  
cu của người sdng dch v.  
Service Registry  
Service contract  
SIBS  
Mt hợp đồng (contract) là một đặc  
tvcách thc bên sdng dch vụ  
trao đổi liên lc vi bên cung cp  
dch v. Nó chrõ ra định dng và  
yêu cầu và đáp trả ca dch vụ  
Hệ thống ngân hàng tích hợp  
Siverlake  
Service contract  
SIBS  
Service  
Oriented  
Kiến trúc hướng dch vụ  
SOA  
Architect  
DANH MỤC BẢNG BIỂU  
Bảng 1- Các yêu cầu triển khai thử nghiệm................................................................35  
Bảng 2- Bảng kịch bản test dịch vụ vnmart................................................................47  
Bảng 3 - Kết quả triển khai thực tế.............................................................................55  
Bảng 4 - Các dịch vụ và kênh thanh toán dự kiến triển khai trong tương lai...............56  
Bảng 5 - Danh sách các use case hệ thống .................................................................62  
DANH MỤC HÌNH VẼ  
Hình 1- Các kênh giao dịch của ngân hàng khi cùng thực hiện thao tác chuyển khoản.5  
Hình 2 - Kiến trúc EJB ................................................................................................6  
Hình 3 - Mô hình CORBA...........................................................................................6  
Hình 4 - Mô hình DCOM.............................................................................................7  
Hình 5 - Các đối tượng trong SOA...............................................................................8  
Hình 6 - Kiến trúc phân tng ca hthng SOA ..........................................................9  
Hình 7 - Mt khung nhìn chi tiết vmt dch v........................................................10  
Hình 8 - Các dch vụ khác nhau được cung cấp trên một website...............................10  
Hình 9 - Các bước cn thc hin khi trin khai mt hthng SOA. ...........................13  
Hình 10 - Phân rã domain hthống thanh toán hóa đơn............................................14  
Hình 11 – Danh sách use case khi trin khai theo mô hình SOA ................................15  
Hình 12 – Các domain và use case sdng................................................................16  
Hình 13 – Đưa các dch vvào các thành phn..........................................................17  
Hình 14 - Các tầng của Web service ..........................................................................19  
Hình 15 - Tương tác giửa các tác nhân trong Web service .........................................19  
Hình 16 - Truyền thông điệp sử dụng SOAP..............................................................20  
Hình 17 - Cấu trúc SOAP message ............................................................................20  
Hình 18 – WSDL.......................................................................................................21  
Hình 19 - Mô hình tổng quát hệ thống thanh toán hoá đơn của BIDV........................24  
Hình 20- Web service dùng trong hệ thống thanh toán hoá đơn .................................32  
Hình 21 - Môi trường RAD cuả IBM.........................................................................33  
Hình 22 - Môi trường Message Queue của IBM.........................................................34  
Hình 23 - Sơ đồ bo mt ca hthống thanh toán hoá đơn BIDV ..............................35  
Hình 24 - Sơ đồ backup Database ..............................................................................36  
Hình 25 - Màn hình đăng nhập hthng....................................................................48  
Hình 26 - Màn hình qun lý người sdng................................................................48  
Hình 27 - Màn hình qun lý chi nhánh.......................................................................49  
Hình 28 - Màn hình qun lý nhà cung cp..................................................................49  
Hình 29 - Màn hình qun lý dch v...........................................................................50  
Hình 30 - Màn hình đăng ký khách hàng....................................................................50  
Hình 31 - Màn hình vấn tin hóa đơn ..........................................................................51  
Hình 32 - Màn hình thanh toán hóa đơn.....................................................................51  
Hình 33 - Các màn hình giao dch ti ATM ...............................................................54  
Hình 34- Màn hình Gateway xlý tcác kênh thanh toán.........................................54  
Hình 35 - Use case quản lý chi nhánh ........................................................................62  
Hình 36 - Use case quản lý người sử dụng.................................................................66  
Hình 37 - Use case quản lý nhà cung cp..................................................................71  
Hình 38 - Use case quản lý dịch v............................................................................76  
Hình 39 - Use case quản lý khách hàng......................................................................81  
Hình 40 - Use case xử lý thanh toán hoá đơn .............................................................86  
Hình 41 - Use case đăng nhập....................................................................................92  
1
MỞ ĐẦU  
Trong thời kỳ phát triển và hội nhập kinh tế thế giới của Việt Nam những năm  
gần đây các doanh nghiệp Việt Nam gặp rất nhiều khó khăn khi phải cạnh tranh với  
các doanh nghiệp nước ngoài không những mạnh về quản trị nhân lực, mạnh về vốn  
và cả công nghệ…  
Việc áp dụng khoa học công nghệ vào lĩnh vực kinh tế, trong đó có ngành Ngân  
hàng, một trong những ngành kinh tế đặc biệt tác động trực tiếp đến hệ thống tài chính  
của quốc gia, trở nên cấp thiết hơn bao giờ hết.  
Trong quá trình điều hành và vận hành hệ thống Ngân hàng, điều mà các lãnh  
đạo quan tâm nhất là làm sao nắm bắt được tình hình hoạt động của hệ thống mình  
một cách nhanh nhất, chính xác và kịp thời nhất, để đưa ra các quyết định đúng đắn,  
giảm tối thiểu rủi ro, đảm bảo lợi ích của Ngân hàng mình. Hơn nữa, các ngân hàng  
thương mại còn phải hướng đến việc nâng cao chất lượng dịch vụ để phục vụ khách  
hàng. Với việc Việt Nam chính thứ gia nhập tổ chức thương mại thế giới WTO thì các  
ngân hàng đang phải đối mặt với sự cạnh tranh của các ngân hàng ngoại vốn mạnh về  
tài chính và công nghệ và còn phải cạnh tranh khốc liệt với khối ngân hàng nội đang  
từng bước lớn mạnh.  
Để cạnh tranh được thì vấn đề cốt lõi của các ngân hàng là phải hiện đại hóa về  
hệ thống CNTT mà nền tảng là đa dạng hóa dịch vụ. Một trong những dịch vụ quan  
trong cần phải đặc biệt chú trong dó chính là dịch vụ thanh toán tập trung tại ngân  
hàng.  
Bài toán thực tế  
Trước khi đi vào mục tiêu chính của luận văn, chúng ta sẽ phân tích bài toán  
thực tế tại ngân hàng Đầu tư và phát triển Việt Nam BIDV như sau:  
(i) Tập đoàn điện lực Việt Nam EVN từ trước đến nay đều thu tiền điện qua  
mạng lưới cộng tác viên đến thu tiền trực tiếp tại nhà dân hay tại các điểm thu tiền của  
EVN. Điều này dẫn tới mạng lưới đội ngũ cộng tác viên này rất lớn phức tạp trong  
quản lý. Hơn nữa số tiền mà các cộng tác viên này thu được phải mất vài ngày đến  
hàng tuần mới đến nộp được cho sở điện lực. Nếu số tiền này mà được gửi ngay tại  
ngân hàng thì EVN vừa dễ quản lý và theo dõi lại được phát sinh một số tiền lãi rất  
lớn. Ngoài ra cũng tránh được nhiều nguy cơ rủi ro như tiền giả, cộng tác viên dùng sai  
mục đích…  
Các yêu cầu về thanh toán cước viễn thông trả sau với Tổng công ty viễn thông  
quân đội Viettel, với tập đoàn bưu chính viễn thông Việt Nam VNPT, với công ty viễn  
thông điện lực EVN Telecom, thu hộ tiền nước…  
(ii) Dịch vụ nạp tiền cho thuê bao trả trước với nhà cung cấp dịch vụ VNPAY :  
Thay vì phải đến các điểm bán thẻ trả trước để cào lấy mã số thẻ rồi nạp tiền thì khách  
2
hàng có thêm một kênh là nạp tiền cho điện thoại di động qua tin nhắn hay mua thẻ tại  
ATM thông qua mở tài khoản tại ngân hàng.  
(iii) Dịch vụ nạp tiền ví điện tử vnmart: Đây là dịch vụ phối hợp với với công ty  
VNPAY. Dịch vụ thanh toán trực tuyến mới phát triển trong vài năm gần đây tại Việt  
Nam. Đây là dịch vụ giúp chủ thẻ tại BIDV có thể nạp rút tiền vào tài khoản ảo qua đó  
dùng ví điện tử này kết hợp với các website bán hàng trực tuyến để thanh toán trực  
tuyến. Khi dùng dịch vụ ví điện tử này sẽ đảm bảo an toàn hơn khi thanh toán trực  
tuyến thay vì thanh toán trực tuyến bằng tài khoản ngân hàng. Sự phát triển của dịch  
vụ gắn liền với sự quảng bá dịch vụ với các website bán hàng trực tuyến.  
(iv) Dịch vụ nạp tiền tài khoản Vietpay: Đây là dịch vụ phối hợp với với công ty  
VietPay dùng để nạp tiền game cho các ại lý.  
(v) Dịch vụ thanh toán vé máy bay Jetstart: Đây là dịch vụ phối hợp với với công  
ty Onepay triển khai qua hai kênh ATM và quầy giao dịch : Khách hàng sau khi vào  
website của jetstart pacific để đặt chỗ rồi sẽ qua ATM hay quầy giao dịch của BIDV  
để thanh toán bằng cách nhập vào mã đặt chỗ. Đây là dịch vụ sẽ rất hữu ích tại những  
nơi không có đại lý bán vé máy bay của Jetstart đặc biệt tại các tỉnh và các huyện xa.  
(vi) Dịch vụ mua bảo hiểm xe máy, ô tô qua ATM với công ty bảo hiểm BIDV  
(BIDV Insurance Company BIC) : Thay vì ra các đại lý bảo hiểm thì khách hàng là  
chủ thẻ của BIDV có thể ra ATM để đặt mua bảo hiểm ô tô, xe máy. Phương thức này  
giúp khách hàng có thể tiết kiệm được thời gian đồng thời có tỉ lệ chiết khấu cao hơn  
khi ra đại lý mua vì công ty bảo hiểm sẽ không phải trích trả cho đại lý. Đây cũng là  
hình thức quảng bá sự đa dạng dịch vụ cho BIDV. Dịch vụ này mới triển khai.  
(vii) Dịch vụ thanh toán phí bảo hiểm qua ATM với công ty bảo hiểm Prudential:  
Phí đóng bảo hiểm hàng tháng sẽ được công ty gửi cho khách hàng qua bưu điện,  
email, điện thoại…Khách hàng chỉ cần ra ATM nhập mã hợp đồng và số tiền phải  
đóng vào là có thể thanh toán được phí bảo hiểm với Prudential. Đây cũng là một dịch  
vụ rất mới giúp cho công ty bảo hiểm giảm bớt số lượng cộng tác viên đồng thời giúp  
quản lý dòng tiền thu được từ khách hàng một cách nhanh chóng chính xác tránh nhiều  
rủi ro khi cần đội ngũ cộng tác viên đi thu như mất tiền, tiền không hợp lệ…  
Nắm bắt được các yêu cầu của các doanh nghiệp trong nghiệp vụ thanh toán hóa  
đơn cũng như phát triển thêm thanh toán không dùng tiền mặt đồng thời đẩy mạnh  
phát triển dịch vụ tại BIDV. BIDV đã tiến hành khảo sát và ký kết với các đơn vị trên  
để phát triển một cổng thanh toán đáp ứng được các nghiệp vụ thanh toán hóa đơn.  
Vấn đề là cổng thanh toán đó phải tích hợp được nhiều kênh thanh toán như ATM,  
quầy, SMS… đồng thời phải mở rộng được các nhà cung cấp dịch vụ mới.  
Kiến trúc hướng dịch vụ SOA (Service Oriented Architecture) ra đời như là giải  
pháp tối ưu để tích hợp các dịch vụ giữa BIDV và các nhà cung cấp để giải quyết bài  
toán thanh toán trên.  
3
SOA là một trong những hướng thời sự hiện nay của ngành công nghệ thông tin.  
Nó cho phép cung cấp những dịch vụ có tính đầy đủ nhất đối với nhu cầu của người sử  
dụng. Vấn đề tích hợp được đặt ra để cho phép các ứng dụng, cơ sở dữ liệu riêng lẻ có  
thể tích hợp với nhau trong các quy trình nghiệp vụ và không chỉ giới hạn trong nội bộ  
doanh nghiệp mà còn có khả năng tích hợp với các quy trình của khách hàng và đối tác  
bên ngoài. Tuy nhiên, trong đa số trường hợp, việc tích hợp chỉ mới dừng lại ở mức  
tích hợp doanh nghiệp và trong một số ít trường hợp ở mức tích hợp logic nghiệp vụ,  
sử dụng các phương cách tích hợp truyền thống như tích hợp điểm-nối-điểm (hai ứng  
dụng cần trao đổi thông tin sẽ kết nối trực tiếp với nhau), tích hợp tĩnh (ví dụ như viết  
các mã tích hợp đan xen với mã ứng dụng nên khó thay đổi trong tương lai). Theo thời  
gian, phương cách tích hợp truyền thống sẽ tạo ra một hệ thống kết nối chồng chéo,  
phụ thuộc lẫn nhau một cách chặt chẽ, rất khó chỉnh sửa khi yêu cầu nghiệp vụ thay  
đổi, dẫn đến chi phí tích hợp ngày càng gia tăng đáng kể.  
Một số tổ chức, doanh nghiệp Việt Nam đang bước đầu tiếp cận kiến trúc tích  
hợp linh hoạt của SOA và thường bắt đầu theo hai hướng: tích hợp con người nhằm  
nâng cao năng suất làm việc và mở rộng thêm các kênh truy cập vào hệ thống ứng  
dụng bằng cách xây dựng cổng làm việc điện tử, cổng giao dịch điện tử... Ngoài hai  
hướng này, các hướng tiếp cận khác của SOA bao gồm tích hợp và tự động hóa quy  
trình nghiệp vụ, tích hợp thông tin và xây dựng kho tài nguyên dịch vụ có khả năng sử  
dụng lại trong các ứng dụng mới. SOA là một mô hình kiến trúc tích hợp hiện đại dựa  
trên khái niệm dịch vụ. Các chức năng nghiệp vụ và cơ sở hạ tầng được cung cấp như  
là các dịch vụ, các dịch vụ này riêng lẻ hoặc kết hợp với nhau sẽ cung cấp các chức  
năng ứng dụng cho các ứng dụng đầu cuối hoặc cho các dịch vụ khác. Các dịch vụ  
được kết nối với nhau thông qua trục tích hợp doanh nghiệp, xây dựng theo kiến trúc  
bus thay cho kiến trúc điểm-nối-điểm. Nhờ kiến trúc tích hợp linh hoạt của SOA,  
doanh nghiệp có thể xây dựng các hệ thống linh hoạt cho phép thay đổi các quy trình  
nghiệp vụ nhanh chóng và có thể tái sử dụng các cấu thành hệ thống.  
Dịch vụ là yếu tố then chốt trong SOA. Có thể hiểu dịch vụ như là hàm chức  
năng (mô-đun phần mềm) thực hiện qui trình nghiệp vụ nào đó. Một cách cơ bản,  
SOA là tập hợp các dịch vụ kết nối 'mềm dẻo' với nhau (nghĩa là một ứng dụng có thể  
'nói chuyện' với một ứng dụng khác mà không cần biết các chi tiết kỹ thuật bên trong),  
có 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. SOA là cấp độ cao hơn của phát triển ứng dụng,  
chú trọng đến qui 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.  
Thiết kế SOA tách riêng phần thực hiện dịch vụ (phần mềm) với giao tiếp gọi  
dịch vụ. Điều này tạo nên một giao tiếp nhất quán cho ứng dụng khách (client) sử  
dụng dịch vụ bất kể công nghệ thực hiện dịch vụ. Thay vì xây dựng các ứng dụng đơn  
lẻ và đồ sộ, nhà phát triển sẽ xây dựng các dịch vụ tinh gọn có thể triển khai và tái sử  
dụng trong toàn bộ quy trình nghiệp vụ. Điều này cho phép tái sử dụng phần mềm tốt  
4
hơn, cũng như tăng sự linh hoạt vì nhà phát triển có thể cải tiến dịch vụ mà không làm  
ảnh hưởng đến ứng dụng client sử dụng dịch vụ.  
Ưu điểm quan trọng nhất của SOA là khả năng kết nối "mềm dẻo" (nhờ sự  
chuẩn hóa giao tiếp) và tái sử dụng. Các dịch vụ được đóng gói có thể được gọi bởi  
ngôn ngữ bất kỳ.  
Với ngữ cảnh đó, luận văn hướng đến mục tiêu tập trung nghiên cứu, tìm hiểu  
sâu về mô hình kiến trúc hướng dịch vụ, từ đó ứng dụng trong bài toán thanh toán tập  
trung tại ngân hàng BIDV.  
Nội dung chính của luận văn được tổng hợp, trình bày trong 5 chương chính sau:  
- Chương 1: Gii thiu khái nim vkiến trúc hướng dch vSOA, các tính  
cht ca hthống SOA. Chương này cũng trình bày vkiến trúc phân tng ca hệ  
thng SOA.  
- Chương 2: Chương thứ hai của luận văn đề cập đến xây dng mt bài toán  
da theo mô hình SOA, gii thiu vWeb Service…  
- Chương 3: Chương này đưa ra ứng dng SOA trong bài toán thanh toán hoá  
đơn của BIDV bao gm phát biu bài toán, mô hình tích hợp đề xut và nêu quy trình  
hoạt đng ca bài toán, thiết kế chi tiết bài toán.  
- Chương 4: Gii thiệu môi trường phát trin và trin khai hthng thanh toán  
hoá đơn, chính sách bảo mt ca hthng, kết quthc nghim sau khi trin khai.  
- Chương 5: Kết luận và hướng phát trin của đề tài.  
5
Chương1-TNG QUAN VKIẾN TRÚC HƯỚNG DCH VỤ  
1.1 Mở đầu  
Trong những năm qua có rất nhiu kiến trúc phn mềm đã và đang được xây  
dng và trin khai nhm gii quyết các vấn đề như giảm chi phí phát trin phn mm,  
gim chi phí bo trì vn hành phn mm...  
Rt nhiu hãng phn mm khác nhau trên thế giới đã nghiên cu, tìm tòi nhiu  
công nghmi, nhiu kiến trúc phn mềm khác nhau nhưng lại da trên các chun  
khác nhau dẫn đến môi trường không đồng nht. Nhiu hthng cũ thay vì được sử  
dng li thì lại được xây dng li từ đầu dẫn đến quá tn kém vthi gian và tin bc.  
Hơn nữa gia các hthống khác nhau, các môi trường khác nhau skhông thgiao  
tiếp được vi nhau một khi chưa thống nhất được chuẩn để giao tiếp với nhau. Đó là  
khó khăn rất ln trong quá trình tích hp các hthng vi nhau.  
Mt nguyên nhân cũng gây rất nhiều khó khăn cho các đơn vị tích hp hthng  
là vấn đề lp trình dư thừa và không tái sdụng được. Ví dụ như Ngân hàng A phát  
trin mt dch vụ như chuyển khon qua các kênh ATM, quy giao dch và internet  
ca Ngân hàng A. Các dch vụ này đều có mục đích là truy nhập vào CoreBanking để  
thc hin giao dch cng tin vào tài khoản đích và trừ tin vào tài khon ngun. Nếu  
không được tái sdng thì mỗi kênh trên ta đều gp phi bài toán là viết một đoạn  
chương trình thc hin ghi có tài khoản đích và ghi nợ tài khon nguồn. Hơn nữa vi  
tưng kênh giao dịch li sdng môt ngôn nglp trình khác nhau dn ti tn rt nhiu  
thi gian và công sc ththc hiện bài toán cho các kênh đó.  
Hình 11- Các kênh giao dịch của ngân hàng khi cùng thực hiện thao tác chuyển  
khoản  
6
Ckhi trin khai thêm mt kênh mới như SMS, Mobile… thì công vic chuyn  
khon li phi xây dng gây snhàm chán, tn chi phí thi gian và tin bc với người  
lập trinh viên. Như Hình 1 thì lp trình viên phi viết lại đoạn chương trình thc hin  
chuyn khon trên các ngôn ngkhác nhau.  
Vmô hình kiến trúc phn mm truyn thống, đã có rt nhiu cách tiếp cn  
khác nhau đối vi vic xây dng, phát trin các ng dng phân tán chng hn:  
EJB (Enterprise Java Beans)  
Hình 2 2- Kiến trúc EJB  
Common Object Request Broker Architecture (CORBA ) :  
Hình 3 3- Mô hình CORBA  
7
DCOM – Distributed Component Object Model:  
Hình 44 - Mô hình DCOM  
Các kiến trúc trên đều yêu cu kiến trúc triển khai cài đặt bên phía nhà cung cp  
dch vvà phía sdng dch vphi ging nhau. Mi khi có mt sự thay đổi thì thì  
yêu cầu đều phải thay đổi cbên cung cp dch vvà bên triu gi sdng dch v.  
Các kiến trúc trên đa phần là chuẩn đóng rất khó để giao tiếp vi các chun khác…  
Chính vì những nhược điểm ca các mô hình đã có yêu cu tìm ra mt kiến trúc  
mi có thể tương thích được các chuẩn, các môi trường và sdng lại được các hệ  
thng cũ. Kiến trúc hướng dch v(Service-Oriented Architecture - SOA) ra đời giúp  
gii quyết các nhược điểm ca các mô hình phân tán đã có.  
1.2 Kiến trúc hưng dch vụ  
1.2.1 Khái nim vSOA  
Trưc khi ta hiu khái nim kiến trúc hướng dch ta ta tìm hiu khái nim về  
dch vlà gì?  
Dch vlà là các thành phần logic dùng để thc hin mt thao tác nghip vụ  
được truy nhp qua internet sdng các chun m.  
Kiến trúc hướng dch vlà mt tp hp các dch vụ được chun hoá trên mng  
trao đi vi nhau trong ngcnh mt tiến trình nghip v. Dịch vụ là yếu tố then chốt  
trong SOA. SOA là tập hợp các dịch vụ kết nối ‘mềm dẻo’ với nhau (nghĩa là một ứng  
dụng có thể ‘nói chuyện’ với một ứng dụng khác mà không cần biết các chi tiết kỹ  
thuật bên trong), có 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. SOA là cấp độ cao hơn của phát  
triển ứng dụng, chú trọng đến qui 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.  
Thiết kế SOA tách riêng phần thực hiện dịch vụ (phần mềm) với giao tiếp gọi  
dịch vụ. Điều này tạo nên một giao tiếp nhất quán cho ứng dụng khách (client) sử  
dụng dịch vụ bất chấp công nghệ thực hiện dịch vụ. Thay vì xây dựng các ứng dụng  
8
đơn lẻ và đồ sộ, nhà phát triển sẽ xây dựng các dịch vụ tinh gọn có thể triển khai và tái  
sử dụng trong toàn bộ quy trình nghiệp vụ. Điều này cho phép tái sử dụng phần mềm  
tốt hơn, cũng như tăng sự linh hoạt vì nhà phát triển có thể cải tiến dịch vụ mà không  
làm ảnh hưởng đến ứng dụng client sử dụng dịch vụ.  
SOA Trong SOA[5]-[8]-[11] có ba đối tượng chính là nhà cung cp dch vụ  
(service provider), người sdng dch v(service consumer) và nơi lưa trữ dch vụ  
(service registry) như minh họa trong Hình 5  
Nơi đăng ký dịch  
v(Service  
Registry)  
Tìm dch v()  
Xut bn dch v()  
Người sdụng  
dịch v(Service  
Consumer)  
Nhà cung cấp dịch  
Gi dch v()  
v(Service  
Provider)  
Hình 55 - Các đối tượng trong SOA  
Nhà cung cp dch v(service provider) : Cung cp thông tin vdch vcho  
một nơi lưu trữ thông tin dch v(service registry).  
Người sdng dch v(service consumer) : Thông qua service registry để tìm  
kiếm thông tin mô tvdch vcn tìm và sau đó là xây dựng kênh giao tiếp vi phía  
nhà cung cp.  
Nơi lưu trữ thông tin dch vụ (service registry) : Là nơi lưu trữ các dch vkhi  
mt dch vca nhà cung cp dch vụ được đưa ra. Đây chính là nơi người sdng  
dch vcó thtìm và triu gi các dch vụ đưc cung cp.  
SOA cung cp giải pháp để gii quyết các vấn đề tn ti ca các hthng hin  
nay như: phức tp, không linh hot và không ổn đnh. Mt hthng trin khai theo mô  
hình SOA có khả năng dễ mrng, liên kết tốt. Đây chính là cơ sở và nn tng cho  
vic tích hp, tái sdng li nhng tài nguyên hin có.  
Tư tưởng của SOA không hoàn toàn mới, DCOM và CORBA cũng có kiến trúc  
tương tự. Tuy nhiên, các kiến trúc cũ ràng buộc các thành phần với nhau quá chặt, ví  
dụ như các ứng dụng phân tán muốn làm việc với nhau phải đạt được thỏa thuận về chi  
tiết tập hàm API, một thay đổi mã lệnh trong thành phần COM sẽ yêu cầu những thay  
đổi tương ứng đối với mã lệnh truy cập thành phần COM này.  
9
Ưu điểm quan trọng nhất của SOA là khả năng kết nối mềm và tái sử dụng. Các  
dịch vụ có thể được sử dụng với trình client chạy trên nền tảng bất kỳ và được viết với  
ngôn ngữ bất kỳ. Ví dụ như ứng dụng Java có thể liên kết với dịch vụ web .NET và  
ngược lại.  
SOA dựa trên 2 nguyên tắc thiết kế quan trọng:  
Mô-đun hoá: Tách vấn đề lớn thành nhiều vấn đề nhỏ.  
Đóng gói: Che đi dữ liệu và lô-gic trong từng mô-dun đối với truy cập từ  
ngoài.  
Sau đây sẽ trình bày vkiến trúc phân tng ca SOA.  
1.2.2 Kiến trúc SOA  
Sau đây là kiến trúc phân tng ca SOA[7] -[8] gm 7 tng chính là : Tng  
Operational Systems (tng tích hp các hthng cũ đang hoạt động), tng Enterprise  
components ( tng thành phn tác nghip), tng dch v, tng xlý nghip v, tng  
biu din, tng tích hp và tng theo dõi, qun lý chất lưng dchv.  
Hình 6 - Kiến trúc phân tng ca hthng SOA  
1.2.2.1 Tng tng thao tác hthng  
Mc đích tầng này là gọi đến các ng dng cũ đã xây dựng trước đó như các  
ng dng xây dng bng các ngôn nglp trình hướng đối tượng cũ, các ứng dng  
thc hin các thao tác nghip vthông minh, các gói ng dng CRM, ERP..  
Để tích hp các hthống đã tn ti này thì dùng kthut tích hợp hướng dch  
v.  
10  
1.2.2.2 Tng thành phn tác nghip  
Tng này có nhim vthc hin các chức năng và vận hành các dch vụ đưa ra.  
Tng này qun lý các tài nguyên mức đơn vị nghip v.  
1.2.2.3 Tng dch vụ  
Tng dch vụ đưa ra các đặc tdch vụ, đc tả các đơn vị thành phn nghip v.  
1.2.2.4 Tng xlý nghip vụ  
Các dch vụ được đưa vào thành 1 luồng để xlý như một ng dụng đơn lẻ.  
Tng này htrợ đc tcác use case và thc hin các quy trình nghip v.  
1.2.2.5 Tng biu din  
Hình 7 - Mt khung nhìn chi tiết vmt dch vụ  
11  
Hình 8 - Các dch vụ khác nhau được cung cấp trên một website  
Tng biu din cung cp các ng dụng cho ngưi dùng cuối dưới dng các dch  
vụ được xây dng tcác tng trên. Người dùng cui sẽ không quan tâm đến xlý  
trong bn thân các dch vmà chỉ quan tâm đến đầu vào và đầu ra ca dch v.  
1.2.2.6 Tng tích hp  
Tng này cho phép tích hp các dch vụ trước đó như đưa ra tập các khả năng tin  
cậy như định tuyến thông minh, các giao thức điều chnh hoặc các cơ chế chuyển đổi  
khác thường được miêu tlà ESB.  
1.2.2.7 Tng QoS(Tng chất lượng dch v)  
Tng này cung cp các khả năng để qun lý, theo dõi,vn hành chất lượng các  
dch vụ như an ninh, hiệu năng xử dng ca hthống và độ sn sàng ca hthng.  
Đây là bước xlý phía sau và cần cài đặt các công cụ để theo dõi vn hành ng  
dng SOA.  
1.3 Các tính cht ca mt hthng SOA  
SOA gm các tính chất cơ bản sau [8]-[9]  
Sdng li dch vụ  
Trong SOA tính cht sdng li dch vcho phép các mt dch vmi có thể  
tái sdng các dch vụ đã. Tái sdng li các dch vcòn giúp loi bnhng thành  
phần dư thừa giúp gim thi gian và chi phí cho vic phát trin và qun trphn mm.  
Tính đóng gói dịch vụ  
12  
Tính đóng gói dịch vtrong SOA nghĩa là các thành phn sdng thuc phm  
vi bên ngoài ca mi dch vsẽ không được biết đến cài đặt ca dch vụ đó. Các đối  
tượng sdng dch vschcần quan tâm đến đặc tca dch v. Các chức năng chỉ  
được cung cp thông qua các giao din mà dch vụ đó cung cấp. Tính đóng gói dịch  
vkế tha tkiến trúc hướng đối tượng đã có trước đó.  
Sdng dch vbất đồng bộ  
SOA htrtriu gi bất đồng b: Bên gi gửi thông điệp sang bên nhn xlý  
mà không cn chbên nhn xử lý xong thông điệp. Do bên gi không phi chcho  
đến khi yêu cầu được xlý xong và trvnên không bị ảnh hưởng bi vic xlý trễ  
và li khi thc thi các dch vbất đồng b. Trên lý thuyết mt hthng SOA có thể  
htrgi và nhn cả thông điệp đồng bvà bất đng b.  
Khả năng cộng tác  
Khả năng cộng tác (Interoperability) là khả năng mà các hệ thng có thgiao  
tiếp vi nhau trên nhiu nn tng và ngôn ngkhác nhau.  
Dò tìm dch v(service discovery)  
Dò tìm dch v(service discovery): Trong SOA htrdò tìm dch vụ. Đối  
tượng sdng dch vstìm các dch vụ lưu trữ trong service registry nhSOA hỗ  
trdò tìm dch v.  
Loose coupling  
Trong SOA các thành phn giao tiếp vi nhau scó sràng buộc vơi nhau. Sự  
ràng buc mang tính loose coupling có nghĩa là ràng buộc được mô trõ ràng. Hu  
như mọi kiến trúc phn mềm đều hướng đến tính loose coupling gia các module.  
Mức độ kết dính ca mi hthng ảnh hưởng trc tiếp đến khả năng chỉnh sa hệ  
thng ca chính nó. Kết dính càng cht bao nhiêu thì càng có nhiều thay đổi liên quan  
cn chnh sa phía sdng dch  
1.4 Kết lun  
Chương 1 trình bày vmt skhó khăn ca ngành công nghphn mm hin  
nay. Từ đó gii thiu, phân tích các ưu khuyết đim ca mt smô hình kiến trúc  
phân tán được xây dng để gii quyết các khó khăn trên như là EJB,CORBA,  
DCOM…  
Chương này cũng giới thiu khái nim vkiến trúc hướng dch vSOA, các tính  
cht ca hthng SOA, gii thiu vkiến trúc phân tng ca hthng SOA…  
13  
Chương 2 - CÁC BƯỚC TRIN KHAI MT NG DNG THEO  
MÔ HÌNH SOA  
2.1  
Các phương pháp tiếp cn trong trin khai SOA  
Phn này sgii thiệu các phương pháp để xác định các dch vụ hai phương  
pháp cơ bản là phương pháp top-down (xut phát tcác yêu cu nghip v) và  
bottom-up (xut phát tthc trng ca hthng hin có).  
• Top-down : trong xây dng mt hthng SOA, thì phương pháp top-down là  
phương pháp mà điểm xut phát ca nó slà tcác yêu cu nghip vụ để xác định các  
yêu cu chức năng, các tiến trình và tiến trình con, các trường hp sdng (use cases)  
để tiến ti việc xác định các thành phn hthng (components), các dch v…  
• Bottom-up : phương pháp này sẽ da trên vic phân tích tình trng, các tài  
nguyên ca hthng hin có và stái sdng li nhng thành phn này trong vic  
xây dng các dch vmi.  
Phương pháp này bao gồm 7 bước chính được thhin Hình 9[5].  
Hình 9 - Các bước cn thc hin khi trin khai mt hthng SOA.  
Trong Hình 9 ta stiếp cn mô hình theo phương pháp top-down đi từ trên  
xung.Với các bước mà song song nhau thì trong thc tế có thtiến hành cùng mt  
lúc.  
Các bước chính để xây dng hthng dựa trên SOA đó là :  
1. Phân rã domain  
2. Xây dng mô hình Goal-service  
3. Phân tích hthng con  
4. Đưa ra các dịch vụ  
5. Đặc tthành phn  
6. Cu trúc thành phn và dch vụ  
7. La chn công nghthc hin.  
Sau đây ta sẽ xét chi tiết các bước phát trin theo mô hình SOA trên.  
14  
2.2 Quy trình phát trin ng dng theo mô hình SOA  
Ta xét tới bài toán thanh toán hóa đơn của Ngân hàng Đầu tư và Phát triển Vit  
Nam(BIDV) : Khách hàng có thra ATM hoc quy giao dch của BIDV để  
thanh toán các loại hóa đơn tiền điện, nước…  
2.2.1 Phân rã domain  
Trong quy trình phát trin ng dng theo mô hình SOA.Bước này dùng để phân  
rã toàn bqui trình nghip vthành các quy trình nghip vcon, tiến trình con[3]-  
[5]. Hình 10 cho biết quá trình phân rã domain áp dng cho bài toán thanh toán hóa  
đơn trên sẽ gm 4 hthng con là ATM, Web Server, CoreBanking, Nhà cung cp  
dch v.  
ATM  
Web Server  
CoreBanking  
Nhà cung cấp dịch  
vụ  
Hình 10 - Phân rã domain hthống thanh toán hóa đơn  
Sau khi phân rã domain thành mt dãy các vùng chức năng liên quan, ta tiếp  
tc phân tích tng vùng chức năng để xác định các sơ đuse case .  
15  
Hình 11 – Danh sách use case khi trin khai theo mô hình SOA  
Hình 11 cho ta biết danh sách các use case ca hệ thanh toán hóa đơn:  
• Use case Vn tin nhà cung cp : Trên ATM khi la chn giá trị gia tăng  
shin thra danh sách các nhà cung cp dch vụ để khách hàng có thể  
la chn.  
• Use case Vn tin dch vụ : Sau khi đã hin thdanh sách nhà cung cp  
thì khác hàng la chn nhà cung cấp để ly ra danh sách các dch vụ  
được cung cp.  
• Use case Vấn tin hóa đơn : Đây là use case sẽ xdng hai use case con.  
- Use case vn tin tài khoản SIBS : Đây là use case dùng để  
ly thông tin ca mt tài khon trên CoreBanking SIBS  
như họ tên tài khon, số dư, số dư khả dng, scif…  
- Use case vấn tin hóa đơn bên nhà cung cấp : Dùng để ly  
thông tin khách hàng bên nhà cung cấp như họ tên khách  
hàng, địa chkhách hàng, kì hóa đơn, số tin trong k, chi  
tiết hóa đơn…  
• Use case Gch n: Use case này cũng xử dng hai Use con.  
- Use case Hch toán tài khon trong CoreBanking : Có  
chức năng trừ tin khách hàng bng vi stin trên hóa  
16  
đơn mà khách hàng nợ bên nhà cung cp, cng tin vào tài  
khon nhà cung cp stiền tương ứng.  
- Use case gch nợ hóa đơn bên nhà cung cấp : Sau khi đã  
trtin khách hàng trong CoreBanking ca ngân hàng sẽ  
gi sang bên nhà cung cấp để yêu cu nhà cung cp xóa  
ncho khách hàng.  
• Use case Hy gch n: Use case này cũng xử dng hai Use con.  
- Use case hy hch toán tài khon trong CoreBanking : Khi  
phát sinh mt lỗi như timeout hay gạch nợ hóa đơn bên  
nhà cung cp không thành công thì syêu cu hoàn tin  
cho khách hàng. Use case này slàm nhim vhy giao  
dch hạch toán trong CoreBanking trước đó để hoàn li  
tin cho khách hàng.  
- Use case hy gch nbên nhà cung cp : Một khi đã hoàn  
tin cho khách hàng trong tài khon CoreBanking ngân  
hàng thì syêu cu bên nhà cung cp hy giao dch xóa  
nợ trước đó để khách hàng vn nợ hóa đơn trước đó.  
Các thành phn hthng con vi các use case to thành các min nghip vụ  
sau :  
ATM  
Web Server  
Use case :  
Use case :  
1.Vấn tin nhà cung cấp  
2.Vấn tin hóa đơn  
3.Vấn tin dịch vụ  
1.Vấn tin dịch vụ  
2.Thanh toán hóa đơn,  
3.Hủy thanh toán  
4.Thanh toán hóa đơn,  
5.Hủy thanh toán  
Nhà cung cấp dịch vụ  
Use case :  
CoreBanking  
Use case :  
1.Vấn tin hóa đơn  
2.Gạch nợ hóa đơn  
3.Hủy gạch nợ hóa đơn.  
1.Vấn tin tài khoản  
CoreBanking  
2.Hạch toán tài khoản  
CoreBanking  
3.Hủy hạch toán tài khoản  
CoreBanking  
Hình 12 – Các domain và use case sdng  
2.2.2 Xây dng Goal-service  
Mục đích của xây dng goal-service[5] này là kim tra “các ng cviên”  
trong các mc tiêu trên có tht slà tt không? Ta sxut phát tmc tiêu chính  
(goal) và tng bước phân tích để xác định các công vic cần làm để đạt đưc mc tiêu  
17  
chính đó là gì (sub-goal). Quá trình phân rã như thế (goal thành các sub-goal) sẽ được  
thc hin cho ti khi nào ta thy rng “mc tiêu này có thể được thc hin bi mt  
dch vụ nào đó  
Trong quá trình xây dng mô hình goal-service này, ta sẽ xác định thêm các  
dch vcn thiết.  
2.2.3 Phân tích hthng con  
Trong giai đoạn này các use case nghip vsẽ là dùng để thiết kế các use case  
hthng. Hthng con bao gm các thành phn nghip v.  
Trong bài toán thanh toán hóa đơn, có các hệ thống con được phân rã trong  
bước phân rã domain là ATM, Web Server, CoreBanking và Nhà cung cp dch v.  
Mi hthng con cung cp mt tp các service nghip v. Mt use case nghip vcó  
thbao gm 1 hoc nhiu use case hthống. Như trong nghiệp vvấn tin hóa đơn sẽ  
có hai use case hthng là use case vn tin thông tin tài khon trong CoreBanking và  
use case vấn tin hóa đơn bên Nhà cung cấp dch v.  
2.2.4 Đưa ra các dch vụ  
Các dch vụ đã được xác định qua hai giai đoạn là phân rã domain và xây  
dng mô hình goal-service[5]. Trong giai đoạn này, chúng ta sthc hiện đưa các  
dch vnày vào các thành phần. Bước này sẽ xác định xem thành phn nào scung  
cp phn thc thi và qun lý cho mi dch v. Phân bdch vsthhiện tính năng  
truy vết gia các dch vvà các thành phn chu trách nhim thc thi và qun lý  
chúng.  
Hình 13 Đưa các dịch vvào các thành phn  
2.2.5 Đặc tthành phn  
Bước này là đặc tli các thành phn sau khi đã thc hiện các bước trên như  
đặc tả đầu vào đầu ra web service…  
18  
2.2.6 Cu trúc thành phn và dch vụ  
Trong giai đoạn này ta sthc hiện đưa các dịch vvà các thành phn vào  
các trong các tng của SOA. Đây là bước quan trng vì sẽ ảnh hưởng đến kiến trúc hệ  
thng, ảnh hưởng đến công tác xây dng và trin khai hthng.  
2.2.7 La chn gii pháp thc thi  
Đây là bước quan trọng để quyết định gii pháp kthut ảnh hưởng đến tiến  
độ và chi phí ca dự án như quyết định có sdng li hthng cũ với các chức năng  
đã được thiết kế theo hướng dch vhay là xây dng mt hthng hoàn toàn mi …  
2.3  
SOA và Web Service  
SOA là mt kiến trúc phn mm, bao gm mt tp các nguyên tc thiết kế đc  
lp vi kthut và công nghnhm liên kết các dch v. SOA bắt đầu vi việc định  
nghĩa thành phn giao tiếp (interface) và sau đó, xây dựng kiến trúc hthống như là  
sliên kết ca các thành phn interface, phn thc thi ca các interface và cách thc  
tương tác giữa các interface. Trong khi đó, Web services li là mt tp hp các kỹ  
thut và công nghệ (SOAP, WSDL, UDDI, HTTP...) được dùng để hin thc hóa các  
nguyên tc thiết kế ca SOA. Trong thc tế, khái nim SOA không phi là mt khái  
nim hoàn toàn mới, mà đã xut hiện cách đây khá lâu. Và trong quá khứ đã có rt  
nhiu kthuật khác được dùng để trin khai mt hthống SOA như :  
• Distributed object : như CORBA, J2EE, COM/DCOM  
• Message-oriented middleware (MOM) : WebSphere MQ  
Phần dưới đây sẽ gii thiu rõ hơn về Web service, khái nim, kiến trúc và các  
thành phn trong Web service  
2.3.1 Kiến trúc Web services  
Web service [4]-[6]-[10] là mt tp các chuẩn đặc tmrng khả năng của  
các chun có sẵn như XML, URL và HTTP nhằm cung cp chun truyn thông gia  
các hthng vi nhau. Web services là nhng thành phn thc thi mt sxlý nghip  
vthông qua nhng dch vvà cung cp nhng dch vqua mng, nhng dch vnày  
có thể được triu gi bi các dch vclient bng cách sdng giao thc SOAP trên  
HTTP. Web services độc lp vngôn ngữ và độc lp vnn tng bi vì nó tách bit  
đặc tra khỏi cài đặt; nó còn htrtích hp loose coupling gia các ng dng vi  
nhau qua trao đổi các thông điệp đồng bvà bất đng bthông. Web services da trên  
kiến trúc phân tán trong đó không có bất kì dch vxlý trung tâm nào và tt cdng  
truyền thông đều sdng các giao thc chun. Các giao thức không được có bt kì ý  
nghĩa ngầm định nào bên trong mà phải đưc mô trõ ràng.  
Trong Web services thì gia thành phn triu gi web service(client) và Web  
services đều không cn biết cài đặt ca nhau.  
Web services sdng XML, mt ngôn ngữ độc lp trong vic biu din dữ  
liu, làm ngôn ngữ trao đổi thông tin.  
Mô hình web services dạng đơn giản định nghĩa cách thức tương tác giữa  
Service Requester, Service Provider, và Service Directory như sau : Bên sử dng dch  
vtìm kiếm các dch vtrong mt UDDI Service Directory. Chúng sly thông tin  
19  
mô tWSDL ca các Web services cung cp bi Service Providers từ trước thông qua  
Service Directory. Sau khi lấy được mô tWSDL, bên yêu cu dch vkết nối đến  
nhà cung cp dch vbng cách triu gi các dch vthông qua giao thc SOAP. Web  
services cơ bản bao gm các khái nim SOAP, WSDL, và UDDI. Chúng ta slần lượt  
phân tích trong các phn sau. Cần lưu ý là các chun trên có thể được kết hp vi  
nhau hoặc dùng độc lập tùy trường hp cth.  
Hình 14 - Các tầng của Web service  
Hình 14 mô tả các tầng hình thành nên Web service. Hình 15 mô tả các tác  
nhân trong Web service tương ứng với các tầng này.  
Có 3 thành phần tác nhân chính tham gia vào Web service.  
1. Service Provider: Dùng Web Services Description Language (WSDL) để  
mô tả dịch vụ mà mình có thể cung cấp cho Service Broker (tương tự với  
Service Registry trong SOA).  
2. Service Broker: Lưu trữ thông tin về các service được cung cấp bởi các  
Service Provider. Cung cấp chức năng tìm kiếm hỗ trợ Service Requester  
(Service Consumer trong SOA) trong việc xác định Service Provider phù  
hợp. Thành phần chính của Service Broker là Universal Discovery,  
Description, and Integration (UDDI) repositories.  
3. Service Requester: Dùng WSDL đđc tnhu cu sdng và gi cho  
service Broker.  
Môi giới dịch  
v(Service  
Broker)  
WSDL  
WSDL  
Nhà cung cấp dịch  
v(Service  
Yêu cầu dịchvụ  
(Serice  
SOAP  
Provider)  
Requester)  
Hình 15 - Tương tác giửa các tác nhân trong Web service  

Tải về để xem bản đầy đủ

pdf 106 trang yennguyen 26/06/2025 220
Bạn đang xem 30 trang mẫu của tài liệu "Luận văn Ứng dụng kiến trúc hướng dịch vụ trong bài toán thanh toán tập trung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfluan_van_ung_dung_kien_truc_huong_dich_vu_trong_bai_toan_tha.pdf