Nghiên cứu kiến trúc hướng dịch vụ (service-oriented architecture) và giải pháp của oracle - Pdf 10

Kiến trúc SOA và giải pháp của Oracle
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
……………    ……………
BÁO CÁO NCKH
ĐỀ TÀI:
NGHIÊN CỨU KIẾN TRÚC HƯỚNG DỊCH VỤ
(SERVICE-ORIENTED ARCHITECTURE)
VÀ GIẢI PHÁP CỦA ORACLE
GIÁO VIÊN HƯỚNG DẪN: NGUYỄN MẠNH HÙNG
SINH VIÊN THỰC HIỆN: PHÙNG THỊ THAO
K54A-CNTT-ĐHSPHN
HÀ NỘI, THÁNG 4 – 2008
Khoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN
1
Kiến trúc SOA và giải pháp của Oracle
Lời cảm ơn
Em xin chân thành cảm ơn khoa CNTT trường ĐHSPHN đã tạo điều kiện giúp em
hoàn thành khoá luận này.
Em xin gửi lời biết ơn sâu sắc đến Tiến sĩ Nguyễn Mạnh Hùng. Thầy đã tận tình
hướng dẫn và chỉ bảo cho em trong suốt quá trình học tập và nghiên cứu thực hiện đề
tài
Em xin chân thành cảm ơn tới các quý thầy cô trong khoa CNTT đã tận tình giảng
dạy và trang bị kiến thức cho em và các bạn sinh viên khác trong suốt thời gian học tập
tại khoa.
Xin chân thành cảm ơn bạn bè và gia đình đã ủng hộ rất lớn về mặt tinh thần để em
có thêm quyết tâm hoàn thành đề tài này.
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi cho phép, nhưng do kiến thức
và thời gian còn thiếu nên đề tài chắc chắn sẽ còn nhiều thiếu sót. Vì vậy kính mong các
thầy cô và các bạn tận tình đóng góp và chỉ bảo để em hoàn thiện đề tài hơn nữa
Một lần nữa em xin chân thành cảm ơn và mong luôn nhận được tình cảm chân

1.5.Vấn đề tích hợp trong SOA
1.6.Quản lý tiến trình nghiệp vụ
1.7.Kết luận
Chương 2: Bộ giải pháp về SOA của Oracle
2.1.Oracle SOA Suite hiện thực Web service với Jdeveloper
2.2.Giới thiệu về SOA Suite
2.2.1.Ứng dụng của SOA Suite
2.2.2.Service Bus
2.2.3.BPEL engine
2.2.4.BPEL Designer
2.3.Kết luận
Chương 3: Thử nghiệm thực tế phần mềm BPEL của Oracle
Thử nghiệm phần mềm SOA suite
Khoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN
4
Kiến trúc SOA và giải pháp của Oracle
Xây dựng một số service trong website bán hàng cho một book_cafe.
Chương 4. Kết luận chung
4.1.Kết quả đạt được
4.2.Hướng phát triển
Phụ lục tham khảo
Danh sách hình
Danh sách các thuật ngữ và khái niệm
Khoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN
5
Kiến trúc SOA và giải pháp của Oracle
Lời mở đầu
Ngày nay, công nghệ thông tin đang ngày càng phát triển, trở thành ngành mũi nhọn
trong chiến lược phát triển kinh tế của mỗi quốc gia. Đối tượng phục vụ chủ yếu hiện
nay của CNTT là các tổ chức, các cơ sở doanh nghiệp. Với sự phát triển của Internet và

