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

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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài liệu tham khảo chuyên ngành tin học Nghiên cứu kiến trúc hướng dịch vụ (service-oriented architecture) và giải pháp của oracle

Kiến trúc SOA giải pháp của OracleTRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘIKHOA 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) GIẢI PHÁP CỦA ORACLEGIÁO VIÊN HƯỚNG DẪN: NGUYỄN MẠNH HÙNGSINH VIÊN THỰC HIỆN: PHÙNG THỊ THAOK54A-CNTT-ĐHSPHNHÀ NỘI, THÁNG 4 – 2008Khoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN1 Kiến trúc SOA giải pháp của OracleLời cảm ơnEm 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 chỉ bảo cho em trong suốt quá trình học tập 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 trang bị kiến thức cho em 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è 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 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ô các bạn tận tình đóng góp chỉ bảo để em hoàn thiện đề tài hơn nữaMột lần nữa em xin chân thành cảm ơn mong luôn nhận được tình cảm chân thành của tất cả mọi người.Hà Nội, tháng 4 năm 2008Sinh viên Phùng Thị ThaoKhoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN2 Kiến trúc SOA giải pháp của OracleMỤC LỤCChương 1: Tổng quan về SOA1.1.Thực trạng hiện tại một số mô hình trong hệ thống phân tán1.1.1.Thực trạng1.1.2.Một số mô hình trong hệ thống phân tán1.2.Giới thiệu kiến trúc hướng dich vụ SOA1.2.1.Kiến trúc hướng dịch vụ là gì?1.2.2.Các nguyên tắc chính của hệ thống SOA1.2.3.Các tính chất của hệ thống SOAKhoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN3 Kiến trúc SOA giải pháp của Oracle1.2.4.Lợi ích của SOA1.2.5.Kiến trúc phân tầng chi tiết của SOA1.2.6.Một số mô hình triển khai SOA1.3.Xây dựng một hệ thống SOA4.1. Chu trình phát triển của một hệ thống SOA4.2. Các kỹ thuật hỗ trợ4.3. Dịch vụ nguyên tắc thiết kế một dịch vụ1.4.Vấn đề bảo mật trong SOA4.1. Đặt vấn đề4.2. Giới thiệu một số kiến trúc hướng dịch vụ4.3. Giới thiệu một số chuẩn trong XML1.5.Vấn đề tích hợp trong SOA1.6.Quản lý tiến trình nghiệp vụ1.7.Kết luậnChương 2: Bộ giải pháp về SOA của Oracle2.1.Oracle SOA Suite hiện thực Web service với Jdeveloper2.2.Giới thiệu về SOA Suite2.2.1.Ứng dụng của SOA Suite2.2.2.Service Bus2.2.3.BPEL engine2.2.4.BPEL Designer2.3.Kết luậnChương 3: Thử nghiệm thực tế phần mềm BPEL của OracleThử nghiệm phần mềm SOA suite Khoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN4 Kiến trúc SOA giải pháp của OracleXâ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 chung4.1.Kết quả đạt được4.2.Hướng phát triểnPhụ lục tham khảoDanh sách hình Danh sách các thuật ngữ khái niệmKhoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN5 Kiến trúc SOA giải pháp của OracleLời mở đầuNgà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ới xu thế hội nhập chung của toàn thế giới, các tổ chức, doanh nghiệp cần bắt tay, phối hợp hoạt động chia sẻ tài nguyên với nhau để nâng cao hiệu quả hoạt động. Khi đó các sản phẩm sẽ ngày càng phức tạp, kéo theo chi phí sản xuất, quản lý bảo trì. Đặc biệt, ngành công nghệ phần mềm còn đối mặt với vấn đề hóc búa là bảo mật, tái sử dụng lại các hệ thống sẵn có, vấn đề không tương thích về hệ thống giữa các tổ chức hợp tác với nhau.Để giải quyết vấn đề trên người ta đã đưa ra nhiều giải pháp hiện nay, một giải pháp đang được quan tâm là kiến trúc hướng dịch vụ (Service Oriented Architecture – SOA). Các ứng dụng khi sử dụng dịch vụ này chỉ cần gửi thông điệp yêu cầu đến một dịch vụ (service) khác chờ nhận kết quả từ dịch vụ đó dịch vụ này không phụ thuộc vào môi trường hệ điều hành, ví dụ như các dịch vụ WEB hiện nay chẳng hạn, nó thể hiện rất rõ ý tưởng này. Công nghệ SOA giúp chúng ta trong việc phát triển các services này rất hiệu quả. Hiện nay nhiều công ty phần mềm lớn trên thế giới đều quan tâm phát triển hệ thống này ví dụ như Oracle, IBM, Microsoft,… Mong muốn tìm hiểu một cách khái quát về công nghệ SOA những lợi ích đạt được của kiến trúc này chính là lý do em thực hiện đề tài:Kiến trúc hướng dịch vụ (Service Oriented Architecture - SOA) giải pháp của Oracle.Khoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN6 Kiến trúc SOA giải pháp của OracleMục tiêu của đề tài: Gồm những vấn đề sau: 1. Đề tài tập trung vào việc nghiên cứu một cách tổng quan về SOA - Nghiên cứu cơ sở lý thuyết của kiến trúc SOA, các tính chất lợi ích của kiến trúc này.- Tìm hiểu những vấn đề liên quan đến xây dựng hệ thống SOA các nguyên tắc thiết kế hệ thống này.- Ứ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 Web Service- Khả năng tích hợp hệ thống 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 các thành phần liên quan.- Môi trường phát triển cách thiết kế, xây dựng ứng dụng, thực thi 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 SuiteKhoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN7 Kiến trúc SOA giải pháp của Oracle2. Chương 1: Tổng quan về SOA1.1 Thực trạng hiện tại một số mô hình trong hệ thống phân tán.1.1.1. Thực trạngPhần mềm ngày nay đang dần trở nên phức tạp 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 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 dự án dạng này.Vấn đề lập trình dư thừa tái sử dụng. Chẳng hạn, một doanh nghiệp có nhiều chi nhánh khác nhau, mỗi chi nhánh lại có một hệ thống tách biệt xây dựng ở những thời điểm khác nhau cần kết nối lại với nhau sẽ không tránh khỏi việc sử dụng dư thừa tài nguyên, dữ liệu không đồng nhất…Hầu như mọi tổ chức đều phải đối mặt với vấn đề tích hợp vì nhiều lí do như mở rộng thêm chi nhánh, thêm hệ thống bạn hàng mới, hoặc là cần kết nối các hệ thống có sẵn… Vấn đề kéo theo là chi phí thay đổi mã nguồn cũ, kiểm thử, bảo trì…Thực trạng này tạo thêm một áp lực nặng nề với các doanh nghiệp tổ chức, các nhà phát triển phần mềm.Khoá luận tốt nghiệp Phùng Thị Thao-K54A-CNTT-ĐHSPHN8 Kiến trúc SOA giải pháp của Oracle1.1.2. Một số mô hình trong hệ thống phân tánBa kiến trúc phân tán phổ biến nhất hiện nay là DCOM, CORBA EJB.Các kiến trúc này là sự mở rộng của hệ thống hướng đối tượng bằng cách cho phép phân tán các đối tượng trên mạng. Đối tượng đó có thể không nằm trong vùng không gian ứng dụng, hoặc nằm trên một máy khác không chứa ứng dụng nhưng vẫn được tham chiếu sử dụng như một phần ứng dụng.• CORBA - Common Object Request Broker Architecture CORBA được định nghĩa bởi Object Managerment Group (OMG), là một kiến trúc phân tán mở, độc lập nền tảng độc lập ngôn ngữ. CORBA Common Model (CCM) định nghĩa ra qui trình thiết kế, phát triển, đóng gói, triển khai thực thi các thành phần phân tán. CCM định nghĩa khái niệm Ports cho các thành tố. Các Ports này được dùng để kết nối các thành phần có sẵn với nhau, tạo các hệ thống phân tán phức tạp hơn. Ưu điểm của CORBA: có thể thoả mãn mọi ngôn ngữ, nền tảng phần cứng, giao thức mạng công nghệ để phát triển CORBA. Nhược điểm: là ngôn ngữ lập trình cấp thấp, khó học cần đội ngũ phát triển có kinh nghiệm. Các đối tượng CORBA khó có thể tái sử dụng.• 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 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 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ả 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-ĐHSPHN9 Kiến trúc SOA 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 windowsHì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 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ở 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-ĐHSPHN10 [...]... kiến trúc hướng dịch vụ. ” Khoá luận tốt nghiệp 11 Phùng Thị Thao-K54A-CNTT-ĐHSPHN Kiến trúc SOA giải pháp của Oracle 1.2.Giới thiệu kiến trúc hướng dich vụ SOA 1.2.1 .Kiến trúc hướng dịch vụ là gì Kiến trúc hướng dịch vụ (Service Oriented Architecture) là một hướng tiếp cận với việc thiết kế tích hợp các phần mềm, chức năng hệ thống theo dạng module, trong đó mỗi module đóng vai trò là một dịch. . .Kiến trúc SOA 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 phía sử dụng dịch vụ phải giống nhau Những chuẩn trên đa phần là... Thao-K54A-CNTT-ĐHSPHN Kiến trúc SOA giải pháp của Oracle Hình 3 Kiến trúc phân tầng của SOA • Tầng kết nối Mục đích của tầng kết nối là kết nối các ứng dụng enterprise hoặc tài nguyên bên dưới cung cấp chúng thành dạng những dịch vụ Tầng này là tầng chuyên giao tiếp với các nhà cung cấp, hoạt động như một bộ chuyển đổi (adapter) giữa các ứng dụng phi dịch vụ mạng các dịch vụ khác Tuỳ vào ứng dụng cụ... Thao-K54A-CNTT-ĐHSPHN Kiến trúc SOA 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 đồ Các dịch vụ nên cung cấp thành phần giao tiếp (Interface) của nó ra bên ngoài hỗ trợ chia sẻ các cấu trúc thông tin, các ràng buộc dữ liệu thông qua các lược đồ dữ liệu (Schema) chuẩn Như thế hệ thống sẽ có tính dễ liên kết dễ dàng mở rộng • Tính tương thích của các dịch vụ. .. trò vừa là những dịch vụ sử dụng, vừa là những dịch vụ cung cấp Những dịch vụ này sử dụng dịch vụ của tầng kết nối các dịch vụ orchestration khác để kết hợp những chức năng cấp thấp hơn thành những dịch vụ hoạt động ở cấp cao hơn, có hành vi gần với chức năng nghiệp vụ thực hơn  Simple composite service Là những dịch vụ đơn thuần kết hợp với những lời triệu gọi gọi tới các dịch vụ bên dưới, hoạt... giải pháp của Oracle cao nhưng hệ thống sẽ quá lỏng lẻo, cứng nhắc, không thích hợp với đặc trưng về tính đa dạng của các tài nguyên dịch vụ Trong hệ thống SOA, các dịch vụ ở tầng khác nhau sẽ đòi hỏi chính sách bảo mật khác nhau Ví dụ, một dịch vụ cần chứng thực theo tên, mật khẩu… • Khái niệm kiến trúc bảo mật hướng dịch vụ Mô hình SOSA không hướng đến việc thay thế hoàn toàn các kiến trúc bảo... một dịch vụ có chi phí thấp nhất kết nối đến nhà cung cấp dịch vụ đó dựa trên thông tin của entry mà registry tìm được để yêu cầu 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 để thực thi dịch vụ Bên sử dụng chỉ cần định dạng dữ liệu cần thiết theo mô tả của nhà cung cấp dịch vụ gửi đi Nhà cung cấp sẽ thực thi kiểm tra thẻ tín dụng và. .. các dịch vụ cấp thấp che dấu đi tính phức tạp với những người sử dụng dịch vụ ở tầng cao  Process service Là những dịch vụ định ra một tiến trình kết nối các dịch vụ ở cấp thấp hơn Điều này rất hữu dụng với việc thiết kế các dịch vụ kết nối đến nhiều hệ thống enterprise bên dưới sau đó thực thi như một tiến trình Khoá luận tốt nghiệp 20 Phùng Thị Thao-K54A-CNTT-ĐHSPHN Kiến trúc SOA giải pháp của. .. Các kiến trúc phân tán hướng đối tượng DOA (Distributed Object Architecture) sử dụng các công nghệ như là CORBA, DCOM, DCE Java RMI đang nhanh chóng chuyển sang các kiến trúc hướng dịch vụ (SOA) với những công nghệ mới như SOAP, HTTP, XML Việc thay đổi kiến trúc hệ thống như thế đã dẫn đến những thay đổi nhất định trong việc đưa ra các giải pháp cho vấn đề bảo mật của hệ thống Hầu hết các giải pháp. .. hợp vào sẽ vẫn duy trì tốt nhất đặc trưng này trong SOA Cho phép kiến trúc của ta có thể tích hợp với những giải pháp, sản phẩm về an toàn dữ liệu khác mà không phải bỏ ra chi phí quá cao Tại những vị trí quan trọng thì việc tích hợp, mở rộng hệ thống như giữa nhà cung cấp các đối tượng sử dụng dịch vụ; giữa nhà cung cấp dịch vụ cơ sở hạ tầng của kiến trúc bảo mật bên dưới; giữa những kiến trúc . SOA và giải pháp của Oracle1 .2.Giới thiệu kiến trúc hướng dich vụ SOA1.2.1 .Kiến trúc hướng dịch vụ là g Kiến trúc hướng dịch vụ (Service Oriented Architecture). Thao-K54A-CNTT-ĐHSPHN10 Kiến trúc SOA và giải pháp của OracleHình 2: Mô hình tương tác của các đối tượng trong kiến trúc EJBTóm lại, các kiến trúc trên đều hướng đến

