Upload
nguyen-hoang-anh
View
1.432
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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)
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
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.
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ể.
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.
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.
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.
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ụ
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
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ử
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
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ụ.
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.
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ụ.
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ế.
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ể .
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
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 để
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à
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)
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
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ụ
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.
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
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ó
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).
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.
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
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
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.
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.
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.
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
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.
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)
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.
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.
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.
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
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.
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
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.
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.
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
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.
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
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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.
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
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
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
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
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
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
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
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
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ể
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
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
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”
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”
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.
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
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”
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
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
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
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
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
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
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 :
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)
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”
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
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á”
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)
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
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
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à
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á”
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.
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:
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.
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
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
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.
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
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:
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.
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
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:
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
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:
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
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
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
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”
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
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”
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
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
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á’
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
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
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:
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:
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
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
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:
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”
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.
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
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.
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.
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
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.
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.