1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng mô hình hướng dịch vụ và điện toán đám mây xây dựng phần mềm quản lý điều hành tại viện kinh tế bộ xây dựng

18 272 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 395,53 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ứng dụng mô hình hướng dịch vụ và điện toán đám mây xây dựng phần mềm quản lý điều hành tại Viện Kinh Tế - Bộ Xây Dựng Nguyễn Hữu Cảnh Trường Đại học Công nghệ Luận văn Thạc sĩ ngành:

Trang 1

Ứng dụng mô hình hướng dịch vụ và điện toán đám mây xây dựng phần mềm quản lý điều hành tại Viện Kinh Tế - Bộ Xây Dựng

Nguyễn Hữu Cảnh

Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Hệ thống thông tin; Mã số: 60 48 05

Người hướng dẫn: PGS.TS Đoàn Văn Ban

Năm bảo vệ: 2012

Abstract: Chương 1.Trình bày mô hình điện toán đám mây: giới thiệu chung, kiến

trúc điện toán đám mây, một số mô hình điện toán đám mây, mô hình điện toán đám mây của Microsoft Window Azure, ưu và nhược điểm của điện toán đám mây Chương 2 Mô hình hướng dịch vụ: giới thiệu, kiến trúc mô hình (kiến trúc hướng dịch vụ) SOA, lợi ích và hạn chế của mô hình, kết luận Chương 3 Phân tích hệ thống quản

lý điều hành: phân tích yêu cầu, quy trình hoạt động, thiết kế hệ thống, kết luận Chương 4 Cài đặt, chạy thử nghiệm chương trình: cấu hình, cài đặt các công cụ, cài đặt phần mềm, các chức năng chính, kết luận, hướng phát triển Chương 5 Kết luận

Cài đặt hệ thống, hướng phát triển

Keywords: Công nghệ thông tin; Điện toán đám mây; Mô hình hóa hướng dịch vụ;

Phần mềm quản lý

Content

A GIỚI THIỆU LUẬN VĂN

Luận văn "Ứng dụng mô hình hướng dịch vụ và điện toán đám mây xây dựng phần mềm quản lý điều hành tại Viện Kinh Tế - Bộ Xây Dựng" trên cơ sở nghiên cứu các công nghệ điện toán đám mây và mô hình hướng dịch vụ thực hiện các nhiệm vụ:

 Nghiên cứu mô hình điện toán đám mây, tìm hiểu ưu, nhược điểm và ứng dụng của

mô hình

 Nghiên cứu mô hình hướng dịch vụ, tìm hiểu ưu, nhược điểm và ứng dụng của mô hình

 Đề xuất kiến trúc, công nghệ thích hợp cho việc phát triển các hệ thống thông tin sử dụng mô hình điện toán đám mây và mô hình hướng dịch vụ

 Xây dựng phần mềm thử nghiệm dịch vụ quản lý điều hành tại Viện Kinh Tế - Bộ Xây Dựng theo mô hình điện toán đám mây và mô hình hướng dịch vụ

Các kết quả nghiên cứu đã đạt được các kết quả như sau:

1 Về khoa học

Trang 2

1.1 Nghiên cứu tổng quan về mô hình điện toán đám mây, mô hình hướng dịch vụ và công nghệ nền để phát triển ứng dụng

1.2 Nghiên cứu đề xuất kiến trúc, công nghệ thích hợp cho việc phát triển ứng dụng:

 Đã nghiên cứu các công nghệ khác nhau, và đề xuất mô hình công nghệ nền tảng WINDOWS AZURE cho việc phát triển ứng dụng

Đã tiến hành thử nghiệm bằng chương trình Quản lý điều hành trên nền công nghệ

WINDOWS AZURE, sử dụng công cụ Visual Studio 2010

2 Về xây dựng phần mềm thử nghiệm

2.1 Khảo sát, phân tích và thiết kế phần mềm thử nghiệm Phần mềm quản lý điều hành

tại Viện kinh tế - Bộ Xây Dựng

 Đã thực hiện khảo sát phân tích và phân tích thiết kế chi tiết

2.2 Xây dựng phần mềm thử nghiệm

Đã xây dựng và thử nghiệm phần mềm Quản lý điều hành tại Viện kinh tế - Bộ Xây