Ngày đăng: 22/11/2012, 09:12

Hình ảnh liên quan

Hình 1: Mô hình tương tác của các đối tượng trong kiến trúc DCOM - Nghiên cứu kiến trúc hướng dịch vụ (service-oriented architecture) và giải pháp của oracle

Hình 1.

Mô hình tương tác của các đối tượng trong kiến trúc DCOM Xem tại trang 10 của tài liệu.
Hình 2: Mô hình tương tác của các đối tượng trong kiến trúc EJB - Nghiên cứu kiến trúc hướng dịch vụ (service-oriented architecture) 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 Xem tại trang 11 của tài liệu.
SOA có ba đối tượng chính minh hoạ trong hình sau: - Nghiên cứu kiến trúc hướng dịch vụ (service-oriented architecture) và giải pháp của oracle

c.

ó ba đối tượng chính minh hoạ trong hình sau: Xem tại trang 12 của tài liệu.
Ở tầng thấp nhất, tầng kết nối (Connectivity), những dịch vụ được mô hình hoá dựa trên những ứng dụng enterprise bên dướ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

t.

ầng thấp nhất, tầng kết nối (Connectivity), những dịch vụ được mô hình hoá dựa trên những ứng dụng enterprise bên dưới Xem tại trang 19 của tài liệu.
Hình 4: Cấu trúc phân tầng của Standard-based Security Info Exchange Platform - Nghiên cứu kiến trúc hướng dịch vụ (service-oriented architecture) và giải pháp của oracle

Hình 4.

Cấu trúc phân tầng của Standard-based Security Info Exchange Platform Xem tại trang 32 của tài liệu.
Hình 5. Mô hình kiến trúc SOA suite - Nghiên cứu kiến trúc hướng dịch vụ (service-oriented architecture) và giải pháp của oracle

Hình 5..

Mô hình kiến trúc SOA suite Xem tại trang 38 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan