BÁO CÁO TIỂU LUẬN NGUYÊN LÝ VÀ MÔ THỨC CÁC HỆ PHÂN TÁN Mô hình tính toán hướng dịch vụ Mô hình tính toán hướng dịch vụ (SOC) dùng để chỉ một tập các khái niệm, các nguyên lý và phương thức được đại diện để tính toán trong mô hình kiến trúc hướng dịch vụ (SOA), trong đó các ứng dụng phần mềm được xây dựng dựa trên các dịch vụ thành phần độc lập với một chuẩn giao diện .
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Viện Công Nghệ Thông Tin & Truyền Thông
-o0o -BÁO CÁO TIỂU LUẬN NGUYÊN LÝ VÀ MÔ THỨC CÁC HỆ PHÂN TÁN
Đề bài: 05 Mô hình tính toán hướng dịch vụ (SOC) Giảng viên: TS.Vũ Thị Hương Giang
Nhóm sinh viên thực hiện:
STT Mã học viên Họ và tên
1 CB120113 Phạm Tất Thành
2 CB120116 Nguyễn Xuân Thịnh
3 CB120097 Trần Văn Nậm
Lớp: 12BCNTT2
Hà nội 01/2013
Trang 2Mục lục
1 Giới thiệu Mô hình tính toán Hướng Dịch vụ (SOC) 4
1.1 SOC là gì? 4
1.2 SOC có gì mới so với những mô hình khác? 5
1.3 SOC được sử dụng trong những lĩnh vực nào? Những tổ chức nào đang sử dụng SOC? 7
1.3.1 SOC được sử dụng trong những lĩnh vực nào 7
1.3.2 Những tổ chức đang sử dụng SOC 7
2 Một số thuật ngữ thiết kế cơ bản 8
2.1 Design characteristic 8
2.2 Design Principle 9
2.3 Design Paradigm 10
2.4 Design Pattern 10
2.5 Design Pattern Language 11
2.6 Design Standard 12
3.1 Use Cases 13
3.1.1 Intraenterprise Interoperation 13
3.1.2 Interenterprise Interoperation 13
3.1.3 Application configuration 13
3.1.4 Dynamic selection 14
3.1.5 Software fault tolarance 14
3.1.6 Grid 14
3.1.7 Utility computing 14
3.1.8 Software development 14
3.2 Service Oriented Architecture 14
3.3 Service-Orientation 15
3.4 Service Oriented Solution Logic 15
3.5 Services 16
3.6 Service Compositions 16
Trang 33.7 Service Inventory 16
3.8 Tổng kết 17
4 Mục tiêu và lợi ích của SOC 18
4.1 Goals of Composition 18
4.2 Những lợi ích chính của SOC 18
5 Tài liệu tham khảo 19
Trang 4MÔ HÌNH TÍNH TOÁN HƯỚNG DỊCH VỤ
(SERVICE-ORIENTED COMPUTING)
1 Gi i thi u Mô hình tính toán H ới thiệu Mô hình tính toán Hướng Dịch vụ (SOC) ệu Mô hình tính toán Hướng Dịch vụ (SOC) ưới thiệu Mô hình tính toán Hướng Dịch vụ (SOC) ng D ch v (SOC) ịch vụ (SOC) ụ (SOC)
1.1 SOC là gì?
- Mô hình tính toán hướng dịch vụ (SOC) dùng để chỉ một tập các khái niệm, các nguyên lý và phương thức được đại diện để tính toán trong mô hình kiến trúc hướng dịch vụ (SOA), trong đó các ứng dụng phần mềm được xây dựng dựa trên các dịch vụ thành phần độc lập với một chuẩn giao diện
- SOC phân tách phát triển phần mềm thành ba bên độc lập: xây dựng ứng dụng (bởi các kỹ sư phần mềm), các nhà cung cấp dịch vụ (bởi các lập trình viên), và môi giới dịch vụ (bao gồm các tổ chức tiêu chuẩn, ngành công nghiệp máy tính, và chính phủ) Trong đó:
+ Xây dựng ứng dụng: Thay vì xây dựng phần mềm từ đầu bằng cách sử
dụng các cấu trúc ngôn ngữ lập trình cơ bản, những người xây dựng ứng dụng đại diện cho người sử dụng cuối cùng để xác định các ứng dụng logic trong một ngôn ngữ đặc tả cấp cao Xây dựng ứng dụng là các kỹ sư phần mềm phải là những người am hiểu sâu về kiến trúc phần mềm và lĩnh vực ứng dụng
+ Các nhà cung cấp dịch vụ: Họ sử dụng một ngôn ngữ lập trình truyền
thống như Java, C + +, hoặc C # để viết các thành phần của chương trình Tất
cả các thành phần sẽ được đóng gói cùng với một chuẩn giao diện, dịch vụ cuộc gọi, hoặc các dịch vụ Web nếu các dịch vụ có sẵn trên internet
+ Môi giới dịch vụ: Cho phép các dịch vụ được đăng ký và công bố cho truy
cập dùng chung Trợ giúp người xây dựng ứng dụng tìm hiểu các dịch vụ mà
họ cần
Trang 51.2 SOC có gì m i so v i nh ng mô hình khác? ới so với những mô hình khác? ới so với những mô hình khác? ững mô hình khác?
SOC được phát triển từ các mô hình tính toán hướng đối tượng Tuy nhiên, có
sự khác biệt đáng kể giữa hai mô hình (Hình 1.2).
Các đặc trưng Mô hình tính toán hướng
đối tượng
Mô hình tính toán hướng
dịch vụ
Phương pháp Phát triển ứng dụng bằng
cách xác định các lớp chặt chẽ Kiến trúc ứng dụng phân cấp dựa trên các mối quan hệ kế thừa
Phát triển ứng dụng bằng cách xác định các dịch vụ liên kết lỏng lẻo và tạo thành các ứng dụng có thể thực thi
Mức độ trừu
tượng hóa và
liên kết
Phát triển ứng dụng thường được giao cho một nhóm duy nhất chịu trách nhiệm cho toàn bộ vòng đời của ứng dụng Các nhà phát triển phải có kiến thức về lĩnh vực ứng dụng và lập trình
Phát triển được giao cho ba bên độc lập: xây dựng, nhà cung cấp dịch vụ và môi giới dịch vụ Xây dựng ứng dụng cần phải hiểu ứng dụng logic và có thể không biết các dịch vụ cá nhân được thực hiện như thế nào Các nhà cung cấp dịch vụ có thể lập trình nhưng không cần phải hiểu các ứng dụng sử dụng dịch
vụ của họ
Chia sẻ mã
nguồn và tái sử
dụng
Tái sử dụng mã nguồn thông qua kế thừa của các thành viên lớp và thông qua các hàm thư viện Các hàm thư viện phải được
Tái sử dụng mã nguồn ở cấp độ dịch vụ Dịch vụ có giao diện chuẩn và được công bố trên kho lưu trữ Internet Chúng độc lập với
Trang 6nhập tại thời gian biên dịch
và có nền tảng phụ thuộc
nền tảng và có thể được tìm kiếm và truy cập từ xa Dịch vụ môi giới cho phép chia sẻ hệ thống dịch vụ Ràng buộc động
và tái cấu hình
Gắn một tên cho một phương thức tại thời điểm chạy Phương thức phải có liên kết đến mã thực thi trước khi ứng dụng được triển khai
Ràng buộc một dịch vụ là yêu cầu dịch vụ đó tại thời điểm chạy Các dịch vụ có thể được phát hiện ra sau khi ứng dụng đã được triển khai Tính năng này cho phép một ứng dụng được tích hợp lại tại thời điểm chạy
Bảo trì hệ thống Người sử dụng cần thường
xuyên nâng cấp phần mềm của họ Ứng dụng sẽ được dừng lại để thực hiện việc nâng cấp
Mã dịch vụ cư trú trên máy tính của các nhà cung cấp dịch vụ Dịch vụ có thể được cập nhật mà không cần sự tham gia của người
sử dụng
(Hình 1.2 - Sự khác nhau giữa máy tính hướng đối tượng và hướng dịch vụ)
1.3 SOC đ ược sử dụng trong những lĩnh vực nào? Những tổ chức ử dụng trong những lĩnh vực nào? Những tổ chức ụng trong những lĩnh vực nào? Những tổ chức c s d ng trong nh ng lĩnh v c nào? Nh ng t ch c ững mô hình khác? ực nào? Những tổ chức ững mô hình khác? ổ chức ức nào đang s d ng SOC? ử dụng trong những lĩnh vực nào? Những tổ chức ụng trong những lĩnh vực nào? Những tổ chức
1.3.1 SOC đ ược sử dụng trong những lĩnh vực nào ử dụng trong những lĩnh vực nào ụ (SOC) c s d ng trong nh ng lĩnh v c nào ững lĩnh vực nào ực nào
SOC được sử dụng trong lĩnh vực dịch vụ, trong đó có lĩnh vực giáo dục đang được đặc biệt quan tâm Cụ thể, trong năm 2000, Microsoft đưa ra chương trình được thiết kế để dạy học với phần mềm Microsoft trong các trường học
Trang 7Nhiệm vụ đào tạo ở đây tập trung chủ yếu vào việc giảng dạy về mô hình lập trình mới (SOC)
Tương tự như vậy, IBM cũng đề nghị SOC như là một môn học mới (www.research.ibm.com / SSME) Trong năm 2006, hai trường đại học (Đại học California tại Berkeley và Đại học bang NC) đang bắt đầu với môn học SOC Có rất nhiều các nhà nghiên cứu từ Oxford, Stanford, Carnegie Mellon, UCLA, Northwestern, Harvard, Yale, Maryland cũng hoạt động trong môn học mới này IBM tài trợ các sáng kiến giáo dục và các hoạt động vì lĩnh vực dịch vụ sử dụng 75% lực lượng lao động Mỹ (www.research.ibm.com / SSME) và SOC là công nghệ tốt nhất cho lĩnh vực dịch vụ
1.3.2 Nh ng t ch c đang s d ng SOC ững lĩnh vực nào ổ chức đang sử dụng SOC ức đang sử dụng SOC ử dụng trong những lĩnh vực nào ụ (SOC)
Bao gồm tất cả các tập đoàn máy tính lớn, như BEA, IBM, Microsoft, Oracle,
HP, SAP, Intel, Cisco, Juniper, SAP, và Sun Microsystems, Bộ quốc phòng
mỹ (DoD) và NASA đã chuyển hướng tới mô hình SOC Các ngôn ngữ, các giao thức, và các chuẩn đã được phát triển để hỗ trợ và điều chỉnh ứng dụng SOC
Ngoài ra, bao gồm tất cả các ngân hàng (dịch vụ web ngân hàng), các nhà bán
lẻ (dịch vụ web mua sắm), các hãng hàng không (dịch vụ web đặt phòng), cơ quan du lịch (tổng hợp các dịch vụ web liên kết với các dịch vụ từ các hãng hàng không, khách sạn, cho thuê xe hơi, …vv…) Bao gồm các trường Đại học trên thế giới (ví dụ như Mỹ, Anh, Nhật Bản, Đức, Trung Quốc, và Singapore), như Đại học bang Arizona (ASU), hướng nghiên cứu tính toán của họ đối với ngôn ngữ mô hình dựa trên SOC, tạo mã tự động, xác minh dịch vụ, và xác nhận
2 M t s thu t ng thi t k c b n ột số thuật ngữ thiết kế cơ bản ố thuật ngữ thiết kế cơ bản ật ngữ thiết kế cơ bản ững lĩnh vực nào ết kế cơ bản ết kế cơ bản ơ bản ản
Trước khi đi vào tìm hiểu, trình bày SOC, đầu tiên chúng ta cần tìm hiểu một số thuật ngữ thiết kế cơ bản
Trang 82.1 Design characteristic
Design characteristic là đặc trưng thiết kế Đặc trưng của một đối tượng nào
đó ta cần quan tâm đến thuộc tính hoặc chất lượng Một giải pháp kinh doanh
tự động sẽ có đặc trưng độc đáo đã được tạo ra trong quá trình thiết kế ban đầu của nó (hình 2.1) Do đó, các loại đặc trưng thiết kế chúng ta quan tâm là một thuộc tính cụ thể hoặc chất lượng toàn bộ của một giải pháp
- Được cấu thành -Được cấu thành -Được cấu thành và phân tán
- Bộ nối chặt chẽ -Bộ nối chặt chẽ -Bộ nối lỏng lẻo
- Cơ sở dữ liệu chia sẻ -Cơ sở dữ liệu dành riêng -Cơ sở dữ liệu dành riêng
- Trạng thái vừa phải -Trạng thái cao -Trạng thái nhỏ nhất
-Mục tiêu tái sử dụng
(Hình 2.1)
Hướng dịch vụ nhấn mạnh việc tạo ra các đặc trưng thiết kế rất cụ thể, trong khi nhấn mạnh lại những vấn đề khác Điều quan trọng cần lưu ý rằng hầu hết các đặc trưng thiết kế chúng tôi tìm hiểu có thể đạt được đến một biện pháp nhất định Điều này có nghĩa rằng đó là thường không có một giải pháp logic hoặc không có một đặc trưng nào đó, nó gần như là luôn luôn về mức độ đặc trưng mà có thể hoặc nên được thực hiện
Mặc dù mỗi hệ thống có thể có những đặc trưng riêng của nó, chúng tôi chủ yếu quan tâm đến việc thiết lập các đặc trưng thiết kế thông thường
Trang 92.2 Design Principle
Design Principle là nguyên tắc thiết kế Nguyên tắc là một cái gì đó mà người khác đang làm hoặc kết hợp với một mục tiêu chung Khi nói đến giải pháp xây dựng, một nguyên tắc thiết kế đại diện cho một phương châm rất khuyến khích cho việc định hình logic giải pháp theo một cách nhất định và với một
số mục tiêu nhất định (Hình 2.2) Những mục tiêu này thường được kết hợp với việc thành lập một hoặc nhiều đặc trưng thiết kế cụ thể (như là kết quả
của việc áp dụng các nguyên tắc).
“Tăng cấp bộ nối lỏng lẻo”
(Hình 2.2)
Một nghiên cứu về những nguyên tắc này tiếp tục cho thấy những đặc trưng thiết kế các đơn vị này cần phải được phân loại là "chất lượng" dịch vụ có khả năng hoàn thành tầm nhìn và mục tiêu liên kết với SOA và mô hình tính toán hướng dịch vụ
2.3 Design Paradigm
Design Paradigm là mô hình thiết kế Có rất nhiều ý nghĩa gắn liền với thuật ngữ "mô hình" Nó có thể là một phương pháp tiếp cận đến một cái gì đó Một
mô hình thiết kế trong bối cảnh của nghiệp vụ tự động hóa thường được xem
Trang 10là một cách tiếp cận quản lý để thiết kế giải pháp Nó thường bao gồm một tập hợp các quy tắc bổ sung hoặc nguyên tắc chung xác định các phương pháp
tiếp cận tổng quát được đại diện bởi các mô hình (hình 2.3).
“áp dụng sự cân bằng về bộ nối lỏng lẻo và tái sử dụng…”
(Hình 2.3)
Hướng dịch vụ đại diện cho mô hình thiết kế độc đáo của riêng mình Giống như hướng đối tượng, nó là một mô hình áp dụng cho giải pháp phân tán logic Tuy nhiên, do một số nguyên tắc của nó khác nhau từ những người liên quan đến hướng đối tượng, nó có thể dẫn đến việc tạo ra các kiểu định nghĩa khác nhau của các đặc trưng thiết kế
2.4 Design Pattern
Design Pattern là mẫu thiết kế Mẫu mô tả một giải pháp chung đối với một vấn đề nào đó trong thiết kế thường được “lặp lại” trong nhiều dự án Nói một cách khác, một mẫu có thể được xem như một “khuôn mẫu” có sẵn áp dụng được cho nhiều tình huống khác nhau để giải quyết một vấn đề cụ thể Trong bất kỳ hệ thống phần mềm hướng đối tượng nào chúng ta cũng có thể bắt gặp các vấn đề lặp lại Một mẫu thiết kế mô tả một vấn đề phổ biến và cung cấp
một giải pháp tương ứng (hình 2.4).
Trang 11- Giải pháp tái sử dụng logic
dựa trên cơ sở dữ liệu chia
sẻ thực thi với thời gian đáp
ứng không phù hợp
- Nếu logic giải pháp đang được sử dụng lại, nếu cần phải
có một cơ sở dữ liệu chuyên dụng để tối đa hóa quyền tự chủ
(Hình 2.4 - Giảm truy cập từ bên ngoài đến một cơ sở dữ liệu để tăng quyền
tự chủ ứng dụng)
2.5 Design Pattern Language
Design Pattern Language là ngôn ngữ mẫu thiết kế Việc áp dụng một mẫu thiết kế có thể nâng cao các vấn đề mới hoặc những vấn đề mà mô hình khác
có thể được yêu cầu Một tập hợp các mẫu liên quan có thể thiết lập một biểu thức chính thức hóa của một quá trình thiết kế mà mỗi địa chỉ một điểm quyết định chính Kết hợp mô hình theo cách này hình thành cơ sở của một ngôn ngữ mô hình
Một ngôn ngữ mô hình cơ bản bao gồm một chuỗi các mẫu thiết kế liên quan đến thiết lập một trình tự cấu hình trong đó các mô hình có thể được áp dụng
(hình 2.5) Một ngôn ngữ như vậy cung cấp một phương tiện có hiệu quả cao
giao tiếp cơ bản các khía cạnh một cách tiếp cận thiết kế nhất định bởi vì nó cung cấp tài liệu hướng dẫn chi tiết từng bước trong quá trình thiết kế hình dạng đặc trưng thiết kế của giải pháp logic
Trang 12(Hình 2.5 - logic trong thiết kế ứng dụng B bị phân đôi như là kết quả của
một mô hình, và sau đó tiếp tục bị phân đôi như là một kết quả của người
khác Mô hình cơ bản sau đó tiếp tục thành hình logic)
2.6 Design Standard
Design Standard là chuẩn thiết kế Đối với một tổ chức để áp dụng thành công
mô hình thiết kế, nó sẽ đòi hỏi nhiều hơn tuân thủ các nguyên tắc thiết kế và kiến thức liên quan hỗ trợ các mẫu thiết kế Mỗi tổ chức sẽ có những mục tiêu chiến lược và các môi trường doanh nghiệp độc đáo Chúng tạo thành một tập hợp các yêu cầu và hạn chế cần phải được cung cấp trong thiết kế giải pháp riêng biệt
Chuẩn thiết kế (thường là bắt buộc) quy ước thiết kế tùy chỉnh để luôn định trước đặc điểm thiết kế giải pháp hỗ trợ các mục tiêu của tổ chức và tối ưu hóa cho môi trường doanh nghiệp cụ thể Nó thông qua việc sử dụng các
chuẩn thiết kế nội bộ luôn có thể cung cấp các giải pháp phù hợp (hình 2.6).
Trang 13(Hình 2.6 - Do tính bảo mật và sự riêng tư, yêu cầu trạng thái dữ liệu không
thể được chia sẻ trong một cơ sở dữ liệu riêng biệt)
3.1 Use Cases
3.1.1 Intraenterprise Interoperation
Tính toán theo định hướng dịchvụ cung cấp các công cụ để mô hình thông tin
và các mô hình liên quan, xây dựng các quy trình trên các trong hệ thống, xác nhận và bảo đảm các thuộc tính của giao dịch, thêm vào thành phần hỗ trợ quyết định linh hoạt, và các chức năng của các thành phần hệ thống phần mềm liên quan đến các tổ chức mà họ đại diện
3.1.2 Interenterprise Interoperation
Ngoài những lợi ích như Intraenterprise Interoperation thì tính toán hướng dịch vụ còn cung cấp khả năng cho các bên tương tác để tổ chức các hành vi của mình, qua đó có thể áp dụng các qui tắc tự trị địa phương và đạt được hiệu quả, chặt chẽ qua các qui trình của doanh nghiệp
3.1.3 Application configuration
Tính toán hướng dịch vụ cho phép tùy biến các ứng dụng mới bằng cách cung cấp một giao dịch dịch vụ Web đã loại bỏ các vấn đề của hệ thống messaging
và cung cấp một cơ sở ngữ nghĩa để tùy biến chức năng của ứng dụng