Dựng

 Môi trường phát triển: Phần mềm thử nghiệm được phát triển trên công nghệ nền tảng WINDOWS AZURE bằng ngôn ngữ lập trình Java Script, ASP.NET, NET Framwork 4.0, công cụ phát triển Visual Studio 2010 Web Server sử dụng dịch vụ WINDOWS AZURE, Database Server sử dụng dịch vụ SQL AZURE

B TÓM TẮT LUẬN VĂN

Nội dung của Báo cáo “Ứng dụng mô hình hướng dịch vụ và điện toán đám mây xây

dựng phần mềm Quản trị điều hành tại Viện kinh tế - Bộ Xây Dựng” gồm các phần:

 Giới thiệu

 Mở đầu

 Giới thiệu nội dung báo cáo

 Một số ký hiệu sử dụng trong tài liệu

 Chương 1 Mô hình điện toán đám mây

 Giới thiệu chung

 Kiến trúc điện toán đám mây

 Một số mô hình điện toán đám mây

 Mô hình điện toán đám mây của Microsoft Window Azure

 Kết luận

 Chương 2 Mô hình hướng dịch vụ

 Giới thiệu

 Kiến trúc mô hình

 Lợi ích và hạn chế của mô hình

 Kết luận

 Chương 3 Phân tích hệ thống quản lý điều hành

 Phân tích yêu cầu

Trang 3

 Quy trình hoạt động

 Thiết kế hệ thống

 Kết luận

 Chương 4 Cài đặt, chạy thử nghiệm chương trình

 Cấu hình, cài đặt các công cụ, cài đặt phần mềm

 Các chức năng chính

 Kết luận

 Hướng phát triển

Trang 4

CHƯƠNG 1 MÔ HÌNH ĐIỆN TOÁN ĐÁM MÂY

1.1 Tổng quan về mô hình điện toán đám mây

1.1.1 Giới thiệu chung

Điện toán đám mây (Cloud computing), còn gọi là điện toán máy chủ ảo, là mô hình tính toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet

Thuật ngữ "cloud computing" ra đời giữa năm 2007 không phải để nói về một trào lưu mới, mà để khái quát lại các hướng phát triển của cơ sở hạ tầng CNTT vốn đã và đang diễn ra

từ những năm qua Quan niệm này có thể được diễn giải một cách đơn giản: các nguồn tính toán khổng lồ như các phần cứng (máy chủ ), phần mềm , và các dịch vụ (chương trình ứng dụng), sẽ nằm tại các máy chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình

và văn phòng (trên mặt đất) để mọi người kết nối và sử dụng mỗi khi họ cần Nói cách khác, ở

mô hình tính toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp

dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ công nghệ thông tin từ

một nhà cung cấp nào đó "trong đám mây" mà không cần phải biết về công nghệ đó, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó [1]

Theo tổ chức Xã hội máy tính IEEE, “Điện toán đám mây là hình mẫu trong đó thông tin

được lưu trữ thường trực tại các máy chủ trên Internet và chỉ được được lưu trữ tạm thời ở các máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính trong doanh nghiệp, các phương tiện máy tính cầm tay, " [1].

1.1.2 Phân tích, so sánh với các mô hình điện toán khác

Điện toán đám mây xuất hiện bắt nguồn từ ứng dụng điện toán lưới (grid computing) trong thập niên 1980, tiếp theo là điện toán theo nhu cầu (utility computing) và phần mềm dịch vụ (SaaS)

1.1.2.1 Tính toán lưới (Grid computing)

Theo trung tâm nghiên cứu IBM thì "Tính toán lưới là một loại hệ thống phân tán, bố trí

song song, cho phép linh hoạt chia sẻ, tuyển lựa và tập hợp các nguồn tài nguyên độc lập và rải rác về địa lý, tùy theo khả năng sẵn có, công suất, hoạt động, chi phí và yêu cầu về chất lượng dịch vụ của người sử dụng"[2]

Tính toán lưới có nghĩa là tất cả hoặc một phần của một nhóm máy tính, máy chủ và thiết

bị lưu trữ trong mạng doanh nghiệp, được “ảo hóa” (virtualize) thành một cỗ máy tính lớn Vì tính toán lưới giải phóng những khả năng tính toán không được sử dụng vào một thời điểm bất kỳ, chúng có thể cho phép các doanh nghiệp tăng cường rất nhiều về tốc độ, sức mạnh xử