- Ứng dụng vấn đề bảo mật trong kiến trúc hướng dịch vụ. Tìm hiểu một số chuẩn
bảo mật trong XML và Web Service
- Khả năng tích hợp hệ thống và quản lý các quy trình nghiệp vụ
2. Giải pháp của Oracle, cụ thể với phần mềm SOA Suite
- Tìm hiểu thực tế phần mềm SOA Suite và các thành phần liên quan.
- Môi trường phát triển và cách thiết kế, xây dựng ứng dụng, thực thi và quản lý các
tiến trình nghiệp vụ
3. Viết một vài servies sử dụng công nghệ SOA trên ngôn ngữ BPEL của Oracle,
bằng phần mềm SOA Suite
- Xây dựng một ứng dụng nhỏ dùng phần mềm SOA Suite
Khoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN
7
Kiến trúc SOA và giải pháp của Oracle
2. Chương 1: Tổng quan về SOA
1.1 Thực trạng hiện tại và một số mô hình trong hệ thống phân tán.
1.1.1. Thực trạng
Phần mềm ngày nay đang dần trở nên phức tạp và dường như đang vượt quá sự
kiểm soát của các mô hình hiện có. Theo Albert Einstein: “Mọi việc nên thực hiện theo
cách đơn giản đến mức có thể… ”. Hiện nay, có nhiều hệ thống phần mềm đang được
xây dựng với kiến trúc khá phức tạp với chi phí phát triển và bảo trì cao, đặc biệt là
những phần mềm cao cấp. Độ phức tạp của các hệ thống kiến trúc phần mềm ngày một
tăng do một số nguyên nhân sau:
Sự xuất hiện của nhiều công nghệ mới tạo nên môi trường không đồng nhất trong khi
nhu cầu chia sẻ, tương tác, trao đổi của các hệ thống không thể tiến hành trong môi
trường như thế. Giải quyết vấn đề này nghĩa là các doanh nghiệp cần phải thay đổi hệ
thống theo một chuẩn thống nhất chung nào đó. Điều chủ yếu là hệ thống cũ cần được
sử dụng lại chứ không phải là gỡ bỏ thay mới bởi vấn đề chi phí cho thiết lập một hệ
thống quản lý mới tốn kém hơn nhiều so với chuyển đổi cái cũ. Vấn đề này đưa đến
một khái niệm là “Tích hợp hệ thống ” (Enterprise Architecture Intergration - EAI) –
đang được nhiều tổ chức quan tâm đầu tư với mức chi phí cao dẫn đầu hiện nay cho các

• DCOM – Distributed Component Object Model
 DCOM là mô hình phân tán dễ dàng triển khai với chi phí thấp, hỗ trợ tigh
coupling giữa các ứng dụng và hệ điều hành. Mô hình Component Object
Model (COM) định nghĩa cách thức các thành phần clien liên lạc và trao đổi với
nhau trên một máy. DCOM mở rộng COM bằng cách sử dụng các giao thức
mạng chuẩn khi cần trao đổi dữ liệu với các máy khác trong mạng.
 Ưu điểm: tính ổn định, không phụ thuộc vị trí địa lý, quản lý kết nối hiệu quả và
dễ dàng mở rộng. Thuận lợi cho các doanh nghiệp sử dụng các ứng dụng cùng
chạy trên nền Windows.
Khoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN
9
Kiến trúc SOA và giải pháp của Oracle
 Nhược điểm: tất nhiên các công nghệ này chỉ chạy được trên nền windows
Hình 1: Mô hình tương tác của các đối tượng trong kiến trúc DCOM
• EJB – Enterprise Java Bean
 Là kiến trúc dùng bên phía máy chủ dùng cho việc triển khai các ứng dụng
phân tán hướng đối tượng cỡ vừa và lớn
 Kiến trúc EJB có 3 tầng với tầng đầu là tầng trình diễn, tầng thứ hai là tầng xử
lý nghiệp vụ, tầng thứ 3 là các tài nguyên như cơ sở dữ liệu máy chủ.
 EJB là một kiến trúc tốt cho tích hợp hệ thống vì nó độc lập trên nền tảng,
nhưng nó không phải là một chuẩn mở và khả năng giao tiếp với các chuẩn
khác còn hạn chế.
Khoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN
10
Kiến trúc SOA và giải pháp của Oracle
Hình 2: Mô hình tương tác của các đối tượng trong kiến trúc EJB
Tóm lại, các kiến trúc trên đều hướng đến vấn đề xây dựng kiến trúc hướng dịch vụ
nhưng chúng còn gặp phải một số vấn đề như:
Tigh coupling: kiến trúc triển khai cài đặt phía nhà cung cấp và phía sử dụng dịch vụ
phải giống nhau.

hình SOA có khả năng dễ mở rộng, liên kết tốt. Đây chính là điều kiện cơ sở, nền tảng
để tích hợp, tái sử dụng những tài nguyên hiện có.
Thật ra, tư tưởng về một kiến trúc hướng dịch vụ không phải là mới mà CORBA,
DCOM (mô hình của Microsoft), EJB (mô hình của java) đã thực hiện từ lâu, tuy nhiên
cách tiếp cận này còn gặp nhiều hạn chế (như đã nói ở trên). SOA không chỉ cải tiến
đáng kể mà còn đem đến nhiều ưu điểm nổi trội hơn
1.2.2.Các nguyên tắc chính của hệ thống SOA
Một hệ thống SOA phải đảm bảo đủ 4 nguyên tắc chính sau:
• Sự phân định rạch ròi giữa các dịch vụ
Do có sự tách biệt giữa thành phần giao tiếp và thành phần thực hiện dịch vụ
trong kiến trúc hướng dịch vụ.
Các dịch vụ này sẽ thực hiện quá trình tương tác chủ yếu thông qua thành phần
giao tiếp. Thành phần này sẽ quy định những dạng thông điệp trong quá trình trao đổi:
thông điệp nào sẽ được chấp nhận và thông điệp nào sẽ không được xử lý. Và đây chính
là cách duy nhất để các đối tượng bên ngoài có thể truy cập vào thông tin và chức năng
của dịch vụ. ta chỉ cần gửi thông điệp được định dạng đến trước để yêu cầu dịch vụ mà
không cần biết thông điệp đó sẽ được xử lý như thế nào.
• Các dịch vụ tự hoạt động
Các dịch vụ cần được triển khai và hoạt động như một thực thể độc lập mà không
phụ thuộc vào các dịch vụ khác.
Dịch vụ phải có tính bền vững cao, nghĩa là nó không bị sụp đổ khi có sự cố.
Để thực hiện điều này, các dịch vụ cần duy trì đầy đủ thông tin cần thiết cho quá
trình hoạt động của mình để có thể tiếp tục hoạt động trong trường hợp dịch vụ cộng tác
của nó bị hỏng, đồng thời sử dụng các biện pháp bảo mật để tránh các cuộc tấn công ồ
ạt từ bên ngoài vào như gửi thông điệp lỗi hoặc thông điệp ồ ạt.
Khoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN
13
Kiến trúc SOA và giải pháp của Oracle
Đây chính là ý nghĩa của khái niệm Loose coupling
• Các dịch vụ chia sẻ lược đồ

gọi là shared infrastructure service. Tái sử dụng dịch vụ loại bỏ thành phần trùng lặp,
tăng độ vững chắc trong cài đặt và đơn giản hoá việc quản trị
• Sử dụng dịch vụ bất đồng bộ
Phương thức triệu gọi bất đồng bộ như sau: bên gọi gửi một thông điệp với đầy
đủ thông tin ngữ cảnh tới bên nhận. Bên nhận xử lý thông tin và trả về kết quả cho bên
gọi thông qua một kênh thông điệp. Bên gọi không phải chờ cho đến khi thông điệp
được xử lý xong.
Phương thức đồng bộ:
Trên lý thuyết, SOA có thể sử dụng cả phương thức đồng bộ và bất đồng bộ.
• Quản lý các Policy
Khi sử dụng các dịch vụ trên mạng, tuỳ theo mỗi ứng dụng sẽ có một luật kết hợp
riêng gọi là các Policy. Việc quản lý các Policy tăng khả năng tạo ra các đặc tính tái sử
dụng dịch vụ vì các Policy được thiết kế tách biệt và tuỳ vào mỗi ứng dụng nên giảm tối
đa các thay đổi phần mềm đồng thời có thể chia các nhóm làm việc mà không cần phụ
thuộc vào nhau (nhóm phát triển phần mềm và nhóm điều hành,nhóm hỗ trợ).
• Coarse granularity
Khái niệm Granularity trong dịch vụ có thể hiểu theo 2 cách: trong phạm vi toàn
bộ kiến trúc của dịch vụ hoặc trong phạm vi từng phương thức của từng interface triển
khai. Mức độ granularity cũng có hai loại: coarse – grained (ví dụ dịch vụ cài đặt tất cả
các chức năng của một ngân hàng) và fined – grained (ví dụ dịch vụ chỉ hỗ trợ chức
năng rút tiền tự động…). Một hệ thống có chứa các đối tượng fined – grained thì phức
tạp hơn là hệ thống coarse – grained.
• Khả năng cộng tác
SOA nhấn mạnh đến khả năng cộng tác (interoperability), khả năng mà các hệ
thống khác nhau có thể giao tiếp trên nhiều nền tảng ngông ngữ khác nhau. Mỗi dịch vụ
Khoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN
15
Kiến trúc SOA và giải pháp của Oracle
cung cấp một interface có thể được triệu gọi thông qua một dạng kết nối. Một kết nối
gọi là interoperable chứa trong nó một giao thức và một định dạng dữ liệu mà mỗi


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status