141
 TRƯNG ĐI HC KHOA HC T NHIÊN KHOA CÔNG NGH THÔNG TIN THCH BCH LÊ NGUYN HOÀI NAM TÌM HIU VÀ XÂY DNG NG DNG KIN TRÚC HƯNG DCH V VI ORACLE SOA SUITE KHÓA LUN TT NGHIP C NHÂN CNTT TP.HCM, 2011

Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

Embed Size (px)

Citation preview

Page 1: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 1/141

 

 

TRƯNG ĐI HC KHOA HC T NHIÊN

KHOA CÔNG NGH THÔNG TIN

THCH BCH – LÊ NGUYN HOÀI NAM

TÌM HIU VÀ XÂY DNG NG DNG

KIN TRÚC HƯNG DCH V VIORACLE SOA SUITE

KHÓA LUN TT NGHIP C NHÂN CNTT

TP.HCM, 2011

Page 2: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 2/141

 

 

TRƯNG ĐI HC KHOA HC T NHIÊN

KHOA CÔNG NGH THÔNG TIN

THCH BCH 0712085

LÊ NGUYN HOÀI NAM 0712291

TÌM HIU VÀ XÂY DNG NG DNG

KIN TRÚC HƯNG DCH V VI

ORACLE SOA SUITE

KHÓA LUN TT NGHIP C NHÂN TIN HC

GIÁO VIÊN HƯNG DNThS. NGÔ BÁ NAM PHƯƠNG

NIÊN KHÓA 2007–2011

Page 3: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 3/141

 

 

i

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

Khóa luận đáp ứng yêu cầu của Luận văn cử nhân tin học.

TpHCM, ngày …… tháng …… năm 2011

Giáo viên hướng dẫn

Page 4: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 4/141

 

 

ii

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

………………………………………………………………………………

Khóa luận đáp ứng yêu cầu của Luận văn cử nhân tin học.

TpHCM, ngày …… tháng …… năm 2011

Giáo viên phản biện

Page 5: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 5/141

 

 

iii

LỜI CÁM ƠN

Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, trường Đại Học

Khoa Học Tự Nhiên Tp.HCM đã tạo điều kiện tốt cho chúng em thực hiện đề tài

này.

Chúng em xin chân thành cảm ơn Thầy Ngô Bá Nam Phương, là người đã định

hướng và giúp đỡ chúng em trong suốt thời gian thực hiện đề tài. Trong quá trình

thực hiện đề tài Thầy đã tận tình chỉ dẫn, trao đổi giúp chúng em giải quyết các vấn

đề để hoàn thiện đề tài.

Chúng em cũng xin gửi lời cảm ơn sâu sắc đến quý Thầy Cô trong Khoa đã tận

tình giảng dạy và trang bị cho chúng em vốn kiến thức vô cùng quí báu trong những

năm học vừa qua. Cảm ơn Thầy Nguyễn Hoàng Anh và Thầy Hoàng Vũ Tuấn vì

những tài liệu quý báu của các thầy.

Bên cạnh đó chúng em xin gửi lòng biết ơn sâu sắc đến toàn thể gia đình. Ba,

Mẹ, anh chị đã quan tâm, chăm sóc, động viên. Bạn bè đã ủng hộ, giúp đỡ chúng

em trong những lúc khó khăn cũng như trong suốt thời gian học tập và nghiên cứu.Mặc dù chúng em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng

cho phép, nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong sự cảm

thông và chỉ bảo của quý Thầy Cô và các bạn.

 Nhóm thực hiện

Thạch Bạch – Lê Nguyễn Hoài Nam

Page 6: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 6/141

 

 

iv

ĐỀ CƯƠNG LUẬN VĂN

Tên Đề Tài:

•  Tìm hiểu và xây dựng ứng dụng kiến trúc hướng dịch vụ với Oracle SOASuite.

Giáo viên hướng dẫn:

•  Th.S Ngô Bá Nam Phương

Thời gian thực hiện:

•  Từ ngày 02/03/2011 đến ngày 27/06/2011

Sinh viên thực hiện:

•  Thạch Bạch 0712085

•  Lê Nguyễn Hoài Nam 0712291

Loại đề tài:

•   Nghiên cứu công nghệ và phát triển ứng dụng.

•  Đề tài thuộc hướng công nghệ phần mềm.

Nội Dung Đề Tài: 

•  Tìm hiểu cơ sở nền tảng kiến trúc hướng dịch vụ.

•  Tìm hiểu kiến trúc hướng dịch vụ Oracle (Oracle SOA Suite).

•  Tìm hiểu các phần mềm của Oracle hỗ trợ cho từng pha trong chu trìnhsống SOA.

•  Tìm hiểu kiến trúc Hibernate, Spring framework để phục vụ cho việc xâydựng ứng dụng minh họa.

•  Xây dựng ứng dụng dựa trên kiến trúc hướng dịch vụ theo đúng nền tảngkíến trúc hướng dịch vụ Oracle.

Kết Quả Đạt Được:

•  Tìm hiểu được cơ sở nền tảng kiến trúc hướng dịch vụ.

•  Tìm hiểu được nền tảng kiến trúc hướng dịch vụ Oracle cho việc xây dựng

các quy trình ứng dụng.

Page 7: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 7/141

 

 

v

•  Xây dựng ứng dụng theo đúng nền tảng kiến trúc hướng dịch vụ Oracle.

Kế Hoạch Thực Hiện:

Bắt đầu Kết thúc Yêu cầu Phân công

2/3/2011 17/3/2011 Tìm hiểu cơ sở nền tảng kiến trúchướng dịch vụ.

0712085-0712291

18/3/2011 27/3/2011 Tìm hiểu nền tảng kiến trúchướng dịch vụ Oralce

0712085-0712291

28/3/2011 9/4/2011 Cài đặt và cấu hình các phầnmềm hỗ trợ cho từng pha trongchu trình sống của SOA.

0712085-0712291

10/4/2011 19/4/2011 Tìm hiểu và cài đặt phần mềmJDeveloper Studio.

0712085-0712291

20/4/2011 29/4/2011 Tìm hiểu kiến trúc Hibernate,Spring

0712085-0712291

2/5/2011 5/5/2011 Mô hình hóa ứng dụng Vinabook. 0712085-0712291

6/5/2011 24/5/2011 Xây dựng và tổng hợp ứng dụngVinabook.

0712085-0712291

25/5/2011 9/6/2011 Triển khai và quản lý ứng dụngVinabook.

0712085-0712291

10/6/2011 17/6/2011 Hoàn chỉnh ứng dụng. 0712085-0712291

18/6/2011 26/6/2011 Hoàn chỉnh báo cáo. 0712085-0712291

Xác nhận của GVHD

ThS. Ngô Bá Nam Phương

Ngày tháng năm 2011

Nhóm SV Thực hiện

Thạch Bạch – Lê Nguyễn Hoài Nam

Page 8: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 8/141

 

 

vi

MỤC LỤC 

LỜI CÁM ƠN .................................................................................................... 3 ĐỀ CƯƠNG LUẬN VĂN ................................................................................. 4 MỤC LỤC ......................................................................................................... 6 DANH MỤC CÁC HÌNH .................................................................................. 9 DANH MỤC CÁC BẢNG ............................................................................... 13 Chương 1 MỞ ĐẦU ........................................................................................... 1 

1.1.  Giới thiệu về đề tài ............................................................................. 1 1.2.  Lý do thực hiện đề tài ......................................................................... 2 1.3.  Mục tiêu đề tài ................................................................................... 3 1.4.   Nội dung luận văn .............................................................................. 4  

Chương 2 NỀN TẢNG KIẾN TRÚC HƯỚNG DỊCH VỤ ORACLE ................ 6 2.1.  Service Oriented Architecture (SOA) ................................................. 7 2.2.  Các lợi ích của kiến trúc hướng dịch vụ ........................................... 10 2.3.  Kiến trúc lớp doanh nghiệp (Layering the Enterprise Architecture) .. 15 2.4.   Những công nghệ được sử dụng để cài đặt theo kiến trúc hướng dịch

vụ (Standards in SOA) ..................................................................... 20 2.5.  Kiến trúc thành phần hướng dịch vụ ................................................. 25 

Chương 3 CÁC CÔNG CỤ HỖ TRỢ CÀI ĐẶT, TRIỂN KHAI VÀ QUẢN LÝ

ỨNG DỤNG THEO KIẾN TRÚC HƯỚNG DỊCH VỤ ................... 28 3.1.  Các bước thực hiện trong chu kì sống SOA ...................................... 29 3.2.  Các phần mềm của Oracle hỗ trợ triển khai và quản lý trong chu kỳ

sống SOA......................................................................................... 29 

Page 9: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 9/141

 

 

vii

3.3.  So sánh hai nền tảng IBM SOA Portfolio và Oracle SOA Suite ....... 45 Chương 4 MÔ HÌNH HÓA ỨNG DỤNG VINABOOK ................................... 53 

4.1.  Giới Thiệu ........................................................................................ 53 4.2.  Phát biểu bài toán ............................................................................. 55 4.3.  Chi tiết các chức năng và các phân hệ .............................................. 56 4.4.  Các yêu cầu chức năng cho Guest .................................................... 57 4.5.  Các Yêu cầu cho Member (Thành viên) ........................................... 61 4.6.  Các yêu cầu cho Admin (Quản trị viên) ........................................... 61 

4.7.  Lược đồ Use-Case tổng thể .............................................................. 66 4.8.  Các lược đồ Use-Case Chi Tiết ........................................................ 67 4.9.  Thiết kế dữ liệu lưu trữ .................................................................... 71 

Chương 5 TỔNG HỢP ỨNG DỤNG VINABOOK ......................................... 72 5.1.  Thành phần dịch vụ “Thêm Sản Phẩm” ............................................ 72 5.2.  Thành phần dịch vụ “Lấy Sản Phẩm Theo Loại, Giá, Tên Tác Giả

Hoặc Sản Phẩm” (Tìm Kiếm Nâng Cao) .......................................... 78 5.3.  Thành phần dịch vụ “So Sánh Giá” (Với Amazon.com) ................... 83 

Chương 6 TRIỂN KHAI VÀ QUẢN LÝ ỨNG DỤNG VINABOOK .............. 91 6.1.  Triển khai ứng dụng ......................................................................... 91 6.2.  Khách hàng ...................................................................................... 91 6.3.  Admin (Quyền quản trị) ................................................................. 113 6.4.  Quản lý ứng dụng với WebLogic ................................................... 118 

Chương 7 Kết luận ......................................................................................... 123 7.1.  Các kết quả đạt được ...................................................................... 123 

Page 10: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 10/141

 

 

viii

7.2.  Hướng phát triển của đề tài ............................................................ 125 TÀI LIỆU THAM KHẢO .............................................................................. 126 

Page 11: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 11/141

 

 

ix

DANH MỤC CÁC HÌNH

Hình 2-1: SOA, BPM, và EDA .......................................................................... 7 Hình 2-2: Sự cộng tác trong kiến trúc hướng dịch vụ ......................................... 8 Hình 2-3: Kiến trúc lớp doanh nghiệp .............................................................. 15 Hình 2-4: Mô tả các tầng nghiệp vụ ................................................................. 17 Hình 2-5: Giao diện point-to-point ................................................................... 17 Hình 2-6: ESB .................................................................................................. 18 Hình 2-7: Kiến trúc thành phần dịch vụ ............................................................ 27 Hình 3-1: Oracle JDeveloper Studio ................................................................. 33 Hình 3-2: BPEL Process Modeler trong JDeveloper  (Nguồn: www.oracle.com)

.............................................................................................................................. 35 Hình 3-3: Oracle BPEL Process Designer trong JDeveloper............................. 37 Hình 3-4: Oracle BPEL Console (Nguồn: www.oracle.com) ............................ 38 Hình 3-5: Ứng dụng tổng hợp (Nguồn: www.oracle.com) ................................ 39 Hình 3-6: Oracle SQL * Plus ............................................................................ 39 Hình 3-7: Oracle WebLogic Suite .................................................................... 41 Hình 3-8: Oracle Business Activity Monitoring (Nguồn www.oracle.com)....... 43 Hình 5-1: Thành phần tổng hợp dịch vụ “Thêm sản phẩm” .............................. 72  Hình 5-2: Quy trình nghiệp vụ “Thêm sản phẩm” ............................................ 73 Hình 5-3: Thành phần tổng hợp dịch vụ “Tìm kiếm nâng cao” ......................... 78  Hình 5-4: Quy trình nghiệp vụ “Tìm kiếm nâng cao” ....................................... 79 Hình 5-5: Thành phần tổng hợp dịch vụ “So sánh giá” ..................................... 83 Hình 5-6: Quy trình nghiệp vụ “So sánh giá” ................................................... 84 

Page 12: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 12/141

 

 

x

Hình 6-1: Đăng nhập ứng dụng ........................................................................ 92 Hình 6-2: Giao diện đăng nhập ......................................................................... 92 Hình 6-3: Giao diện đăng kí ............................................................................. 93 Hình 6-4: Giao diện thông báo đăng ký thành công .......................................... 94 Hình 6-5: Giao diện chỉnh sửa thông tin cá nhân .............................................. 94 Hình 6-6: Giao diện thông báo chỉnh sửa thành công ....................................... 95 Hình 6-7: Giao diện danh mục sản phẩm .......................................................... 95 Hình 6-8: Giao diện tìm kiếm sản phẩm ........................................................... 96 

Hình 6-9: Giao diện tìm kiếm cơ bản ............................................................... 96 Hình 6-10: Tìm kiếm nâng cao ......................................................................... 97 Hình 6-11: Kết quả tìm kiếm nâng cao ............................................................. 98 Hình 6-12: Giao diện tìm kiếm theo danh mục ................................................. 99 Hình 6-13: Kết quả tìm kiếm theo danh mục .................................................... 99 Hình 6-14: Đưa vào giỏ hàng ......................................................................... 100 Hình 6-15: Giao diện giỏ hàng ....................................................................... 101 Hình 6-16: Cập nhật giỏ hàng......................................................................... 101 Hình 6-17: Tiếp tục mua hàng ........................................................................ 102 Hình 6-18: Thanh toán ................................................................................... 103 Hình 6-19: Giao diện Sandbox PayPal ........................................................... 103 Hình 6-20: Màn hình tài khoản PayPal ........................................................... 104 Hình 6-21: Đăng nhập vào hệ thống PayPal ................................................... 104 Hình 6-22: Tài khoản trước khi mua sản phẩm ............................................... 105 Hình 6-23: Màn hình xác nhận thanh toán ...................................................... 105 

Page 13: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 13/141

 

 

xi

Hình 6-24: Màn hình thông báo thanh toán thành công .................................. 106 Hình 6-25: Lưu giỏ hàng ................................................................................ 106 Hình 6-26: Kết quả lưu giỏ hàng .................................................................... 107 Hình 6-27: Xóa sản phẩm ............................................................................... 107 Hình 6-28: Chọn sản phẩm trong giỏ hàng để xóa .......................................... 108 Hình 6-29: Màn hình sau khi xóa ................................................................... 108 Hình 6-30: Xem chi tiết sản phẩm .................................................................. 109 Hình 6-31: Giao diện chính ‘Chi tiết sản phẩm’ ............................................. 109 

Hình 6-32: Giao diện sản phẩm bán chạy ....................................................... 110 Hình 6-33: Giao diện sản phẩm mới ............................................................... 110 Hình 6-34: So sánh giá ................................................................................... 111 Hình 6-35: Giao diện ‘So sánh giá’ ................................................................ 111 Hình 6-36: Xem chi tiết so sánh giá ............................................................... 112 Hình 6-37: Chi tiết so sánh giá Vinabook ....................................................... 112 Hình 6-38: Chi tiết so sánh giá Amazon ......................................................... 113 Hình 6-39: Giao diện quản lý của Admin ....................................................... 113 Hình 6-40: Thêm tài khoản............................................................................. 114 Hình 6-41: Kết quả sau khi thêm tài khoản ..................................................... 114 Hình 6-42: Cập nhật tài khoản ........................................................................ 115 Hình 6-43: Thông báo cập nhật tài khoản thành công ..................................... 115 Hình 6-44: Xóa tài khoản ............................................................................... 115 Hình 6-45: Thông báo xóa thành công............................................................ 116 Hình 6-46: Giao diện quản lý sản phẩm ......................................................... 116 

Page 14: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 14/141

 

 

xii

Hình 6-47: Thêm sản phẩm ............................................................................ 116 Hình 6-48: Thông báo thêm sản phẩm thành công .......................................... 117 Hình 6-49: Xóa sản phẩm ............................................................................... 117 Hình 6-50: Thông báo thêm sản phẩm thành công .......................................... 117 Hình 6-51: Deployment – Log thông báo việc deploy đã thành công .............. 118 Hình 6-52: WebLogic Enterprise Manager ..................................................... 119 Hình 6-53: Kiểm tra dịch vụ ........................................................................... 120 Hình 6-54: Nhập thông tin để kiểm tra ........................................................... 120 

Hình 6-55: Chọn hình thức xem ..................................................................... 121 Hình 6-56: Test thành công ............................................................................ 121 

Page 15: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 15/141

 

 

xiii

DANH MỤC CÁC BẢNG

Bảng 1-1: Danh sách công cụ hỗ trợ xây dựng ứng dụng Oracle SOA Suite ....... 3 Bảng 2-1: Các xử lý cơ bản của BPEL ............................................................. 25 Bảng 2-2: Các xử lý có cấu trúc của BPEL ....................................................... 25 Bảng 3-1: Danh sách các sán phẩm hỗ trợ chu kỳ sống SOA ............................ 47  Bảng 3-2: Thời gian cài đặt của hai thành phần ................................................ 49 Bảng 3-3: So sánh sự bảo mật của IBM và Oracle ............................................ 50 Bảng 4-1: Bảng yêu cầu chức năng cho Khách Hàng ....................................... 60 Bảng 4-2: Bảng yêu cầu chức năng cho Thành Viên ........................................ 61 Bảng 4-3: Yêu cầu chức năng cho Quản Trị Viên............................................. 65 Bảng 5-1: Các hành động của dịch vụ “Thêm sản phẩm” ................................. 78 Bảng 5-2: Bảng hàng động của dịch vụ “Tìm kiếm nâng cao” .......................... 82  Bảng 5-3: Bảng hàng động của dịch vụ “So sánh giá” ...................................... 89 

Page 16: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 16/141

 

 

1

Chương 1

M ĐU

  Nội dung trình bày trong chương 1 đề cập đến các phần sau đây: Giớithiệu về đề tài, lý do thực hiện đề tài, mục tiêu đề tài và cuối cùng là

 phần nội dung luận văn.

1.1.  Giới thiệu về đề tài

Trong suốt lịch sử phát triển của ngành công nghệ thông tin, có rất nhiều mô

hình kiến trúc phần mềm được đưa ra phát triển, ứng dụng và đạt được nhiều thành

công hết sức to lớn. Tuy nhiên, phần mềm đang ngày càng trở nên quá phức tạp và

vượt ra khỏi sự kiểm soát của các mô hình hiện nay, đó cũng chính là vấn đề lớn

được đặt ra trong lĩnh vực phát triển phần mềm.

Rất nhiều hệ thống phần mềm được thực hiện quá phức tạp, chi phí phát triển và

 bảo trì quá cao, đặc biệt với các hệ thống phần mềm cao cấp. Hàng chục năm qua,

các kiến trúc phần mềm đã cố gắng giải quyết vấn đề này. Thế nhưng độ phức tạp

vẫn tiếp tục tăng và dường như nó đã vượt quá khả năng xử lý của các mô hình kiến

trúc truyền thống. Nguyên nhân một phần là do ngày càng xuất hiện nhiều công

nghệ mới tạo nên môi trường không đồng nhất, một phần do yêu cầu trao đổi tương

tác giữa các hệ thống phần mềm với nhau. Câu hỏi được đặt ra là làm thế nào để

vừa thỏa mãn những yêu cầu truyền thống, vừa đáp ứng nhanh chóng các yêu cầu

mới, đồng thời đòi hỏi việc giảm chi phí, có khả năng sử dụng và tích hợp các thành

  phần mới… Kiến trúc hướng dịch vụ - Service Oriented Architecture (gọi tắt là

SOA) - ra đời đánh dấu một bước phát triển mới của nghành công nghệ thông tin,

đáp ứng được các nhu cầu nghiệp vụ nâng cao của doanh nghiệp.

Kiến trúc hướng dịch vụ là một kiểu kiến trúc phần mềm và là sự kết hợp của

nhiều phương pháp hướng tới việc đạt được khả năng giao tác giữa các ứng dụng

đồng nhất hoặc không đồng nhất, các ứng dụng cục bộ hoặc từ xa bằng cách tổng

hợp các dịch vụ có khả năng tái sử dụng. (Nguồn : www.oracle.com)

Page 17: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 17/141

 

 

2

Hiểu một cách cơ bản, kiến trúc hướng dịch vụ là tập hợp các dịch vụ kết nối với

nhau (nghĩa là một ứng dụng có thể liên lạc 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. Kiến trúchướng dịch vụ là cấp độ cao hơn của phát triển ứng dụng, chú trọng đến quy trình

nghiệp vụ và dùng giao tiếp chuẩn để giúp che đi sự phức tạp kỹ thuật bên dưới.

Dịch vụ là yếu tố then chốt trong mô hình kiến trúc hướng dịch vụ. 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 quy trình nghiệp vụ

nào đó. Ta không những sử dụng chúng tạo ra những quy trình nghiệp vụ, mà còn

có thể sử dụng để xây dựng các ứng dụng mới.

Thiết kế mô hình kiến trúc hướng dịch vụ 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 đơ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ụ.

Việc tái sử dụng phần mềm tốt hơn, cũng như tăng cườ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ụ.

1.2.  Lý do thực hiện đề tài

Thông qua kết quả khảo sát các công cụ hỗ trợ xây dựng ứng dụng mô hình

SOA, chúng em đã tìm hiểu việc xây dựng ứng dụng dựa trên Oracle SOA Suite.

Thêm vào đó, với những ưu điểm của Oracle SOA và những ưu điểm vượt trội

của nó so với những mô hình kiến trúc truyền thống thì kiến trúc hướng dịch vụ nói

chung và kiến trúc hướng dịch vụ của Oracle nói riêng, đã mở ra một bước pháttriển mới trong lĩnh vực công nghệ thông tin.

Ta có thể nhận thấy việc lập trình truyền thống chú trọng nhiều vào việc phát

triển giao diện người dùng, các xử lý cơ sở dữ liệu, thực hiện các giao tác theo yêu

Page 18: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 18/141

 

 

3

cầu. Trong khi đó, kiến trúc hướng dịch vụ Oracle đã hỗ trợ một cách linh hoạt các

hoạt động mở rộng như là tích hợp hướng dịch vụ và thiết kế các luồng quy trình

nghiệp vụ. Mặt khác, điểm nổi bật của Oracle SOA như tính kết nối lỏng, tính tái sử

dụng các dịch vụ đã tồn tại sẵn,...

Để có cái nhìn trực quan về những ưu điểm của mô hình kiến trúc này, thì việc

xây dựng ứng dụng minh họa là rất cần thiết. Muốn xây dựng các giải pháp ứng

dụng thành công dựa trên mô hình kiến trúc hướng dịch vụ ta cần có kiến trúc tham

chiếu, có các phần mềm hỗ trợ cho các pha trong chu kỳ sống của kiến trúc hướng

dịch vụ, các kịch bản kiến trúc hướng dịch vụ, … 

STT Tên sản phẩm

1 Oracle Express Edition (XE) 10.2.0.1

2Oracle WebLogic Server + Coherence - Package Installer 10.3.4 

3 Repository Creation Utility 11.1.1.4.0

4 JDeveloper 11.1.1.4.0

5 SOA Extension for JDeveloper 11.1.1.4.0

6 SOA Suite 11.1.1.4.0

Bảng 1-1: Danh sách công cụ hỗ trợ xây dựng ứng dụng Oracle SOA Suite

(Nguồn www.oracle.com) 

1.3.  Mục tiêu đề tài

-  Tìm hiểu cơ sở nền tảng kiến trúc hướng dịch vụ.

-  Tìm hiểu nền tảng kiến trúc hướng dịch vụ Oracle.

-  Tìm hiểu và so sánh sự khác nhau giữa hai nền tảng kiến trúc hướng dịch vụ

của Oracle và kiến trúc hướng dịch vụ của IBM.

-  Tìm hiểu các phần mềm của Oracle nhằm hỗ trợ cho từng pha trong chu kỳ

sống của SOA.

-  Xây dựng ứng dụng dựa trên kiến trúc hướng dịch vụ theo đúng nền tảng

kiến trúc hướng dịch vụ Oracle.

Page 19: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 19/141

 

 

4

1.4.  Nội dung luận văn

 Nội dung luận văn bao gồm 4 phần chính: Nghiên cứu cơ sở kiến trúc hướng 

dịch vụ, nghiên cứu nền tảng kiến trúc hướng dịch vụ Oracle, xây dựng ứng dụng 

và tổng kết.

 Nội dung chi tiết của từng phần như sau:

  Phần 1: Nghiên cứu cơ sở kiến trúc hướng dịch vụ gồm 2 chương 

  Chương 1: Mở đầu.

   Nội dung: Giới thiệu đề tài, lý do thực hiện đề tài, mục tiêu của đề

tài và nội dung trình bày của luận văn.

  Chương 2: Nền tảng kiến trúc hướng dịch vụ Oracle

    Nội dung: Nêu định nghĩa các tính chất của mô hình kiến trúc

hướng dịch vụ.

  Phần 2: Nghiên cứu nền tảng kiến trúc huớng dịch vụ Oracle gồm 1

chương 

•  Chương 3: Các công cụ hỗ trợ cài đặt, triển khai và quản lý ứng dụng 

theo kiến trúc hướng dịch vụ

   Nội dung: Trình bày định nghĩa kiến trúc thành phần dịch vụ, các

công cụ hỗ trợ chu kỳ sống SOA Oracle Suite, so sánh hai nền

tảng SOA của Oracle và IBM.

  Phần 3: Xây dựng ứng dụng gồm 3 chương 

•  Chương 4: Mô hình hóa ứng dụng Vinabook 

   Nội dung: Mô hình hóa ứng dụng dựa trên kiến trúc hướng dịch vụ,

ứng dụng thương mại điện tử VINABOOK. Thu thập và quản lý

yêu cầu, thiết kế các lược đồ Use-Case của ứng dụng, mô hình hóa

quy trình nghiệp vụ của ứng dụng và thiết kế các dịch vụ.•  Chương 5: Tổng hợp ứng dụng Vinabook 

   Nội dung: Sử dụng phần mềm Oracle JDeveloper để tổng hợp ứng

dụng ở mức tổng quát nhất có thể.

Page 20: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 20/141

 

 

5

•  Chương 6: Triển khai và quản lý ứng dụng Vinabook 

   Nội dung: Triển khai ứng dụng lên WebLogic, khảo sát ứng dụng

dưới các vai trò: Khách hàng, Member (Thành viên), Quản trị

(Admin) và quản lý ứng dụng với Enterprise Manager.  Phần 4: Tổng kết gồm 1 chương 

•  Chương 7: Kết luận

   Nội dung: Trình bày các kết quả đã đạt được và hướng phát triển

của đề tài.

Page 21: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 21/141

 

 

6

Chương 2

NN TNG KIN TRÚC HƯNG DCH V ORACLE

  Nội dung trình bày trong chương 2 đề cập đến nền tảng kiến trúc hướng dịch

vụ của Oracle. Gồm 2 phần chính:

 Giới thiệu về các khái niệm, tính chất của kiến trúc hướng dịch vụ (Service

Oriented Architecture).

 Trình bày khái niệm kiến trúc thành phần hướng dịch vụ.

Linh động hay thực hiện nghiệp vụ nhanh gọn là một mục tiêu quan trọng cho tổ

chức hiện đại để theo kịp thị trường, thỏa mãn nhu cầu của khách hàng. Sự toàn cầu

hóa và internet đã có ảnh hưởng đến cơ hội tương tác giữa các đối tác và đạt được

thỏa thuận với khách hàng. Nhu cầu của ngành công nghệ thông tin là tính linh

động để thay đổi nghiệp vụ hiện tại một cách nhanh chóng, tốn ít thời gian, chí phí

thấp mà vẫn đạt được chất lượng cao.

Thiết kế kiến trúc tốt sẽ giúp ích cho cả quy trình lẫn nghiệp vụ ngành công

nghệ thông tin. Trong chương này giới thiệu về kiến trúc hướng dịch vụ (SOA) của

Oracle và tính chất đặc thù của SOA. Mục tiêu của SOA là đáp ứng yêu cầu một

cách nhanh chóng, cung cấp khả năng tương thích của các chức năng thông qua

dịch vụ có sẵn. Một phần khác của SOA là kiến trúc hướng sự kiện (Event Driven

Architecture - EDA). EDA cho phép quy trình nghiệp vụ để khởi tạo thực thi dịch

vụ để đáp ứng với sự kiện mà không tạo ra sự phụ thuộc trực tiếp mà có thể tạo ra

cản trở khả năng thay đổi các thành phần. Như chúng ta thấy trong hình 2-1, SOA,

BPM (BPEL Process Manager) và EDA có quan hệ mật thiết với nhau. Quy trình

nghiệp vụ trong BPM tăng khi một số sự kiện xảy ra và gọi dịch vụ để thực thi tác

vụ tự động.

Page 22: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 22/141

 

 

7

Hình 2-1: SOA, BPM, và EDA

Để hiểu rõ được mô hình kiến trúc hướng dịch vụ, ta sẽ đi vào phần tiếp theo để

 biết được các khái niệm và tính chất của nó.

2.1.  Service Oriented Architecture (SOA) 

2.1.1.  Định nghĩa 

“SOA là một kiểu kiến trúc để xây dựng ứng dụng phần mềm bằng cách sử

dụng dịch vụ có sẵn trên mạng như web. Nó thúc đẩy tính chất kết nối lỏng giữa các

thành phần trong ứng dụng để các thành phần đó có thể được tái sử dụng. Các ứng

dụng trong SOA được xây dựng dựa trên các dịch vụ. Một dịch vụ thực hiện một

tác vụ nào đó và các dịch vụ như vậy sau đó có thể được sử dụng bởi khách

hàng trong các ứng dụng khác nhau hoặc các quy trình nghiệp vụ khác nhau”.

(Nguồn: www.oracle.com)

-  SOA đưa ra phương pháp cho việc tích hợp các ứng dụng nghiệp vụ, các quy

trình nghiệp vụ bằng cách liên kết các dịch vụ.

-  Kiến trúc hướng dịch vụ đưa ra một kiến trúc dựa trên các chuẩn mở để phân

 phối các tài nguyên phần mềm là các dịch vụ.-  Các tài nguyên trên một mạng trong môi trường SOA có giá trị như là các

dịch vụ độc lập có thể truy suất mà không cần biết cài đặt chi tiết bên dưới.

Page 23: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 23/141

 

 

8

-  Kiến trúc hướng dịch vụ cho phép các tài nguyên phần mềm độc lập trở 

thành các khối xây dựng sẵn để có thể tái sử dụng trong việc phát triển các

ứng dụng khác. Kiến trúc hướng

dịch vụ giúp tập trung vào việctổng hợp ứng dụng hơn là việc cài

đặt chi tiết bên dưới.

-  SOA được sử dụng để tạo ra các

ứng dụng mới từ các thành phần

sẵn có bên trong hệ thống. Mặt

khác, nó còn có thể được dùng để

tích hợp với các ứng dụng bên ngoài hệ thống. Đó một hướng tiếp cận nhằm

xây dựng các ứng dụng phân tán thông qua việc tổng hợp các dịch vụ.

2.1.2.  Sự cộng tác trong kiến trúc hướng dịch vụ

Sự cộng tác trong kiến trúc hướng dịch vụ là mô hình tìm kiếm, nối kết

và gọi thực hiện dịch vụ. Người dùng dịch vụ xác định vị trí dịch vụ động

 bằng cách truy vấn đến nơi đăng ký dịch vụ (Service Registry) tìm kiếm một

dịch vụ khớp với yêu cầu của nó. Nếu dịch vụ tồn tại thì nơi đăng ký dịch vụ

sẽ cung cấp cho người dùng dịch vụ hợp đồng dịch vụ và địa chỉ điểm cuốicủa dịch vụ cung cấp.

Hình 2-2: Sự cộng tác trong kiến trúc hướng dịch vụ

Page 24: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 24/141

 

 

9

  Các hoạt động trong kiến trúc hướng dịch vụ

-  Công bố (Publish): nhà cung cấp dịch vụ công bố bản đặc tả dịch vụ

(WebService Description Language - WSDL) của mình lên nơi đăng ký dịch

vụ, khi đó người dùng dịch vụ có thể tìm kiếm và gọi thực hiện dịch vụthông qua bản đặc tả này. 

-  Tìm kiếm (Find): người dùng dịch vụ định vị trí một dịch vụ bằng cách truy

vấn đến nơi đăng ký dịch vụ (Service Registry) yêu cầu cung cấp một dịch

vụ theo tiêu chuẩn của nó. 

-   Nối kết và gọi thực hiện (Bind): sau khi có được bản đặc tả dịch vụ , người

dùng dịch vụ tiến hành gọi thực hiện dịch vụ theo thông tin trong bản đặc tả

dịch vụ. 

  Các vai trò trong kiến trúc hướng dịch vụ

-   Người dùng dịch vụ (Service Consumer): là một ứng dụng, một module của

 phần mềm hay là các dịch vụ khác có nhu cầu sử dụng dịch vụ. Người dùng

dịch vụ khởi tạo yêu cầu dịch vụ đến nơi đăng ký dịch vụ, nối kết với dịch vụ

theo một giao thức truyền tải và chạy chức năng của dịch vụ. Người dùng

dịch vụ gọi thực hiện dịch vụ bằng cách gửi yêu cầu theo đúng định dạng ghi

trong bản hợp đồng dịch vụ. 

-   Nhà cung cấp dịch vụ (Service Provider ): là một thực thể có địa chỉ mạng,

nó chấp nhận và thực hiện các yêu cầu từ các người dùng. Nhà cung cấp dịch

vụ công bố các dịch vụ và hợp đồng dịch vụ của nó đến nơi đăng ký dịch vụ

để người dùng dịch vụ có thể tìm kiếm và truy cập dịch vụ.  

-    Nơi đăng ký dịch vụ (Service Registry): là nơi được thiết lập cho việc tìm

kiếm , đăng ký và cung cấp dịch vụ, nó là một thư mục trên mạng chứa các

dịch vụ. Nơi đăng ký dịch vụ là một thực thể chấp nhận, lưu trữ các bản hợp

đồng dịch vụ từ các nhà cung cấp dịch vụ và cung cấp các bản hợp đồng này

đến người dùng dịch vụ có nhu cầu. 

-   Hợp đồng dịch vụ (Service Contract): là một đặc tả dịch vụ chỉ ra cách thức

mà người dùng dịch vụ tương tác với nhà cung cấp dịch vụ. Nó chỉ định định

Page 25: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 25/141

 

 

10

dạng yêu cầu và hồi đáp từ dịch vụ. Một hợp đồng dịch vụ có thể yêu cầu

một tập các điều kiện tiên quyết và các điều kiện thực thi. Hợp đồng dịch vụ

có thể chỉ định các cấp độ chất lượng của dịch vụ (QoS- Quality of Service).

Chất lượng dịch vụ là các đặc tả phi chức năng của dịch vụ. Ví dụ: hiệu năngdịch vụ, bảo mật, khả năng sẵn sàng đáp ứng của dịch vụ (availability),...  

2.2.  Các lợi ích của kiến trúc hướng dịch vụ

Đối tượng trung tâm của mô hình kiến trúc hướng dịch vụ là khái niệm dịch vụ.

Các dịch vụ là các thực thể độc lập thực hiện một chức năng nghiệp vụ riêng biệt.

Các dịch vụ được đưa ra để cung cấp các cấp độ khác nhau về chức năng trong một

nghiệp vụ. Sau đây là các tính chất mà dịch vụ có bên dưới kiến trúc hướng dịch vụ.

-  Tính chất kết nối lỏng (Loose Coupling)

-  Khả năng tái sử dụng (Reuse)

-  Khả năng trong suốt vị trí (Transparent Position)

-  Khả năng giao tiếp (Communication)

-  Khả năng tổng hợp (Composite)

-  Khả năng tự phục hồi (Self-healing)

-  Giao diện có địa chỉ mạng

-  Khả năng tìm kiếm và ràng buộc động (Find and Binding)

-  Khả năng tự chứa và đơn thể (Container and Module).

(Nguồn: Oracle SOA Suite 11g Handbook.pdf ) 

2.2.1.  Tính chất kết nối lỏng (Loose Coupling)

SOA hỗ trợ tính kết nối lỏng thông qua việc sử dụng hợp đồng và liên kết

(contract and binding). Một người sử dụng dịch vụ truy vấn đến nơi lưu trữ và cung

cấp thông tin dịch vụ (Nơi đăng kí dịch vụ - Registry) để lấy thông tin về loại dịch

vụ cần sử dụng. Nơi đăng kí dịch vụ sẽ trả về tất cả những dịch vụ thoả tiêu chuẩn

tìm kiếm. Từ bây giờ người dùng chỉ việc chọn dịch vụ mà mình cần và thực thi

 phương thức trên đó theo mô tả dịch vụ nhận được từ nơi đăng kí dịch vụ. Bên sử

Page 26: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 26/141

 

 

11

dụng dịch vụ không cần phụ thuộc trực tiếp vào cài đặt của dịch vụ mà chỉ dựa trên

hợp đồng mà dịch vụ đó hỗ trợ.

Tính kết nối lỏng giúp gỡ bỏ những ràng buộc điều khiển giữa những hệ thống

đầu cuối. Mỗi hệ thống có thể tự quản lý độc lập nhằm tăng hiệu suất, khả năng mở 

rộng và khả năng đáp ứng cao. Những thay đổi cài đặt cũng được che giấu đi. Kết

nối lỏng đem đến sự độc lập giữa bên cung cấp và bên sử dụng nhưng nó đòi hỏi

các giao diện (interface) phải theo chuẩn và cần một thành phần trung gian quản lý,

trung chuyển yêu cầu giữa các hệ thống đầu cuối.

2.2.2.  Khả năng tái sử dụng (Reuse)

Các dịch vụ được cung cấp trên môi trường mạng (Internet) và được đăng ký ở 

một nơi nhất định nên chúng dễ dàng được tìm thấy và tái sử dụng. Nếu một dịch vụkhông có khả năng tái sử dụng, nó cũng không cần đến giao diện (interface) mô tả.

Các dịch vụ có thể được tái sử dụng lại bằng cách kết hợp lại với nhau theo nhiều

mục đích khác nhau.

Tái sử dụng lại các dịch vụ còn giúp loại bỏ những thành phần trùng lắp và tăng

độ vững chắc trong cài đặt, nó còn giúp đơn giản hoá việc quản trị. Thực ra tái sử

dụng dịch vụ lại dễ dàng hơn tái sử dụng thành phần hay lớp. Những dịch vụ được

dùng chung bởi tất cả các ứng dụng của một hệ thống SOA gọi là những dịch vụ

chia sẻ cơ sở hạ tầng (shared infrastructure service).

2.2.3.  Khả năng trong suốt vị trí (Transparent Position)

Sự trong suốt vị trí là một trong những đặc tính của kiến trúc hướng dịch vụ.

 Người dùng dịch vụ chỉ có thể biết vị trí dịch vụ tại nơi đăng kí dịch vụ. Sự trong

suốt vị trí có được là do việc sử dụng nơi đăng kí dịch vụ, bộ trung gian dịch vụ và

các bộ trung gian khác nằm giữa nhà cung cấp dịch vụ và người dùng dịch vụ.

2.2.4.  Khả năng giao tiếp (Communication)

Các dịch vụ trong SOA có khả năng giao tiếp với nhau. Nếu nhà cung cấp và

người dùng dịch vụ có nền tảng khác nhau mà kết nối với nhau thì các giao thức

giao tiếp dùng để hỗ trợ cho các tương tác dịch vụ cần phải tương thích với các nền

Page 27: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 27/141

 

 

12

tảng đó. Do có các yêu cầu giao tiếp, SOA sử dụng các công nghệ giao tiếp chuẩn

mở như XML và Web Service.

2.2.5.  Khả năng tổng hợp (Composite)

Chức năng phần mềm có thể được đóng gói như là các dịch vụ có mức độ trừutượng khác nhau trong một nghiệp vụ. Các dịch vụ có thể được tổng hợp để cài đặt

các dịch có mức độ trừu tượng cao hơn. Ví dụ: Việc tổng hợp một quy trình nghiệp

vụ từ các dịch vụ, sau đó quy trình được kết xuất như là một dịch vụ.

Khả năng tổng hợp của dịch vụ liên quan tới cấu trúc đặc tả của dịch vụ. Cấu

trúc đặc tả cho phép các dịch vụ có khả năng tổng hợp, lắp ráp vào các ứng dụng mà

lập trình viên tích hợp không quan tâm đến dịch vụ đó được thiết kế như thế nào.

Bằng việc sử dụng các dịch vụ đã được kiểm thử và xây dựng hoàn chỉnh làm giatăng chất lượng của hệ thống phần mềm. Xây dựng các hệ thống theo kiến trúc

hướng dịch vụ là đầu tư cho hiện tại và cả tương lai. Vì các dịch vụ dễ dàng dùng

lại, dễ dàng tổng hợp vào các ứng dụng khác. Với khả năng tổng hợp của dịch vụ

làm cho hệ thống phần mềm có thể thích ứng nhanh chóng với các thay đổi, dễ dàng

cải tiến, tái cấu trúc hệ thống phần mềm và thêm mới các chức năng cho nó một

cách nhanh nhất có thể có.

Một dịch vụ có thể được tổng hợp theo 3 cách: ứng dụng tổng hợp, các dịch vụ

liên quan, dịch vụ tổng hợp. Một ứng dụng thường là sự lắp ráp, tổng hợp từ các

dịch vụ, các thành phần với nhau cho một mục đích xác định.

Dịch vụ liên quan là tập các dịch vụ được quản lý trong một dịch vụ lớn hơn. Ví

dụ: dịch vụ kiểm tra tài khoản, dịch vụ đăng kí tài khoản, dịch vụ quản lý thông tin

khách hàng. Có thể được tổng hợp vào dịch vụ lớn là dịch vụ khách hàng.

Dịch vụ tổng hợp là dịch vụ thực thi một nghiệp vụ, tương tác với nhiều dịch vụ

hệ thống để tạo ra bản thân nó, thường được gọi là quy trình nghiệp vụ. Quy trình

nghiệp vụ gồm một hay nhiều bước thực hiện, mỗi bước thực hiện là một tác vụ

nghiệp vụ, mỗi tác vụ nghiệp vụ thực hiện gọi dịch vụ để hoàn thành tác vụ.

Page 28: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 28/141

 

 

13

2.2.6.  Khả năng tự phục hồi (Self-healing)

Với kích cỡ và độ phức tạp của những ứng dụng phân tán ngày nay, khả năng

 phục hồi của một hệ thống sau khi bị lỗi trở thành một yếu tố quan trọng. Một hệ

thống tự hồi phục (self-healing) là một hệ thống có khả năng tự hồi phục sau khi bịlỗi mà không cần sự can thiệp của con người.

Độ tin cậy (reliability) là mức độ đo khả năng một hệ thống xử lý tốt như thế

nào trong tình trạng hỗn loạn. Trong kiến trúc hướng dịch vụ, các dịch vụ luôn có

thể hoạt động hay ngừng bất kỳ lúc nào, nhất là đối với những ứng dụng tổng hợp

từ nhiều dịch vụ của nhiều tổ chức khác nhau. Độ tin cậy phụ thuộc vào khả năng

 phục hồi của phần cứng sau khi bị lỗi. Hạ tầng mạng phải cho phép các kết nối động

từ nhiều hệ thống khác nhau kết nối đến trong khi chạy. Một khía cạnh khác ảnhhưởng đến độ tin cậy là kiến trúc mà dựa trên để xây dựng ứng dụng. Một kiến trúc

hỗ trợ kết nối và thực thi động khi chạy sẽ có khả năng tự phục hồi hơn một hệ

thống không hỗ trợ những tính năng trên.

Thêm vào đó, bởi vì những hệ thống dựa trên dịch vụ yêu cầu sự tách biệt giữa

giao diện (interface) và cài đặt nên có thể có nhiều cài đặt khác nhau cho cùng một

giao diện (interface). Nếu một thể hiện dịch vụ nào đó không hoạt động thì một thể

hiện khác vẫn có thể hoàn tất giao dịch cho khách hàng mà không bị ảnh hưởng gì.Khả năng này chỉ có được khi khách hàng chỉ tương tác với giao diện (interface)

của dịch vụ chứ không tương tác trực tiếp cài đặt của dịch vụ. Đây là một trong

những tính chất cơ bản của các hệ thống hướng dịch vụ.

2.2.7.  Giao diện có địa chỉ mạng 

Vai trò của mạng là chính yếu trong kiến trúc hướng dịch vụ. Một dịch vụ phải

có một giao diện có địa chỉ mạng. Một người dùng dịch vụ trên một mạng phải có

khả năng gọi dịch vụ thông qua mạng. Mạng cho phép các dịch vụ được dùng lại bởi bất kì người dùng dịch vụ nào, bất kì thời điểm nào. Khả năng tổng hợp ứng

dụng từ các dịch vụ sẵn có trên các máy khác nhau chỉ có thể nếu dịch vụ hỗ trợ 

một giao diện mạng.

Page 29: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 29/141

 

 

14

 Người dùng dịch vụ có thể truy cập một dịch vụ thông qua một giao diện cục bộ

mà không phải thông qua mạng nếu người dùng dịch vụ và nhà cung cấp dịch vụ

nằm trên cùng một máy. Mặc dù dịch vụ có thể được cấu hình cho việc truy cập từ

người dùng dịch vụ trên cùng một máy nhưng dịch vụ phải đồng thời hỗ trợ choviệc truy cập dịch vụ từ bên ngoài.

2.2.8.  Khả năng tìm kiếm và ràng buộc động (Find and Binding)

SOA hỗ trợ khái niệm truy tìm dịch vụ (Find). Một người sử dụng cần đến một

dịch vụ nào đó có thể tìm kiếm dịch vụ dựa trên một số tiêu chuẩn khi cần. Người

sử dụng chỉ cần hỏi một nhà cung cấp dịch vụ (Registry) về dịch vụ nào thoả yêu

cầu tìm kiếm. Ví dụ, một hệ thống chuyển khoản (Hệ thống chuyển khoảng trong

trường hợp này là một người dùng dịch vụ) yêu cầu nơi cung cấp dịch vụ tìm tất cảcác dịch vụ có khả năng kiểm tra thẻ tín dụng. Nơi cung cấp dịch vụ trả về một tập

các entry (danh sách các dịch vụ) thoả yêu cầu. Các entry chứa thông tin về dịch vụ,

 bao gồm cả phí giao dịch. Bên sử dụng sẽ chọn một dịch vụ có phí giao dịch thấp

nhất trong danh sách các dịch vụ trả về, kết nối đến nhà cung cấp dịch vụ đó dựa

trên thông tin registry entry để sử dụng dịch vụ kiểm tra thẻ tín dụng. Trong phần

mô tả dịch vụ kèm theo đã có tất cả các tham số cần thiết dùng để thực thi dịch vụ,

 bên sử dụng chỉ cần định dạng dữ liệu yêu cầu đúng theo mô tả cung cấp và gửi đi.

 Nhà cung cấp dịch vụ sẽ thực thi kiểm trả thẻ tín dụng và trả về một thông điệp có

định dạng đúng như trong phần mô tả dịch vụ. Mối ràng buộc duy nhất giữa bên

cung cấp và bên sử dụng là bản hợp đồng được cung cấp bởi nơi cung cấp dịch vụ

trung gian. Mối ràng buộc này là ràng buộc trong thời gian chạy chứ không phải

ràng buộc trong lúc biên dịch. Tất cả thông tin cần thiết về dịch vụ được lấy về và

sử dụng trong khi chạy.

Ví dụ trên cho thấy cách người dùng dịch vụ tìm kiếm và sử dụng “động” một

dịch vụ. Đây là một thế mạnh của SOA. Với SOA, phía người dùng dịch vụ không

cần biết định dạng của thông điệp yêu cầu và thông điệp trả về, cũng như địa chỉ

nhà cung cấp dịch vụ.

Page 30: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 30/141

 

 

15

2.2.9.  Khả năng tự chứa và đơn thể (Container and Module).

Mặc dù việc sử dụng các giao diện tách biệt người dùng dịch vụ ra khỏi cài đặt

dịch vụ nhưng các cài đặt của mỗi dịch vụ không nên kết nối với nhau. Ví dụ, một

cài đặt dịch vụ phụ thuộc vào cài đặt của dịch vụ khác bằng cách chia sẽ mã lệnh,chia sẽ truy cập dữ liệu, … Cách thiết kế này dẫn đến tình trạng khó bảo trì và kiểm

lỗi dịch vụ. Nếu các dịch vụ kết nối chặt, điều đó đi ngược lại mục đích của kiến

trúc hướng dịch vụ đạ đề ra:

-  Cực tiểu hóa độ móc nối giữa các dịch vụ.

-  Cài đặt dịch vụ như là người của các dịch vụ khác.

-  Dịch vụ thể hiện được độ kết dính giữa các phương thức.

2.3.  Kiến trúc lớp doanh nghiệp (Layering the Enterprise Architecture)

Khi mô tả một doanh nghiệp, kiến trúc của các lớp thường được thể hiện như

trong hình 2-3. Mỗi lớp có những đặc trưng cụ thể, trách nhiệm và phụ thuộc lẫn

nhau. Do đó có các yêu cầu khác nhau về tiêu chuẩn và chất lượng.

Hình 2-3: Kiến trúc lớp doanh nghiệp

2.3.1.  Lớp ứng dụng dịch vụ (Application service layer)

Các ứng dụng (dịch vụ) bao gồm các lớp thành phần trong việc triển khai dịch

vụ. Ví dụ như, nếu chúng ta có một dịch vụ làm công việc bổ nhiệm thì thành phần

ứng dụng mà tạo ra việc bổ nhiệm để phục vụ nghiệp vụ thực tế.

Page 31: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 31/141

 

 

16

2.3.2.  Lớp Dịch vụ và lớp sự kiện (Services and Events Layer)

Các dịch vụ và lớp sự kiện mô tả các hợp đồng và giao diện của dịch vụ. Hợp

đồng dịch vụ bổ nhiệm của chúng emcó thể biểu diễn, nó có sẵn trong giờ làm việc

và có thể được sử dụng bởi người có thẩm quyền. Giao diện đã được định nghĩa sẵn.

2.3.3.  Lớp quy trình nghiệp vụ (Business Process Layer)

Lớp này chứa những quy trình nghiệp vụ. Một quy trình nghiệp vụ bao gồm việc

gọi đến các dịch vụ cho các hoạt động tự động và tác vụ cần có sự can thiệp của con

người cho thao tác thủ công với một vài dòng công việc lôgic ở giữa. Chu kỳ của

quản lý quy trình nghiệp vụ bao gồm các giai đoạn sau đây: phân tích quy trình

nghiệp vụ, thực thi quy trình nghiệp vụ và quản lý quy trình nghiệp vụ.

Một loại quy trình mà con người làm trung tâm, nơi mà hầu hết các công việc

được thực hiện bởi con người. Thách thức quan trọng nhất là việc giao khối lượng

công việc đồng đều và theo dõi tiến độ công việc. Đây là quy trình làm việc của

những kiểu quy trình truyền thống. Một loại quy trình khác là lấy tài liệu làm trung

tâm (ví dụ : quy trình RUP). Loại quy trình thứ ba là lấy quy trình làm trung tâm.

Đây là quy trình truyền thống gọi là sự phối hợp (Orchestrate).

 Ngoài việc có loại quy trình khác nhau, chúng ta thường xác định mức độ khác

nhau của quy trình. Mary (người đã đề xuất ra quy trình nghiệp vụ trong một tổ

chức) đã quyết định sử dụng các cấp độ: Cấp độ đầu tiên có chứa nhiều chuỗi quy

trình nghiệp vụ. Cấp độ thứ hai có chứa các quy trình end-to-end. Mức thấp nhất là

mức độ có liên quan cho các nhà phát triển và người dùng cuối. Đây là quy trình mà

thực sự sẽ được thực hiện và chạy trong thực tế. Nó chứa chi tiết các hoạt động thực

hiện về các loại tác vụ công việc (tự động, con người, v.v...) và mô tả chi tiết các

dòng công việc với vòng lặp xác định. Dưới đây là hai mẫu thiết kế mà St.Mathew

(người đã đưa ra hai mẫu thiết kế về quy trình làm việc trong một tổ chức) đã quyếtđịnh áp dụng cho các quy trình nghiệp vụ :

  Quy trình không nên quá chung chung .

  Sử dụng sự thực thi song song thực hiện bất cứ khi nào có thể .

Page 32: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 32/141

 

 

17

2.3.4.  Lớp GUI (Graphic User Interface)

Lớp này chứa các giao diện tương tác với người dùng cuối . Các thành phần

trong lớp này chẳng hạn như khôi phục lại ứng dụng (backup), hoặc mash-up,…Sử

dụng quy trình nghiệp vụ và các lớp dịch vụ để truy vấn dữ liệu và thực hiện cácthao tác. Chẳng hạn như, St.Mathew có thể tạo ra một cổng thông tin cho tất cả

 bệnh nhân. Thông tin về bệnh viện có thể được hiển thị ở đó, truy vấn từ một dịch

vụ hệ thống quản lý nội dung. Bệnh nhân cũng có thể được cung cấp một mẫu đăng

ký để yêu cầu cuộc hẹn. Điều này một phần của ứng dụng có thể sử dụng dịch vụ

hẹn.

Hình 2-4: Mô tả các tầng nghiệp vụ

Hình 2-5: Giao diện point-to-point

Page 33: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 33/141

 

 

18

2.3.5.  Lớp Enterprise Service Bus (ESB)

Một trong những khó khăn khi xem xét tích hợp giữa hệ thống là quản lý tất cả

các kết nối. Nếu chúng ta có giao diện point-to-point (như hình 2-4) và vài thứ thay

đổi trong dịch vụ, tất cả người tiêu dùng dịch vụ cần được sửa đổi. Người tiêu dùngdịch vụ phải có kiến thức về giao thức khi gọi dịch vụ sử dụng, cũng như định dạng

thông điệp và vị trí của dịch vụ. Một ESB nằm giữa người tiêu dùng và các dịch vụ

mà họ gọi (xem hình 2-5). Nó thường có một số tính năng thuận lợi cho sự tương

tác và giúp người tiêu dùng tách riêng từ nhà cung cấp:

    Endpoint ảo hóa (Endpoint virtualization) : khi người tiêu dùng gọi một

dịch vụ thông qua ESB thay vì gọi trực tiếp tới nhà cung cấp dịch vụ, định vị

trong suốt đạt được trong kiến trúc. Một nhà cung cấp dịch vụ có thể thay thế  bằng một nhà cung cấp dịch vụ khác, mà không cần phải thay đổi người

người tiêu dùng để phản ánh địa chỉ mới. Đây được gọi là ảo hóa dịch vụ

(virtualization of servive). 

   Định tuyến dịch vụ (Routing of service) : Căn cứ vào nội dung thông điệp

yêu cầu từ người dùng dịch vụ được chọn để chuyển tiếp các yêu cầu, đây

được gọi là nội dung dựa trên định tuyến. 

Hình 2-6: ESB 

   Sự chuyển đổi(Transformation) : Nhà cung cấp và người tiêu dùng thường

không nói cùng một ngôn ngữ. Họ thường xuyên không sử dụng các giao

thức và thông điệp tương tự nhau. ESB có thể chuyển đổi một yêu cầu để

Page 34: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 34/141

 

 

19

định dạng và hỗ trợ giao thức bởi dịch vụ và không đảo ngược để đáp ứng

trước khi trao lại cho người tiêu dùng. Thông điệp trong ESB dựa trên mô

hình dữ liệu kinh điển (Canonical Data Model - CDM); thông điệp được

chuyển đến CDM khi vào ESB và có thể cần biến đổi để ứng dụng đặc biệtđịnh dạng lại khi vượt ngoài sự hỗ trợ của ESB. Yếu tố quan trọng nữa là

trong chuyển đổi có thể có thông điệp khác nhau.

   Xác nhận( Validation): ESB có thể yêu cầu xác nhận trước khi chúng được

gửi đến nhà cung cấp dịch vụ cũng như đáp ứng nhà cung cấp .

    Kiểm soát(Auditing): Các ESB có thể đăng nhập và đáp ứng yêu cầu cho

mục đích kiểm soát và gởi cảnh báo khi điều kiện đặc biệt được áp dụng.  

  Thông điệp(Messaging): Thay vì gọi một dịch vụ, một ứng dụng có thể gởi

thông điệp và giao tiếp bất đồng bộ với ứng dụng khác. Các ESB có thể cung

cấp đảm bảo giao phát và nhất quán thông điệp. Điều này được giải thích chi

tiết hơn trong phần “Sự kiện và kiến trúc hướng sự kiện”.  

    Đồng bộ và bất đồng bộ bộ thích ứng (Synchronous/ asynchronous

adaptation): Một ESB có thể vạch ra các dịch vụ với giao diện đồng bộ hoặc

 bất đồng bộ, bất kể bản chất của nhà cung cấp dịch vụ thực tế nó cần phải gọi.

 Nó có thể thích ứng từ đồng bộ đến bất đồng bộ và ngược lại. Điều này, cùng

với việc hỗ trợ cho lưu trữ và chờ đợi các dịch vụ được cung cấp tạm thời.

 Nhà cung cấp không cần phải sẵn sàng thời gian như nhà cung cấp dịch vụ

và người tiêu dùng không cần chờ đợi đáp ứng từ dịch vụ này gọi.

  Thành phần (Composition): Một ESB có thể sử dụng để tổng hợp các kết

quả từ một số dịch vụ. Lưu ý rằng các thành phần khác như: một cổ máy quy

trình nghiệp vụ chạy trên quy trình BPMN (Business Process Model and

 Notation) hoặc BPEL (Business Process Execute Language) có thể cung cấp

thành phần tương tự và chức năng tương tự như dịch vụ phối hợp. Một ESB

cũng có thể làm trung gian giữa giao thức bảo mật khác nhau, ví dụ như cho

 phép người tiêu dùng gởi một yêu cầu với một chứng thực SAML (Security

Assertion Markup Language, nguồn www.saml.xml.org ) trong khi các nhà

Page 35: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 35/141

 

 

20

cung cấp dịch vụ được chứng thực thông qua xác thực giao thức HTTP

(Hypertext Transfer Protocol) cơ bản . ESB rõ ràng là tốt mang hai phần lại

với nhau thông qua các loại phân chia: giao thức giao tiếp, định vị, công

nghệ, định dạng thông điệp, đồng bộ hay bất đồng bộ, sẵn sàng và giao thức bảo mật. Những chức năng khác của ESB có thể cung cấp bao gồm kỹ thuật

và khía cạnh quản lý. Chẳng hạn như, cải tiến hiệu suất thông qua kết quả bộ

nhớ đệm, có tính sẵn sàng cao thông qua độ tin cậy, phân nhóm và quản lý

giao dịch, bắt buộc chứng thực, điều tiết thông điệp và giám sát SLA

(Service Level Agreement).

2.4.  Những công nghệ được sử dụng để cài đặt theo kiến trúc hướng dịch

vụ (Standards in SOA)

Một trong những nguyên tắc quan trọng của SOA là tiêu chuẩn hóa. Khi giao

tiếp với ứng dụng khác, nếu giao thức và các định dạng thông điệp mà các ứng dụng

này sử dụng khác nhau. Chúng ta thấy rằng trong các cuộc thảo luận của chúng ta

về các định dạng dữ liệu kinh điển và ESB. Điều này cũng đúng cho các giao thức.

Hệ thống công nghệ thông tin trong một tổ chức thường sử dụng các giao thức khác

nhau và các ngôn ngữ lập trình khác nhau. Điều này làm cho sự kết hợp chúng với

ứng dụng mới gặp khó khăn. Để giải quyết điều này, nên sử dụng các giao thức

chuẩn và định dạng thông điệp chuẩn. Tiêu chuẩn trong SOA gồm các phần sau

đây:

   Dịch vụ web (Web Service).

  SOAP và WSDL

   Dịch vụ RESTful (RESTful Service).

   RSS Feeds.

  Chính sách (Policies).

   BPEL (Business Process Execution Language)

Page 36: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 36/141

 

 

21

2.4.1.  Dịch vụ web (Web Services)

Dịch vụ web (Web Service) là một trong những chuẩn được áp dụng phổ biến

nhất trong kiến trúc hướng dịch vụ. Theo tổ chức W3C mô tả các dịch vụ web như

sau : “Dịch vụ web cung cấp một chuẩn tích hợp giữa các ứng dụng phần mềm khácnhau, chạy trên nhiều nền tảng hoặc các framework khác nhau. Dịch vụ web đặc

trưng bởi khả năng tương tác và mở rộng cũng như các đặc tả sử dụng XML. Chúng

có thể được kết hợp một cách lỏng lẻo để mà đạt được các thao tác phức tạp. Có hai

cách để tạo ra một dịch vụ web: Sử dụng một giao thức định nghĩa hoạt động chính

thức và định dạng thông điệp trước. Dịch vụ web SOAP là một ví dụ làm việc theo

thông số kỹ thuật chính thức được xác định trước, trong khi dịch vụ RESTful là một

cách tiếp cận thứ hai.2.4.2.  SOAP (Simple Object Access Protocol) và WSDL (Web Service Description

 Language)

Cách tiếp cận chính thức theo hợp đồng và tiếp cận theo XML được coi là rất

mạnh. Dịch vụ SOAP gọi một phương thức chính thức của việc giao tiếp giữa ứng

dụng. Thông qua SOAP và WSDL một tổ chức có thể mô tả các hoạt động có sẵn

trong dịch vụ và các dữ liệu có thể được trao đổi với các dịch vụ. Các đặc điểm kỹ

thuật của dịch vụ này có các ưu điểm như sau :

  Tương tác mạnh mẽ.

  Được hỗ trợ bởi nhiều giao thức(SOAP trên HTTP, SOAP trên JMS) .

  Các tính năng khác như: WS- Addressing, WS-Security.

2.4.3.  Dịch vụ RESTful 

Một dịch vụ web khác nhẹ hơn là RESTful. REST viết tắt của Representational

State Transfer. Nguồn gốc được giới thiệu bởi Roy Fielding là một nguồn tài

nguyên theo định hướng chứ không phải phương pháp chính thức của chương trìnhtương tác qua giao thức HTTP sử dụng bốn giao thức cơ bản: PUT, POST, GET và

DELETE, dịch vụ RESTful đã phát triển thành giao thức HTTP dựa trên các API.

Dịch vụ RESTful chấp nhận yêu cầu giao thức HTTP đơn giản và gởi các đáp ứng

Page 37: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 37/141

 

 

22

cho người dùng. Ban đầu nó gần như phân bổ cho thấy sự cần thiết hoặc thậm chí

cho các mô tả, trong khi ở giai đoạn sau này đã thử nghiệm với các nhóm lớn như

WADL(Web Application Definition Language). Kiểu dịch vụ REST có thể trả về

file XML, mặc dù các định dạng khác như CSV và JSON rất phổ biến. Có rất nhiêusự hỗ trợ cho REST về phía khách hàng (dịch vụ REST áp dụng nhiều trong các

ngôn ngữ lập trình) và một số trên máy chủ cho xuất bản các dịch vụ kiểu REST.

Một số ESB đã hỗ trợ cho REST mặc dù chủ yếu là XML được mô tả bởi một số

hợp đồng được xác định trước. RESTful rất hữu dụng cho việc tích hợp dữ liệu giữa

web client và server.

2.4.4.  RSS Feeds 

Một cách tiếp cận nhẹ nhàng để chương trình trao đổi thông tin là thông quaRSS feeds. Một yêu cầu HTTP GET đơn giản đủ để lấy các thông tin, định dạng cấu

trúc XML được xác định trước. RSS chỉ hỗ trợ mô hình tương tác rất đơn giản.

2.4.5.  Chính sách (Policies)

  Như chúng ta đã thảo luận trước, một dịch vụ bao gồm một giao diện có thể

được mô tả trong WSDL.

Một chính sách là một tập các quy tắc quy định cho:

  Các dịch vụ  Các giao diện dịch vụ

Page 38: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 38/141

 

 

23

  Các thành phần  Quy ước  Các server   Các xử lý tại điểm thực thi

Các chính sách cho phép thiết lập các quy tắc tại thời điểm thực thi, giám sát sự

truyền thông, cách xử lý dịch vụ làm nổi bật và gia tăng sức mạnh cho các hợp

đồng dịch vụ. Việc tạo ra các chính sách của quy trình thiết kế làm tăng tính linh

hoạt và đem lại sự quản lý dễ dàng hơn nhiều.

2.4.6.  Thư mục UDDI (Universal Description Discovery and Integration), đăng ký dịch vụ (Service Registry) và nơi lưu trữ dịch vụ (Service Reposity)

Bởi vì chúng ta muốn tái sử dụng các tài nguyên để xây dựng ứng dụng mới, sử

dụng các thành phần tồn tại sẵn. Chúng ta cần một vài kiểu đăng ký để lưu trữ vàxuất bản thông tin về dịch vụ trong tổ chức. Những dịch vụ này đã sẵn sàng và có

thể được tìm thấy. Để làm được điều này có thể sử dụng các công cụ khác nhau để

tìm kiếm các dịch vụ, một tiêu chuẩn được định nghĩa để tìm kiếm dịch vụ web là :

UDDI (Universal Description Discovery and Integration). UDDI định nghĩa một

 phương pháp chuẩn cho việc xuất bản và tìm kiếm mạng lưới các thành phần phần

mềm trong SOA. UDDI là một trong những chuẩn mới nhất trong dịch vụ web với

WSDL và SOAP. Nhiều UDDI hoặc dịch vụ đăng ký ngày nay dường như sử dụngcho lúc chạy để tìm kiếm vị trí vật lý của dịch vụ hoặc hình thức dịch vụ ảo.

2.4.7.  Business Process Execution Language (BPEL)

BPEL là một ngôn ngữ XML được thiết kế nhằm cho phép kết hợp các xử lý

trên một môi trường phân tán theo một luồng xử lý hay quy trình nghiệp vụ có cấu

trúc định trước. Việc kết hợp một cách có hiệu quả các dịch vụ hỗ trợ rất nhiều

trong việc tích hợp các hệ thống. Điều này thật sự cần thiết trong bối cảnh phát triển

ứng dụng cộng đồng công nghệ thông tin ngày nay. Khi mà xuất hiện ngày càngnhiều các nền tảng và các công nghệ mới. Và vấn đề mở rộng các hệ thống hiện có,

tích hợp thêm các hệ thống mới để tiếp cận các lợi ích, các thành tựu của công nghệ

mới đã trở nên là vấn đề cấp bách và hiện đang giành được rất nhiều sự quan tâm.

Page 39: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 39/141

 

 

24

Điều này thể hiện rõ ở sự ra đời của ngôn ngữ, với sự hỗ trợ phát triển của các công

ty lớn như là Microsoft, IBM, Siebel Systems, BEA, SAP và Oracle.

BPEL được xây dựng dựa trên ngôn ngữ WSFL (Web Service Flow Language)

của IBM và ngôn ngữ XLANG của Microsoft. Vì thế nó kế thừa được những tính

năng nổi trội của hai ngôn ngữ này (tính có cấu trúc của XLang và khả năng mô

hình hóa của WSFL). BPEL hỗ trợ tạo ra hai loại tiến trình:

-  Tiến trình trừu tượng: Đưa ra những qui tắc trao đổi thông điệp giữa những

dịch vụ tham gia, nhưng không chỉ rõ về cấu trúc bên trong của các thông

điệp.

-  Tiến trình thực thi: Xác định rõ trình tự thực hiện của từng xử lý, các dịch

vụ liên quan, các thông điệp trao đổi trong khi tương tác, cơ chế bắt lỗi và xử

lý ngoại lệ.

Đặc tả tiến trình của ngôn ngữ BPEL có dạng sơ đồ luồng. Mỗi tác vụ trong tiến

trình được gọi là một xử lý. Có hai loại xử lý là xử lý cơ bản và xử lý có cấu trúc.

-  Các xử lý cơ bản:

Tên xử lýBPEL Constructs

(JDeveloper)Mô tả

InvokeGọi thực hiện một phương thức

của dịch.

ReceiveChờ nhận một thông điệp từ một

đối tượng bên ngoài tiến trình.

ReplyGởi thông điệp đến một đối tượng

 bên ngoài tiến trình.

WaitDừng tiến trình để chờ trong một

khoảng thời gian.

Assign Sao chép dữ liệu giữa các kho chứa

Page 40: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 40/141

 

 

25

dữ liệu.

ThrowThông báo lỗi trong quá trình xử

lý.

Terminate Kết thúc tiến trình.

Bảng 2-1: Các xử lý cơ bản của BPEL 

-  Các xử lý có cấu trúc:

Tên xử lýBPEL Constructs

(JDeveloper)Mô tả

Sequence

Điều khiển các xử lý bên trong

thực hiện một cách tuần tự.

FlowĐiều khiển các xử lý bên trong

thực hiện một cách song song.

WhileLặp lại một xử lý trong khi điều

kiện lặp còn được thỏa.

Switch

Chọn lựa xử lý cần thực hiện dựa

theo các điều kiện.

Pick Chờ nghe sự kiện và thực hiện

những xử lý tương ứng.

Bảng 2-2: Các xử lý có cấu trúc của BPEL

2.5.  Kiến trúc thành phần hướng dịch vụ

SCA (Service Component Architecture): là một mô hình lập trình mới cho

việc xây dựng kiến trúc hướng dịch vụ gọi là kiến trúc thành phần dịch vụ - SCA.

Kiến trúc thành phần dịch vụ là một mô hình được thiết kế đặc biệt cho việc xây

dựng và tổng hợp các giải pháp nghiệp vụ trong kiến trúc hướng dịch vụ, hướng tới

việc tích hợp và tổng hợp các dịch vụ. Kiến trúc thành phần dịch vụ ra đời không có

Page 41: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 41/141

 

 

26

ý định thay thế các mô hình lập trình trước đó. Thay vào đó, kiến trúc thành phần

dịch vụ cung cấp một mô hình để xác định các giao diện, các cài đặt và các tham

chiếu, cho phép liên kết các thành phần với các cài đặt theo một công nghệ cụ thể

được chọn , chẳng hạn như là Java và Web service. Kiến trúc thành phần dịch vụcung cấp một mô hình lập trình cho việc xây dựng các ứng dụng và các giải pháp

dựa trên kiến trúc hướng dịch vụ. Nó dựa trên ý tưởng là chức năng nghiệp vụ được

cung cấp như là một chuỗi các dịch vụ được lắp ráp với nhau nhằm tạo ra các giải

 pháp phục vụ cho một nhu cầu nghiệp vụ cụ thể. Các ứng dụng tổng hợp này có thể

chứa cả các dịch vụ mới được tạo cho ứng dụng và cả chức năng nghiệp vụ từ các

hệ thống và các ứng dụng đang tồn tại được sử dụng như là một phần của việc tổng

hợp. Kiến trúc thành phần dịch vụ cung cấp một mô hình cho việc tổng hợp các

dịch vụ và việc tạo ra các thành phần dịch vụ, bao gồm cả việc tái sử dụng các chức

năng của ứng dụng đã có vào trong các bản tổng hợp kiến trúc thành phần dịch vụ.

Kiến trúc thành phần dịch vụ là một mô hình hỗ trợ một phạm vi rộng các công

nghệ dùng cho các thành phần dịch vụ và cho các phương thức truy xuất được sử

dụng để kết nối đến với chúng. Đối với các thành phần, các công nghệ không chỉ

 bao gồm các ngôn ngữ lập trình khác nhau mà còn có các framework khác nhau, và

môi trường đi kèm với các ngôn ngữ lập trình đó. Đối với các phương thức truyxuất, các bản tổng hợp trong kiến trúc thành phần dịch vụ cho phép sử dụng các

công nghệ giao tiếp và công nghệ truy suất dịch vụ khác nhau như là một web

service , các hệ thống truyền thông điệp (Messaging System), việc gọi thủ tục từ xa

(RPC – Remote Procedure Call).

Page 42: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 42/141

 

 

27

Hình 2-7: Kiến trúc thành phần dịch vụ

Trong chương này chúng ta đã tìm hiểu được những kiến thức cơ bản về 

mô hình kiến trúc hướng dịch vụ, hiểu rõ được tính chất và cơ sở nền tảng 

kiến trúc hướng dịch vụ cũng như các khái niệm về kiến trúc thành phần

hướng dịch vụ.

Để khởi đầu cho việc phát triển ứng dụng theo kiến trúc hướng dịch vụ,

chúng ta cần tìm hiểu thêm các phần mềm của Oracle hỗ trợ các pha trong 

việc xây dựng ứng dụng. Chương 3 sẽ trình bày rõ vấn đề này.

Page 43: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 43/141

 

 

28

Chương 3

CÁC CÔNG C H TR CÀI ĐT, TRIN KHAI VÀ QUN

LÝ NG DNG THEO KIN TRÚC HƯNG DCH V

 Trong chương này chúng ta sẽ tìm hiểu về các công cụ hỗ trợ cài đặt, triển

khai và quản lý của Oracle nhằm hỗ trợ cho chu kỳ sống SOA. Chi tiết về khái niệm

và hướng dẫn sử dụng các công cụ sẽ được trình bày trong phần phụ lục A. Danh

 sách các công cụ hỗ trợ từng pha như sau:

Phần mềm hỗ trợ cho pha mô hình hóa trong chu kỳ sống SOA :

•  Oracle JDeveloper Studio(Thiết kế use-case)

•  Oracle SQL Developer(Thiết kế cơ sở dữ liệu)

Phần mềm hỗ trợ cho pha tổng hợp trong chu kỳ sống SOA:

•  Oracle JDeveloper Studio(Tạo thành phần tổng hợp)

•  Oracle BPEL Process Manager(Tạo quy trình BPEL)

Phần mềm hỗ trợ cho pha triển khai trong chu kỳ sống SOA:

•  Oracle WebLogic(Triển khai các dịch vụ)

Phần mềm hỗ trợ cho pha quản lý trong chu kỳ sống SOA:

•  Oracle Business Activity Monitoring(Quản lý các dịch vụ)

  Danh sách các phần mềm của Oracle được trình bày dưới đây bao gồm:

•  Oracle SOA Suite

•  Oracle JDeveloper Studio

•  Oracle BPEL Process Manager 

•  Oracle SQL * Plus•  Oracle SQL Developer 

•  Oracle WebLogic

•  Oracle Business Activity Monitoring 

Page 44: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 44/141

 

 

29

 Ngoài ra trong chương 3 còn đề cập đến việc so sánh sự khác nhau giữa 2

nền tảng Oracle  SOA và IBM SOA qua những khảo sát thực tế từ những

người dùng của hai dòng sản phẩm SOA.

3.1.  Các bước thực hiện trong chu kì sống SOA

-  Pha Mô Hình Hóa:

  Thu thập yêu cầu.

  Mô hình hóa ứng dụng (thiết kế use-case, cơ sở dữ liệu, …) với công cụ

Oracle JDeveloper Studio và Oracle SQL Developer.

-  Pha Tổng Hợp:

  Thiết kế các quy trình trình nghiệp vụ.

  Thiết kế các dịch vụ.

-  Pha Triển Khai:

  Triển khai dịch vụ bằng công cụ Oracle JDeveloper Studio.

  Lưu trữ và tích hợp các dịch vụ của ứng dụng trên server bằng công cụ

Oracle WebLogic.

-  Pha Quản Lý:

  Các quy trình nghiệp vụ được quản lý và giám sát bằng công cụ Oracle

Bussiness Activity Monitoring (BAM).

3.2.  Các phần mềm của Oracle hỗ trợ triển khai và quản lý trong chu kỳ

sống SOA

3.2.1.  Oracle SOA Suite

3.2.1.1. Giới thiệu về Oracle SOA Suite

Oracle SOA Suite cung cấp một bộ đầy đủ các thành phần cơ sở hạ tầng phục vụ

cho thiết kế, triển khai và quản lý với các ứng dụng tổng hợp. Oracle SOA Suite cho

 phép các dịch vụ được tạo ra, quản lý và sắp xếp vào các ứng dụng tổng hợp và các

Page 45: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 45/141

 

 

30

quy trình nghiệp vụ. Ứng dụng tổng hợp cho phép bạn dễ dàng lắp ráp các thành

 phần công nghệ vào một ứng dụng hỗn hợp SOA. Oracle SOA Suite cài đặt cơ sở 

hạ tầng không đồng nhất và cho phép các doanh nghiệp từng bước áp dụng SOA.

 Những ưu điểm của các thành phần Oracle SOA Suite là khả năng phổ dụng,

 bao gồm cả việc mô hình hóa, tổng hợp, triển khai và quản lý ứng dụng dựa trên

kiến trúc hướng dịch vụ. Oracle SOA Suite cung cấp các thành phần sau:

•  Thông điệp (Messaging)

•  Tìm kiếm dịch vụ (Service discovery)

•  Khả năng phối hợp (Orchestration)

•  Quản lý dịch vụ web và bảo mật (Web services management and security)

•  Quy tắc nghiệp vụ (Business rules)

•  Khung sự kiện (Events framework )

•  Giam sát hoạt động doanh nghiệp (Business Activity Monitoring)

3.2.1.2. Tiêu chuẩn sử dụng Oracle SOA Suite

Oracle SOA Suite có những đặc điểm nổi bật và khả năng tương tác cao với ứng

dụng tổng hợp. Trong số các tiêu chuẩn đó là:

•  Lắp ráp mô hình kiến trúc thành phần dịch vụ (Service Component

Architecture assembly model): Cung cấp các chi tiết về dịch vụ và phụ thuộclẫn nhau để tạo các ứng dụng tổng hợp (composite). SCA (Service

Component Architecture) cho phép chúng ta nêu quy tắc nghiệp vụ như

thành phần dịch vụ, tính tái sử dụng có thể dễ dàng tích hợp vào bất kỳ ứng

dụng SCA (Service Component Architecture). Các kết quả của ứng dụng

được biết đến như một ứng dụng SOA tổng hơp. Các đặc điểm kỹ thuật cho

các tiêu chuẩn về SCA được duy trì bởi Tổ chức vì sự tiến bộ của tiêu chuẩn

thông tin cấu trúc (OASIS) thông qua kiến trúc dịch vụ mở Composite (CSA•  Đối tượng dịch vụ dữ liệu (Service Data Objects): Chỉ định một phương

 pháp dữ liệu chuẩn và có thể sửa đổi dữ liệu kinh doanh bất kể nó như thế

nào chúng ta vẫn truy cập. Do đó, bạn có thể sử dụng cách lập trình tĩnh hoặc

động và có thể truy cập kết nối và ngắt kết nối.

Page 46: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 46/141

 

 

31

•  Business Process Execution Language (BPEL): Cung cấp cho các doanh

nghiệp có một chuẩn công nghiệp cho quy trình nghiệp vụ. Sử dụng BPEL,

chúng ta có thể thiết kế một quy trình nghiệp vụ tích hợp một loạt các dịch

vụ rời rạc thành một dòng chảy theo quy trình end-to-end. Điều này làmgiảm chi phí tích hợp các quy trình và chi phí phức tạp. Hỗ trợ BPEL phiên

 bản 1.1 và 2.0.

•  XSL Transformations (XSLT): Tạo ra tài liệu XML và chuyển đổi dữ liệu

giữa các lược đồ XML với nhau.

•  Java Connector Architecture (JCA): Cung cấp một giải pháp công nghệ Java

cho vấn đề kết nối giữa các máy chủ ứng dụng nhiều trong các hệ thống

thông tin doanh nghiệp (EIS).

•  Java Messaging Service (JMS): Cung cấp một tiêu chuẩn cho phép gửi thông

điệp đến các thành phần ứng dụng dựa trên nền tảng Java 2EE để truy cập

nghiệp vụ logic phân phối giữa các hệ thống không đồng nhất.

•  Web Services Description Language (WSDL): Cung cấp các điểm đầu vào

cho một ứng dụng SOA tổng hợp. Các tập tin WSDL cung cấp một ngôn ngữ

hợp đồng chuẩn và là trung tâm cho biết khả năng làm việc của một dịch vụ.

•  Simple Object Access Protocol (SOAP): Cung cấp các giao thức mạng mặc

định cho việc chuyển giao.

Oracle SOA Suite cung cấp một chức năng toàn diện và dựa trên các chuẩn. Tất

cả các thành phần của nó được thiết kế với các nhà phát triển tâm đắc. Cho dù nó là

dễ sử dụng hoặc mức độ tuỳ biến cao, Oracle SOA Suite giúp các nhà phát triển ứng

dụng nhanh và tốn chi phí thấp. Oracle BPEL Process Manager là một công cụ tốt

cho sự phối hợp giữa các dịch vụ. Tuy nhiên, nó không cung cấp sự phân tích sâu

rộng về quy trình nghiệp vụ và các nhà phân tích có thể tìm thấy nó khó khăn để mô

hình quy trình nghiệp vụ với Oracle BPEL Designer Oracle Web Services Manager 

là ý tưởng để đảm bảo toàn bộ cơ sở hạ tầng SOA bao gồm các dịch vụ và quy trình

nghiệp vụ phát triển sử dụng Oracle BPEL Process Manager. Oracle cung cấp một

framework như BAM (Business Activity Process) trực quan.

Page 47: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 47/141

 

 

32

Một trong những lợi thế lớn nhất của các công cụ là tạo ra sản phẩm dịch vụ có

chất lượng cao tốn chi phí thấp nhất. Cuối cùng, chúng ta đã ấn tượng với khả năng

tương thích của Oracle để xây dựng các sản phẩm dịch vụ. Oracle BPEL Process

Manager có thể làm việc với tất cả ứng dụng server J2EE, Oracle Web ServiceManager có thể đảm bảo an toàn các dịch vụ Web chạy trên BEA hoặc IBM và

Oracle BAM có thể theo dõi dữ liệu từ bất kỳ nguồn dữ liệu nào. Điều này sẽ giúp

các nhà phát triển xây dựng các giải pháp mà không cần phải tách biệt các ứng dụng

hiện có.

3.2.2.  Oracle JDeveloper Studio

3.2.2.1. Giới thiệu

Kể từ khi phát hành bản đầu tiên là 1.0 AppBuilder cho Java, JDeveloper đãtheo các xu hướng công nghiệp và đã bao gồm các tính

năng phù hợp hoặc vượt quá các chức năng chính thống

của Java IDE. JDeveloper đã giành được nhiều sự khen

ngợi từ những người nhận xét trong ngành công

nghiệp Java, nó đã trở nên phổ biến nhất so với các sản phẩm được phát

triển của Oracle. Oracle JDeveloper sử dụng để tạo ra các ứng dụng phần

mềm Fusion Middleware. Các JDeveloper IDE được viết bằng ngôn ngữ Java, có

nghĩa là JDeveloper có thể được chạy trong máy ảo Java (Java Virtual Machine -

JVM) của các hệ điều hành khác nhau. Điều này làm cho JDeveloper linh hoạt giữa

các hệ điều hành.

Page 48: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 48/141

 

 

33

Hình 3-1: Oracle JDeveloper Studio 

  Những đặc tính quan trọng của JDeveloper IDE

Các JDeveloper IDE cung cấp tính năng cho phép tạo ra các ứng dụng một cách

linh hoạt hơn. Ngoài ra, JDeveloper hỗ trợ cho việc khai báo biến và phương thức

trực quan.

Bên cạnh Netbeans hay Eclipse thì JDeveloper của Oracle cung cấp một IDE hỗ

trợ lập trình chuyên nghiệp với việc kéo thả, viết mã nguồn hoặc xuất dữ liệu từ cơ 

sở dữ liệu ra mã nguồn một cách tiện lợi, nhất là đối với việc phát triển web.

 Netbeans cũng gây khó khăn khi ẩn đi phần view, nhưng với JDeveloper nó hoàn

toàn có thể khắc phục chuyện đó. Ngoài ra, việc tạo ra các dự án mang tầm cỡ như

EJB (Enterprise Java Bean) mà không cần phải chia các gói, vì chương trình đã tự

thực hiện điều này. Oracle JDeveloper Studio 11g được sử dụng để tạo các quy

trình nghiệp vụ BPEL (Business Process Execution Language) của ứng dụngVinabook được nói đến ở các chương tiếp theo.

3.2.2.2. Các thành phần cơ bản của JDeveloper hỗ trợ xây dựng ứng 

dụng theo kiến trúc SOA

Page 49: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 49/141

 

 

34

-  Sau đây là 5 thành phần cơ bản được sử dụng nhiều nhất khi xây dựng ứng

dụng theo kiến trúc SOA (Nguồn www.oracle.com ):

Tên thành

phần

Component Palette

(Oracle JDeveloper) Ý nghĩa

Web Services

binding

Có thể sử dụng để tiếp xúc với ứng dụng

tổng hợp SOA của bạn thông qua SOAP

hoặc để sử dụng các dịch vụ SOAP bên

ngoài. Ví dụ, Web Services binding là

một công cụ để tích hợp dịch vụ .Net

thông qua SOAP.

Database

Adapter

Vai trò của Database Adapter là thành

 phần cơ bản để kích hoạt dịch vụ cơ sở 

dữ liệu mà không cần phải viết bất kì

dòng nào của SQL (Lưu ý là thỉnh

thoảng bạn muốn viết SQL, và bộ

chuyển đổi cũng sẽ cho phép bạn làm

việc đó). Số dự án SOA mà yêu cầu tích

hợp cơ sở dữ liệu thì thường rất cao và

Database Adapter thì thích hợp để trở 

thành một công cụ đắc lực trong những

dự án như vậy.

Mediator 

Có nhiệm vụ tương tác, trong một số ứng

dụng tổng hợp SOA, các thành phần

tương tác có interface khác nhau. Ngoàira, Mediator có thể thực thi nhiệm vụ

như lọc và đưa ra quyết định định tuyến.

Page 50: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 50/141

 

 

35

Human Task 

Là thành phần tác vụ con người can thiệp

vào công việc nào đó. Ví dụ như chấp

nhận hoặc từ chối việc đăng bán sản

 phẩm.

BPEL Process Là thành phần dùng để tạo các quy trình

nghiệp vụ đồng bộ hoặc không đồng bộ.

3.2.3.  Oracle BPEL Process Manager 

Oracle BPEL Process Manager cho phép chúng ta triển khai và chạy các quy

trình nghiệp vụ đã định nghĩa trong quy trình BPEL. Oracle BPEL Process Manager được phát triển bằng ngôn ngữ java và chạy trên ứng dụng server J2EE. Ngoài việc

triển khai và chạy quy trình BPEL, nó còn cung cấp các chức năng nâng cao khác

nữa : tích hợp cơ sở dữ liệu, môi trường thiết kế đồng nhất, xây dựng sẵn quy tắc

nghiệp vụ,... Oracle cũng cung cấp giao diện độ họa BPEL Designer để thiết kế và

 phát triển quy trình BPEL thay vì phải viết mã nguồn BPEL.

Hình 3-2: BPEL Process Modeler trong JDeveloper (Nguồn: www.oracle.com) 

Page 51: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 51/141

 

 

36

Oracle BPEL (Business Process Execution Language) Process Manager là một

công cụ để thiết kế và chạy quy trình nghiệp vụ. Oracle BPEL Process Manager là

một công cụ tích hợp ứng dụng tổng hợp rất mạnh mẽ. Nó cho phép triển khai, giám

sát, quản lý, có khả năng kết nối với hệ thống bên ngoài và các công nghệ khácnhau. Oracle BPEL Process Manager thường được sử dụng để tích hợp ứng dụng

tổng hợp và tự động thực hiện quy trình nghiệp vụ trong hệ thống. Oracle BPEL

Process Manager dựa trên chuẩn BPEL nguyên thủy, hỗ trợ các loại định dạng như :

XML, WSDL, XSLT, XPATH, JMS,…

Oracle BPEL Process Manager gồm các phần chính sau:

  Oracle BPEL Process Designer 

  Oracle BPEL Process Manager Runtime

  Human Workflow

  Composite Application

  Oracle BPEL Process Console

3.2.3.1. Oracle BPEL Process Designer 

-  Oracle BPEL Process Designer cung cấp một giao diện đồ họa thân thiện với

người dùng để xây dựng quy trình BPEL. Oracle BPEL Process Designer có

thể mang chuyển, tích hợp dễ dàng mà không cần phải yêu cầu import hoặc

export. Nhà phát triển (Developer) cũng có thể xem trước và cập nhật mã

nguồn BPEL. Tính năng nổi bật của Oracle BPEL Process Designer như sau:

o  Hỗ trợ BPEL nguyên thủy.

o  Hỗ trợ kéo thả khi thiết kế quy trình nghiệp vụ.

o  Hỗ trợ ngôn ngữ thanh tra dịch vụ web (Web Service Inspection

Language - WSIL).

o  Xây dựng mô hình chuyển đổi với tính năng tự động ánh xạ.

o  Tích hợp dòng công việc con người vào hệ thống.

o  Theo dõi các hoạt động.

o  Xây dựng và triển khai nhanh.

Page 52: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 52/141

 

 

37

Hình 3-3: Oracle BPEL Process Designer trong JDeveloper

(Nguồn: www.oracle.com)

3.2.3.2. Oracle BPEL Process Manager Runtime

-  Yếu tố cốt lõi của BPEL là khả năng mở rộng, khả năng tương thích và đáp

ứng thời gian nhanh nhất. Các tính năng nổi bật khác:

o  Hỗ trợ thực hiện đồng bộ và bất đồng bộ (Synchronous and

Asynchronous) quy trình nghiệp vụ.

o  Quản lý ngoại lệ tốt (Exception Management).

o  Hiệu suất đáp ứng cao (High perfomance).

o  Khả năng mở rộng (Scalable).

3.2.3.3. Oracle BPEL Process Manager Console-  Oracle BPEL Process Manager Console cung cấp một giao diện web thân

thiện với người dùng phục vụ cho việc quản lý và triển khai đến BPEL server.

Page 53: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 53/141

 

 

38

Hình 3-4: Oracle BPEL Console (Nguồn: www.oracle.com )

3.2.3.4.  Dòng công việc con người (Human Workflow)

-  Oracle BPEL Process Manager tích hợp sẵn dòng công việc con người

(Human Workflow), do đó chúng ta có thể tương tác dòng công việc con

người với quy trình nghiệp vụ. Những tác vụ có thể được gởi đến người dùng

và người dùng nhận thông tin qua email, SMS,...

3.2.3.5. Ứng dụng tổng hợp (Composite Application)

-  Oracle BPEL có thể được sử dụng độc lập để thực thi quy trình nghiệp vụ,

nhưng nó chỉ phát huy sức mạnh thực sự khi kết hợp với những thành phần

khác của SOA. 

Page 54: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 54/141

 

 

39

Hình 3-5: Ứng dụng tổng hợp (Nguồn: www.oracle.com) 

3.2.4.  SQL * Plus Commands

Oracle SQL * Plus là một công cụ dòng lệnh cho phép người dùng gõ các câu

lệnh SQL được thực thi trực tiếp cho một cơ sở dữ liệu Oracle. SQL * Plus có khả

năng định dạng đầu ra cơ sở dữ liệu, lưu các lệnh thường được sử dụng và có thể

được gọi từ các công cụ khác của Oracle hoặc từ hệ điều hành một cách nhanh

chóng.

Hình 3-6: Oracle SQL * Plus

Page 55: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 55/141

 

 

40

3.2.5.  Oracle SQL Developer 

Oracle SQL Developer là một phiên bản nâng cấp của SQL * Plus. Oracle SQL

Developer cung cấp cho các nhà phát triển một giao diện đồ họa thân thiện để thực

hiện các thao tác cơ bản khi thiết kế cơ sở dữ liệu. Nó có thể duyệt, tạo, chỉnh

sửa và xóa các đối tượng cơ sở dữ

liệu, chạy câu lệnh SQL và các kịch bản

(script). Ngoài ra, nó còn cho

 phép chỉnh sửa, tìm kiếm và loại bỏ các

lỗi đoạn mã PL/SQL; thao tác và xuất

dữ liệu, xem và tạo các báo cáo. Oracle SQL Developer có thể kết nối tới lược đồ

của bất kỳ cơ sở dữ liệu Oracle bằng cách sử dụng các chuẩn cơ sở dữ liệu

của Oracle. Sau khi kết nối, nó có thể thực hiện các thao tác trên các đối

tượng trong cơ sở dữ liệu.

Oracle SQL Developer có thể kết nối đến lược đồ cơ sở dữ liệu cho những lựa

chọn khác (không phải là Oracle). Chẳng hạn như MySQL, Microsoft SQL Server,

Sybase Adaptive Server, Microsoft Access và IBM DB2. Oracle SQL Developer 

cho phép xem các siêu dữ liệu và dữ liệu trong các cơ sở dữ liệu. Ngoài ra, bạn có

thể chuyển cơ sở dữ liệu đó thành cơ sở dữ liệu Oracle.

3.2.6.  Oracle WebLogic Suite

Oracle WebLogic Suite là nền tảng Java EE hỗ trợ ứng dụng điện toán đám mây,

là một kiến trúc cho phép các doanh nghiệp làm tốt hơn các nghiệp vụ, làm cực tiểu

hóa chi phí. Các sản phẩm của Oracle Fusion Middleware chạy trên Oracle

WebLogic Suite cho các môi trường làm việc với Oracle.

Page 56: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 56/141

 

 

41

Hình 3-7: Oracle WebLogic Suite

3.2.6.1. Các thành phần

Oracle WebLogic Server bao gồm các phần: WebLogic Server Standard Edition,

Oracle WebLogic Server Enterprise Edition và Oracle WebLogic Suite.

3.2.6.1.1.  Oracle WebLogic Server Standard Edition

Là một máy chủ ứng dụng toàn diện cung cấp cho nhà phát triển(developers) với

các công cụ và công nghệ để viết các ứng dụng doanh nghiệp và nghiệp dịch vụ mộtcách nhanh lẹ.

-  Ưu điểm của Oracle WebLogic Server  Standard Edition:

  Linh động, cài đặt nhanh

  Có quy trình phát triển lặp FastSwap

  Hỗ trợ Web 2.0 và REA (Rural Electrification Administration)

  Hỗ trợ giao diện Console

  Hỗ trợ Java EE 5/ Java SE 6  Hỗ trợ Oracle ToplinkORM Persitence

  Hỗ trợ phát triển ứng dụng ADF (Application Development

Framework)

  Hỗ trợ Spring Framework 

Page 57: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 57/141

 

 

42

  Hỗ trợ Jdeveloper IDE

  Cho phép plugin Eclipse thông qua Oracle Enterprise Pack for Eclipse

  Phiên bản dịch vụ web chuẩn

  Hàng đầu trong ngành công nghiệp

3.2.6.1.2.  Oracle WebLogic Server Enterprise Edition

Đối với các ứng dụng yêu cầu tính sẵn sàng cao thì Oracle WebLogic Server 

Enterprise Edition cung cấp tất cả tính năng và lợi ích của Oracle WebLogic Server 

Standard Edition cùng với công nghệ clustering , quản lý đa miền, …

-  Ưu điểm của Oracle WebLogic Server  Enterprise Edition:

  Hiệu suất thực thi cao

  Chi phí phát triển ứng dụng thấp

  Hỗ trợ hiệu suất thực thi cao – Enterprise Grid Messaging

  GridLink for RAC – khả năng sẵn sàng cao với cơ sở dữ liệu  

3.2.6.1.3.  Oracle WebLogic Suite

Để hỗ trợ tính năng động Oracle WebLogic Suite cung cấp hiệu suất dự đoán và

khả năng quản lý toàn diện cho hoạt động hiệu quả.

-  Ưu điểm của Oracle WebLogic Suite:

  Có tính sắp xếp cho ứng dụng dữ liệu chuyên sâu (Scale out for data

intensive applications)

  ActiveCache – tích hợp trong bộ nhớ lưới điện

  Dự đoán được hiệu suất (Predictable Performance)

  Hoạt động thực bên trong ứng dụng (Real Operations Insight)

  Hoạt động thực tự động hóa (Real Operation Automation)

3.2.6.2. Yêu cầu hệ thống 

-  Hệ điều hành (32 bit hoặc 64 bit): AIX, HP-UX, Linux, Solaris, Windows.

-  Cơ sở dữ liệu: Oracle (và Oracle Real Application Custers), IBM DB2,

Microsoft SQL Server, My SQL, Sysbase.

Page 58: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 58/141

 

 

43

-  Java Platform: Standard Edition 6, Enterprise Edtion 5.

-  Giao thức Internet: Phiên bản 4, phiên bản 6.

3.2.7.  Oracle Business Activity Monitoring (BAM)

3.2.7.1. Giới thiệu

BAM không chỉ là một công cụ dùng để báo cáo hoặc tạo ra biểu đồ điều

hành. BAM cung cấp khả năng chỉnh sửa lỗi trong môi trường thực thi bằng cách sử

dụng biểu đồ thời gian thực và giám sát các quy trình nghiệp vụ, dịch vụ hoặc dùng

để cảnh báo.

Hình 3-8: Oracle Business Activity Monitoring (Nguồn www.oracle.com) 

Một khi bạn cài đặt Oracle BAM, bạn sẽ nhận được bốn thành phần: Active

Viewer, Active Studio, Architect và Administrator. Trang mặc định để khởi động

BAM là http://localhost:<Port>/oraclebm. Một khi bạn xác nhận tài khoản bằng

cách sử dụng tên đăng nhập và mật khẩu mà bạn đã dùng khi cài đặt, bạn sẽ nhìn

thấy giao diện chính của Oracle BAM. Trong trang bắt đầu bạn có thể thấy các liên

kết đến Active Viewer, Active Studio, Architect và Administrator.

Page 59: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 59/141

 

 

44

3.2.7.2. Công dụng 

Oracle BAM cung cấp một khuôn mẫu (Framework) cho việc

-  Tạo biểu đồ hiển thị thời gian thực của dữ liệu.

-  Tạo quy tắc để gửi cảnh báo dưới các điều kiện quy định.

Kiến trúc dữ liệu động (Active Data Architecture): Oracle Business Activity

Monitoring cung cấp một kiến trúc dữ liệu hoạt động mà tự động cập nhật dữ liệu

theo thời gian thực cho người dùng cuối thông qua từng bước của quy trình. Giải

 pháp này chủ động thu thập dữ liệu, áp dụng quy tắc thiết kế để theo dõi những thay

đổi và cung cấp các thông tin trong các báo cáo cho người dùng.

Báo cáo thời gian thực (Real-time Reports): Real-time reports chứa dữ

liệu được cung cấp ngay sau khi việc thay đổi dữ liệu xảy ra. Điều này có thể đuợc

thực hiện, bởi vì các dữ liệu trong Oracle BAM Active Data Cache và sự kết nối

với nguồn cấp dữ liệu thì giao dịch theo thời gian thực.

Trình bày báo cáo động (Active Presentations in Reports): Báo cáo hiển thị

hoạt động dữ liệu là nơi dữ liệu liên tục cập nhật, định dạng,và được hiển thị. Khi

dữ liệu thay đổi, thì những thay đổi đó được hiển thị theo thời gian thực.

Cảnh báo lỗi (Instant Alerts): Cảnh báo, dựa trên các quy tắc và các sựkiện xảy ra trong thời gian thực, được phân phối thông qua e-mail.

Xuất bản động dựa trên các quy tác (Rules-Based Active

Delivery): Trong một giải pháp hướng sự kiện, thông tin được cung cấp cho những

người sử dụng xác định thay vì yêu cầu người dùng truy vấn thông tin theo ý của

họ. Các báo cáo ban đầu được thiết kế để cung cấp cho người dùng cuối dựa trên dữ

liệu thay đổi hoặc các sự kiện gây ra.

Hiệu xuất cao, tính chất có thể mở rộng kiến trúc (High Performance,

Scalable Architecture): Oracle Business Activity Monitoring có khả năng mở 

rộng để xử lý một lượng lớn dữ liệu doanh nghiệp phức tạp trong thời gian

thực. Oracle BAM sử dụng Oracle Data Integrator để lựa chọn các dữ liệu thô một

Page 60: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 60/141

 

 

45

cách chính xác, sau đó biến đổi và thực hiện tính toán theo yêu cầu của thiết kế dữ

liệu. Các dữ liệu chuyển đổi được gửi đến Oracle BAM Data Active Cache trong

trạng thái sẵn sàng sử dụng, để truy cập nhanh.

3.3.  So sánh hai nền tảng IBM SOA Portfolio và Oracle SOA Suite 

Bài so sánh dưới đây được trích từ Crimson Consulting. Crimson Consulting là

một công ty tư vấn tập trung vào tiếp thị, chuyên tiếp thị các giải pháp công nghệ.

Khách hàng của họ gồm có Adobe, eBay, Hitachi, … bao gồm cả IBM và Oracle.

(Nguồn www.crimson-consulting.com) 

3.3.1.  Một Framework đo lường độ phức tạp SOA

Crimson Consulting đã phát triển một framework để thực hiện việc đo lường độ

 phức tạp liên quan đến các giải pháp SOA, kể cả những cách định lượng dữ liệu,

 bằng cách xem xét các hoạt động SOA và xem xét các yếu tố phức tạp của chúng

như thời gian, số bước,...

3.3.1.1.  Những tiêu chí so sánh cơ bản giữa 2 nền tảng IBM SOA

 Portfolio và Oracle SOA Suite

Một số các hoạt động được xem xét trong framework này là :

•  Set-up: cài đặt, cấu hình.

•  Quản lý: thực hiện các việc quản lý cho môi trường (ví dụ chạy và ngưng các

thành phần, kiểm tra trạng thái thành phần,…).

• Bảo mật: hiệu chỉnh bảo mật cho dịch vụ và cấu hình bảo mật thông quacổng gián tiếp (reverse proxy).

•  Làm việc với Enterprise Service Bus (ESB) như: cài đặt, giám sát, quản lý

trong ESB, thay đổi các Endpoint trong thời gian thực và khởi tạo Cache

trong bộ nhớ để cải thiện hiệu năng.

Page 61: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 61/141

 

 

46

•  Làm việc với kết nối B2B: cài đặt và cấu hình server B2B.

•  Kết nối với các chương trình phía sau: cấu hình và giám sát các adapter phía

sau.

•  Quy trình và quy tắc phát triển: tạo ra quy trình nghiệp vụ và các quy tắc baogồm mô hình hoá, phát triển, cài đặt và các tác vụ của con người.

•  Business Activity Monitoring (BAM): giám sát từng quy trình đơn lẻ và

quản lý ứng dụng.

3.3.1.2.  Những tiêu chí mở rộng 

Crimson Consulting xem xét mức độ phức tạp của từng công việc trong các giải

 pháp sử dụng 4 tiêu chí sau:

•  Số ứng dụng liên quan và mức độ tích hợp.

•  Số bước liên quan để việc thực hiện tác vụ.

•  Thời gian liên quan khi thực hiện công việc.

•  Mức đánh giá độ phức tạp của công việc và các kĩ năng cần thiết (chỉ số

15, trong đó 5 là phức tạp nhất). Thông số cuối cùng nói lên thời gian huấn

luyện cho giải pháp đưa ra, và độ có sẳn cũng như chi phí huấn luyện.

3.3.1.3. Các sản phẩm được so sánh

Thông qua bản báo cáo này chúng em đã thực hiện với nhiều sản phẩm trong

Oracle SOA Suite và IBM SOA portfolio. Danh sách những nhà cung cấp sản phẩm

SOA theo chức năng.

Danh sách sản phẩm Oracle SOA Suite IBM SOA Portfolio

(Process-basedintegration)

BPEL PM Process Server 

Enterprise Service Bus(ESB)

Oracle Service Bus

WebSphere ESBMessageBroker 

DataPower 

Transformation Extender 

Page 62: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 62/141

 

 

47

Cast Iron

Sterling

Services

Creation/DevelopmentJDeveloper 

WebSphere IntegrationDeveloper (WID)

Rational Application Developer 

Business ActivityMonitoring (BAM)

Oracle BAM WebSphere Business Monitor 

Services Management OWSM

IT CAM for SOA

Tivoli Security Policy Manager 

DataPower 

Application ServerRuntime

WebLogic Server WAS ND

B2B Oracle B2B

WebSphere Partner Gateway

DataPower XB60

Transformation Extender 

Rules Oracle Rules

WebSphere Business Rules

(In WID and Process Server)

ILOG

Adapters/Back EndIntegration

Oracle Adapters/AIA WebSphere Adapters

Single SKU suite SOA SuiteWebSphere Business Services

Fabric

Complex EventProcessing (CEP)

Oracle CEP WebSphere Business Events

Bảng 3-1: Danh sách các sán phẩm hỗ trợ chu kỳ sống SOA

(Nguồn www.crimson-consulting.com) 

3.3.2.  So sánh Oracle SOA Suite và IBM SOA Portfolio

Trong phần này chúng ta sẽ xem xét từng hoạt động và so sánh Oracle SOASuite và IBM SOA Portfolio dựa trên 4 thông số đã bàn ở trên.

Page 63: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 63/141

 

 

48

3.3.2.1. Tổng quan

Cả hai nhà cung cấp Oracle và IBM đã bỏ rất nhiều công sức để phát triển sản

 phẩm của họ và theo kết quả khảo sát, họ đã đầu tư nhiều năm vào việc phát triển

công việc chuyên môn của mình trong sản phẩm SOA. Qua những khảo sát các giải pháp SOA thì Oracle SOA Suite có độ phức tạp ít hơn IBM SOA Portfolio.

3.3.2.1.1.   Số sản phẩm

Kết quả khảo sát cho thấy các nhà phát triển ưa chuộng giải pháp của Oracle hơn

là của IBM, vì sự phức tạp khi cài đặt và sử dụng giải pháp của IBM. Các giải pháp

Oracle SOA tốn ít thời gian để cài đặt hơn, còn các sản phẩm của IBM thì tốn nhiều

thời gian hơn.

3.3.2.1.2.   Số bước

Số bước liên quan đến những công việc cơ bản của Oracle thường cao hơn với

IBM. Tuy một số trường hợp là ít bước hơn IBM, nhưng trong những trường hợp

này là không nhiều.

3.3.2.1.3.  Thời gian

Khi bạn sử dụng giải pháp của IBM bạn phải cài đặt riêng lẻ các phần mềm dẫn

đến tốn nhiều thời gian. Trong khi đó các phần mềm của Oracle cài rất nhanh và tốn

ít thời gian.

3.3.2.1.4.  Tính năng cần thiết và độ phức tạp công việc

Theo kết quả khảo sát về độ phức tạp công việc và tính năng cần thiết thường thì

các nhà phát triển ưa chuộng Oracle SOA Suite hơn. Ngoài ra, chi phí huấn luyện

cho các giải pháp IBM thì cao hơn Oracle SOA Suite.

3.3.2.2. Thiết lập các giải pháp SOA

 Nhìn một cách tổng thể, kết quả khảo sát chỉ ra rằng cách thiết lập và cấu hình

cho một giải pháp IBM SOA tốn gấp hai lần so với cách thiết lập và cấu hình cho

Oracle SOA Suite. Các chuyên gia tin học ước tính rằng thời gian để cài đặt Oracle

là từ 4 đến 6 giờ, trong khi IBM cần đến 3 hoặc 4 ngày.

Page 64: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 64/141

 

 

49

Hình 3-10 là bảng so sánh về thời gian cài đặt của hai thành phần dựa trên kết

quả khảo sát về Oracle SOA Suite và IBM.

Thành phần

Chuyên gia kiến trúc phần

mềm (Chief Architect)

Chuyên gia tư vấn tin học (IT

Consultant )

Oracle IBM Oracle IBM

Management 1 tuần 1 tháng 1 ngày 3 ngày

ESB

Process/Rules 1 ngày

2 ngày 2 phút 1 ngày

0,5 ngày 2 đến 3 giờ 2 đến 3 giờ 

Modeling 1 giờ Không biết

B2B Không biết Nhỏ hơn 2 giờ 6 giờ 

Bảng 3-2: Thời gian cài đặt của hai thành phần

3.3.2.2.1.  Quản lý

Theo kết quả khảo sát thì SOA cung cấp nhiều tiện ích và sự quản lý được đơn

giản hóa hơn so với IBM.

 Nhà phát triển ứng dụng với Oracle rất thích Oracle Enterprise Manager. Theocác chuyên gia cho rằng : “Oracle Enterprise Manager là một sản phẩm chiến lược

của SOA Suite. Nó tích nhiều hợp nhiều thứ trong một cách nhìn và làm cho việc

tìm lỗi một project phức tạp trở nên dễ dàng hơn”

“Oracle Enterprise Manager đưa ra một sự quản lý đơn giản và đồng bộ không

chỉ cho các thành phần của SOA mà con cho các phần khác của cơ sơ hạ tầng như

ERP và cơ sở dữ liệu”.

3.3.2.2.2.   Bảo mật Tính an toàn bảo mật của IBM cũng phức tạp hơn so với Oracle. Chỉ có vài ý

kiến nói điều ngược lại. Những khó khăn này đều do sự tích hợp không tốt của các

sản phẩm IBM. Mỗi sản phẩm của IBM đều có an tòan bảo mật riêng của nó. Điều

Page 65: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 65/141

 

 

50

này dẫn đến việc cần nhiều công sức hơn cho việc học và sử dụng các công cụ khác

hẳn nhau và làm cho chúng họat động tốt với nhau.

Thao tác

Các bước Thời gian Độ phức tạp

Oracle IBM Oracle IBM Oracle IBM

Set up general

security

10 đến 12

 bước

20 đến 40

 bước

2 đến 4

tuần

2 đến 3

tháng3 5

Set-up services

security through

a mediated

gateway set up

 Nhỏ hơn

12 bước

20 đến 25

 bước

 Nhỏ hơn

1 tuần1 tháng 3 4,5

Bảng 3-3: So sánh sự bảo mật của IBM và Oracle

Một vài ý kiến cho rằng “ cài đặt an tòan bảo mật của các dịch vụ trong IBM là

một quá trình không đổi và với một project họ phải đề xuất các giải pháp khác nhau

cho vấn đề bảo mật bảo mật. Ngược lại, có ý kiến cho rằng về an tòan bảo mật của

Oracle lại tỏ ra khá lạc quan và thích sự đơn giản của nó. Đó là do sự tích hợp nhiều

thành phần vào Oracle SOA Suite. Khi nói đến an tòan bảo mật SOA thì tất cả mọi

thứ đều có thể được xử lý thông qua Oracle Enterprise Manager bạn không cần

 phải làm việc với nhiều các sản phẩm khác nhau.

3.3.2.2.3.   Làm việc với Enterprise Service Bus

Enterprise Service Bus là lõi của việc thực thi SOA, là phương tiện mà các dịch

vụ kết hợp để cung cấp các chức năng cho ứng dụng. Sự đơn giản của ESB và sự

quản lý là những điểm chủ yếu của sự thành công của SOA.

Theo kết quả khảo sát thì quá trình cài đặt ESB của Oracle và quản lý rất đơngiản. Hầu như là không cần cài đặt quá nhiều để điều khiển ESB. Vì tất cả được xử

lý thông qua Oracle Enterprise Manager. Việc quản lý các endpoint trong thời gian

thực cũng trở nên dễ dàng hơn.

Page 66: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 66/141

 

 

51

3.3.2.2.4.   Làm việc với kết nối B2B

Theo kết quả khảo sát về IBM thì không biết có bao nhiêu sản phẩm IBM có hỗ

trợ chức năng kết nối B2B. Hai sản phẩm được nói đến nhiều nhất là DataPower và

WebSphere Parter Gateway. Sự phức tạp bắt nguồn từ việc thiếu sự tích hợp trongcác sản phẩm của IBM.

3.3.2.2.5.   Kết nối với ứng dụng Back-End 

Ý kiến về sử dụng giải pháp để tích hợp và kết nối vào ứng dụng Back-End rất

khó để rút ra kết luận. Nói chung, những người có kinh nghiệm về giải pháp của

một bên (Oracle hoặc là IBM) thì nói về sự đơn giản của một giải pháp đó. Trong

khi những ý kiến khác có kinh nghiệm nhiều về cả hai bên Oracle và IBM thì

không phân biệt được chúng rõ ràng. Có ý kiến cho rằng làm việc với ứng dụngBack-End thì Oracle lại phức tạp hơn so với IBM. Có ý kiến cho rằng với các

 project tích hợp nhiều ứng dụng Back-End thì làm việc với Oracle SOA Suite vẫn

dễ dàng hơn vì quá trình cài đặt và cấu hình đơn giản hơn.

3.3.2.2.6.   Bussiness Process , Rules Development và Management 

Có ý kiến cho rằng với IBM thì sự phức tạp về quy trình nghiệp vụ, các quy tắc

 phát trỉển và quản lý trong nhiều sản phẩm cho nghiệp vụ đó. Theo kỹ thuật viên

 bảo trì cơ sở hạ tầng nói rằng “ IBM có ba sản phẩm riêng biệt để xây dựng các quytắc : IBM Business Rules, ILOG và WebSphere Rules”. Ngược lại, Oracle SOA

Suite chỉ có một sản phẩm để thiết kế các quy tắc nghiệp vụ đó là Oracle

JDeveloper.

3.3.2.2.7.   Business Activity Monitoring 

  BAM (Business Activity Monitoring)cung cấp thông tin thời gian thực thông

qua dashboard . Nó không chỉ cho phép người dùng hiểu các họat động ngiệp vụ của

ứng dụng mà còn cho phép chuyên viên công nghệ thông tin có khả năng phát triểnđược. Theo khảo sát cho thấy rằng hầu hết các phần mềm Oracle có nhiều lợi ích

hơn IBM như sự đơn giản hóa và thực thi dễ hơn.

Page 67: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 67/141

 

 

52

BAM của Oracle rất dễ tiến hóa và được tích hợp tốt với Business

Intellidence(BI). Trong khi IBM phải tốn nhiều công sức hơn để phát triển nghiệp

vụ. Nghĩa là, BAM của Oracle tương ứng với WebSphere Business Monitor của

IBM. Theo kết quả khảo sát cho rằng WebSphere Business Monitor là một sản phẩmkhó sử dụng hơn BAM của Oracle và vì WebSphere Business Monitor yêu cầu cấu

hình phức tạp hơn BAM của Oracle nên rất ít công ty có thể sử dụng hết các tiện ích

của nó.

Một cách tổng quát, nghiên cứu trên đã đưa ra những tiện ích của Oracle SOA

Suite so với IBM SOA đặc biệt là ở phương diện:

-  Giảm thiểu sự phức tạp, trong khi vẫn có được nhiều chức năng thực hiện tốt.

-  Oracle SOA Suite yêu cầu ít bước thực hiện hơn và tốn ít thời gian hơn.

-  Oracle sẽ cho người dùng sự linh họat về nghiệp vụ tốt hơn, nhanh hơn và

hiệu quả hơn.

Kết quả này chỉ ra các lợi ích từ việc tích hợp tốt của Oracle SOA Suite được

đưa ra từ cả người dùng của Oracle và IBM. Oracle SOA Suite là một giải pháp

được tích hợp tốt, hỗ trợ người dùng với thời gian nhanh hơn.

Trong chương này chúng ta đã hiểu được các phần mềm hỗ trợ phát triển

và quản lý trong chu trình sống của Oracle SOA suite. Ngoài ra, chúng ta còn

hiểu thêm về sự khác biệt giữa hai nền tảng  Oracle SOA Suite và IBM   SOA

 Portfolio.

Chúng ta sẽ khởi đầu cho việc phát triển ứng dụng Vinabook theo kiến trúc

hướng dịch vụ. Chương 4 sẽ trình bày rõ về pha mô hình hóa ứng dụng.

Page 68: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 68/141

 

 

53

Chương 4

MÔ HÌNH HÓA NG DNG VINABOOK

  Nội dung trình bày trong chương 4 tập trung vào việc mô hình hóa ứng dụng 

dựa trên kiến trúc hướng dịch vụ, ứng dụng thương mại điện tử VINABOOK.  

 Thu thập và quản lý yêu cầu

 Thiết kế các lược đồ Use-Case của ứng dụng 

 Mô hình hóa quy trình nghiệp vụ của ứng dụng 

 Thiết kế các dịch vụ chính

Thiết kế các lược đồ Use-Case dựa trên Oracle JDeveloper Studio. Trong phần thiết kế lược đồ Use-Case chúng emchỉ trình bày ở mức tổng quát. Về thiết kế

các dịch vụ cũng chỉ trình bày một số dịch vụ chính.

Mô hình hóa các quy trình nghiệp vụ được thực hiện dưới sự hỗ trợ của phần

mềm JDeveloper. Trong phần này chúng em cũng chỉ trình bày một số dịch vụ điển

hình. Chi tiết pha mô hình hóa ứng dụng VINABOOK được trình bày chi tiết trong

 phần phụ lục C.

4.1.  Giới Thiệu

VinaBook ra đời với mục đích mở thêm một kênh dịch vụ bán hàng mới

thông qua mạng internet để phục vụ tất cả các bạn đọc trong và ngoài nước đặt hàng

trực tuyến nhanh chóng và tiện lợi nhất.

VinaBook có tính năng tìm kiếm sản phẩm rất thuận tiện. Bên cạnh đó còn

hỗ trợ so sánh giá của sản phẩm với trang amazon.com nhằm đảm bảo lợi ích cho

khách hàng. VinaBook mong muốn được đem đến cho khách hàng những dịch vụtốt nhất đáp lại nhu cầu nâng cao đời sống văn hóa tinh thần, đem kho tàng tri thức

nhân loại vào trong nhà bạn.

Page 69: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 69/141

 

 

54

VinaBook phục vụ khách hàng 24/24 mỗi ngày, VinaBook liên tục cải tiến,

tái cấu trúc, mở mới các dịch vụ phục vụ khách hàng , với mong muốn là nhà sách

 bán hàng trực tuyến hàng đầu Việt Nam.

VinaBook được xây dựng dựa trên kiến trúc hướng dịch vụ. Vì VinaBook 

muốn đầu tư cho hiện tại cũng như đầu tư cho tương lai, tất cả vì sự phát triển bền

vững và thịnh vượng.

 Ngày nay, khi xu thế phát triển của thế giới ngày một mãnh mẽ đòi hỏi sự

 phát triển song song của các ngành nghề, nông nghiệp, công nghiệp và dịch vụ. Bên

cạnh sự phát triển không ngừng của các nền kinh tế, nhu cầu vui chơi, giải trí của

nhân dân ngày một tăng. Các địa điểm du lịch ngày càng trở nên đông đúc với du

khách trong và ngoài nước. Các trung tâm vui chơi và giải trí không ngừng mở ra để

đáp ứng cho nhu cầu vui chơi của người dân. Chính vì thế, các doanh nghiệp tư

nhân không ngừng đầu tư xây dựng cơ sở hạ tầng sao cho ngày càng hiện đại, dịch

vụ chu đáo tận tình thì mới có sức cạnh tranh và phát triển bền vững được.

Theo thống kê của Tổng cục Thông tin Việt Nam thì doanh thu của ngành

thương mại nói chung và thương mại điện tử nói riêng trong 3 tháng đầu năm tăng

khoảng 18,7% so với cùng kỳ, tuy nhiên lượng người tham gia thương mại điện tử

nội địa tăng khoảng 10%, ước đạt 10,72 triệu lượt người. Thu nhập xã hội từ thương

mại điện tử ở hầu hết các vùng trọng điểm đều có sự tăng trưởng. Thu nhập xã hội

từ thương mại điện tử trên cả nước 3 tháng đầu năm 2011 ước đạt 20.000 tỷ đồng,

tăng 8,7%. Với con số thống kê như thế, chúng ta có thể thấy nhu cầu mua bán trực

tuyến của khách trong và ngoài nước ngày càng tăng. Trong khi các công ty thương

mại điện tử chưa quản lý tốt và chưa đáp ứng nhu cầu của Khách hàng. Quản lý

còn rời rạc chưa thống nhất với nhau. Yêu cầu hiện tại là phải có một hệ thống

chuẩn chung để quản lý tốt việc mua bán của khách và doanh nghiệp.

Một doanh nghiệp có thể làm chủ của nhiều công ty thương mại điện tử trên

khắp mọi miền của đất nước. Vì thế đòi hỏi phải có sự đồng bộ, làm việc có chuyên

môn, phong cách chuyên nghiệp. Và quan trọng nhất là sự quản lý trên toàn bộ công

Page 70: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 70/141

 

 

55

ty một cách nhanh nhất và chính xác. Người đứng đầu công ty ngồi tại một nơi ,

muốn theo dõi hoạt động, doanh thu của tất cả của công ty mà không phải mất chi

 phí vận chuyển, đi lại. Điều này đỏi hỏi phải có một hệ thống trung gian làm nhiệm

vụ đứng ở giữa, quản lý hoạt động của tất cả các công ty thương mại điện tử.

Hiện trạng tại các công ty hiện nay vẫn chưa ứng dụng lĩnh vực công nghệ

thông tin nhiều. Chưa kể tới hệ thống phần mềm chạy tại công ty. Các phần mềm

chạy tại mỗi công ty lại phụ thuộc nhiều vào nghiệp vụ của riêng từng công ty,

không đồng bộ, không thống nhất. Các giao dịch, nghiệp vụ vẫn còn làm bằng tay,

ghi sổ là chính. Dẫn tới việc sau này khó quản lý, mất mát dữ liệu về sau. Nghiệp vụ

nhiều khi không rõ ràng, dẫn đến mâu thuẫn. Khi thế giới đang ngày càng phát triển,

internet ngày càng phủ mạng lưới rộng khắp, yêu cầu toàn cầu hóa, kết nối ngàycàng cấp thiết hơn bao giờ hết. Chính vì thế, một hệ thống công ty cần có một chuẩn

chung nhất cho toàn bộ các công ty. Như thế sẽ tiện cho việc quản lý và giao dịch

hơn. Và cũng vì lý do đó, hệ thống quản lý công ty thương mại điện tử ra đời để

đáp ứng yêu cầu của nhà doanh nghiệp cũng như phục vụ việc mua bán của khách

trong và ngoài nước.

4.2.  Phát biểu bài toán

Tập đoàn SaiGonPurchasing có một hệ thống công ty với hơn 50 công ty

lớn nhỏ nằm khắp mọi miền đất nước, chủ yếu tại tại TP HCM, Đà Nẵng, Huế, Hải

Phòng và thủ đô Hà Nội.

Để tiện cho việc quản lý các công ty này thành một hệ thống nhất quán. Vì

thế giám đốc điều hành của SaiGonPurchasing Cooperation là Nguyễn Hoàng Long

đã đến gặp và đặt hàng với nhóm kĩ sư của công ty TH2007Software Developer 

 phát triển hệ thống quản lý các công ty này với những yêu cầu hệ thống sau:

-  Hệ thống được cài đặt dựa theo kiến trúc MVC.

Page 71: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 71/141

 

 

56

-  Toàn bộ Database Back up của hệ thống sẽ nằm trên Server IBM core i3

đặt tại TPHCM. Database của mỗi công ty sẽ được lưu trong máy local

của công ty.

-  Server Database này sẽ được kết nối với 2 cụm Server làm nhiệm vụ trungchuyển dữ liệu (Business Server) , 1 cụm server IBM core i3 đặt tại Hà

 Nội và 1 cụm server DELL core i5 đặt tại TPHCM.

-  Hai cụm Server trung chuyển này sẽ truy xuất dữ liệu tại server Database

 bằng các phương thức Web Service cung cấp bởi Server IBM core i5 chứa

Database.

-  Các ứng dụng đặt tại công ty sẽ cũng truy xuất vào 2 cụm server trung

chuyển này bằng các phương thức Web Service được cung cấp bởi 2 cụm

Server trung chuyển này.

-  Hệ thống ứng dụng đặt tại mỗi công ty sẽ được thiết kế mô hình 3 lớp 1

tier. Một số chức năng sẽ hoạt động local. Một số chức năng sẽ phải nhờ 

đến các phương thức web services của Server thông qua 2 cụm server 

trung chuyển này.

4.3.  Chi tiết các chức năng và các phân hệ

4.3.1.  Phân hệ Guest Khi khách hàng có nhu cầu xem thông tin về công ty thì khách có thể truy cập

vào trang web công ty xem.

•  Trong lúc truy cập vào trang web của công ty, khách có thể tìm kiếm nhanh

về thông tin sản phẩm cần mua,…Xem thông tin chi tiết của một Sản phẩm

(như tên sản phẩm, loại sản phẩm, giá bán, giá khuyến mãi, tác giả,…).

•  Cho phép người dùng thực hiện tìm kiếm trên nhiều tiêu chí như: tên sản

 phẩm, giá bán , tác giả, ... (tùy thuộc vào độ phức tạp của thông tin mà sinh

viên có thể thực hiện tìm kiếm trên nhiều tiêu chí khác).

•   Nếu khách hàng chưa có tài khoản thì có thể đăng ký tài khoản để thực hiện

mua bán và thanh toán trực tuyến.

Page 72: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 72/141

 

 

57

•  Hệ thống cho phép khách xem thông tin hàng.

•  Hệ thống cho phép khách thêm sản phẩm vào giỏ hàng

•  Xem giỏ hàng hiện tại.

•  Thêm phản hồi hay nhận xét đánh giá của khách về chất lượng phục vụ.

4.3.2.  Phân hệ Member 

Phân hệ Member có tất cả các chức năng của Guest. Ngoài ra, phân hệ Guest

còn có các chức năng sau đây :

•  Thanh toán.

•  Xem tình trạng đơn đặt hàng.

•  Đăng xuất.

4.3.3.  Phân hệ Admin

-   Người quản trị được phép quản trị tài khoản có trong hệ thống (thêm, xóa,

sửa Khách hàng).

-  Phân quyền các member có trong hệ thống.

-  Quản lý thông tin của công ty

-  Quản lý thông tin Sản phẩm

-  Quản lý thông tin tin tức khuyến mãi các đợt trong năm

4.4.  Các yêu cầu chức năng cho Guest

STTTên chứcnăng

Thông tin Điều kiện Ghi chú

1 Đăng ký

mới tàikhoản

-  Thông tin tài khoản :

•  Tên tài khoản•  Mật khẩu.

-  Thông tin cá nhân:

•  Họ và tên

Chưa có

tài khoảnđăng nhập

Trong đó

mật khẩuđược mãhóa bằngMD5 để

 bảo mậtthông tin.

Page 73: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 73/141

 

 

58

•  Địa chỉ

•  Giới tính

•  Ngày đăng ký.

-  Thông tin thanh toán:•  Tên chủ thẻ tín dụng

•  Ngày hết hạn thẻ.

2 Xem chitiết sản

 phẩm

-  Thông tin cần cung cấp:

•  Mã sản phẩm cần xem

-  Thông tin chi sản phẩm bao gồm :

•  Mã sản phẩm, Tên sản phẩm, hình ảnh,số lượng, giá bán, tác giả, nhà xuất bản,

tác giả, miêu tả ngắn gọn, số trang, trọnglượng, kích thước, số lần xem.

-  Mỗi sản phẩm thuộc về một danh mục.Thông tin danh mục bao gồm:

•  Mã danh mục, tên danh mục, loại danhmục.

-  Mỗi sản phẩm có một tình trạng, hiện tạicông ty có một số tình trạng như sau:

• Sản phẩm mới

•  Sản phẩm giảm giá

•  Sản phẩm báo chí giới thiệu

•  Sản phẩm bán chạy

•  Sản phẩm khuyến mãi.

-  Trong sản phẩm có sách, mỗi sách hình thức bìa. Hiện tại công ty có một số hình thức bìanhư sau:

•  Bìa cứng•  Bìa mềm

•  ….

-  Các nhận xét cho sản phẩm, thông tin nhậnxét bao gồm: nội dung, mức đánh giá, tổng

Page 74: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 74/141

 

 

59

kết, ngày nhận xét,…

3 Xem giỏhàng

-  Thông tin giỏ hàng bao gồm:

•  Danh sách các sản phẩm đã chọn mua.

Đăng nhậphay chưađăng nhập

Giỏ hàngđang chọnmua hàng

4 Tìm kiếmsản phẩm

Cơ bản

-  Tìm kiếm sản phẩm theo danh mục.

-  Tìm kiếm sản phẩm theo tên sách.

-  Tìm kiếm sản phẩm theo tác giả.

-  Tìm kiếm sách theo từ khóa hỗ trợ các phéptoán: AND, OR, NOT và gom nhóm.

Đăng nhậphay chưađăng nhập

5 Tìm kiếmtheo Danhmục Sản

Phẩm

-  Tìm kiếm sản phẩm theo Sách.

-  Tìm kiếm sản phẩm theo Đĩa nhạc.

Tìm kiếm sản phẩm theo Đĩa phim.-  Tìm kiếm sản phẩm Phần mềm.

-  Tìm kiếm sản phẩm Thẻ card.

-  Tìm kiếm Sách theo từ khóa hỗ trợ các phéptoán: AND, OR, NOT và gom nhóm.

-  Kết quả tìm kiếm là danh sách các sách tìmđược thỏa mãn tiêu chí tím kiếm.

Đăng nhậphay chưađăng nhập

6 Tìm kiếmsản phẩm

 Nâng cao

-  Tìm kiếm sản phẩm theo tên sách.

-  Tìm kiếm sản phẩm theo tác giả.-  Tìm kiếm sản phẩm theo giá từ khoảng này

đến các khoảng khác.

-  Tìm kiếm sản phẩm theo loại danh mục.

-  Tìm kiếm sách theo từ khóa hỗ trợ các phéptoán: AND, OR, NOT và gom nhóm.

-  Kết quả tìm kiếm là danh sách các sách tìmđược thỏa mãn tiêu chí tím kiếm.

Đăng nhậphay chưađăng nhập

7 Thêm sản phẩm vàogiỏ hàng

-  Chọn sản phẩm cần mua vào giỏ hàng, nếusản phẩm đã có trong giỏ hàng thì số lượngmua tăng lên 1.

-   Ngược lại thêm sản phẩm vào giỏ hàng vớisố lượng là 1.

Đăng nhậphay chưađăng nhập

Page 75: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 75/141

 

 

60

8 Cập nhậtgiỏ hàng

-  Cập nhật số lượng trong giỏ hàng, nếu sốlượng mua là 0 thì hủy sản phẩm đó ra khỏigiỏ hàng.

Đăng nhậphay chưađăng nhập

9 Xóa sản

 phẩm rakhỏi giỏihàng

-  Cho phép xóa từng sản phẩm và xóa tất cả

sản phẩm có trong giỏ hàng đã mua.

Đăng nhập

hay chưađăng nhập

10 Lưu giỏhàng

-  Cho phép khách hàng lưu sản phẩm vào giỏhàng và tiếp tục lưu xuống cơ sở dữ liệu đểtiện cho việc giao hàng về sau cho kháchhàng. Khi khách hàng đã cung cấp đầy đủthông tin và lưu sản phẩm mà khách hàng đãđặt mua.

Đã đăngnhập

11 Đăngnhập -  Cung cấp thông tin sau:•  Tên tài khoản

•  Mật khẩu

Chưa đăngnhập

12 Đưa sản phẩm vàogiỏ hàng

-  Cho phép khách hàng đưa sản phẩm cần muavào giỏ hàng.

Đăng nhậphay chưađăng nhập

13 Cập nhậttài khoản

-  Cập nhật thông tin tài khoản.

-  Cập nhật thông tin cá nhân.

Đã đăngnhập

14 Xem sản phẩm mới

-  Cho phép khách hàng xem các Sản phẩmmới có trong hệ thống.

Đăng nhậphay chưađăng nhập

15 Sản phẩm bán chạy

-  Cho phép khách hàng xem các Sản phẩm bánchạy có trong hệ thống.

Đăng nhậphay chưađăng nhập

16 So sánhgiá vớitrang

 book store

-  So sánh giá sách dựa vào mã sách, tên sách

-  Danh sách các sách của tất cả các book storehỗ trợ tìm kiếm sách

Đăng nhậphay chưađăng nhập

Bảng 4-1: Bảng yêu cầu chức năng cho Khách Hàng

Page 76: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 76/141

 

 

61

4.5.  Các Yêu cầu cho Member (Thành viên)

STTTên chứcnăng

Thông tin Điều kiện Ghi chú

1 Thanhtoán

-  Chọn giỏ hàng cần thanh toán. Và thanh toánqua hệ thống PayPal

Đăng nhập Phải có tàikhoảntrong hệthốngPayPal

2 Xem tìnhtrạng đơnđặt hàng

-  Chọn thông tin sản phẩm đã đặt để xem Đăng nhập

3 Đăng xuất -  Member hết phiên làm việc Đăng nhập

Bảng 4-2: Bảng yêu cầu chức năng cho Thành Viên

4.6.  Các yêu cầu cho Admin (Quản trị viên)

 

STT Tên chứcnăng

Thông tin Điều kiện Ghi chú

1 Thêm Sản phẩm mới

-  Thông tin sản phẩm mới:

•  Mã sản phẩm, tên sản phẩm, hình ảnh, tácgiả, số lượng, giá bán, tác giả, nhà xuất

 bản, ngày sản xuất, miêu tả ngắn gọn, số

trang, trọng lượng, kích cỡ, số lần xem.-  Mỗi sản phẩm thuộc về một danh mục.

Thông tin danh mục:

•  Mã danh mục, tên danh mục, loại danhmục.

-  Mỗi sản phẩm có sách riêng, sách có một tìnhtrạng. Hiện tại công ty có một số tình trạngsau:

•  Sách mới

•  Sách giảm giá

•  Sách báo chí giới thiệu

•  Sách nổi tiếng

Đăngnhập

Vớiquyền

Admin

Page 77: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 77/141

 

 

62

•  Sách bán chạy

-  Mỗi sản phẩm có sách riêng, sách có mộthình thức bìa. Hiện tại công ty có một số hìnhthức bìa như sau:

•  Bìa mềm

•  Bìa cứng

•  …..

-  Các nhận xét cho sản phẩm, thông tin nhậnxét bao gồm:

•   Nội dung, mức đánh giá, tổng kết, ngàynhận xét,…

2 Cập nhậtSản phẩmmới

-  Thông tin sản phẩm mới:

•  Mã sản phẩm, tên sản phẩm, hình ảnh, tácgiả, số lượng, giá bán, tác giả, nhà xuất

 bản, ngày sản xuất, miêu tả ngắn gọn, sốtrang, trọng lượng, kích cỡ, số lần xem.

-  Mỗi sản phẩm thuộc về một danh mục.Thông tin danh mục:

•  Mã danh mục, tên danh mục, loại danhmục.

-  Mỗi sản phẩm có sách riêng, sách có một tìnhtrạng. Hiện tại công ty có một số tình trạngsau:

•  Sách mới

•  Sách giảm giá

•  Sách báo chí giới thiệu

•  Sách nổi tiếng

•  Sách bán chạy

-  Mỗi sản phẩm có sách riêng, sách có mộthình thức bìa. Hiện tại công ty có một số hìnhthức bìa như sau:

•  Bìa mềm

Đăngnhập

VớiquyềnAdmin

Page 78: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 78/141

 

 

63

•  Bìa cứng

•  …..

-  Các nhận xét cho sản phẩm, thông tin nhậnxét bao gồm:

•   Nội dung, mức đánh giá, tổng kết, ngàynhận xét,…

3 Xóa sản phẩm

-  Thông tin sản phẩm mới:

•  Mã sản phẩm, tên sản phẩm, hình ảnh, tácgiả, số lượng, giá bán, tác giả, nhà xuất

 bản, ngày sản xuất, miêu tả ngắn gọn, sốtrang, trọng lượng, kích cỡ, số lần xem.

-  Mỗi sản phẩm thuộc về một danh mục.Thông tin danh mục:

•  Mã danh mục, tên danh mục, loại danhmục.

-  Mỗi sản phẩm có sách riêng, sách có một tìnhtrạng. Hiện tại công ty có một số tình trạngsau:

•  Sách mới

•  Sách giảm giá•  Sách báo chí giới thiệu

•  Sách nổi tiếng

•  Sách bán chạy

-  Mỗi sản phẩm có sách riêng, sách có mộthình thức bìa. Hiện tại công ty có một số hìnhthức bìa như sau:

•  Bìa mềm

•  Bìa cứng

•  …..

-  Các nhận xét cho sản phẩm, thông tin nhậnxét bao gồm:

Đăngnhập

VớiquyềnAdmin

Page 79: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 79/141

 

 

64

•   Nội dung, mức đánh giá, tổng kết, ngàynhận xét,…

4 Thêm tàikhoản

-  Thông tin tài khoản gồm:

•  Tên tài khoản, mật khẩu, Họ tên, ngàysinh, giới tính, điện thoại, địa chỉ , email,quốc gia, tỉnh thành, quận huyện.

-  Mỗi tài khoản thuộc về một quyền nhất định.Thông tin quyền hạn:

•  Mã phân quyền, tên phân quyền.

Đăngnhập

VớiquyềnAdmin

5 Câp nhậttài khoản

-  Thông tin tài khoản gồm:

•  Tên tài khoản, mật khẩu, Họ tên, ngàysinh, giới tính, điện thoại, địa chỉ , email,

quốc gia, tỉnh thành, quận huyện.-  Mỗi tài khoản thuộc về một quyền nhất định.

Thông tin quyền hạn:

•  Mã phân quyền, tên phân quyền.

Đăngnhập

Với

quyềnAdmin

6 Xóa tàikhoản

-  Thông tin tài khoản gồm:

•  Tên tài khoản, mật khẩu, Họ tên, ngàysinh, giới tính, điện thoại, địa chỉ , email,quốc gia, tỉnh thành, quận huyện.

-  Mỗi tài khoản thuộc về một quyền nhất định.Thông tin quyền hạn:

•  Mã phân quyền, tên phân quyền.

Đăngnhập

VớiquyềnAdmin

7 Thêm tintức

-  Thông tin tức bao gồm:

•  Mã tin tức, chủ đề , tóm tắt, nội dung,ngày đăng tin.

-  Mỗi tin tức thuộc về một người nào đó đăngtin lên.

Đăngnhập

VớiquyềnAdmin

8 Cập nhậttin tức -  Thông tin tức bao gồm:•  Mã tin tức, chủ đề , tóm tắt, nội dung,

ngày đăng tin.

-  Mỗi tin tức thuộc về một người nào đó đăngtin lên.

Đăngnhập

VớiquyềnAdmin

Page 80: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 80/141

 

 

65

9 Xóa tin tức -  Thông tin tức bao gồm:

•  Mã tin tức, chủ đề , tóm tắt, nội dung,ngày đăng tin.

-  Mỗi tin tức thuộc về một người nào đó đăngtin lên.

Đăngnhập

Vớiquyền

Admin

10 Đăng nhập -  Thông tin đăng nhập:

•  Tên đăng nhập

•  Mật khẩu.

Chưađăng nhập

11 Đăng xuất -  Kết thúc phiên làm việc Đăngnhập

Bảng 4-3: Yêu cầu chức năng cho Quản Trị Viên

Page 81: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 81/141

 

 

66

4.7.  Lược đồ Use-Case tổng thể

Page 82: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 82/141

 

 

67

4.8.  Các lược đồ Use-Case Chi Tiết

4.8.1.  Khách hàng và Member(Thành viên)

4.8.1.1. Use-Case Chi tiết về Khách hàng và Member 

Page 83: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 83/141

 

 

68

4.8.1.1.1.  Chi tiết về Use-Case “So Sánh giá” với các Bookstore khác

4.8.2.  Admin

4.8.2.1. Use-Case Chi tiết về Admin

Page 84: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 84/141

 

 

69

4.8.2.1.1.  Chi tiết về Use-Case “Quản lý tài khoản” 

Page 85: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 85/141

 

 

70

4.8.2.1.2.  Chi tiết về Use-Case “Quản lý Sản phẩm” 

4.8.2.1.3.  Chi tiết về Use-Case “Quản lý Tin Tức” 

Page 86: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 86/141

 

 

71

4.9.  Thiết kế dữ liệu lưu trữ 

Cơ sở dữ liệu quan hệ, hệ quản trị cơ sở dữ liệu Oracle.

Trong chương này chúng ta đã có cái nhìn tổng quát mô hình hóa trong kiến

trúc hướng dịch vụ.

Bước tiếp theo của pha mô hình hóa là pha tổng hợp. Để thực hiện pha này

chúng ta cần sự hỗ trợ của phần mềm Oracle JDeveloper Studio để tổng hợp,

lắp ráp, pha trộn các thành phần lại với nhau . Chương 5 sẽ trình bày rõ vấn đề này.

Page 87: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 87/141

 

 

72

Chương 5

TNG HP NG DNG VINABOOK

  Nội dung chương 5 trình bày tập trung chủ yếu vào việc tổng hợp ứng dụng 

ở mức tổng quát nhất có thể. Chúng emxin trình bày 3 dịch vụ trong số 48 dịch vụ

(trong đó có 44 dịch vụ được sử dụng để tích hợp vào ứng dụng) quy trình được

tổng hợp từ các dịch vụ trong và ngoài hệ thống. Nội dung chi tiết được trình bày

trong phần phụ lục B.

Trong giai đoạn tổng hợp ứng dụng được thực hiện dưới sự hỗ trợ của phần

mềm JDeveloper. 

5.1.  Thành phần dịch vụ “Thêm Sản Phẩm”

Sử dụng quy trình BPEL truy xuất vào cơ sở dữ liệu. Gán các giá trị đầu vào,

kiểm tra mã sản phẩm có tồn tại hay không, để thêm sản phẩm mới.

Hình 5-1: Thành phần tổng hợp dịch vụ “Thêm sản phẩm”

o  Tên thành phần dịch vụ : ThemSanPham

o  Exposed Service : themspbpelprocess_client_ep (WebService)

o  Components : ThemSPBPELProcess (BPEL)

o  External References : SanPhamTable (WebService)

5.1.1.  Tổng quan quy trình nghiệp vụ BPEL

o  Tên quy trình nghiệp vụ : ThemSPBPELProcess.bpel

Page 88: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 88/141

 

 

73

Hình 5-2: Quy trình nghiệp vụ “Thêm sản phẩm”

Page 89: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 89/141

 

 

74

5.1.2.  Các thành phần tham chiếu

5.1.2.1. o  Partner Link : themspbpelprocess_client

o  WSDL URL : ThemSPBPELProcess.wsdl

o  Partner Link Type : ThemSPBPELProcess

o  Partner Role : (not specified)

o  My Role : ThemSPBPELProcessProvider 

5.1.2.2. o 

Partner Link : SanPhamTable

o  WSDL URL : SanPhamTable.wsdl

o  Partner Link Type : SanPhamTable_plt

o  Partner Role : SanPhamTable_role

o  My Role : (not specified)

5.1.3.  Các hành động 

STT Hành động Cài đặt

1 receiveInput - Partner link : themspbpelprocess_client

- Operation : process

- Variable : inputVariable

Page 90: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 90/141

 

 

75

- Ý nghĩa: nhận giá trị đầu vào

2 Assign

 

Ý nghĩa : Gán giá trị đầu vào (inputVariable) cho biến

(Invoke1_SanPhamTableSelect_InputVariable)

3 Invoke - Partner link : SanPhamTable

- Operation : SanPhamTableSelect

- Variable :

o  Input :

Invoke1_SanPhamTableSelect_InputVariable

o  Output:

Invoke1_SanPhamTableSelect_OutputVariable

Page 91: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 91/141

 

 

76

- Ý nghĩa: gọi đến web service (SanPhamTable) đề thực

hiện hành động truyền giá trị đầu vào (Input) để lấy về

“sản phẩm” (Output).

4 Switch - Ý nghĩa : Quyết định nhánh theo điều kiện

- Điều kiện : Kiểm tra mã của “sản phẩm” cần thêm có

tồn tại hay không?

4.1 Nếu “sản phẩm” đó không tồn tại

4.1.1 Assign - Ý nghĩa : Gán giá trị đầu vào inputVariable vào

Invoke2_insert_InputVariable

4.1.2 Invoke - Partner link : SanPhamTable

- Operation : insert

- Variable : Invoke2_insert_InputVariable

Page 92: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 92/141

 

 

77

- Ý nghĩa: gọi đến web service (SanPhamTable) đề thực

hiện hành động thêm.

4.1.3 Assign - Ý nghĩa : Gán giá trị cho biến kết quả

(bpws:getVariableData('outputVariable','payload','/ns2:Re

sponse/ns2:boolResult')) = true()

4.2 Nếu “Sản phẩm” đó đã tồn tại

4.2.1 Assign - Ý nghĩa : Gán giá trị cho biến kết quả

(bpws:getVariableData('outputVariable','payload','/ns2:Re

sponse/ns2:boolResult')) = false()

5 replyOutput - Partner link : themspbpelprocess_client

- Operation : process

- Variable : outputVariable

Page 93: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 93/141

 

 

78

- Ý nghĩa: xuất giá trị kết quả

Bảng 5-1: Các hành động của dịch vụ “Thêm sản phẩm”

5.2.  Thành phần dịch vụ “Lấy Sản Phẩm Theo Loại, Giá, Tên Tác Giả

Hoặc Sản Phẩm” (Tìm Kiếm Nâng Cao)

Sử dụng quy trình BPEL truy xuất vào cơ sở dữ liệu. Gán 4 giá trị đầu vào (loại

sản phẩm, giá thấp nhất, giá cao nhất, tên tác giả hoặc sản phẩm) để lấy về danh

sách các sản phẩm.

Hình 5-3: Thành phần tổng hợp dịch vụ “Tìm kiếm nâng cao”

o  Tên thành phần dịch vụ : TimKiemNangCaoo  Exposed Service : timkiemnangcaobpelprocess_client_ep

(WebService)

o  Components : TimKiemNangCaoBPELProcess (BPEL)

o  External References : SanPhamTable (WebService)

5.2.1.  Tổng quan quy trình nghiệp vụ BPEL

o  Tên quy trình nghiệp vụ : TimKiemNangCaoBPELProcess.bpel

Page 94: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 94/141

 

 

79

Hình 5-4: Quy trình nghiệp vụ “Tìm kiếm nâng cao”

5.2.2.  Các thành phần tham chiếu

5.2.2.1. o  Partner Link : timkiemnangcaobpelprocess_client

o  WSDL URL : TimKiemNangCaoBPELProcess.wsdl

o  Partner Link Type : TimKiemNangCaoBPELProcess

o  Partner Role : (not specified)

o  My Role : TimKiemNangCaoBPELProcessProvider 

Page 95: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 95/141

 

 

80

5.2.2.2. o  Partner Link : SanPhamTable

o  WSDL URL : SanPhamTable.wsdl

o  Partner Link Type : SanPhamTable_plt

o  Partner Role : SanPhamTable_role

o  My Role : (not specified)

5.2.3.  Các hành động 

STT Hành động Cài đặt

1 receiveInput - Partner link : timkiemnangcaobpelprocess_client

- Operation : process

- Variable : inputVariable

- Ý nghĩa: nhận giá trị đầu vào

2 Assign Ý nghĩa : Gán giá trị đầu vào (inputVariable) cho biến

(Invoke1_SanPhamTableSelect_InputVariable)

3 Invoke - Partner link : SanPhamTable

- Operation : SanPhamTableSelect- Variable :

o  Input :

Page 96: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 96/141

 

 

81

Invoke1_SanPhamTableSelect_InputVariable

o  Output:

Invoke1_SanPhamTableSelect_OutputVariable

- Ý nghĩa: gọi đến web service (SanPhamTable) đề thực

hiện hành động truyền giá trị đầu vào (Input) để lấy về

danh sách các “sản phẩm” (Output).

4 Transform - Variable :

Invoke1_SanPhamTableSelect_OutputVariable

- Target Variable : outputVariable

- Mapper File : xsl/Transformation_1.xsl

- Ý nghĩa : chuyển đổi dữ liệu từ giá trị đầu vào

(Variable) đến giá trị đích (Target Variable)

Page 97: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 97/141

 

 

82

5 replyOutput - Partner link : timkiemnangcaobpelprocess_client

- Operation : process

- Variable : outputVariable

- Ý nghĩa: xuất giá trị kết quả (xuất danh sách “Sản

Phẩm”)

Bảng 5-2: Bảng hàng động của dịch vụ “Tìm kiếm nâng cao”

Page 98: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 98/141

 

 

83

5.3.  Thành phần dịch vụ “So Sánh Giá” (Với Amazon.com)

Sử dụng quy trình BPEL truy xuất vào 2 web service (AmazonSearchService và

VinabookSearchService). Gán các giá trị đầu vào (loại sản phẩm, tên sản phẩm) để

lấy về kết quả so sánh giá sản phẩm của 2 trang web.

Hình 5-5: Thành phần tổng hợp dịch vụ “So sánh giá”

o  Tên thành phần dịch vụ : SoSanhGia

o  Exposed Service : sosanhgiabpelprocess_client_ep (WebService)

o  Components : SoSanhGiaBPELProcess (BPEL)

o  External References : AmazonSearchService (WebService) và

VinabookSearchService (WebService)

5.3.1.  Tổng quan quy trình nghiệp vụ BPEL

o  Tên quy trình nghiệp vụ : SoSanhGiaBPELProcess.bpel

Page 99: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 99/141

 

 

84

Hình 5-6: Quy trình nghiệp vụ “So sánh giá”

Page 100: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 100/141

 

 

85

5.3.2.  Các thành phần tham chiếu

5.3.2.1. o  Partner Link : sosanhgiabpelprocess_client

o  WSDL URL : SoSanhGiaBPELProcess.wsdl

o  Partner Link Type : SoSanhGiaBPELProcess

o  Partner Role : (not specified)

o  My Role : SoSanhGiaBPELProcessProvider 

5.3.2.2. o  Partner Link : VinabookSearchService

o  WSDL URL : LaySPTheoLoaiVaTenSPServiceWrapper.wsdl

o  Partner Link Type : VinabookSearchService

o  Partner Role : laysptheoloaivatenspExecute_ptt

o  My Role : (not specified)

5.3.2.3. o  Partner Link : AmazonSearchService

o  WSDL URL : AmazonSearchServiceWrapper.wsdl

o  Partner Link Type : AmazonSearchService

o  Partner Role : Service1Soap

o  My Role : (not specified)

Page 101: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 101/141

 

 

86

5.3.3.  Các hành động 

STT Hành động Cài đặt

1 receiveInput - Partner link : sosanhgiabpelprocess_client

- Operation : process

- Variable : inputVariable

- Ý nghĩa: nhận giá trị đầu vào

2 Assign Ý nghĩa : Gán giá trị đầu vào (inputVariable) cho biến

(Invoke1_laysptheoloaivatenspExecute_InputVariable) và

(Invoke2_GetProductPriceByName_InputVariable)

3 Invoke - Partner link : VinabookSearchService

- Operation : laysptheoloaivatenspExecute

- Variable :

o  Input :

Invoke1_laysptheoloaivatenspExecute_InputVariab

le

o  Output:

Invoke1_laysptheoloaivatenspExecute_OutputVaria

 ble

Page 102: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 102/141

 

 

87

- Ý nghĩa: gọi đến web service (VinabookSearchService)

đề thực hiện hành động truyền giá trị đầu vào (Input) để

lấy về “sản phẩm” (Output).

4 Invoke - Partner link : AmazonSearchService

- Operation : GetProductPriceByName

- Variable :

o  Input :

Invoke2_GetProductPriceByName_InputVariable

o  Output:

Invoke2_GetProductPriceByName_OutputVariable

Page 103: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 103/141

 

 

88

- Ý nghĩa: gọi đến web service (AmazonSearchService) đề

thực hiện hành động truyền giá trị đầu vào (Input) để lấy

về “sản phẩm” (Output).

5 Switch - Ý nghĩa : Quyết định nhánh theo điều kiện

- Điều kiện : Kiểm tra giá của “sản phẩm” trên

Amazon.com có >= giá trên Vinabook hay không?

5.1 Nếu giá của “sản phẩm” trên Amazon.com >= giá trên Vinabook 

5.1.1 Switch - Ý nghĩa : Quyết định nhánh theo điều kiện

- Điều kiện : Kiểm tra giá của “sản phẩm” trên

Amazon.com có > giá trên Vinabook hay không?

5.1.1.1 Nếu giá của “sản phẩm” trên Amazon.com > giá trên Vinabook 

Transform - Variable :

Invoke2_GetProductPriceByName_OutputVariable và

Invoke1_laysptheoloaivatenspExecute_InputVariable

- Target Variable : outputVariable

- Mapper File : xsl/Transformation_1.xsl

- Ý nghĩa : chuyển đổi dữ liệu từ giá trị đầu vào (Variable)

đến giá trị đích (Target Variable)

5.1.1.2 Nếu giá của “sản phẩm” trên Amazon.com = giá trên Vinabook 

Transform - Variable :

Invoke2_GetProductPriceByName_OutputVariable và

Page 104: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 104/141

 

 

89

Invoke1_laysptheoloaivatenspExecute_InputVariable

- Target Variable : outputVariable

- Mapper File : xsl/Transformation_2.xsl

- Ý nghĩa : chuyển đổi dữ liệu từ giá trị đầu vào (Variable)

đến giá trị đích (Target Variable)

5.2 Nếu giá của “sản phẩm” trên Amazon.com < giá trên Vinabook 

5.2.1 Transform - Variable :

Invoke2_GetProductPriceByName_OutputVariable và

Invoke1_laysptheoloaivatenspExecute_InputVariable

- Target Variable : outputVariable

- Mapper File : xsl/Transformation_3.xsl

- Ý nghĩa : chuyển đổi dữ liệu từ giá trị đầu vào (Variable)

đến giá trị đích (Target Variable)

6 replyOutput - Partner link : sosanhgiabpelprocess_client

- Operation : process

- Variable : outputVariable

- Ý nghĩa: xuất giá trị kết quả

Bảng 5-3: Bảng hàng động của dịch vụ “So sánh giá”

Page 105: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 105/141

 

 

90

Trong chương này chúng ta đã có cái nhìn tổng quát về cách tổng hợp các

thành phần dịch vụ trong kiến trúc hướng dịch vụ và hiểu rõ các tính năng 

của phần mềm Oracle JDeveloper Studio để tổng hợp, lắp ráp các thành phần

lại với nhau .

Bước tiếp theo của pha tổng hợp là pha triển khai và quản lý. Để thực hiện

 pha này chúng ta cần sự hỗ trợ của phần mềm Oracle WebLogic để quản lý

ứng dụng trong môi trường thực tế. Chương 6 sẽ trình bày rõ vấn đề này.

Page 106: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 106/141

 

 

91

Chương 6

TRIN KHAI VÀ QUN LÝ NG DNG VINABOOK

 Sau giai đoạn tổng hợp lắp ráp vào ứng dụng. Bước kế tiếp là triển khai ứng 

dụng vào môi trường thực thi . Trong chương này trình bày 2 phần:

Triển khai ứng dụng sử dụng phần mềm Oracle JDeveloper.

Khảo sát ứng dụng dưới các vai trò:

o  Guest 

o  Member (Thành viên)

o  Quản trị (Admin)

Quản lý ứng dụng với Oracle WebLogic Enterprise Manager 

 Nội dung của chương 6 trình bày tập trung chủ yếu vào việc triển khai ứng 

dụng vào môi trường thực thi và quản lý nó ở mức tổng quan nhất có thể. Phần

khảo sát ứng dụng chỉ chỉ trình bày một phần nhỏ của ứng dụng. Nội dung chi tiết 

 xin được trình bày trong phần Phụ lục D. 

Tính năng nổi bật của ứng dụng là Thanh toán bằng Paypal và So Sánh

Giá với Các BookStore khác trên mạng. Sự so sánh giá này mang lại tiện ích to lớn

cho khách hàng , giúp cho khách hàng có cơ hội mua sách với giá rẻ. Thông tin

Sách lấy thông qua dịch vụ hỗ trợ của Amazon trên website : www.amazon.com

6.1.  Triển khai ứng dụng

Ứng dụng VINABOOK sau khi được tổng hợp, lắp ráp sẽ được triển khai

vào môi trường thực thi WebLogic. Chi tiết về triển khai ứng dụng xin được trình

 bày trong phụ lục D. Ở đây chúng em chỉ trình bày một số Use case chính của ứng

dụng.

6.2.  Khách hàng

6.2.1.  Use Case “Đăng Nhập” 

Để thực hiện chức năng đăng nhập, ta làm theo bước sau:

Page 107: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 107/141

 

 

92

-  Trên trang chủ, ta click vào nút “Đăng Nhập” 

Hình 6-1: Đăng nhập ứng dụng

-  Trong màn hình “ĐĂNG NHẬP” , ta gõ tên tài khoản và mật khẩu của

khách hàng.

Hình 6-2: Giao diện đăng nhập

-  Sau đó bấm nút Đăng nhập.

Page 108: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 108/141

 

 

93

6.2.2.  Use Case “Quản lý tài khoản” 

6.2.2.1. Use-Case “Mở tài khoản” 

-  Để thực hiện chức năng mở tài khoản ta chọn vào nút “Đăng ký”

-  Xuất hiện màn hình đăng ký như sau:

o  Điền đầy đủ thông tin cần thiết vào.

Hình 6-3: Giao diện đăng kí 

-  Màn hình đăng ký thành công cho biết người dùng đã đăng ký thành công

Page 109: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 109/141

 

 

94

Hình 6-4: Giao diện thông báo đăng ký thành công

6.2.2.2. Use-Case “Cập nhật tài khoản” 

-  Sau khi đăng nhập thành công, để cập nhật tài khoản ta click vào “ Thay đổi

thông tin cá nhân”.

-  Màn hình cập nhật tài khoản xuất hiện như sau

Hình 6-5: Giao diện chỉnh sửa thông tin cá nhân

-  Chọn vào nút Save để thực hiện cập nhật lại tài khoản.

-  Màn hình thông báo cập nhật tài khoản thành công

Page 110: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 110/141

 

 

95

Hình 6-6: Giao diện thông báo chỉnh sửa thành công

6.2.3.  Use Case “Xem Danh Mục Sản Phẩm” 

-  Màn hình “Xem Danh Mục Sản Phẩm” hiển thị Sản phẩm theo từng danh

mục cho người dùng xem khi có nhu cầu.

Hình 6-7: Giao diện danh mục sản phẩm

6.2.4.  Use Case “Tìm kiếm” 

-  Trước tiên ta xét chức năng tìm kiếm cơ bản, chức năng này cho phép người

dùng tìm kiếm sản phẩm có trong hệ thống theo lọc tiêu chí Tên sản phẩm. 

Page 111: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 111/141

 

 

96

Hình 6-8: Giao diện tìm kiếm sản phẩm

6.2.4.1. Chi tiết Use Case “Tìm kiếm Cơ Bản” -  Gõ thông tin cần tìm kiếm vào ô text box sau đó bấm vào nút Tìm. 

-  Giả sử ta gõ nội dung cần tìm là “Java”, kết quả tìm kiếm xuất hiện như sau:

Hình 6-9: Giao diện tìm kiếm cơ bản

Page 112: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 112/141

 

 

97

6.2.4.2. Chi tiết Use Case “Tìm kiếm Nâng Cao” 

-  Use-Case “Tìm kiếm Nâng Cao” cho phép người dùng tìm kiếm sản phẩm

theo nhiều tiêu chí khác nhau.

-  Ta bấm vào nút “Tìm Kiếm Nâng Cao” sau đó màn hình xuất hiện như sau:-  Gõ thông tin cần tìm kiếm vào ô text box sau đó bấm vào nút Tìm. 

Hình 6-10: Tìm kiếm nâng cao

-  Kết quả tìm kiếm xuất hiện như sau:

Page 113: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 113/141

 

 

98

Hình 6-11: Kết quả tìm kiếm nâng cao

6.2.4.3. Chi tiết Use Case “Tìm kiếm Theo Danh Mục” 

-  Use-Case “Tìm kiếm Theo Danh Mục” cho phép người dùng tìm kiếm Sản

 phẩm theo danh mục khác nhau, và sau đó hệ thống sẽ liệt kê ra sản phẩm

tương ứng với danh mục người dùng đã chọn.

Page 114: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 114/141

 

 

99

Hình 6-12: Giao diện tìm kiếm theo danh mục

-  Chẳng hạn, người dùng chọn vào danh mục “Sách Tin Học”, kết quả tìm

kiếm xuất hiện như sau:

Hình 6-13: Kết quả tìm kiếm theo danh mục

Page 115: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 115/141

 

 

100

6.2.5.  Use Case “Quản Lý Đặt Hàng” 

6.2.5.1. Use-Case “Đưa Sản Phẩm vào Giỏ Hàng” 

Để thực hiện chức năng mua hàng, ta làm theo các bước sau:

-  Chọn sản phẩm cần mua và đưa vào giỏ hàng.-  Tìm sản phẩm cần mua

Hình 6-14: Đưa vào giỏ hàng

-  Chọn vào nút “Đưa vào giỏ hàng”. 

-  Màn hình giỏ hàng của bạn xuất hiện như sau:

Page 116: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 116/141

 

 

101

Hình 6-15: Giao diện giỏ hàng

-  Ta nhập số lượng sản phẩm cần mua tại ô “Số Lượng” , ví dụ nhập là 9 sản

 phẩm chẳng hạn.

-  Sau đó chọn vào nút “ Cập nhật”

-  Màn hình của bạn tự động cập nhật lại tình trạng của giỏ hàng

Hình 6-16: Cập nhật giỏ hàng

Page 117: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 117/141

 

 

102

-  Để tiếp tục mua sản phẩm khác thì ta chọn nút “Tiếp tục mua hàng”

-  Chương trình trả về các chức năng tìm kiếm để lựa chọn các sản phẩm khác

cần mua.

-  Các thao tác tương tự, ta chọn thêm 2 sản phẩm khác nữa vào giỏ hàng kết

quả như sau:

Hình 6-17: Tiếp tục mua hàng

-  Sau khi kiểm tra giỏ hàng đã đầy đủ những sản phẩm và số lượng sản phẩm

cần mua, sau đó chọn nút Thanh toán.

-  Ghi chú: Thao tác thanh toán thì khách hàng phải tài khoản trong PayPal.

6.2.5.2. Use-Case “Thanh toán” 

-  Để thanh toán ta chọn vào nút “Thanh Toán”. Màn hình xuất hiện như sau:

Page 118: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 118/141

 

 

103

Hình 6-18: Thanh toán

-  Màn hình thanh toán xuất sau khi chúng ta chọn nút Thanh toán

để thực hiện thanh toán tiền mua sản phẩm.

Hình 6-19: Giao diện Sandbox PayPal

-  Màn hình các tài khoản dùng để thanh toán

Page 119: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 119/141

 

 

104

Hình 6-20: Màn hình tài khoản PayPal

-  Màn hình đăng nhập với tài khoản của PayPal để thực hiện thanh toán

Hình 6-21: Đăng nhập vào hệ thống PayPal

-  Màn hình số tiền trước khi thực hiện thanh toán

Page 120: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 120/141

 

 

105

Hình 6-22: Tài khoản trước khi mua sản phẩm

-  Màn hình xác nhận để thực hiện thanh toán

Hình 6-23: Màn hình xác nhận thanh toán

-  Màn hình thông báo thanh toán thành công

Page 121: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 121/141

 

 

106

Hình 6-24: Màn hình thông báo thanh toán thành công

6.2.5.3. Use-Case “Lưu giỏ hàng” 

-  Để lưu sản phẩm vào giỏ hàng ta chọn vào nút “Save”. Màn hình xuất hiện

như sau:

Hình 6-25: Lưu giỏ hàng

-  Để Xem kết quả ta vào xem trong bảng Đơn Đặt hàng và bảng “Tình Trạng

Đơn Đặt hàng”

Page 122: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 122/141

 

 

107

Hình 6-26: Kết quả lưu giỏ hàng

6.2.5.4. Use-Case “Xóa Sản phẩm trong giỏ” 

-  Màn hình trước khi xóa

Hình 6-27: Xóa sản phẩm

-  Để xóa sản phẩm ta làm như sau:

  Chọn vào ô checkbox của sản phẩm mà chúng ta muốn xóa, rồi sau đó

 bấm vào nút Xóa 

Page 123: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 123/141

 

 

108

Hình 6-28: Chọn sản phẩm trong giỏ hàng để xóa

-  Màn hình sau khi xóa

Hình 6-29: Màn hình sau khi xóa

6.2.6.  Use Case “Xem Chi Tiết Sản Phẩm” 

-  Hệ thống cho phép khách hàng xem chi tiết sản phẩm.

-  Để xem chi tiết sản phẩm, ta chọn vào nút “Xem Chi Tiết”

Page 124: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 124/141

 

 

109

Hình 6-30: Xem chi tiết sản phẩm

-  Màn hình Xem chi Tiết Sản Phẩm xuất hiện như sau:

Hình 6-31: Giao diện chính ‘Chi tiết sản phẩm’6.2.7.  Use Case “Xem sản phẩm bán chạy” 

-  Để Xem sản phẩm bán chạy ta chọn vào từng danh mục Sản phẩm , sau đó

chọn sản phẩm bán chạy theo từng danh mục sản phẩm

Page 125: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 125/141

 

 

110

-  Danh Mục Sách Bán chạy

Hình 6-32: Giao diện sản phẩm bán chạy

6.2.8.  Use Case “Xem sản phẩm mới” 

-  Danh Mục Sách Mới

Hình 6-33: Giao diện sản phẩm mới

Page 126: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 126/141

 

 

111

6.2.9.  Use Case “So Sánh Giá” 

-  Để so sánh giá với các BookStore khác ta chọn vào nút “So Sánh Giá” 

Hình 6-34: So sánh giá

-  Màn hình so sánh giá xuất hiện như sau:

Hình 6-35: Giao diện ‘So sánh giá’

Page 127: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 127/141

 

 

112

-  Chương trình sẽ giá sách đó từ trang Amazon và so sánh giá sách của trang

VinaBook.

Để xem chi tiết Giá Sách ta chọn nút “Xem

Hình 6-36: Xem chi tiết so sánh giá

-  Màn hình xem chi tiết xuất hiện như sau:

  Trang VinaBook 

Hình 6-37: Chi tiết so sánh giá Vinabook 

Page 128: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 128/141

 

 

113

  Trang Amazon

Hình 6-38: Chi tiết so sánh giá Amazon

6.3.  Admin (Quyền quản trị)

6.3.1.  Use-Case Quản Lý Tài Khoản

-  Giao diện của trang Admin như sau

Hình 6-39: Giao diện quản lý của Admin

6.3.1.1. Chi Tiết Use-Case “Thêm Tài Khoản” 

-  Màn hình thêm mới tài khoản

Page 129: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 129/141

 

 

114

Hình 6-40: Thêm tài khoản

-  Sau đó chọn nút “Insert” kết quả thông báo thành công

-  Kết quả được thêm vào thành công như sau

Hình 6-41: Kết quả sau khi thêm tài khoản

6.3.1.2. Chi Tiết Use-Case “Cập nhật Tài Khoản” 

- Màn hình cập nhật” Tài khoản” như sau:

Page 130: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 130/141

 

 

115

Hình 6-42: Cập nhật tài khoản

-  Sau đó chọn vào nút “Update” để cập nhật tài khoản, kết quả thông báo cậpnhật thành công

Hình 6-43: Thông báo cập nhật tài khoản thành công

6.3.1.3. Chi Tiết Use-Case “Xóa Tài Khoản” 

-  Để xóa tài khoản ta chọn vào biểu tưởng xóa

Hình 6-44: Xóa tài khoản

-  Màn hình thông báo xóa thành công như sau:

Page 131: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 131/141

 

 

116

Hình 6-45: Thông báo xóa thành công

6.3.2.  Chi Tiết Use-Case “Quản Lý Sản Phảm” 

-  Màn hình trang quản lý sản phẩm

Hình 6-46: Giao diện quản lý sản phẩm

6.3.2.1. Chi Tiết Use-Case “Thêm Sản Phảm” 

-  Để thêm một sản phầm mới ta làm như sau

Hình 6-47: Thêm sản phẩm

Page 132: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 132/141

 

 

117

- Sau đó chọn vào nút Insert

- Màn hình thông báo thêm thành công như sau

Hình 6-48: Thông báo thêm sản phẩm thành công

6.3.2.2. Chi Tiết Use-Case “Xóa Sản Phảm” 

-  Để xóa sản phẩm ta chọn vào biểu tưởng xóa sau đó bấm nút “Delete”

để xóa Sản phẩm.

-  Màn hình Xóa sản phẩm.

Hình 6-49: Xóa sản phẩm

-  Màn hình thông báo cập nhật thành công

Hình 6-50: Thông báo thêm sản phẩm thành công

Page 133: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 133/141

 

 

118

6.4.  Quản lý ứng dụng với WebLogic

-  Màn hình sau cho thấy chúng ta đã hoàn tất việc deploy ứng dụng .

Hình 6-51: Deployment – Log thông báo việc deploy đã thành công

-  Sau khi Deploy đã hoàn tất chúng ta có thể tiến hành kiểm tra và quản lý ứng

dụng.

1.  Mở Enterprise Manager theo link sau: http://localhost:7001/em.

2.  Đăng nhập (nếu bạn làm theo mặc định cài đặt ở trên thì username/password

là weblogic/welcome1).3.  Click vào package mà chúng ta muốn xem (chẳng hạn ta chọn vào package

layThongTinNhanVien) trong thư mục SOA ở vùng bên trái cây thư mục:

Page 134: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 134/141

 

 

119

Hình 6-52: WebLogic Enterprise Manager

4.  Để kiểm tra ứng dụng ta chọn vào nút “Test” 

Page 135: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 135/141

 

 

120

Hình 6-53: Kiểm tra dịch vụ

5.   Nó mở ra trang test mà bạn có thể dùng để kích hoạt một ví dụ của ứng dụng

tổng hợp layThongTinNhanVien.

Hình 6-54: Nhập thông tin để kiểm tra

6.  Trong vùng maNhanVien, điền vào mã nhân viên. Nhập 1 vào phần

maNhanVien.

Page 136: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 136/141

 

 

121

7.  Click vào nút Test Web Service.

8.  Bạn sẽ có được giá trị trả về từ dịch vụ, đó là thông tin của nhân viên. Hình

dưới là giá trị xuất ra của nhân viên có mã nhân viên là 1:

Hình 6-55: Chọn hình thức xem

9.  Click Launch Message Flow Trace để xem chi tiết của message flow cho ví

dụ ứng dụng tổng hợp của bạn. Nó mở ra một cửa sổ mới với flow trace.

Hình 6-56: Test thành công

Page 137: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 137/141

 

 

122

 Bạn đã hoàn tất việc kiểm tra ứng dụng tổng hợp thông qua Oracle 

WebLogic.

Như vậy chúng ta đã hoàn thành xây dựng một ứng dụng dựa trên kiến trúc

hướng dịch vụ theo đúng nền tảng kiến trúc hướng dịch vụ của Oracle.

Chương cuối cùng sẽ nêu lên các kết quả đã đạt được trong quá trình thực

hiện đề tài và hướng phát triển trong tương lai.

Page 138: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 138/141

 

 

123

Chương 7 

Kết luận

  Chương này sẽ trình bày về những kết quả đạt được và hướng phát triển

của đề tài trong tương lai.

(Nguồn www.modernanalyst.com)

7.1.  Các kết quả đạt được

7.1.1.  Về mặt tìm hiểu kiến trúc hướng dịch vụ.

-  Tìm hiểu được cơ sở nền tảng kiến trúc hướng dịch vụ.

  Hiểu được tính chất cơ bản của cơ sở kiến trúc hướng dịch vụ.

  Tìm hiểu được một cách rõ ràng các ưu điểm của SOA.

-  Tìm hiểu được nền tảng kiến trúc hướng dịch vụ Oracle.

  Tìm hiểu được cách sử dụng các phần mềm của Oracle hỗ trợ cho

từng pha trong chu kỳ sống của SOA.

o  Oracle SOA Suite : hỗ trợ cho việc xây dựng, triển khai và quản lý

ứng dụng SOA. 

Page 139: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 139/141

 

 

124

o  Oracle JDeveloper Studio : hỗ trợ viết mã nguồn, thiết kế quy

trình nghiệp vụ ( như quy trình BPEL), thiết kế Use-Case, thiết kế

sơ đồ lớp ở mức phân tích, thiết kế cơ sở dữ liệu và triển khai ứng

dụng .o  Oracle WebLogic : hỗ trợ cho pha triển khai và quản lý .

o  Oracle Business Activity Monitoring  : hỗ trợ cho việc quản lý các

tác vụ.

o  Oracle SQL * Plus : hỗ trợ viết câu lệnh SQL để tạo và quản lý cơ 

sở dữ liệu.

o  Oracle SQL Developer : hỗ trợ viết câu lệnh SQL để tạo và quản

lý cơ sở.

  So sánh nền tảng kiến trúc hướng dịch vụ Oracle và kiến trúc hướng  

dịch vụ IBM .

7.1.2.  Về mặt phát triển ứng dụng 

-  Xây dựng ứng dụng dựa trên kiến trúc hướng dịch vụ theo đúng nền tảng

kiến trúc hướng dịch vụ Oracle.

-  Xây dựng thành công 48 dịch vụ để phục cho ứng dụng trong đó có 4 dịch vụ

tổng hợp:

•  So sánh giá: tổng hợp từ 2 dịch vụ tìm kiếm sản phẩm của vinabook  

và dịch vụ tìm kiếm sản phẩm của amazon.com.

•  Quản lý khách hàng: tổng hợp từ 3 dịch vụ là thêm, xóa và cập nhật

khách hàng.

•  Quản lý sản phẩm: tổng hợp từ 3 dịch vụ là thêm, xóa và cập nhật

sản phẩm.

•  Quản lý tin tức: tổng hợp từ 3 dịch vụ là thêm, xóa và cập nhật tin

tức.

-  Tìm hiểu được kiến trúc Hibernate để phục vụ xây dựng ứng dụng.

-  Tìm hiểu được kiến trúc Spring framework để phục vụ xây dựng ứng dụng.

-  Xây dựng thành công ứng dụng web trên môi trường lập trình Java

Page 140: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 140/141

 

 

125

7.2.  Hướng phát triển của đề tài

7.2.1.  Về mặt tìm hiểu kiến trúc hướng dịch vụ

-   Nghiên cứu sâu về các phần mềm Oracle hỗ trợ cho việc phát triển các giải

 pháp dựa trên kiến trúc hướng dịch vụ.-   Nghiên cứu nâng cao về mô hình hướng dịch vụ của Oracle.

-  Tìm hiểu sâu hơn về lựa chọn các kịch bản SOA cho từng yêu cầu cụ thể và

 phát triển các giải pháp dựa trên kiến trúc hướng dịch vụ Oracle.

-  Hiểu rõ việc thiết kế kiến trúc ứng dụng với Oracle SOA Suite.

-  Hiểu rõ kiến trúc hệ quản trị cơ sở dữ liệu của Oracle.

7.2.2.  Về mặt phát triển ứng dụng 

•  Hỗ trợ nhiều phương thức thanh toán cho từng đối tượng khách hàng cụ thểkhi mua sản phẩm.

•  Hoàn thiện và cài đặt thêm các chức năng còn thiếu cho ứng dụng Vinabook.

•  Tìm hiểu và nâng cấp việc so sánh giá với nhiều loại sản phẩm và nhiều

Store Online.

•   Nghiên cứu để xử lý vấn đề bảo mật cho ứng dụng.

Page 141: Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite

5/7/2018 Tim Hieu Va Xay Dung Ung Dung Kien Truc Huong Dich Vu Voi Oracle Soa Suite - slidepdf.com

http://slidepdf.com/reader/full/tim-hieu-va-xay-dung-ung-dung-kien-truc-huong-dich-vu-voi-oracle-soa-suite 141/141

 

 

126

TÀI LIỆU THAM KHẢO

 

[1] D. Mills, P. Koletzke, and A. Roy-Faderman, Oracle JDeveloper 11g 

  Handbook: A Guide to Fusion Web Development , Dubuque, IA: Mc-Graw-

Hill PTR, 2009.

[2] E. Aharon-Shalom and A. Heller, Oracle PL/SQL by Example, 1982.

[3] M. Wright, “Oracle SOA suite developerʼs guide,” Solutions, 2009.

[4] L. Demed, H. Buelow, J. Kasi, M. Deb, and P. Palvankar, Getting Started 

With Oracle SOA Suite 11g R1–A Hands-On Tutorial , Pakt Publishing, 2009.

[5] F. Nimphius and L. Munsinger,   Building Rich Internet Applications with

Oracle ADF Business Components and Oracle ADF Faces.

[6] L. Jellema, “Oracle SOA suite 11g handbook,”   Journal of the

 Electrochemical Society, vol. 129, 2010, p. 2865.

[7] Oracle, Quick Start Guide for Oracle SOA Suite 11gR1 (11.1.1.4.0), Oracle,

2011.[8] R. Menon, Expert oracle JDBC programming , Apress, 2005.

[9] P.K. Quovera, Creating Java applications, applets, and JSPs in JDeveloper ,

2001.

[10] Oracle, BPEL Tutorial - Tutorial 3 : Manipulating XML Documents in BPEL.

[11] Oracle, Oracle BPEL Process Manager 2 . 0 Quick Start Tutorial , 2004.

[12] D. Roller and M. Rowley, with Gerhard Pfau;, BPELJ : BPEL for Java, 2004.[13] G. Shepherd, “Microsoft ASP .NET 3.5: Step by Step,” 2008.

[14] K. Cox, ASP. NET 3.5 for dummies, Wiley-India, 2008.