lý thông tin và sự liên kết, thúc đẩy các quy trình tính toán mật độ cao Trong khi đó, chi phí vẫn sẽ được giữ ở mức thấp vì tính toán lưới có thể được xây dựng từ chính hạ tầng hiện có, góp phần đảm bảo sự huy động tối ưu các khả năng tính toán

Tính toán lưới cho phép ảo hóa các chức năng tính toán phân tán cũng như các nguồn xử

lý, băng thông mạng và khả năng lưu trữ, để từ đó tạo ra một hệ thống đơn đồng nhất, cho phép người sử dụng và các ứng dụng truy cập thông suốt vào các tính năng điện toán rộng lớn Giống như người lướt web xem một nội dung thống nhất qua web, người sử dụng tính toán lưới cũng nhìn thấy một máy tính ảo cực lớn duy nhất

1.1.2.2 Phần mềm hoạt động như dịch vụ (SaaS - Software as a Service)

Phần mềm hoạt động hướng dịch vụ hoặc gọi tắt là Phần mềm dịch vụ, là mô hình triển

khai phần mềm, một nhánh của điện toán đám mây, theo đó các nhà cung cấp phần mềm như

là các dịch vụ theo yêu cầu cho khách hàng Theo định nghĩa của hãng nghiên cứu toàn

Trang 5

cầu IDC là: "phần mềm hoạt động trên web, được quản lý bởi nhà cung cấp và cho phép

người sử dụng truy cập từ xa"[3]

1.1.2.3 Tính toán theo yêu cầu (Utility Computing)

Tính toán theo yêu cầu đặt trọng tâm vào mô hình nghiệp vụ và dựa vào đó để cung cấp các dịch vụ tính toán Nói một cách đơn giản , dịch vụ tính toán là những gì mà người sử dụng nhận được các tài nguyên tính toán từ các nhà cung cấp dịch vụ (bao gồm phần cứng và phần mềm) và thanh toán cho những phần đã dùng (“pay by the drink”), giống như việc sử dụng dịch vụ điện dân dụng trong các gia đình

Tất cả các tài nguyên tính toán được cung cấp cho khách hàng đều dưới dạng các dịch vụ theo yêu cầu, bao gồm phần cứng (HaaS - Hardware as a Service), cơ sở hạ tầng (IaaS - Infrastructure as a service) và nền (PaaS- Platform as a Service) tất cả đều được cung cấp như

là các dịch vụ[4]

1.1.2.4 Dịch vụ web (Web service)

Dịch vụ web là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở dữ liệu và các mạng máy tính để tạo thành một cơ cấu tính toán ảo mà người sử dụng có thể làm việc thông qua các trình duyệt Bản thân các dịch vụ này sẽ chạy trên các máy phục vụ trên nền Internet chứ không phải là các máy tính cá nhân, do đó có thể chuyển các chức nǎng từ máy tính cá nhân lên Internet

Người sử dụng phần mềm yêu cầu các dịch vụ (Service Requester) thông qua SOAP (Simple Object Access Protocol) và chuyển các yêu cầu đó cho bộ phận môi giới Service Broker thông qua WSDL (Web Services Description Language)

1.1.2.5 Nền tảng hướng một dịch vụ (PaaS - Platform as a Service)

Đây cũng là một biến thể của SaaS nhưng mô hình này là một nhánh của điê ̣n toán đám mây (cloud computing), mang đến môi trường phát triển như một dịch vụ: người sử dụng xây dựng ứng dụng chạy trên cơ sở hạ tầng của nhà cung cấp và phân phối tới người sử du ̣ng thông qua máy chủ của nhà cung cấp đó Người sử dụng sẽ không hoàn toàn được tự do vì bị ràng buộc về mă ̣t thiết kế và công nghệ Một số ví dụ điển hình về PaaS là Force.com của Salesforce.com, Google App Engine, Yahoo Pipes …

1.1.2.6 Cung cấp di ̣ch vụ quản lý (MSP - Managed Service Provider)

MSP là hình thức tính toán theo kiểu điê ̣n toán đám mây (cloud computing) lâu đời nhất -

là ứng dụng chủ yếu dành cho giới chuyên môn hơn là người sử du ̣ng cuối , chẳng hạn dịch vụ quét virus cho e-mail hay chương trình quản lý desktop Một số nhà cung cấp nổi tiếng là SecureWorks, IBM, Verizon hay Everdream

1.1.2.7 Điện toán tích hợp Internet (Internet integration)

Quá trình kết hợp các "đám mây" xuất hiện trên Internet mới đang ở giai đoạn đầu

Tóm lại, điện toán đám mây bao gồm cả SaaS và tính toán theo yêu cầu

Trong cuộc sống của chúng ta, mọi thứ mà chúng ta cần thiết đều có thể được cung cấp như là các dịch vụ như trong mô hình điện toán đám mây dưới đây

1.2 Kiến trúc điện toán đám mây

1.2.1 Mô hình kiến trúc tổng quát

Phần lớn hạ tầng cơ sở của điện toán đám mây hiện nay là sự kết hợp của những dịch vụ đáng tin cậy được phân phối thông qua các trung tâm dữ liệu (data center) được xây dựng trên những máy chủ với những cấp độ khác nhau của các công nghệ ảo hóa Những dịch vụ này có

Trang 6

thể được truy cập từ bất kỳ đâu trên thế giới, trong đó Đám mây là một điểm truy cập duy nhất cho tất cả các máy tính có nhu cầu của khách hàng Các dịch vụ thương mại cần đáp ứng yêu cầu chất lượng dịch vụ từ phía khách hàng và thông thường đều đưa ra các mức thỏa thuận dịch vụ (Service level agreement) Các tiêu chuẩn mở (Open standard) và phần mềm mã nguồn mở (open source software) cũng góp phần phát triển điện toán đám mây

1.2.2 Các thành phần của điện toán đám mây

Điện toán đám mây có thể chuyển đổi các chương trình ứng dụng diện rộng theo kiến trúc và phân phối các dịch vụ Trong nhiều thập kỷ qua, các hãng CNTT đã dành nhiều công sức, thời gian và các tài nguyên để xây dựng cơ sở hạ Phần lớn các trường hợp theo cách tiếp cận đó dẫn đến kết quả:

- Cơ sở hạ tầng (Infrastructure)

- Lưu trữ đám mây (Cloud Storage)

- Nền tảng đám mây (Cloud Platform)

- Ứng dụng (Application)

- Dịch vụ (Services)

- Khách hàng (Client)

1.2.2.1 Các tầng kiến trúc của điện toán đám mây

Theo kiến trúc do Sun đề xuất, điện toán đám mây cung cấp các dịch vụ ở tất cả các tầng,

từ phần cứng tới các phần mềm như trong hình sau

Cơ sở hạ tầng của điện toán đám mây gồm 6 tầng kiến trúc:

- Các máy chủ thực (Physical Servers)

- Các máy chủ ảo (Virtual Servers)

- Hệ điều hành (Operating System)

- Phần mềm trung gian (Middleware)

- Các chương trình ứng dụng (Applications)

- Các dịch vụ (Servers)

Các dịch vụ có thể chia thành 3 lớp chính: Phần mềm dịch vụ (software as a service), nền dịch vụ (platform as a service), và cơ sở hạ tầng dịch vụ (infrastructure as a service) Các lớp này có thể tập hợp thành các tầng kiến trúc khác nhau, có thể chồng chéo, gối nhau

1.3 Một số mô hình điện toán đám mây

1.3.1 Mô hình kiến trúc điện toán đám mây của IBM

Máy chủ của IBM sử dụng bộ xử lý Intel thế hệ mới và Phần mềm mới cho Trung tâm

Dữ liệu (Data Center – System x) Với năng lực mở rộng có khả năng hỗ trợ tới 96 lõi xử lý

và 1 TB bộ nhớ, các máy chủ System x của IBM sẽ bổ sung cho dòng sản phẩm VMware vSphere thế hệ mới IBM sắp phát hành Chúng là một lựa chọn tuyệt vời dành cho các khách hàng đang triển khai những môi trường điện toán đám mây

1.3.2 Mô hình kiến trúc điện toán đám mây Window Azure của Microsoft

Trang 7

Azure, hệ điều hành “đám mây” được Microsoft giới thiệu vào cuối tháng 10 tại hội nghị PDC 2008 Internet sẽ là phương thức chính để người dùng truy xuất dữ liệu trong những nền tảng điện toán đám mây

1.3.2.1 Windows Azure

Windows Azure, tên mã Red Dog, là nền tảng cho việc phát triển những ứng dụng hoạt động trong “đám mây” Nói cách khác, Windows Azure là cơ sở cho nền tảng các dịch vụ Azure (Azure Services Platform), được Microsoft phát triển nhằm mang đến cho cộng đồng các nhà phát triển ứng dụng cơ hội được xây dựng và cung cấp các dịch vụ trực tuyến trên nền tảng cơ sở hạ tầng Windows

Windows Azure tách biệt hoàn toàn các ứng dụng chạy trên các lớp hệ điều hành ứng dụng công nghệ ảo hóa của Microsoft Điều này cho phép các nhà quản trị không cần phải nâng cấp từng PC độc lập khi ứng dụng được chỉnh sửa

1.3.2.2 Nền tảng dịch vụ (Azure Services Platform)

Nền tảng dịch vụ là một giải pháp hoàn thiện cho các doanh nghiệp Microsoft sẽ lưu trữ

các ứng dụng được xây dựng từ các hãng thứ ba cũng như những dịch vụ Web của chính Microsoft như là Office Live, Windows Live, Exchange Online, CRM Online, … Kết hợp chặt chẽ NET Services (cho lập trình viên), SQL Services (cho cơ sở dữ liệu và báo biểu), Live Services (cho việc tương tác với các thiết bị người dùng) vào trong các dịch vụ SharePoint và CRM (cho nội dung doanh nghiệp)

Điểm khác biệt giữa Azure và Azure Services Platform: Windows Azure là một hệ điều hành còn Azure Services Platform là một sự kết hợp của Azure, lớp các dịch vụ cơ sở hạ tầng

và lớp ứng dụng trực tuyến

1.3.2.3 Fabric Controller

Fabric Controller là “gia vị” chủ chốt của Windows Azure, đảm nhiệm chức năng quản lý

“vòng đời” của tất cả dịch vụ trực tuyến được triển khai Công cụ này giúp tổ chức và tập trung quản lý tại trung tâm dữ liệu theo mô hình chia sẻ nguồn tài nguyên phần cứng Điều này cho phép Azure tự động cập nhật ứng dụng chứ không cần phải cập nhật trực tiếp trên từng PC độc lập

1.3.2.4 Windows Azure với người sử du ̣ng và lập trình viên

Lập trình viên có thể xây dựng các ứng dụng mới hoặc hiệu chỉnh các ứng dụng hiện tại cho Windows Azure bằng những công cụ hiện có như Visual Studio, ASP.Net, NET Framework và cập nhật thêm một vài công nghệ mới mà Microsoft sẽ phổ biến trong thời gian sắp tới .NET Services và SQL Services sẽ cung cấp những khả năng “hướng đám mây” mới

và Azure Tool cho Visual Studio, cung cấp các mẫu (template) làm nền tảng xây dựng (Azure SDK) Ngoài ra, công cụ “Oslo” mới từ Microsoft sẽ trợ giúp với các ứng dụng phân phối kiểu mẫu bao gồm một ngôn ngữ lập trình mới với tên gọi “M.” Azure cũng sẽ hỗ trợ các công cụ và ngôn ngữ thứ ba như Eclipse, Ruby, PHP và Python cũng như các tiêu chuẩn và cổng như SOAP, REST hay XML

1.4 Điện toán đám mây - hạ tầng cơ sở và ứng dụng

Từ góc nhìn bên ngoài, Điện toán đám mây đơn giản chỉ là việc di trú tài nguyên tính toán (Computing resources) và lưu trữ từ doanh nghiệp vào “đám mây” trên Internet Người dùng (Computing Users) chỉ định yêu cầu tài nguyên và nhà cung cấp đám mây (cloud provider) hầu như tập hợp các thành phần ảo này trong hạ tầng của nó [5]

Ưu điểm mới của cloud computing là khả năng ảo hóa và chia sẻ tài nguyên giữa các ứng dụng

Trang 8

1.5 Phân tích ƣu và nhƣợc điểm của điện toán đám mây

1.5.1 Các lợi ích chính của điện toán đám mây

- Giảm thời gian thực hiê ̣n và thời gian ph ản hồi

- Giảm thiểu rủi ro cơ sở hạ tầng

- Hạ giá đầu vào

- Tăng cường các cải tiến

1.5.2 Các hạn chế của điện toán đám mây

Bên cạnh những lợi ích như đã phân tích ở trên, điện toán đám mây chắc chắn còn rất mới mẻ và có những điều hạn chế không tránh khỏi

- Những lo ngại về an ninh, bảo mật thông tin

- Hiệu suất hoạt động của các ứng dụng

- Nỗi lo mất kiểm soát

- Cơ sở pháp lý

- Người dùng sẽ bị phụ thuộc vào công nghệ mà nhà cung cấp đưa ra cho họ

1.6 Kết luận

Công nghệ điện toán đám mây là kết quả tất yếu của cả quá trình phát triển các công nghệ trong hơn 30 năm qua Điện toán đám mây căn bản là sự kết hợp của điện toán lưới (grid computing) và SaaS, chủ yếu là xử lý dữ liệu thô Kết quả điện toán đám mây thực chất là ảo hóa mạng Với điện toán đám mây, khách hàng có thể chạy ứng dụng trên hạ tầng cơ sở của nhà cung cấp Về phần mình, các nhà cung cấp dịch vụ phải đảm bảo khả năng phân bổ tải (workload) một cách linh hoạt cho máy chủ khi khách hàng truy cập vào để chạy các ứng dụng Bằng cách này, các nhà cung cấp tối đa hóa khả năng tính toán của hệ thống và cho phép khách hàng yêu cầu nhiều hơn Đây là điểm mấu chốt của điện toán đám mây, cho dù Blue Cloud của IBM hay EC2 của Amazon, thì mục tiêu chính đều là khả năng mở rộng nhanh các khả năng tính và hiệu quả

Với điện toán đám mây, các dịch vụ sẽ được cung cấp theo 4 hướng: Phần mềm hướng dịch vụ (SaaS); Hạ tầng hướng dịch vụ (IaaS); Nền tảng hướng dịch vụ (PaaS); và Dữ liệu hướng dịch vụ (DaaS) Dịch vụ đám mây sẽ mang lại rất nhiều lợi ích cho doanh nghiệp, chẳng hạn như sử dụng dịch vụ nhanh chóng, quy mô triển khai lớn, giá thành thấp, cơ chế giá

cả hợp lý và linh hoạt

Trang 9

CHƯƠNG 2 MÔ HÌNH HƯỚNG DỊCH VỤ

2.1 Tổng quan về mô hình hướng dịch vụ

2.1.1 Khái niệm

Mô hình hướng dịch vụ (Service Oriented Architechture –SOA) là một khái niệm về kiến trúc hệ thống nhằm đem lại một cách thuận tiện nhất những chức năng nghiệp vụ, hoặc là những quy trình ứng dụng, tới người sử dụng dưới dạng các dịch vụ hoạt động trên môi trường mạng có khả năng chia sẻ và sử dụng lạị Dịch vụ ở đây được hiểu là những mô-đun nghiệp vụ hoặc chức năng ứng dụng với giao diện được thiết kế theo quy định và được tương tác bằng cách gửi nhận thông điệp[6]

2.1.2 Kiến trúc mô hình hướng dịch vụ

Kiến trúc hướng dịch vụ (SOA) là một hướng tiếp cận với việc thiết kế và 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 vụ có tính loose coupling”, và có khả năng truy cập thông qua môi trường mạng Hiểu một cách đơn giản thì một hệ thống SOA là một tập hợp các dịch vụ được chuẩn hóa trên mạng trao đổi với nhau trong ngữ cảnh một tiến trình nghiệp vụ

Trong SOA có ba đối tượng chính

Hình 2.1 Sơ đồ cộng tác trong SOA

Nhà cung cấp di ̣ch vu (service provider) cần cung cấp thông tin về dịch vụ của mình cho

một dịch vụ lưu trữ thông tin(service registry) Người sử dụng (service consumer ) thông qua

service registry sẽ tìm kiếm thông tin mô tả về dịch vụ cần tìm và sau đó là xây dựng kênh giao tiếp với phía nhà cung cấp

- SOA cung cấp giải pháp để giải quyết các vấn đề tồn tại của các hệ thống hiện nay như: sự phức tạp , không linh hoạt và không ổn định Một hệ thống triển khai theo mô hình SOA có khả năng mở rộng , liên kết tốt Đây chính là cơ sở và nền tảng cho việc tích hợp , tái

sử dụng lại những tài nguyên hiện có của hê ̣ thống

2.2 Các tính chất của một hệ thống hướng dịch vụ

2.2.1 Liên kết lỏng (Loose coupling)

Mọi kiến trúc phần mềm đều hướng đến liên kết lỏng giữa các module Mức độ kết dính của mỗi hệ thống ảnh hưởng trực tiếp đến khả năng chỉnh sửa và mở rộng của chính nó Kết dính càng chặt bao nhiều thì càng có nhiều thay đổi liên quan cần chỉnh sửa ở phía sử dụng dịch vụ mỗi khi có sự thay đổi nào đó xảy ra

Trang 10

SOA hỗ trợ liên kết 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 truy vấn đến nơi lưu trữ và cung cấp thông tin dịch vụ (registry)

để lấy thông tin về loại dịch vụ cần sử dụng Registry sẽ trả về tất cả các dịch vụ thỏa tiêu chuẩn tìm kiếm Người dùng chỉ cần 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ừ registry Bên sử 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ợ

2.2.2 Sử dụng lại dịch vụ

Bởi vì các dịch vụ được cung cấp trên mạng 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 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 trung lắp và tăng độ vững chắc trong cài đặt, nó còn giúp đơn giản hóa việc quản trị

2.2.3 Sử dụng dịch vụ bất đồng bộ

Trong phương thức triệu gọi dịch vụ bất đồng bộ, 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ả kết quả về thông tin qua một

“kênh thông điệu”, bên gọi không phải chờ cho đến khi thông điệp được sử lý xong Do bên gọi không phải chờ cho đến khi yêu cầu được xử lý xong và trả về nên không bị ảnh hưởng bởi việc xử lý trễ và lỗi khi thực thi các dịch vụ bất động, bất đồng bộ

2.2.4 Quản lý các chính sách

Khi sử dụng các dịch vụ chia sẻ trên mạng, tùy theo mỗi ứng dụng sẽ có một luật kết hợp riêng gọi là policy Các policy cần được quản lý các áp dụng cho mỗi dịch vụ cả khi thiết kế lẫn thực thi trong thời gian thực thi

2.2.5 Khả năng cộng tác

Kiến trúc hướng dịch vụ nhấn mạnh đến khả năng cộng tác, khả năng mà các hệ thống có thể giao tiếp với nhau trên nhiều nền tảng và ngôn ngữ khác nhau Mỗi dịch vụ cung cấp một interface có thể được triệu gọi qua một dạng kết nối

2.2.6 Tự động dò tìm và ràng buộc động

SOA hỗ trợ khái niệm về truy tìm dịch vụ (service discovery) 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 các số tiêu chuẩn khi cần Người sử dụng chỉ cần hỏi một registry về dịch vụ nào thỏa yêu cầu tìm kiếm Registry trả về một tập các entry thỏa yêu cầu

2.2.7 Tự hồi phục

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ỗi hệ thống tự hồi phục (self- healing) là một hệ thống có khả năng tự hồi phụ sau khi bị lỗi mà không cần sự can thiệt của cong người

2.3 Lợi ích và hạn chế của việc sử dụng mô hình SOA

2.3.1 Lợi ích

Việc sử dụng mô hình hướng dịch vụ SOA đem lại các lợi ích sau:

- Cho phép hướng sự tập trung vào xây dựng các tính năng nghiệp vụ trong quá trình phát triển phần mềm

Giảm thiểu chi phí trong quá trình phát triển

Ngày đăng: 25/08/2015, 13:26

HÌNH ẢNH LIÊN QUAN

Hình 2.1. Sơ đồ cộng tác trong SOA - Ứng dụng mô hình hướng dịch vụ và điện toán đám mây xây dựng phần mềm quản lý điều hành tại viện kinh tế   bộ xây dựng
Hình 2.1. Sơ đồ cộng tác trong SOA (Trang 9)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w