Sự phát triển của các hệ thống phức hợp và nhu cầu về một Nền cung cấp dịch vụ Chương này sẽ giới thiệu tổng quan về kiến trúc hướng dịch vụ và các nền tảng tíchhợp, chuyển giao dịch vụ.
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN
──────── * ───────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
TÌM HIỂU CÔNG NGHỆ MICROSOFT CONNECTED SERVICES FRAMEWORK XÂY DỰNG GIẢI PHÁP THỰC HIỆN TÍCH HỢP HỆ THỐNG CUNG CẤP DỊCH VỤ
Sinh viên thực hiện : Phạm Xuân Toàn
Giáo viên hướng dẫn: PGS TS Huỳnh Quyết Thắng
Hà nội, tháng 6 - 2008
Trang 2PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Mục đích nội dung của ĐATN
Tìm hiểu nghiên cứu Nền cung cấp dịch vụ và các vấn đề liên quan Đồng thời tìm hiểu vềMicrosoft Connected Services Framework – một Nền cung cấp dịch vụ phát triển bởi hãngMicrosoft, từ đó nghiên cứu đưa ra giải pháp và xây dựng thử nghiệm hệ thống tích hợpứng dụng cho hệ thống, giải pháp lưu trữ và hỗ trợ cộng tác trực tuyến (Hosted messagingand collaboration)
2 Các nhiệm vụ cụ thể của ĐATN
– Phân tích đánh giá sự phát triển của Kiến trúc hướng dịch vụ và nhu cầu về Nềncung cấp dịch vụ
– Nghiên cứu về Nền cung cấp dịch vụ: về mặt Kiến trúc tổng quan, công nghệ sửdụng
– Tìm hiểu, nghiên cứu bài toán Lưu trữ và hỗ trợ cộng tác trực tuyến từ đó đềxuất giải pháp tích hợp ứng dụng
– Thiết kế, xây dựng và triển khai thử nghiệm giải pháp trên
3 Lời cam đoan của sinh viên:
Tôi - PHẠM XUÂN TOÀN cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới
sự hướng dẫn của thầy giáo PGS TS Huỳnh Quyết Thắng
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳcông trình nào khác
Hà Nội, ngày 17 tháng 05 năm 2008
Tác giả ĐATN
Phạm Xuân Toàn
4 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảovệ:
Hà Nội, ngày tháng 05 năm2008
Giáo viên hướng dẫn
PGS TS Huỳnh Quyết Thắng
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Trang 3Kiến trúc hướng dịch vụ đưa ra một cách tiếp cận mềm dẻo và hiểu quả cho vấn đề tíchhợp hệ thống hơn các Kiến trúc công nghệ thông tin truyền thống Kiến trúc hướng dịch vụ
là nền tảng cơ bản sử dụng trong ngành công nghiệp viễn thông cũng như kiến trúc của cácphần mềm trung gian (mildware) trong thời gian tới Ở khía cạnh này, nó là được xem xétnhư là một sự hội tụ về mặt công nghệ, giao thức và kiến trúc đem lại nhiều lợi ích cho cácdoanh nghiệp
Thực tế để duy trì và nâng cao cạnh tranh, các doanh nghiệp ngày càng phải đưa ra nhiềudịch vụ mới một cách nhanh nhất, có tính chất phức hợp (có sự kết hợp của nhiều yếu tốkhác nhau), ví dụ như tin nhắm đa phương tiện, Internet TV, các dịch vụ hỗ trợ, cộng táctrực tuyến Tuy nhiên để làm được như vậy, các doanh nghiệp gặp rất nhiều khó khăn Cáckhó khăn đó xuât phát từ nhiều yếu tố khác nhau, vè mặt hệ thống tin học, trở ngại lớn nhất
là sự rời rạc, thiếu tính liên kết giữa cá ứng dụng Kiến trúc hướng dịch vụ được xem xétnhư là một giải pháp hội tụ - một nền tảng qua đó giúp doanh nghiệp giải quyết các khókhăn này Ở khía cạnh này, Kiến trúc hướng dịch vụ đóng vai trò như là Nền tảng để tíchhợp hệ thống tạo nên sự liên kết, thống nhất trong toàn bộ hệ thống IT của doanh nghiệp.Đồng thời, quá trình nghiên cứu cũng đã xem xét, kế thừa các công nghệ tích hợp mới nhưXML, dịch vụ web, vai trò của các công nghệ nền tảng này trong mạng dịch vụ
Như vậy các nhà điều hành mạng và các nhà phát triển dịch vụ cần phát triển và chuyểngiao các dịch vụ đa phương tiện, nhiều thể loại khác nhau đến người dùng Để hỗ trợ cácdịch vụ mới cho người dùng trên các hạ tầng Công nghệ thông tin hiện có đồng thời có thểcung cấp các tài nguyên và dịch vụ khác nhau đáp ứng nhu cầu người dùng Để đáp ứngđược các nhu cầu này chúng ta cần các cơ chế phát triển, cài đặt dịch vụ độc lập với các hạtầng IT cũng như cơ chế phân phối, chuyển giao, quản lý các dịch vụ này Nền cung cấpdịch vụ là một nền tảng như vậy Tuy nhiên nó chưa được chuẩn hóa, thống nhất giữa cácnhà phát triển khác nhau, đồng thời nó cũng không phải là một vấn đề cụ thể về công nghệ.Qua tham khảo, và xem xét một số nghiên cứu và sản phẩm chúng tôi tổng quát hóa lênkiến trúc chung của một nền cung cấp dịch vụ
Đồ án này đóng góp trên ba khía cạnh chính: trước hết, là việc phân tích, đánh giá và kếthừa các công nghệ sử dụng cho Mạng hướng dịch vụ Ở đây chúng tôi xem xét khía cạnh
sử dụng Kiến trúc hướng dịch vụ như là một nền tảng để tích hợp ứng dụng, tầng kết nốidịch vụ cho doanh nghiệp Qua việc xem xét và phân tích nhu cầu của các hệ thống cungcấp dịch vụ từ đó đề xuất một kiến trúc tổng quát cho Nền cung cấp dịch vụ Thứ hai,chúng tôi đã giành thời gian cho việc nghiên cứu xem xét CSF – Nền cung cấp dịch vụphát triển bởi hãng Microsoft Quá đó đánh giá khả năng, các trường hợp, môi trường cóthể áp dụng CSF Và cuối cùng là nghiên cứu thực trạng và đưa ra giải pháp cho bài toáncung cấp dịch vụ lưu trữ và hỗ trợ cộng tác trực tuyến Để minh chứng cho kết quả nghiêncứu, chúng tôi đã xây dựng và thử nghiệm giải pháp này cho Công ty cổ phần dịch vụ giátrị gia tăng GNET
Trang 4ABSTRACT OF THESIS
Service-oriented architectures offer more effective and flexible approach to integratingtechnology with business processes than traditional information technology (IT)architectures Service-oriented architectures are foundation for both next-generationtelecommunications and middleware architectures, which are rapidly converging on top ofcommodity transport services The service such as triple/quadruple play, multimediamessaging, and presence are enabled by the emerging service-oriented IP MultimediaSubsystem, and allow telecommunications service providers to maintain, if not improve,their position in the marketplace Service-oriented architectures are aggressively leveraged
in next-generation middleware systems as the system model of choice to interconnectservice consumers and providers within and between enterprises
We leverage previous research in active, overlay, and peer-to-peer networkingtechnologies, along with recent advances in XML and Web Services, to create theparadigm of service oriented networking (SON) SON is an emerging architecture thatenables network devices to operate at the application layer to provide functions such asservice-based routing, content transformation, and protocol integration to consumers andproviders By adding application awareness into the network fabric, SON can act as a next-generation federated enterprise service bus that provides vast gains in overall performanceand efficiency, and enables the integration of heterogeneous environments
In another hand, Telecommunication network operators and service developers need todevelop and deliver a variety of single and multimedia based services to customers Tosupport these new customer services the underlying telecommunications infrastructuremust provide various resources and capabilities that are reused in customer servicedevelopment These capabilities ensure customer service implementations are independent
of the underlying infrastructure technologies and distribution mechanisms In addition,these capabilities are offered to a variety of external customer service developers Tosatisfy these requirements, the Service Delivery Platform (SDP) concept is proposed TheSDP is not standardised and current architectural representations are technology-specific.This research contributes to the standardisation of the SDP by defining a technologyindependent SDP architecture (a general architecture of SDP – chapter I) In our approach
to define the architecture, and how it meets the requirements of TelecomunicationEnviroment
As the results of this research, we contribute in threefold: first, we formalize SON as anarchitecture and discuss the challenges in building SON devices We discuss issues ininterconnecting SON devices to create large-scale service-oriented middleware andtelecommunications systems; in particular, we discuss the concept of federations ofenterprise service buses, and present two protocols that enable a distributed service registry
to support the federation and propose a general architecture of SDP Second, we exploreCSF – a SDP developed by Microsoft Corporation in detail and depth Finally, we studyand specify how CSF meets the requirements of Enterprise in two aspect: as a platform forEnterprise Application Integration and as a Service Delivery Platform for rapidly developand delivery services to customer In order to demonstrate our research, we propose a
Trang 5solution for Application Integration in Hosted Messaging and Collaboration, develop andtest it on GNET’s Service Delivery System.
Trang 6MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP ii
ABSTRACT OF THESIS iv
MỤC LỤC vi
DANH MỤC CÁC HÌNH VẼ viii
DANH MỤC CÁC BẢNG ix
LỜI CẢM ƠN xii
MỞ ĐẦU xiii
CHƯƠNG I SỰ PHÁT TRIỂN CỦA CÁC HỆ THỐNG PHỨC HỢP VÀ NHU CẦU VỀ MỘT NỀN CUNG CẤP DỊCH VỤ - SDP 1
1 Tổng quan về Kiến trúc hướng dịch vụ 1
1.1 Kiến trúc hướng dịch vụ 1
1.2 Các nguyên lý thiết kế hướng dịch vụ 3
1.3 Các nguyên lý dịch vụ hóa 4
2 Sự phát triển và tiến hóa của Mạng dịch vụ, nhu cầu về một nền Cung cấp dịch vụ.6 2.1 Tích hợp các dịch vụ trong Kiến trúc hướng dịch vụ 7
2.2 Sự cần thiết của tầng điều khiển kiểm soát dịch vụ 8
3 Nền cung cấp dịch vụ (Service Delivery Platform) 11
3.1 Tổng quan [9] 11
3.2 Kiến trúc tổng quát 14
3.3 Công nghệ phát triển 15
4 Một số Nền cung cấp dịch vụ nổi bật 15
4.1 IBM Service Delivery Platform [18] 15
4.2 HP Service Delivery Platform [20] 17
4.3 Erricson Service Delivery Platform [19] 18
5 Phạm vi và các nhiệm vụ của đồ án tốt nghiệp 19
CHƯƠNG II NỀN TẢNG PHÂN PHỐI DỊCH VỤ - MICROSOFT CONNECTED SERVICES FRAMEWORK 20
1 Tổng quan về CSF 20
1.1 Định nghĩa CSF 20
1.2 Kịch bản sử dụng CSF 23
1.3 Hoạt động của CSF 25
2 Kiến trúc CSF 27
2.1 Kiến trúc phân lớp 27
2.2 Các thành phần cơ bản của CSF 34
2.3 Luồng thông điệp trong ứng dụng CSF 35
2.4 Dịch vụ chuẩn hóa(Well-enabled Service) 36
2.5 Chuẩn kết nối với các hệ thống tác nghiệp 40
4 Sử dụng các thành phần CSF 43
4.1 Thành phần phiên 43
4.2 Thành phần Service Catalog 50
4.3 Thành phần quản lý nhận dạng 53
4.4 Thành phần quản lý tiểu sử (Profile Manager) 56
CHƯƠNG III ĐỀ XUẤT GIẢI PHÁP TÍCH HỢP HỆ THỐNG CUNG CẤP DỊCH VỤ LƯU TRỮ VÀ HỖ TRỢ CỘNG TÁC TRỰC TUYẾN 59
1 Tổng quan về bài toán Cung cấp dịch vụ và hỗ trợ cộng tác 59
2 Các yêu cầu bài toán 59
3 Phân tích các kỹ thuật, hướng tiếp cận tích hợp ứng dụng doanh nghiệp 61
Trang 74 Sử dụng SDP để tích hợp hệ thống cung cấp dịch vụ lưu trữ 64
5 Mô hình tổng thể Giải pháp thực hiện tích hợp cho hệ thống cung cấp dịch vụ lưu trữ và hỗ trợ cộng tác trực tuyến 65
5.1 Kiến trúc tổng thể 65
5.2 Giao tiếp giữa các ứng dụng 67
CHƯƠNG IV THIẾT KẾ, CÀI ĐẶT VÀ TRIỂN KHAI THỬ NGHIỆM 69
1 Thiết kế các thành phần 69
1.1 Thành phần POP3 Service 69
1.2 Các thành phần khác 74
2 Thiết kế các dịch vụ 74
2.1 Tương tác giữa các dịch vụ 74
2.2 Dịch vụ POP3 76
2.3 Dịch vụ DNS Service 77
2.4 Dịch vụ Sharepoint Service 78
2.5 Dịch vụ Domain Service 79
2.6 Dịch vụ quản lý phiên cộng tác 79
2.7 Dịch vụ Lô-gic điều khiển cộng tác 80
2.8 Dịch vụ POP3 Service CSF Client 80
2.9 Dịch vụ DNS Service CSF Client 81
2.10 Cách thức tích hợp các dịch vụ mới 82
3 Thiết kế ứng dụng quản trị dịch vụ 82
4 Cài đặt và triển khai thử nghiệm 84
4.1 Cài đặt thành phần thiết lập dịch vụ POP3Service 84
4.2 Cài đặt các dịch vụ 88
5 Một số kết quả chương trình 90
6 Đánh giá giải pháp thực hiện tích hợp ứng dụng 92
6.1 Kết quả đạt được 92
6.2 Hiệu năng 93
6.3 Hạn chế 93
ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN 94
1 Tổng hợp đánh giá các kết quả 94
2 Hướng phát triển cho đề tài 94
TÀI LIỆU THAM KHẢO 96
Trang 8DANH MỤC CÁC HÌNH VẼ
Hình 1 1 – Hai tập giao diện của một dịch vụ 3
Hình 1 2 – Nền tảng kết nối dịch vụ web [9] 8
Hình 1 3 – Mạng dịch vụ [9] 9
Hình 1 4 – Tầng điều khiển, kiêm soát dịch vụ [6] 10
Hình 1 5 – Kiến trúc tổng quát Nền cung cấp dịch vụ 14
Hình 1 6 – Sự phân lớp theo miền dịch vụ trong chiến lược phát triển SDP của IBM 16
Hình 1 7 – Kiến trúc tham chiếu của IBM SDP 17
Hình 1 8 – Kiến trúc HP SDP 17
Hình 1 9 – Kiến trúc Erricson SDP 18
Hình 2 1 – Kiến trúc CSF 21
Hình 2 2 – Các thành phần CSF 23
Hình 2 3 – Vai trò trung tâm cộng tác của thành phần Phiên 23
Hình 2 4 – Kiến trúc phân lớp [9] 27
Hình 2 5 – Luồng thông tin trong ứng dụng CSF 35
Hình 2 6 – Dịch vụ web chuẩn hóa 37
Hình 2 7 – Thành phần tiếp hợp với các hệ thống khác [4] 40
Hình 2 8 – Các dịch vụ web trong CSF 41
Hình 2 9 – Mô hình lập trình CSF 42
Hình 2 10 – Các thành phần của Giao diện lập trình CSF 43
Hình 2 11 – Vòng đời phiên cộng tác 49
Hình 2 12 – Quan hệ giữa thành phần sử dụng dịch vụ và các thành phần CSF 51
Hình 2 13 – Các thực thể dữ liệu dùng để mô tả dịch vụ trong UDDI 52
Hình 2 14 – Mẫu tổ chức cung cấp sẵn bởi CSF 55
Hình 3 1 – Giải pháp tổng thể tích hợp cho các ứng dụng cung cấp dịch vụ 64
Hình 3 2 – Kiến trúc giải pháp Tích hợp ứng dụng cung cấp dịch vụ 65
Hình 3 3 – Kiến trúc triển khai CSF 66
Hình 3 4 – Giao tiếp giữa các thành phần trong giải pháp tích hợp 67
Hình 4 1 – Quan hệ giữa các thành phần Provider POP3 Service 69
Hình 4 2 – Tương tác giữa POP3ServiceProvider và POP3ServiceAdapter 73
Hình 4 3 – Mô hình tương tác giữa các dịch vụ 74
Hình 4 4 – Biểu đồ tuần tự tương tác giữa các dịch vụ 75
Hình 4 5 – Biểu đồ tuần tự tương tác giữa các dịch vụ khi lô-gic nghiệp vụ phức tạp 76
Hình 4 6 – Mô hình phân lớp ứng dụng đầu cuối 83
Hình 4 7 – Thiết kế Plugin cho ứng dụng đầu cuối 83
Hình 4 8 – Cấu hình dịch vụ POP3 86
Hình 4 9 – Kết quả kiểm tra hoạt động dịch vụ CSF 90
Hình 4 10 – Danh sách tổ chức sử dụng dịch vụ 91
Hình 4 11 – Giao diện tạo mới một tổ chức 91
Hình 4 12 – Giao diện sửa đổi cấu hình hộp thư POP3 92
Trang 9DANH MỤC CÁC BẢNG
Bảng 2 1 – Các thành phần trong Kiến trúc CSF 21
Bảng 2 2 – Các thực thể dữ liệu dùng để miêu tả dịch vụ trong UDDI 53
Bảng 2 3 – Các thực thể trong mẫu tổ chức cung cấp sẵn bởi CSF 54
Bảng 2 4 – Các thuộc tính của lớp ApplicationInfo 56
Bảng 2 5 – Các thuộc tính của lớp UserMaps 56
Bảng 3 1 – Các yều cầu chức năng hệ thống tích hợp 61
Bảng 4 1 – Các thành phần POP3ServiceAdaper 70
Bảng 4 2 – Các thành phần, lớp của POP3ServiceProvider 73
Bảng 4 3 – Các hoạt động của dịch vụ POP3 77
Bảng 4 4 – Các hoạt động của dịch vụ DNS 78
Bảng 4 5 – Các hoạt động của dịch vụ SharepointService 79
Bảng 4 6 – Các hoạt động của dịch vụ DomainService 79
Bảng 4 7 – Các hoạt động của dịch vụ Quản lý phiên 80
Bảng 4 8 – Các hoạt động của dịch vụ Lô-gic dịch vụ 80
Bảng 4 9 – Các hoạt động của dịch vụ CSFPOP3Client 81
Bảng 4 10 – Các hoạt động của dịch vụ CSFDNSServiceClient 82
Trang 10DANH MỤC CÁC TỪ VIẾT TẮT
1 CBD Phát triển hướng thành phần
Component-Based Development
2 CSF Nền phân phối dịch vụ phát triển bởi Microsoft
Connected Services Framework
3 CORBA Kiến trúc môi giới yêu cầu đối tượng chung
Common Object Request Broker Architecture
4 DCOM Mô hình đối tượng thành phần phân tán
Distributed Component Object Model
5 EAI Tích hợp ứng dụng doanh nghiệp
Enterprise Application Integration
6 ESB Tuyến dịch vụ doanh nghiệp
Enterprise Services Bus
7 IDL Ngôn ngữ đặc tả giao diện
Interface Description Language
8 JINI Hạ tầng mạng thông minh cho Java
Java Intelligent Network Infrastructure
Java Message Service
10 HTTP Giao thức truyền siêu văn bản
HyperText Transfer Protocol
11 NASSL Ngôn ngữ đặc tả dịch vụ có khả năng truy cập qua mạng
Network Accessible Service Specification Language
12 Provision Thiết lập dịch vụ
13 RMI Triệu gọi phương thức từ xa
Remote Method Invocation
14 SDL Ngôn ngữ đặc tả dịch vụ
Service Description Language
Trang 11STT Từ viết tắt Giải nghĩa
Services Delivery Platform
16 SOA Kiến trúc hướng dịch vụ
Service-Oriented Architecture
17 SOAP Giao thức truy cập đối tượng đơn giản
Simple Object Access Protocol
18 UDDI Mô tả, tích hợp và tìm kiếm toàn cầu.
Universal Description Discovery and Integration
19 WSDL Ngôn ngữ đặc tả Web service
Web Service Description Language
eXtensible Markup Language
21 WAP Giao thức truy cập không dây
Wireless Application Protocol
Trang 12LỜI CẢM ƠN
Để có thể hoàn thành tốt đồ án này, trước hết cho tôi gửi lời cảm ơn chân thành nhấtđến thầy giáo, PGS TS Huỳnh Quyết Thắng – Trưởng bộ môn Công nghệ phầnmềm, Phó trưởng khoa Công nghệ thông tin, Trường đại học Bách khoa Hà nội –người đã dành nhiều tâm huyết, thời gian hướng dẫn, chỉ bảo tôi trong suốt thờigian thực tập và làm đồ án
Tôi xin gửi lời cảm ơn chân thành đến TS Nguyễn Việt Hải – giám đốc Công tydịch vụ giá trị gia tăng Gnet, người trực tiếp hướng dẫn kỹ thuật, giải pháp trongthời gian tôi thực tập, làm đồ án và xây dựng giải pháp tại Công ty
Qua quá trình làm việc với Nền cung cấp dịch vụ CSF, tôi nhận được nhiều hướngdẫn, hỗ trợ hữu ích của ông Mukesh Naik – chuyên gia Kiến trúc hướng dịch vụ, tưvấn giải pháp CSF, công ty Microsoft Singapore Cho phép tôi được gửi lời cảm ơntới ông và luôn mong muốn nhận được nhiều sự giúp đỡ kịp thời, quý báu từ ôngtrong thời gian phát triển đề tài sau này
Thời gian làm việc tại eDT, Gnet là một khoảng thời gian đẹp đối với tôi Tôi luônnhận được nhiều sự giúp đỡ, hỗ trợ nhiệt tình từ nhiều anh, chị, em trong hai Công
ty Cho tôi gửi lời cảm ơn chân thành đến họ, đặc biệt tới anh Ngô Anh Dũng, anhChu Anh Tuấn
Cuối cùng cho tôi gửi lời cảm ơn đến bố mẹ - gửi đã nuôi dạy tôi trưởng thành, anhchị em luôn sát cánh động viên tôi, các bạn trong lớp CNPM đã đóng góp ý kiếncho đồ án này
Trang 13MỞ ĐẦU
Ngày nay, để hấp dẫn và giữ chân khách hàng, các nhà cung cấp và điều hành dịch
vụ di động cũng như dịch vụ mạng đều phải cung cấp các dịch vụ mới nhất, sinhđộng nhất, bao gồm cả âm thanh, hình ảnh, dữ liệu một cách nhanh chóng tới bất kỳloại thiết bị nào Ví dụ, một người dùng nào đó thích nhận được các tin nhắn thôngbáo khi đội bóng yêu thích của họ ghi bàn thắng, ngược lại một người dùng khác lạithích xem phim trên internet qua điện thoại di động của họ Các người dùng khác lạithích sử dụng điện thoại di động của họ để xem giá các mặt hàng trực tuyến mà họquan tâm., nếu thích họ cũng có thể yêu cầu các mặt hàng đó ngay từ thiết bị diđộng của họ
Trên là ví dụ về các dịch vụ trên các thiết bị di động, các nhà cung cấp này mặt kháccũng sử dụng các hệ thống hỗ trợ hoạt động tác nghiệp, cũng như các chức năngdịch vụ từ các bên thứ ba nào đó Vậy làm thế nào các hệ thống này có thể tương tácvới nhau ?
Một khi yêu cầu triển khai các dịch vụ mới, vậy làm thế nào chúng ta có thể nhanhchóng xây dựng, triển khai nó ? Để giải quyết các vấn đề trên Microsoft cung cấpmột giải pháp gọi là “Microsoft Connected Services Framework” Không nhữngđáp ứng các yêu cầu trên, giải pháp còn cho phép quản lý, kiểm soát và triển khaidịch vụ ra nhiều miền quản trị khác nhau, cung cấp một môi trường phát triển vàthực thi cho phép nhanh chóng xây dựng các ứng dụng theo Kiến trúc hướng dịch
vụ một cách nhanh chóng
Giải pháp này đã được áp dụng thành công và mang lại nhiều giá trị lợi nhuận to lớn
ở nhiều hãng, tập đoàn khác nhau trên thế giới Ví dụ, Bristish Telecom (Tập đoànViễn thông Vương Quốc Anh), SonyPE (Sony Picture Entertainment), StarFusion(Tập đoàn Viễn thông ở Malaysia) Không những cho phép xây dựng các ứng dụngtheo Kiến trúc hướng dịch vụ mà bản thân CSF cũng theo kiến trúc hướng dịch vụ.Trong giai đoạn làm đồ án này, người viết luận văn đã giành thời gian và công sứctìm hiểu, nghiên cứu về Kiến trúc hướng dịch vụ, và CSF Bên cạnh đó phục vụ choquá trình xây dựng và phát triển ứng dụng trên nền CSF tôi cũng đã nghiên cứuKhung chuẩn bị và thiết lập tài nguyên của Microsoft gọi là Microsoft ProvisioningFramework và giải pháp về “Lưu trữ trên nền Windows” gọi là Microsoft WindowsBased Hosting Solution Qua các nghiên cứu, tổng hợp đó đề xuất giải pháp tíchhợp hệ thống cho Hệ thống cung cấp dịch vụ lưu trữ và hộ trợ cộng tác Với nộidung như trên, bố cục của báo cáo như sau:
Chương I Sự phát triển của các hệ thống phức hợp và nhu cầu về một Nền cung cấp dịch vụ
Chương này sẽ giới thiệu tổng quan về kiến trúc hướng dịch vụ và các nền tảng tíchhợp, chuyển giao dịch vụ Sau khi đọc xong chương này chúng ta sẽ thấy được vaitrò và sự cần thiết của các nền tảng tích hợp, phân phối và chuyển giao dịch vụ.CSF là một hệ thống như vậy
Chương II Nền tảng phân phối, chuyển giao dịch vụ - Microsoft Connected Services Framework
Trang 14Chương này sẽ cho chúng ta thấy CSF là gì, kiến trúc của nó, mô hình lập trình,cũng như các thành phần cơ bản của nó Sau khi đọc xong chương này chúng ta sẽnắm được các nguyên lý của sản phẩm – giải pháp CSF, cách thức sử dụng CSF đểxây dựng các ứng dụng theo Kiến trúc hướng dịch vụ.
Chương III Giải pháp tich hợp hệ thống cung cấp dịch vụ lưu trữ và hỗ trợ cộng tác
Chương này sẽ trinh bày bài toán tích hợp hệ thống cho doanh nghiệp cung cấp dịch
vụ lưu trữ và hỗ trợ cộng tác Đề xuất giải pháp tổng thể để tích hợp các ứng dụng,nền tảng IT hiện có nhằm mở rộng hệ thống và đáp ứng yêu cầu thay đổi dịch vụ,cung cấp phát triển dịch vụ mới sau này Đồng thời với giải pháp này, em trình bàythiết kế hệ thống, các dịch vụ để hiện thực hóa giải pháp
Chương IV Cài đặt, triển khai thử nghiệm giải pháp.
Chương này trình bày cách cài đặt, triển khai giải pháp và một số kết quả, đánh giágiải pháp
Chương V Đánh giá và hướng phát triển của đề tài
Chương này đánh giá tổng thể các kết quả đã đạt được của đề tài, các hạn chế cầnkhắc phục, cần cải thiện Đồng thời, đề xuất hướng phát triển trong thời gian tới
Trang 15CHƯƠNG I SỰ PHÁT TRIỂN CỦA CÁC HỆ THỐNG PHỨC HỢP VÀ
NHU CẦU VỀ MỘT NỀN CUNG CẤP DỊCH VỤ - SDP
Sự phát triển không ngừng của các hệ thống tin học đã làm thay đổi, tiến hóa và nhu cầu vê những cách tiếp cận mới:
- Sự phát triển và tiến hóa của Kiến trúc hướng dịch vụ.
- Nhu cầu vê một Nền cung cấp dịch vụ.
SOA là một kiến trúc dùng các chuẩn mở để biểu diễn các thành phầnphần mềm như là các dịch vụ
Cung cấp một cách thức chuẩn hoá cho việc biểu diễn và tương tácvới các thành phần phần mềm
Các thành phần phần mềm riêng lẻ trở thành các khối cơ bản có thể sửdụng lại để xây dựng các ứng dụng khác
Được sử dụng để tích hợp các ứng dụng bên trong và bên ngoài tổchức
Dịch vụ là yếu tố then chốt trong SOA Có thể hiểu dịch vụ như là hàm chứcnăng (mô đun phần mềm) thực hiện quy trình nghiệp vụ nào đó Các dịch vụtrong SOA có các đặc điểm sau [1]:
Các dịch vụ là có thể tìm kiếm được
Các dịch vụ có tính liên thông
Các dịch vụ không được gắn kết chặt chẽ với nhau
Các dịch vụ là phức hợp, bao gồm nhiều thành phần, được đóng gói ởmức cao
Các dịch vụ trong suốt về vị trí
Các dịch vụ có khả năng tự hàn gắn
Một cách cơ bản, SOA là tập hợp các dịch vụ kết nối “mềm dẻo” với nhau(nghĩa là một ứng dụng có khả năng giao tiếp với một ứng dụng khác mà khôngbiết các chi tiết kỹ thuật, cài đặt bên trong), có giao diện đượ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 SOA là cấp độ cao hơn
Trang 16của phát triển ứng dụng, chú trọng đến quy trình nghiệp vụ và dùng giao diệnchuẩn để che giấu sự phức tạp kỹ thuật bên dưới.
Thiết kế SOA tách riêng phần thực hiện dịch vụ (phần mềm) với giao diện gọidịch vụ Điều này tạo nên một giao diện nhất quán cho ứng dụng sử dụng dịch
vụ mà không cần quan tâm tới công nghệ thực hiện dịch vụ Thay vì xây dựngcá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ọnhơn có thể triển khai và tái sử dụng trong toàn bộ quy trình nghiệp vụ Điều nàycho phép tái sử dụng phần mềm tốt hơn, cũng như tăng sự mềm dẻo vì nhà pháttriển có thể cải tiến dịch vụ mà không làm ảnh hưởng đến ứng dụng sử dụngdịch vụ
Ưu điểm lớn nhất của SOA là khả năng kết nối mềm dẻo và tái sử dụng Cácdịch vụ có thể được sử dụng trên nền tảng bất kỳ và được viết với ngôn ngữ bất
kỳ (ví dụ, ứng dụng Java có thể liên kết với Web service NET và ngược lại).SOA dựa trên hai nguyên tắc thiết kế quan trọng:
Mô đun: tách vấn đề lớn thành nhiều vấn đề nhỏ
Đóng gói: che giấu dữ liệu và logic trong từng mô đun đối với truycập từ bên ngoài
Một thiết kế kiến trúc phù hợp với khái niệm của SOA cần tuân theo những tínhchất sau [1]:
Một dịch vụ là một đơn vị phần mềm gồm các hoạt động nghiệp vụ có
tính tự chứa đựng và mức độ đóng gói cao (coarse-grained).
Một dịch vụ có thể dùng lại được, cho phép có thể xây dựng được mộtdịch vụ mới từ các dịch vụ hiện có Do đó, việc quan sát các hàm ý cóthể có của các thuộc tính phi chức năng như tính giao dịch là rất quantrọng
Một giao diện dịch vụ là một điểm cuối mạng (network endpoint) đảm
bảo tính độc lập và trong suốt về vị trí
Một dịch vụ cần có khả năng được phát hiện ra một cách công khaibằng cách sử dụng một nơi đăng ký dịch vụ nhằm cho phép các liênkết động tới dịch vụ
Một dịch vụ cần đảm bảo tính liên thông bằng cách hỗ trợ các giaothức truyền thông được chuẩn hoá và các định dạng dữ liệu rõ ràng.Các đặc điểm trên đảm bảo cho một kiến trúc hướng dịch vụ khả năng gắn kếtlỏng lẻo của các dịch vụ phân tán và có tính mô đun bằng cách sử dụng các giaoước dịch vụ để mô tả các định dạng thông điệp cần thiết
Ở trên chúng ta đã có các sự nhìn nhận về dịch vụ và kiến trúc hướng dịch vụ.Tuy nhiên, đứng dưới góc độ kiến trúc hệ thống chúng ta có thể xem dịch vụnhư là các khái niệm trừu tượng mà chúng phải được cài đặt bởi các tác tử cụthể Tác tử ở đây là một thực thể cụ thể (một thành phần của phần mềm) nó gửi
Trang 17và nhận các thông điệp trong khi đó các dịch vụ là một tập trừu tượng các chứcnăng mà nó cung cấp
Chúng ta có thể phân loại dịch vụ thành các loại sau [17]:
Dịch vụ nội dung: Các dịch vụ thông tin, giải trí, ứng dụng, đaphương tiện,…
Các dịch vụ mạng: Các dịch vụ này được đưa ra từ các phần tử mạng
Các dịch vụ thiết bị: Cung cấp quản lý và điều khiển thiết bị
Các dịch vụ hỗ trợ điều hành tác nghiệp (OSS/BSS Services): Tíchhợp với các hệ thống điều hành, tác nghiệp trong doanh nghiệp
Giao diện dịch vụ: Một dịch vụ phải đảm bảo có hai tập giao diện sau:
Hình 1 1 – Hai tập giao diện của một dịch vụ
Các giao diện quản lý: Giao diện này cho phép các hoạt động FCAPS (Fault,
Configuration, Accouting, Performance, và Security) được quản lý như là mộtthực thể Giao diện này thích hợp nhất là được cài đặt bởi dịch vụ web
Giao diện tiêu thụ (Consumption Interface): Giao diện này cho phép thuê bao
tiêu thụ các chức năng cung cấp bởi dịch vụ Ví dụ, POP3 là giao diện tiêu thụcủa dịch vụ thông điệp Giao diện này chúng ta không nhất thiết cài đặt bằngdịch vụ web
1.2 Các nguyên lý thiết kế hướng dịch vụ
Việc tiếp cận xây dựng các hệ thống dựa trên mô hình hướng dịch vụ phải tuântheo bốn nguyên tắc sau [3]:
Nguyên tắc 1: Giao diện của dịch vụ phải rõ ràng Các dịch vụ tương
tác qua việc truyền đi các thông điệp tường minh Chúng ta không cầnbiết về không gian nằm sau giao diện của dịch vụ Vượt qua các giaodiện của dịch vụ có thể tốn nhiều công sức và chi phí Các giao diện
rõ ràng cho phép cài đặt các tương tác độc lập – nghĩa là không cầnbiết về nền tảng hay các ngôn ngữ lập trình được lựa chọn để cài đặtcác dịch vụ
Trang 18 Nguyên tắc 2: Dịch vụ là tự trị Các dịch vụ hoạt động như là các
thực thể độc lập Không có quyền làm chủ trong một môi trườnghướng dịch vụ Các dịch vụ được triển khai, thay đổi, quản lý mộtcách độc lập
Nguyên tắc 3: Các dịch vụ chia sẻ giao diện và giao ước không chia
sẻ cài đặt Các dịch vụ tương tác với nhau chỉ dựa vào giao diện vàgiao ước sử dụng dịch vụ Giao ước của dịch vụ mô tả cấu trúc củathông điệp và các ràng buộc giữa các thông điệp, điều này cho phépchúng ta bảo toàn được tính toàn vẹn của dịch vụ Các giao ước vàgiao diện phải được duy trì tính ổn định với thời gian Vì vậy việc xâydựng chúng một cách mềm dẻo là rất quan trọng
Nguyên tắc 4: Tính tương thích của dịch vụ dựa trên chính sách Cả
người cung cấp và người dùng dịch vụ sẽ phải có các chính sách đểtương tác qua các giao diện của dịch vụ Một ví dụ đơn giản về chínhsách phía người cung cấp là một dịch có thể đỏi hỏi người gọi phải cómột tài khoản hợp lệ với người cung cấp dịch vụ Về phía người dùngdịch vụ, một tổ chức có thể đòi hỏi các lời gọi qua Internet phải được
mã hoá
1.3 Các nguyên lý dịch vụ hóa
Dịch vụ hóa là yêu cầu then chốt trong việc phát triển các dịch vụ web quản lýđược, sinh lợi Đối với nhà cung cấp dịch vụ thì dịch vụ hóa cho phép chúng tathiết lập (provision) động các dịch vụ web mới và đo mức độ sử dụng các dịch
vụ đã triển khai Đối với nhà cung cấp dịch vụ lưu trữ email hay website, nó chophép chúng ta lưu trữ (host) nhiều dịch vụ khách hàng trên cùng một hạ tầngchung duy nhất, và do vậy cho phép chúng ta thiết lập và giám sát mức độ thỏathuận dịch vụ với khách hàng Đối với nhà khai thác dịch vụ di động (mobileoperator) nó cho phép chúng ta nhanh chóng triển khai các dịch vụ đa dạng, đangười dùng Trên là các ví dụ về các lợi ích mà dịch vụ hóa mang lại cho chúngta
Có năm thành phần then chốt trong việc dịch vụ hóa Có nghĩa là chúng ta phảinắm rõ bản chất các thành phần này từ đó chúng ta có thể nhận diện các dịch cấn
đề mà chúng ta cần phải giải quyết khi triển khai các dịch vụ sinh lợi generating) [8]:
(profit- Các dịch vụ web có khả năng thiết lập (provision):
Các dịch vụ web phải có khả năng chuẩn bị các tài nguyên, thiết lập cấuhình tài nguyên cho người sử dụng Nó là quá trình khởi tạo, thiết lập ví
dụ như tạo miền (domain), danh sách địa chỉ trong kịch bản HostExchange, cung cấp hộp thư cho người dùng mới… Nó cũng có thể là cácquá trình không liên quan đến phần mềm như thiết lập máy chủ và cấuhình chúng Chúng ta phải xem xét khả năng chuẩn bị (provision) khi đưa
ra các dịch vụ web mới
Có khả năng multi-ternat:
Trang 19Chúng ta nên tạo ra các ứng dụng dịch vụ Web mà có khả năng cung cấp,
hỗ trợ cho nhiều người dùng, tổ chức khác nhau Để đạt được điều nàychúng ta phải xem xét các khía cạnh sau khi thiết kế ứng dụng dịch vụWeb:
Cung cấp đầy đủ các tài nguyên: cho mỗi tổ chức như danh bạ
địa chỉ, các thư mục, Sharepoint site, cơ sở dữ liệu logic,… Ngoài
ra chúng ta cũng phải xác định các cơ chế bảo mật để, quản trị cáctài nguyên này Ví dụ như tổ chức này không thể truy nhập, nhìnthấy các tài nguyên của tổ chức khác nếu không được phép; ngườiquản trị của mỗi tổ chức có thể quản trị các tài nguyên của họ mộtcách hiệu quả
Ủy nhiệm quản trị: Chúng ta phải bảo mật tất cả các tài nguyên
và cho phép bản thân mỗi tổ chức tự định nghĩa và phân quyềnquản trị cho các tài nguyên
Khả năng quản lý tài nguyền tổng thể: Chúng ta có thể quản lý
các tài nguyên một cách tổng thể, thay đổi các chính sách đối vớicác tài nguyên thì nó có hiệu lực với tất cả các tổ chức khác nhau
mà không cần phải thiết lập cho mỗi đơn vị tổ chức cụ thể nào.Tuy nhiên sự thay đổi phải phù hợp với cam kết dịch vụ trước đó
Khả năng dự đoán dịch vụ: cho các tổ chức sử dụng dịch vụ
khác nhau Như vậy yêu cầu của một tổ chức nào đó không gâyảnh hưởng tới các tổ chức khác Ví dụ, trong ứng dụng cho thuêhosting, khi một đơn vị yêu cầu thêm dung lượng hoặc bandwitchthì không gây ảnh hưởng đến chất lượng của các đơn vị khác
Khả năng thay đổi thuộc tính dịch vụ: theo đối tượng người
dùng, đơn vị tổ chức, phòng ban.Chúng ta phải đưa ra các tùychọn dịch vụ khác nhau, để các đơn vị tổ chức phòng ban khácnhau, thậm chí là người dùng khác nhau có đều đáp ứng được yêucầu của họ
Khả năng rộng lớn: dịch vụ của chúng ta phải có khả năng hỗ trợ
cho toàn bộ tổ chức
Có khả năng kết hợp được:
Dịch vụ phải có khả năng kết hợp tương tác với các dịch vụ khác trong hệthống phức hợp (heterogeneous system)
Có khả năng đo được:
Dịch vụ phải có khả năng theo dõi mức độ, cách thức sử dụng nó Kháchhàng tương tác với hệ thống và sinh ra các sự kiện nghiệp vụ, các sự kiệnnày sinh ra khi người dùng thực hiện các hành động trên hệ thống ví dụnhư người dùng tải một tệp tin lên hệ thống website mà họ lưu trữ (host)trên đó Các sự kiện này giúp chúng ta (dịch vụ) đưa ra các báo cáo,thống kê, quản lý giao kèo dịch vụ (SLA), thông báo, tính cước phí,…
Có khả năng định nghĩa bởi một SLA:
Trang 20Chúng ta phải định nghĩa dịch vụ trong SLA, đảm bảo sự hấp dẫn đối vớingười dùng và giảm chi phí dịch vụ SLA là một thỏa thuận hay hợp đồngđược thiết lập giữa khách hàng và nhà cung cấp dịch vụ hoặc giữa các
nhà cung cấp dịch vụ với nhau SLA ghi rõ những thỏa thuận ở mức độ
dịch vụ giữa 2 bên về loại hình dịch vụ, mức độ ưu tiên, trách nhiệm, bảohành, đặc tính liên quan đến QoS, SLA thường mang tính thương mại
trong khi đó các chi tiết về mặt kỹ thuật thì được miêu tả bởi SLS(Service Level Specification) Để chuyển tải (delivery) một dịch vụ vớiSLA chúng ta cần xem xét các vấn đề sau:
Ứng dụng dịch vụ web phải cung cấp đủ các công cụ để đo hiệunăng Công cụ này phải có khả năng truy vấn từ xa để cung cấpthông tin sử dụng, đánh giá hiệu năng hệ thống để có các chiếnlược nâng cấp, thiết lập, kiểm tra hệ thống
Các ứng dụng dịch vụ web phải có trạng thái phục vụ rõ ràng đểthao tác viên (operator) có thể dễ dàng quản trị được
Ứng dụng dịch vụ web phải cơ chế thông báo hành động, cảnh báolỗi chính xác rõ ràng
Xác định một quy trình xây dựng phát triển ứng dụng dịch vụWeb Quá trình này phải phù hợp với thư viện thông tin IT (ITinformation library) hoặc các nguyên tắc như trong Khung hoạtđộng của Microsoft (Microsoft Operation Framework) và bao gồmquá trình xác định phạm vi, kiểm thử, quản lý thao đổi, lập kếhoạch xử lý sử cố, hợp đồng dịch vụ, hỗ trợ, thiết lập các kế hoạchhoạt động…
2 Sự phát triển và tiến hóa của Mạng dịch vụ, nhu cầu về một nền Cung cấp dịch vụ
2.1 Tích hợp các dịch vụ trong Kiến trúc hướng dịch vụ
Khi phát triển một ứng dụng theo kiến trúc hướng dịch vụ, chúng ta có thể tạocác XML - Web service tổ hợp, tái sử dụng được để thực hiện các tác vụ khácnhau của ứng dụng Mặc dù cách tiếp cận này có thể áp dụng cho bất kỳ loại hệthống hay ứng dụng nào, tuy chúng được áp dụng thích hợp nhất để xây dụngcác ứng dụng phân tán Kiến trúc hướng dịch vụ (SOA) cho phép tái sử dụnghoặc tạo mới các XML Web service mà không phụ thuộc vào nền tàng côngnghệ (Java, Net,…), cách thức cài đặt (implement) Do vậy, các ứng dụng cóthể thêm mới hoặc loại bỏ các chức năng khi cần mà không gây ảnh hưởng cácđến các chức năng khác
Khi sử dụng các tiêu chuẩn Web service như UDDI (Universal DiscoveryDescription and Integration – Chuẩn mô tả tích hợp và tìm kiếm toàn cầu),SOAP (Simple Object Access Protocol – Giao thức truy cập đối tượng đơngiản), WSDL (Web Service Description Language – Ngôn ngữ đặc tả dịch vụWeb) chúng ta có thể tạo ra nền tảng (platform) tích hợp dịch vụ Web dựa trênkiến trúc hướng dịch vụ Một hạ tầng và nền tảng tích hợp như vậy giúp Webhóa các công nghệ ứng dụng bên trong cũng như bên ngoài doanh nghiệp Nền
Trang 21tảng (plaform) này giúp loại bỏ sự phụ thuộc về mặt công nghệ, ngôn ngữ, nềntảng ứng dụng thương mại khác nhau.
Khi triển khai một nền tảng tích hợp như vậy thì công việc khó nhất là làm thếnào để tạo ra nó Nền tảng này phải có đủ độ mềm dẻo để hỗ trợ các kế hoạchnghiệp vụ, dịch vụ ứng dụng hiện tại cũng như với các kế hoạch nâng cấp, thayđổi, thêm mới các nghiệp vụ dịch vụ trong tương lai Để đạt được điều đó khithiết kế một nền tảng như vậy chúng ta cần phải tuân thủ nghiêm ngặt cácnguyên lý thiết kế hướng dịch vụ
Có hai pha trong quá trình tạo ra một hạ tầng tích hợp dịch vụ như yêu cầu ởtrên theo mô hình Kiến trúc hướng dịch vụ Pha đầu tiên của tích hợp dịch vụ,chuẩn bị các yêu cầu, điều kiện cho các dự án sau này là để cung cấp một nền
tảng hạ tầng bên trong mềm dẻo, đủ lớn đáp ứng các yêu cầu nghiệp vụ hiện tại
cũng như tương lai
Pha thứ hai là mở rộng nền tảng của chúng ta ra khỏi tưởng lửa (firewall) mạngdoanh nghiệp chúng ta để nó có thể liên kết hỗ trợ với các nhà cung cấp, kháchàng, đối tác Các ứng dụng tích hợp dịch vụ web đưa ra cơ hội cộng tác cho cácứng dụng bên ngoài bằng cách sử dụng cùng một kiến trúc như hệ thống bêntrong của chúng ta Thay vì xây dựng các kết nối điểm đến điểm (point-to-point)giữa các hệ thống khách hàng với hệ thống của chúng ta, chúng ta có thể sửdụng duy nhất một kết nối dựa trên nền tảng tích hợp kiến trúc hướng dịch vụ
Ví dụ, khách hàng muốn kết nối với hệ thống của chúng ta để xem tình trạng sảnxuất, yều cầu đặt hàng và cập nhật thông tin giao dịch mua bán Với cách tiếpcận truyền thống, chúng ta phải tạo ra ít nhất ba giao diện, có thể trên ba nềntảng công nghệ khác nhau Sau một thời gian khách hàng muốn xem xét tìnhtrạng quản lý vòng đời sản phẩm, trong khi đó chúng ta không thể tái sử dụngcác giao diện, kết nối đã có do vậy chúng ta phải thêm một giao diện nữa Mặtkhác khi các khách hàng khác muốn kết nối sử dụng các chức năng như trên thìkhả năng tái sử dụng các giao diện kết nối trên cũng rất thấp
Công ty 1 Phòng 1 Dịch vụ 1
Công ty 1 Phòng 1 Dịch vụ 2
Công ty 2 Phòng 1 Dịch vụ 1
Công ty 3 Phòng 1 Dịch vụ 1
Công ty 1 Phòng 2 Dịch vụ 2
Trang 22Nền tảng tích hợp dịch vụ cho phép hệ thống của chúng ta kết nối với hệ thốngbên ngoài thông qua một bộ tiếp hợp (adapter) duy nhất, do vậy khách hàng cóthể truy nhập vào tất cả các hệ thống yêu cầu bên trong thông qua bộ tiếp hợp(adapter) này Các khách hàng khác cần thiết lập kết nôi có thể xây dựng một bộtiếp hợp như vậy hoặc cũng có thể tái sử dụng bộ tiếp hợp này Hệ thống tưởnglửa sẽ đảm nhận vấn đề bảo mật và xác thực (authenticate) truy nhập.
Một hạ tầng như trên nên cung cấp các chức năng đáp ứng các yêu cầu cơ bản,
chung của nhiều hệ thống Các chức năng này bao gồm quản lý nhận dạng
(identity) (xác nhận nhận dạng, quyền truy nhập, liên hợp các nhận dạng
(identity) qua các miền (domain) khác nhau), quản lý tiểu sử người dùng (profile management), định tuyến nội dung (content-based routing), bảo mật thông điệp (như mã hóa, chữ ký số), cung cấp khả năng rút khỏi hoặc tái tham gia ứng dụng khi cần thiết
2.2 Sự cần thiết của tầng điều khiển kiểm soát dịch vụ
Tiếp nối sự hình thành và phát triển của của giao thức Internet (InternetProtocol) đã được chấp nhận rộng rãi và trở thành một phương tiện truyền thônggiao tiếp toàn cầu giữa các thiết bị máy tính, sự phát triển mạnh mẽ và chấpnhận rộng rãi của dịch vụ web đã tạo điều kiện thuận lợi cho các hệ phức hợp
dịch vụ phát triển và duy trì Hệ phức hợp này có thể gọi ngắn gọn lại là mạng dịch vụ.
Mạng doanh nghiệp
Mạng khoa học
Mạng chuổi cung ứng
Mạng giáo dục
Hình 1 3 – Mạng dịch vụ [9]
Trong mạng giao thức IP truyền thống, sự truyền tải dữ liệu giữa các nút mạng được quản lý bởi một tầng điều khiển – nó quản lý sự tương tác giữa các nút
mạng, liên kết và dữ liệu Tầng điểu khiển này trừu tượng hóa sự phức tạp của
hạ tầng mạng bên dưới nó và cho phép quản lý các đặc tính chung như sự thayđổi của môi trường mạng, sự khác nhau giữa các nền tảng (platform), cũng như
có các cơ chế khắc phục, phục hồi lỗi (nếu xẩy ra) Những tầng như vậy chúng
Trang 23ta có thể lấy ví dụ điển hình như SS7 (System Signalling 7) dùng trong mạng thưthoại truyền thống và IMS (IP Multimedia Subsystem) dùng trong môi trườngtruyển thông đa phương tiện.
Mạng dịch vụ bao gồm các dịch vụ kết nối lỏng lẽo với nhau và các tài nguyênhoạt động trong môi trường phức hợp (nhiều dịch vụ, hệ thống tương tác vớinhau), chúng được quản lý bởi nhiều miền quản trị khác nhau, giao tiếp với nhauthông qua các sự kiện bất đồng bộ Sự phức tạp và hỗn hợp của các hành vi dịch
vụ có thể so sánh như sự phức tạp của các hành vi mạng truyền thống Do vậy,yêu cầu cần thiết cho một tầng điều khiển (giống như tầng điều khiển trongmạng truyền thống) trừu tượng hóa sự phức tạp của các tầng dịch vụ web dướinó
Tầng điều khiển mạng dịch vụ cung cấp các chức năng sau [6]:
Định nghĩa và quản lý các ngữ cảnh cộng tác động
Quản lý nhận dạng xuyên suốt các miền quản trị khác nhau
Quản lý tài nguyên của các dịch vụ được công bố
Áp dụng các chính sách bảo mật xuyên suốt các miền phức hợp khácnhau
Định tuyến các thông điệp dựa trên nội dung và thông tin điều khiểncủa chúng
Thực hiện các quản lý mức dịch vụ
Cung cấp các cơ chế phân phối dịch vụ chịu lỗi
Hình dưới đây sẽ minh họa sự giống nhau và tính chất của tầng điều khiển dịch
vụ cũng như tầng điều khiển trong mạng truyền thống
Trang 24Quản lý
Phiên Hòa phối
Quản lý Nhận dạng
Quản lý Tài nguyên Đăng kiểm Dịch vụ
Quản lý Profile
Thông tin mạng Xử lý yêu cầu
Tầng truyền vận
Tầng kiểm soát mạng dịch vụ
Tầng điều khiển
Hình 1 4 – Tầng điều khiển, kiêm soát dịch vụ [6]
Mạng dịch vụ đưa ra một loạt các kiến trúc, cách thức phát triển, triển khai phứctạp cũng như các thách thức quản lý; làm cản trở các doanh nghiệp, tổ chứctrong việc triển khai, đấu tranh giành các lợi ích từ mạng dịch vụ Một trongnhững thách thức đó lớn nhất đó là sự không đồng nhất giữa các miền quản trị,
sự phức tạp, không tương thích giữa các mạng có sự tương tác giữa các dịch vụweb
Do vậy cần một nền tảng cung cấp một môi trường phát triển và thực thi chophép nhanh chóng tạo và kết hợp các dịch vụ web trong mạng dịch vụ Nó cungcấp các tính năng cần thiết như điều hòa, môi giới và điều đình cho sự tương tác,kết hợp giữa các dịch vụ web từ các ứng dụng, miền quản trị khác nhau Trongnền tảng đó, sự phụ thuộc lẫn nhau giữa các dịch vụ web hết sức lõng lẻo, để
giảm thiểu sự phụ thuộc lẫn nhau giữa các dịch vụ web đó Như vậy cần đưa thêm một tầng mới gọi là tầng cộng tác nhằm quản lý sự tương tác, cộng tác giữa các dịch vụ web Điều này làm tăng tính mềm giẻo cho kiến trúc ứng dụng hướng dịch vụ.
3 Nền cung cấp dịch vụ (Service Delivery Platform)
3.1 Tổng quan [9]
Ngày nay, hầu hết các hệ thống (phần mềm, phần cứng) của chúng ta đều tồn tại
và hoạt động trong môi trường hỗn hợp, tương tác qua nhiều miền quản trị khácnhau Do vậy hầu hết môi trường phân phối chuyển giao dịch vụ đều đối mặt vớicác thách thức sau:
Trang 25 Các nhà cung cấp dịch vụ đều thực hiện thiết kế, xây dựng và triểnkhai các dịch vụ trong nội bộ mạng của họ và rất khó khăn khi thựchiện chúng rộng rãi ra ngoài, qua các miền quản trị khác nhau, môitrường khác nhau.
Chưa có một quy trình chuẩn hóa cho phép quản lý vòng đời dịch vụ,cũng như xây dựng và quản lý các ứng dụng dịch vụ phức tạp
Tích hợp với các hệ thống vận hành, tác nghiệp (OSS/BSS –Operation Support System/Business Support System) một cách chuẩnhóa, cho phép với tương tác với tất cả các dịch vụ khác trong môitrường phân phối, chuyển giao dịch vụ Hầu hết các hệ thống vậnhành, tác nghiệp chúng ta tích hợp thông qua các giao diện lập trìnhứng dụng (API) thương mại cung cấp bởi nhà cung cấp hệ thống phầnmềm tương ứng (không mềm dẻo, dễ đổ vỡ khi thay đổi hệ thống mới,cài đặt mới)
Sử dụng các giao diện lập trình ứng dụng (API) làm hạn chế sự đónggóp của cộng đồng
Mỗi khi có các phát triển mới đều tốn chi chi phí cho việc tích hợp.Với các thách thức như vậy, sự ra đời của một nền tảng phân phối, chuyển giaodịch vụ là cần thiết Với mỗi dịch vụ trong môi trường phân phối, chuyển giaodịch vụ thường có vòng đời như sau:
Nhà phát triển dịch vụ đăng ký phát triển dịch vụ với nhà cung cấp,điều hành dịch vụ Khi đăng ký thành công họ sẽ được cung cấp cáccộng phát triển dịch vụ (SDK) và các tài liệu liên quan Mối quan hệgiữa người phát triển dịch vụ và nhà cung cấp điều hành dịch vụ đượcquản lý thông qua hệ thống Quản lý quan hệ đối tác (PartnerRelationship Management - PRM), hệ thống này sẽ xác định các cơchế, mô hình thông tin, chứng thực và quyền truy nhập cho mỗi ngườiphát triển
Nhà phát triển dịch vụ tiến hành phát triển và kiểm thử dịch vụ thôngqua truy nhập vào môi trường kiểm thử cung cấp sẵn bởi nhà cungcấp, điều hành dịch vụ Trong quá trình phát triển nếu dịch vụ đượckiểm thử và xác nhận đảm bảo các tiêu chí yêu cầu, nó được chuyểnvào môi trường sản xuất
Sau khi dịch vụ hoàn thành triển khai, nó được thương mại hóa bằngcách chuyển giao nó tới các thuê bao dịch vụ thông qua các hệ thốngvận hành, tác nghiệp (OSS/BSS) Khi dịch vụ được tiêu thụ bởi kháchhàng, hệ thống Quản lý quan hệ đối tác sẽ tính toán và phân chia cáclợi nhuận từ dịch vụ cho các bên liên quan (đối tác, nhà phát triển,…).Trong quá trình đóng góp xây dựng dịch vụ của mình, các nhà phát triển có thểgặp phải các vấn đề sau:
Quản lý nhận dạng
Trang 26 Giảm thiểu sự phức tạp của các giao thức mạng thông qua mô hìnhprovision đồng nhất, các giao diện lập trình API.
Dễ dàng tương tác, tích hợp với các hệ thống OSS/BSS với các dịch vụweb chuẩn hóa
Một mô hình lập trình đơn giản, dễ dàng cho nhiều lập trình viên khácnhau: dịch vụ web là một chuẩn như vậy
Một trong những lợi ích khác của việc đơn giản hóa vòng đời dịch vụ là giảmchi phí phát triển các dịch vụ mới Bằng cách chuẩn hóa các dịch vụ cho phépchúng ta tạo ra các dịch vụ mới trên cơ sở kết hợp các dịch vụ đã có Các dịch
vụ này có thể được triển khai, cung cấp qua nhiều miền quản trị khác nhau, tuynhiên khi cung cấp chúng một cách rộng rãi như vậy chúng ta phải giải quyếtđược các thách thức sau:
Kiểm soát, quản trị: Với một môi trường mở, các dịch vụ có thể hoạt động trên
các hệ thống của các bên thứ ba (bên ngoài môi trường dịch vụ của nhà cung cấpvận hành dịch vụ) Do đó các dịch vụ này không thể kiểm soát, quản lý, quản trịbởi nhà cung cấp dịch vụ được Hậu quả là các thuê bao có thể yêu cầu các dịch
vụ tới một nhà vận hành dịch vụ mà dịch vụ đó không thuộc tầm kiểm soát của
họ Điều đó gây bất tiện cho nhà cung cấp dịch vụ Để giải quyết vấn đề này, cácbên liên quan dịch vụ (nhà cung cấp dịch vụ, nhà vận hành dịch vụ, đối tác, nhàphát triển,…) cần nhất quán với nhau thông qua một bản giao kèo dịch vụ(SLA)
Quản lý chất lượng của dịch vụ và tài nguyên: Theo như trên, để đảm bảo
chất lượng dịch vụ tới người tiêu dùng, các bên liên quan phải thống nhất cáchthức quản lý tài nguyên và giao kèo dịch vụ với nhau Các đặc tính này phải cókhả năng truy nhập thông qua giao diện lập trình và có khả năng điều khiển bởinhà cung cấp dịch vụ Một trong các nhiệm vụ quan trọng đối với việc đảm bảochất lượng dịch vụ và điều tiết, ưu tiên các tài nguyên cũng như có các cơ chếquản lý, kiểm soát các tài nguyên (do vậy phải có cơ chế đo mức tiêu thụ tàinguyên, kiếm soát, định ngưỡng)
Mô hình quản lý nhận dạng phức tạp: Một trong các mô hình nhận dạng cần
phải xây dựng trong môi trường phân phối, chuyển giao dịch vụ là hỗ trợ nhậndạng người dùng trong mỗi dịch vụ và các miền quản trị sau đó gián tiếp chophép nhận dạng các người dùng này khi các dịch vụ đó kết hợp thành các dịch
vụ mới (dịch vụ phức hợp) Tuy nhiên, trong thực tế một người dùng có thểthuộc vào một tổ chức, miền nào đó nhưng lại không thuộc vào miền tổ chứckhác, do vậy cần có cơ chế liên mình xác thực
Trang 27Giảm thiểu sự kết dính: Trong môi trường phân phối, chuyển giao dịch vụ, các
dịch vụ có xu hướng tương tác cộng tác với nhau, cũng như kết hợp thành cácdịch vụ phức hợp Để tăng cường tính tái sử dụng các dịch vụ này cần được thiết
kế tốt, giảm thiểu sự hiểu biết lần lẫn
Với các nhu cầu như trên thì chúng ta cần một Nền cung cấp dịch vụ giúp nhanhchóng phát triển và triển khai dịch vụ Vậy thế nào là một Nền cung cấp dịch
vụ ? Hiện nay chưa có một định nghĩa chính thức cụ thể nào về SDP mà với mỗinhà cung cấp khác nhau có một cách tiếp cận khác nhau, tuy nhiên chúng ta cóthể tóm gọn lại như sau: Nền cung cấp dịch vụ là một giải pháp sử dụng trongngành công nghiệp Viễn thông , một bộ khung hoàn chỉnh qua đó cho phép:
Nhanh chóng phân phối các dịch vụ giá trị gia tăng đến khách hàng (giúpgiảm thời gian quảng bá)
Giảm chi phí phát triển (sử dụng các Môi trường phát triển tích hợp)
Đơn giản hóa quá trình phát triển dịch vụ bằng cách sử dụng các giaodiện chuẩn mở (ví dụ, sử dụng Web service để giao tiếp với nhau)
Tính khả chuyển của dịch vụ qua nhiều nhà cung cấp, mạng, nền tảng
khác nhau (“viết một lần, chạy mọi nơi”).
Đơn giản hóa giao diện với các mạng
Tích hợp với các hạ tầng Công nghệ thông tin của nhà cung cấp dịch vụ
Hoạt động được với các hệ thống, ứng dụng khác nhau của doanh nghiệp(như OSS/BSS, CRM, MPS,…)
Cung cấp một môi trường hoàn chỉnh cho phép triển khai, thiết lập(provisioning), quản lý và tính cước các dịch vụ giá trị gia tăng
Hỗ trợ nhiều loại hình đa phương tiện khác nhau (voice, data, message, )
Kết hợp được nhiều khả năng mạng, dịch vụ, nội dung khác nhau và chongười phát triển ứng dụng truy xuất chúng theo một cách thức duy nhất.Hoặc nhìn một cách tổng quan hơn chúng ta có thể thấy một Nền cung cấp dịch
vụ là một phương tiện cho phép nhanh chóng phát triển, triển khai các dịch vụtrực tuyến bao gồm cả phần mềm và nội dung đa phương tiện Nó phải cung cấpmôi trường tạo, thực thi cho các dịch vụ cũng như các khả năng đo lường, giámsát, tổng hợp báo cáo
3.2 Kiến trúc tổng quát
Mặc dù chưa có sự định và và chuẩn hóa thống nhất về Nền cung cấp dịch vụ,tuy nhiên dựa trên các sản phẩm hiện có của các nhà cung cấp giải pháp Viễnthông, chức năng và vài trò của nó ta có thể mô hình hóa kiến trúc tổng quát củamột Nền cung cấp dịch vụ như hình dưới đây [6], [7]:
Trang 28Tầng trừu tượng hóa dịch vụ mạng
Tầng thể hiện dịch vụ
Nền thực thi dịch vụ Nền phân phối nội dung
Ứng dụng
Môi trường quản lý dịch vụ
AAA
OSS
BSS
Môi trường phát triển dịch vụ
Nội dung
Mạng triển khai dịch vụ
Hình 1 5 – Kiến trúc tổng quát Nền cung cấp dịch vụ
Như đã minh họa ở hình vẽ trên, một Nền cung cấp dịch vụ bao gồm bốn yếu tốcốt yếu sau:
Cung cấp khả năng truy nhập vào các dịch vụ mạng như dịch vụ cuộc gọi,dịch vụ đa phương tiện… thông qua một giao diện chuẩn thống nhât.Hiện nay có một số giao thức, chuẩn thực hiện công việc này trong đóOSA/Partlay là một ví dụ điển hình
Nền tảng thực thi dịch vụ (Service execution platform): Cung cấp môi
trường triển khai và thực thi các dịch vụ Tầng này phải cung cấp các cơchế quản lý vòng đời dịch vụ, quản lý sự toàn vẹn và cung cấp các giaodiện truy nhập Tầng trừu tượng hóa dịch vụ mạng
Nền tảng phân phối nội dung (Content delivery platform): Thành
phần này không bắt buộc trong kiến trúc này Nó dùng để chuyển giaocác nội dung đa phương tiện trong mạng di động
Tầng xuất bản dịch vụ (Service Exposure Layer): Cung cấp khả năng
truy nhập các dịch vụ mạng và dịch vụ nội dung với một khả năng trừutượng hóa cao hơn Một ví dụ điển hình về tầng này là Partlay X Tầngnày cho phép các ứng dụng ngoài truy nhập các dịch vụ đã được cài đặttrong Tầng thực thi dịch vụ và cung cấp các cơ chế quản lý kiểm soátmức cao Mặc kiến trúc chung của một Nền cung cấp dịch vụ tầng này làkhông bắt buộc, tuy nhiên xu hướng hiện này nó luôn được cung cấpcùng với các Nền cung cấp dịch vụ - đảm bảo sự tích hợp và xu hướng
Trang 29hội tụ giữa các ứng dụng Công nghệ thông tin doanh nghiệp và cộngnghiệp Viễn thông Đây là một xu hướng tất yếu của các doanh nghiệpviễn thông trong thời gian tới.
Kiến trúc tổng quát của một Nền cung cấp dịch vụ như trên đáp ứng các yêu cầutích hợp của cơ chế phân phối dịch vụ, các chức năng hỗ trợ quản lý tác nghiệpcũng như môi trường phát triển, triển khai dịch vụ của các nhà điều hành mạng.3.3 Công nghệ phát triển
Kiến trúc tổng quát của một Nền cung cấp dịch vụ ở trên cũng phụ thuộc vàocông nghệ sử dụng phát triển nó Do đặc điểm hỗn hợp, đa hệ thống, và đa ứngdụng của hạ tầng Công nghệ thông tin, truyền thông trong các doanh nghiệpcung cấp dịch vụ nên Kiến trúc hướng dịch vụ thường được lựa chọn như làmột giải pháp hàng đầu Tuy nhiên, không phải toàn bộ hệ thống Nền cung cấpdịch vụ trên được triển khai theo Kiến trúc hướng dịch vụ mà thông thường cáctầng cao phía trên được triển khai theo kiến trúc hướng dịch vụ để dễ dàng tíchhợp với các ứng dụng, hệ thống khác; trong khi đó các tầng thấp thường phảigiao tiếp với các thiết bị, dịch vụ mạng lại được triển khai bằng các cộng nghệ
cổ điển hơn, điều này phụ thuộc vào hạ tầng hiện có của doanh nghiệp Ví dụnhư tầng thực thi dịch vụ hầu hết các sản phẩm sử dụng CORBA để cài đặt
4 Một số Nền cung cấp dịch vụ nổi bật
4.1 IBM Service Delivery Platform [18]
IBM đưa một giải pháp tổng thể cho các nhà điều hành mạng, các nhà cung cấpdịch vụ Bộ sản phẩm Nền cung cấp dịch vụ của IBM gọi là Services ProviderDelivery Environtm (SPDE) Chiến lược và tư tưởng của IBM là cung cấp mộtcách toàn diện các thành phần trong một giải pháp, sản phẩm nhằm hỗ trợ tốtnhất cho nhà cung cấp dịch vụ Sản phẩm được thiết kế phân tầng nhằm táchbiết các miền dịch vụ khác nhau Hình vẽ dưới đây cho thấy sự phân cấp trongnguyên tắc thiết kế sản phẩm của IBM Các nguyên tăng này nhằm tăng tínhmềm dẻo giảm thiểu các sự phụ thuộc giữa các thành phần ở các miền dịch vụkhác nhau
Trang 30Hình 1 6 – Sự phân lớp theo miền dịch vụ trong chiến lược phát triển SDP của IBMToàn bộ giải pháp được chia phân lớp theo ba miền khác nhau:
Hỗ trợ tài chính, tính cước: Các thành phần, ứng dụng ở miền này hoạt
động như là các dịch vụ bên ngoài tương tác với môi trường thực thi dịch vụ,các ứng dụng hỗ trợ điều hành, tác nghiệp
Môi trường phát triển, thực thi dịch vụ: Cung cấp các cơ sở cho phép tạo
và triển khai các dịch vụ
Trừu tượng hóa, giao tiếp dịch vụ mạng: Tầng này cung cấp giao diện truy
nhập các dịch vụ mạng
Dịch vụ mạng: Đây là tầng thấp nhất, tương tác trực tiếp với hạ tầng, đường
truyền, thiết bị triển khai dịch vụ
Như vậy sản phẩm này, tích hợp sẵn các thành phần Trừu tượng hóa dịch vụ mạngnhư là một thành phần cơ bản của hệ thống SPDE Các ứng dụng bên ngoài hệthống SPDE kết nối giao tiếp với nó thông qua một bộ tiếp hợp gọi là SDPEIntegration Hub Sản phẩm được thiết kế theo kiến trúc hướng dịch vụ
Trang 31Hình 1 7 – Kiến trúc tham chiếu của IBM SDP4.2 HP Service Delivery Platform [20]
Cũng như các hãng khác, HP cũng cung cấp giải pháp Nền phân phối dịch vụcho các nhà điều hành mạng, nhà cung cấp dịch vụ Bộ sản phẩm của HP như làmột bộ thư viện chứa các chức năng cơ bản để doanh nghiệp Viễn thông nhanhchóng phát triển, triển khai và quản lý dịch vụ Hình vẽ dưới đây cho thấy kiếntrúc của Nền cung cấp dịch vụ cung cấp bởi HP:
Kiến trúc Nền cung cấp dịch vụ HP
Hình 1 8 – Kiến trúc HP SDP
Như vậy, cách tiếp cận của HP về Nền cung cấp dịch vụ khá giống với IBM: Tầng trừutượng hóa dịch vụ được tích hợp sẵn trong giải pháp, các ứng dụng hỗ trợ tác nghiệp
Trang 32được kết nối với hệ thống Cung cấp dịch vụ thông qua một chuẩn giao tiếp gọi là Cổnggiao tiếp mạng (Network Gateways) Ở tầng cao hơn là bộ thư viện các API, ứng dụngxây dựng sẵn nhằm hỗ trợ nhanh việc tạo và quản lý dịch vụ Tuy nhiên, so với giảipháp từ IBM, HP có sự tiếp cận theo chiều dọc, không phân tầng rõ ràng theo các miềndịch vụ khác nhau
4.3 Erricson Service Delivery Platform [19]
So với giải pháp trước, Erricson đưa ra một giải pháp phong phú hơn, toàn diệnhơn với sự hỗ trợ trực tiếp về quản lý nội dung Các thành phần trừu tượng hóadịch vụ mạng, thiết kế, thực thi điều phối được tích hợp sẵn Chiến lược sảnphẩm của Erricson là hỗ trợ tốt nhất cho việc Cung cấp dịch vụ nội dung, do vậycác thành phần thiết kế đều nhằm mục đích hỗ trợ việc phát triển, triển khai vàquản lý nội dung
Hình 1 9 – Kiến trúc Erricson SDPNhư vậy qua xem xét một số sản phẩm Nền cung cấp dịch vụ nỗi bật từ các nhàcung cấp lớn chúng ta thấy rằng, các giải pháp này đều hỗ trợ rất tốt cho cácdoanh nghiệp, nhà cung cấp dịch vụ Tuy nhiên hầu hết các sản phẩm đều tíchhợp sẵn các thành phần Dịch vụ hóa viễn thông, trừu tượng hóa dịch vụ mạngsẵn vào trong toàn bộ giải pháp Do vậy, đối với các giải pháp tích hợp hệ thống
mà không cần quá nhiều sự hộ trợ về viễn thông hoặc giải pháp cho các doanhnghiệp không hoạt động trong ngành viễn thông thì chúng quá cồng kềnh, khôngphù hợp Mặt khác việc tích hợp sẵn này làm tăng sự phụ thuộc giữa các thànhphần Khác với các nhà cung cấp đó Microsoft có cách tiếp cận khác, nhằm đưa
ra một giải pháp toàn diện hơn cho nhiều đối tượng, lĩnh vực khác nhau (mặc dùvẫn hỗ trợ tốt các hệ thống đặc thù của ngành Viễn thông – thông qua các bộtiếp hợp với chúng đã được cung cấp sẵn) Chính sự tách biệt thành phần hỗ trợnội dung và trừu tượng hóa dịch vụ mạng của Microsoft tạo ra sự mềm dẻo, linh
Trang 33hoạt cho giải pháp Tạo cơ hội lớn cho các bên thứ ba phát triển các bộ tiếp hợpcho các sản phẩm viễn thông của họ vào trong Nền cung cấp dịch vụ Đây chính
ưu điểm lớn nhất và cũng rất quan trọng của một giải pháp viễn thông với sựthay đổi thanh chóng của thị trường và nhu cầu người dùng
5 Phạm vi và các nhiệm vụ của đồ án tốt nghiệp
Với nhu cầu về Nền cung cấp dịch vụ và các lợi ích to lớn mà nó mang lại, trongthời gian làm đồ án em giành thời gian về Nền cung cấp dịch vụ với các nhiệm
– Thiết kế, xây dựng và triển khai thử nghiệm giải pháp trên
Ngoài ra để thuận lợi và có kiến thức nền tảng để nghiên cứu các vấn đề trên emphải tìm hiểu và nghiên cứu về Kiến trúc hướng dịch vụ, kỹ thuật tích hợp ứngdụng doanh nghiệp (Enterprise Application Integration - EAI)
Ở chương trên chúng ta đã trình bày về tổng quan về Dịch vụ và Kiến trúchướng dịch vụ cũng như các thách thức, trở ngại gặp phải khi triển khai các dịch
vụ đặc biết là tích hợp với các hệ thống đã có, kết hợp các dịch vụ để tạo thànhcác dịch vụ mới hay quản lý, kiểm soát chứng thực khi các dịch vụ đó triển khairộng rãi ra khỏi nội bộ mạng doanh nghiệp Các thách thức này yêu cầu một hệthống cho phép nhanh chóng tạo ra dịch vụ, các ứng ứng dụng phân tán dịch vụtheo kiến trúc hướng dịch vụ cũng như quản lý, giám sát, chứng thực sự kết hợp,cộng tác của các dịch vụ web Một nền tảng cho phép quản lý, đẩy nhanh quátrình phát triển và chuyển giao dịch vụ - đó là Nền cung cấp dịch vụ CSF là mộtsản phẩm như vậy Ở chương sau chúng ta sẽ tìm hiểu về chức năng nhiệm vụcủa CSF cũng như kiến trúc, mô hình lập trình tương tác với nó
Trang 34CHƯƠNG II NỀN TẢNG PHÂN PHỐI DỊCH VỤ - MICROSOFT CONNECTED SERVICES FRAMEWORK
CSF lưu trữ (host) môi trường phát triển và thực thi cho phép chúng ta tạo mớicác dịch vụ (XML Web service), cập nhật, và kết hợp (aggregation) các dịch vụ
đã có vào trong một ứng dụng đơn phân tán duy nhất Mục đích chính của CSF
là nhanh chóng kết hợp các dịch vụ trong khi sử dụng ít mã nhất (custom code),tối thiểu hóa sự phụ thuộc giữa các dịch vụ Web Do vậy CSF cho phép chúng tanhanh chóng phát triển, triển khai các ứng dụng phức hợp dịch vụ Web(composed webservice) một cách nhanh chóng
CSF cung cấp một nền tảng (platform) cho việc phát triển các ứng dụng phứchợp bằng cách phát triển các dịch vụ Web CSF trừu tượng hóa WebserviceEnhancement 3.0 để cung cấp các yếu tố cộng tác cần thiết trong suốt quá trình
xử lý yêu cầu của khách hàng, đối tác, người dùng,…Các dịch vụ web tương tácvới CSF thông qua giao diện dịch vụ Web Chúng ta xây dựng các dịch vụ Webtương tác với CSF bằng các công cụ Chuẩn hóa dich vụ web (Well-EnabledService Toolkit - WES toolkit) và CSF SDK, ngoài ra chúng ta có thể tương tácvới các dịch vụ web của các bên thứ 3 hoặc tương tác với các ứng dụng đã cóbằng các viết các giao diện WES đóng vai trò giao tiêp giữa chúng với CSF.Hiện tại CSF hỗ trợ sẵn các WES với các dịch vụ như Microsoft Internet TV,Microsoft Office Live Meeting, Microsoft Biztal Sever…
CSF có thể được chia ra thàng 3 phần: Máy chủ phiên CSF (CSF SessionServer) – bao gồm các thành phần cung cấp việc theo dõi nhận dạng, tìm kiếmdịch vụ cũng như quản lý thông tin tiểu sử (profile) Hai thành phần còn lại làStandard Business Event (SBE) và Order Handling Standard Hình vẽ dưới đâycho thấy kiến trúc của CSF:
Trang 35Hình 2 1 – Kiến trúc CSF
Session management Thành phần phiên của CSF Chịu trách nhiệm tiếp nhận,
định tuyến thông điêp, cũng như các chính sách bảo mậtgiữa các dịch vụ
Identity Management Thành phần quản lý nhận dạng
Service Catalog Cơ quan đăng ký, tìm kiếm truy vấn dịch vụ Các dịch
CSF được đăng ký với thành phần này
Profile Management Thành phần quản lý tiểu sử Cho phép truy nhập, tạo, cập
nhật các thông tin người dùng dịch vụ
Notification Dịch thông báo, các dịch vụ web sử dụng để thông báo
đến các dịch vụ khác, khách hang…
Bảng 2 1 – Các thành phần trong Kiến trúc CSFMáy chủ phiên được tạo nên từ các thành phần cơ bản (core component) và dịch
vụ web liên quan Máy chủ phiên được quản lý bằng cách sử dụng ba đầu cuốidịch vụ Web là Session, SessionAdmin và SessionManagerAdmin Các dịch vụweb này giúp dễ dàng nhận thông điệp từ các dịch vụ web tham gia cũng như
Trang 36tạo và quản lý vòng đời đối tượng phiên (Session Object) Ví dụ, dịch vụ webSessionManagerAdmin cung cấp tất các hoạt động cho phép tạo phiên, và khinhận yêu cầu “tạo phiên” dịch vụ web này sẽ tạo ra một ngữ cảnh cộng tác – gọi
là phiên; nó nhận dạng tất cả các dịch vụ web sẽ tham gia vào phiên cộng tác; vàđịnh tuyến các thông điệp giữa các dịch vụ web SessionAdmin quản lý, điềukhiển thuộc tính của mỗi dịch vụ web SessionManagerAdmin quản lý trạng tháicủa tất cả các phiên
CSF đồng thời cũng cung cấp các dịch vụ quản lý cho phép chúng ta thực hiệncác công việc quan trọng trong việc xây dựng các ứng dụng phân tán như theodõi quản lý nhận dạng, tìm kiếm dịch vụ, quản lý thông tin tiểu sử (profile)những chức năng này được cung cấp như là các thành phần cơ bản CSF (corecomponent); các thành phần này bao gồm:
Danh mục dịch vụ (Service Catalog): cung cấp khả năng truy nhập vào kho
chứa UDDI – nơi lưu trữ đinh danh web (URI) của các dịch vụ web cần thiết để
sử dụng cho ứng dụng của chúng ta Một cách chính xác dịch vụ web ServiceCatalog là một bộ tiếp hợp (tương ứng một – một) với dịch vụ UDDI củaWindows Server 2003 nhằm dễ dàng cho việc tích hợp vào ứng dụng webservice
Quản lý nhận dang (Identity Manager): Cho phép theo dõi nhận dạng người
dùng và cung cấp khả năng quản lý, dịch vụ đăng nhập một lần (Single-Sign OnService)
Quản lý tiểu sử (Profile Manager): Cung cấp khả năng theo dõi quản lý thông
tin tiểu sử (profile) của người dùng cũng như các bên tham gia ứng dụng phântán bằng cách sử dụng cơ sở dữ liệu RDF
Thành phần logic dịch vụ (Service logic): cho phép tạo và định nghĩa các logic
nghiệp vụ để xử lý các yêu cầu trong ứng dụng CSF Tùy vào các ứng dụng khácnhau mà chúng ta xây dựng các thành phần nghiệp vụ cho riêng mình Thànhphần này không phải là một thành phần cung cấp sẵn mà hoàn toàn do chúng taxây dựng Mỗi thành phần nhân có một giao diện dịch vụ web cho phép chúng tatruy nhập thông tin nó lưu trữ Hình vẽ dưới đây cho thấy quan hệ giữa cácthành phần cơ bản và các cơ sở dữ liệu tương ứng
Trang 37CSDL SSO
Thành phần phiên
Thành phần danh mục dịch vụ
Thành phần Quản lý nhận dạng
Thành phần Quản lý tiểu sử
Kho UDDI
CSDL RDF
Active Directory
Hình 2 2 – Các thành phần CSFTương tác giữa các bên tham gia dịch vụ và CSF tương tự như các máy tính khikết nối với một cái Hub trong mô hình mạng hình sao
Thành phần Quản lý nhận dạng Dịch vụ web Session
Dịch vụ web
Dịch vụ web
Thư mục dịch vụ
Quán lý nhận dạng Người dùng
Hình 2 3 – Vai trò trung tâm cộng tác của thành phần Phiên
Như vậy, thành phần phiên đóng vai trò như một cái Hub và các bên tham giabao gồm người dùng và các dịch vụ web đóng vai trò như các máy tính kết nốivào Các thành phần nhân của CSF trừ thành phần phiên (đóng vai trò trung tâmgiao tiếp) đều hoạt động như là các bên tham gia dịch vụ trong ngữ cảnh cộngtác (collaboration context) CSF cung cấp các yếu tố cộng tác cần thiết này giúpchúng ta dễ dàng tái sử dụng; không phải xử lý, quản lý nhận dạng hay thông tintiểu sử, chính sách và chuẩn bị (provisioning) khi chúng ta tạo mới các cộng táchoặc hòa phối (orchestration) dịch vụ web
1.2 Kịch bản sử dụng CSF
Bằng cách sử dụng Microsoft Connected Services Framework, chúng ta có thểtạo các ứng dụng phân tán nhằm cung cấp các dịch vụ và sản phẩm khác nhauđến người tiêu dùng CSF được thiết kế nhằm tạo điều kiện thuận lợi cho việc
Trang 38kết hợp và cộng tác giữa các dịch vụ web không phụ thuộc vào công nghệ sửdụng trong các doanh nghiệp sử dụng nó.
Nếu chúng ta có một môi trường để phát triển các ứng dụng phân tán bằng cách
sử dụng Kiến trúc hướng dịch vụ, chúng ta có thể sử dụng CSF để dễ dàng tái sửdụng các dịch vụ trong nhiều ứng dụng phân tán khác nhau Ví dụ, nếu chúng tatạo ra một dịch vụ web để định tuyến các thông điệp tới các thành phần cơ bảncủa CSF (core components) trong kịch bản nhà cung cấp dịch vụ nôi dung,chúng ta cũng có thể sử dụng dịch vụ đó cho kịch bản khách hàng tiêu thụ dịchvụ
Dưới đây là một số ví dụ các lĩnh vực có thể áp dụng CSF:
Kịch bản dịch vụ hỗ trợ nghiệp vụ: Chúng ta có thể tích hợp CSF
vào quy trình nghiệp vụ bên trong doanh nghiệp bằng cách xây dựngứng dụng phân tán chung cho cả doanh nghiệp Với ứng dụng phântán này chúng ta có thể hỗ trợ cho các phòng ban, lĩnh vực khác nhau
Ví dụ, chúng ta có thể xây dựng một ứng dụng thông báo, tính cước(billing) hoặc ứng dụng xử lý yêu cầu (order handling) cho cả công tybằng cách sử dụng thành phần SBE (Standard business events) củaCSF
Kịch bản nhà cung cấp nội dung: Nếu doanh nghiệp của chúng ta
đưa ra các dịch vụ nội dung tới các thuê bao và khách hành trựctuyến, chúng ta có thể sử dụng CSF để tạo ra các ứng dụng phân tán
dễ dành cho việc tạo và tùy biến các dịch vụ nội dung Qua đó chúng
ta có thể đưa ra tất cả các dịch vụ như các tài nguyên trực tuyến, cácvideo, phim, các ứng dụng doanh nghiệp,… cũng như dịch vụ bán lẻtrực tuyến tất cả các dịch vụ này có thể đưa ra thông qua một hoặcnhiều cổng thông tin Những cổng thông tin này chỉ tương tác với mộtứng dụng phân tán duy nhất
Kịch bản lữu trữ trực tuyến: Nếu doanh nghiệp của chúng ta đưa ra
các dịch vụ lưu trữ cho các cá nhân cũng như tổ chức, chúng ta có thể
sử dụng CSF để xây dựng một ứng dụng phân tán, nó cho phép kháchhàng của chúng ta có thể dễ dàng sử dụng dịch vụ chúng ta lưu trữ.CSF có các thành phần xây dựng sẵn hỗ trợ lưu trữ MicrosoftExchange, Microsoft SharePoint, Internet Information Services, vàLive Communication Server Chúng ta có thể tùy biến ứng dụng củamình để tương tác với các ứng dụng khác mà chúng ta muốn lưu trữ
Kịch bản thiết lập (provisioning) dịch vụ: Nếu doanh nghiệp của
chúng ta cung cấp các dịch vụ yêu cầu phải provision, chúng ta có thểtạo một ứng dụng phân tán CSF để trợ giúp kết hợp các dịch vụ này
và phân phối các dịch vụ cho các người dùng đã được thiết lập Ví dụ,một doanh nghiệp viễn thông đưa ra các dịch vụ như điện thoại cơbản, thư thoại bằng giọng nói, chờ đợi cuộc gọi,… Khi một ngườidùng mới yêu cầu dịch vụ điện thoại cơ bản và thư thoại bằng giọngnói thì chỉ có các dịch vụ này được provision cho người dùng đó
Trang 39 Kịch bản người tiêu dùng: Nếu chúng ta đưa ra các dịch vụ thông tin
giải trí, trò chơi trực tuyến,… cho người tiêu dùng như xem TV trựctuyến, chat, Xbox Live bằng cách kết hợp các dịch vụ này lại với nhauchúng ta có thể tạo ra các điểm bán mạnh mẽ cho doanh nghiệp củachúng ta CSF cho phép kết hợp các dịch vụ này vào trong một ứngdụng phân tán duy nhất, cho phép phân phối quản lý việc đưa ra cácdịch vụ này tới bất kỳ một người dùng nào
Trong một vài tình huống chúng ta phải viết các bộ tiếp hợp Well-EnabledService để giao tiếp giữa sản phẩm của chúng ta và CSF Hiện tại CSF đã đưa ramột loạt các bộ tiếp hợp cho các sản phẩm của Microsoft như Hosted MessageCollaboration, Office Live Meeting và IPTV CSF cũng đưa ra một bộ công cụ
để xây dựng các Well-Enabled service cho các sản phẩm mà các bên thứ ba pháttriển
CSF cung cấp một cơ sở hạ tầng thông qua đó các dịch vụ web trong ứng dụngphân tán của chúng ta tương tác với nhau CSF thực hiện điều này bằng cáchcung cấp một tập các thành phần, mỗi thành phần như vậy đưa ra một dịch vụweb theo tiêu chuẩn WSE 3.0 của Microsoft (Microsoft Web ServiceEnhancements 3.0) để tương tác với nhau, do vậy các dịch vụ web này có thểgiửi và nhận các thông điệp SOAP Các thành phần này có khả năng xử lý cácthông tin quan trọng cần thiết để xử lý các thông điệp đến từ các hệ thống yêucầu khách hàng, yêu cầu cấp phát tài nguyên của người dùng, hay bất kỳ loạithông điệp nào mà chúng có thể chuyển tải qua giao diện dịch vụ web được Vềmặt nguyên tắc chúng ta có thể gửi các thông điệp này một cách đồng bộ, tuynhiên thực tế các ứng dụng phân tán gửi và nhận các thông điệp này một các bấtđồng bộ là thích hợp nhất
Khi ứng dụng CSF của chúng ta nhận được một thông điệp gửi đến, nó sẽ thựchiện các nhiệm vụ cần thiết để tạo ra một bản đặc tả phiên cộng tác (sessionmanifest) chứa các thông tin liên quan đến các dịch vụ web cần thiết để tham giaphiên cộng tác nhằm đáp ứng yêu cầu đó Tiếp theo, nó chuyển bản đặc tả phiêncộng tác đó cho thành phần cơ bản của CSF có nhiệm vụ khởi tạo ngữ cảnh
phiên cộng tác, ngữ cảnh này được gọi gắn gọn là phiên Tuy nhiên, chúng ta
cũng có thể khôi phục, sử dụng các phiên cộng tác đã có thay vì tạo phiên mớinếu nó đã tồn tại (chẳng hạn khi chúng ở trạng thái ngủ động) Phiên cộng tác sửdụng các thông tin có trong bản đặc tả phiên để định tuyến các thông điệp tớicác dịch vụ web tham gia một cách đúng đắn Và như vậy, phiên cộng tác đóngvai trò như là một trung tâm kết nối (tổng đài điều hành) trong đó các dịch vụweb tham gia giao tiếp với nhau qua nó
Một thành phần quan trọng khác của ứng dụng CSF là thành phần lô-gic dịch
vụ, đó là một dịch vụ web chúng ta định nghĩa để các lô-gic nghiệp vụ cho ứngdụng của chúng ta Sau khi phiên cộng tác được tạo ra, thành phần lô-gic dịch vụnày sẽ quyết định khi nào thì gửi các thông điệp cho các dịch vụ tham giam, vàgửi cho dịch vụ nào Trong thành phần lô-gic này chúng ta cũng có thể cài đặtcác cơ chế phục hồi khi có lỗi, ví dụ như quay lui khi cần thiết Về mặt cơ bản,thông điệp truyền giữa các dịch vụ web trong ứng dụng CSF của chúng ta tùy
Trang 40thuộc vào các ứng dụng cụ thể khác nhau, tuy nhiên chúng ta có thể thiết lập các
cơ chế thông báo lỗi, thông báo các trạng thái xử lý, hoặc hoàn thành xử lý…Tất
cả các thông điệp này phải được chuyển qua phiên cộng tác trước khi đến đượcdịch vụ web cần nhận nó
Ở đây chúng ta cần phân biệt khác nhau giữa thành phần lô-gic dịch vụ vớithành phần phiên Thành phần lô-gic nghiệp vụ sẽ xử lý và quyết định các quytrình nghiệp vụ cho ứng dụng của chúng ta Nó quyết định dịch vụ web nào sẽgửi thông điệp và dịch vụ web nào sẽ nhận thông điệp đó, cũng như khi nào thìthông điệp đó được gửi Tuy nhiên, cách gửi như thế nào, các chính sách bảo
mật, quản lý trên đó thì do thành phần phiên đảm nhận Đây là cách thức cài đặt nhằm tách biệt lô-gic nghiệp vụ ra khỏi sự cộng tác giữa các dịch vụ Sự tách
biệt này là cho thấy sự phân lớp trong mô hình phân lớp kiến trúc hướng dịch vụ
mà ta sẽ trình bày dưới đây (xem thêm phần kiến trúc phân lớp – kiến trúc CSF)– tầng hòa phối (orchestration) và tầng cộng tác (collaboration)
CSF cũng cung cấp các thành phần cơ bản phục vụ cho việc quản lý nhận dạng
và tiểu sử (profile) Thành phần nhận dạng không những cung cấp các chứcnăng cho phép quản lý người dùng, tổ chức, khách hàng và các vai trò trongCSF, đồng thời cung cấp các cơ chế xác thức và phân quyền theo vai trò Bêncạnh đó, thành phần này cũng hỗ trợ khả năng đăng nhập một lần bằng cách ánh
xạ giữa người dùng CSF và người dùng của các dịch vụ giá trị gia tăng Nhờ vậyngười dùng chỉ cần cung cấp các thông tin chứng thực một lần mà có thể sửdụng nhiều dịch vụ khác nhau thay vì môi khi sử dụng một dịch vụ nào đó lạiphải đăng nhập
Thành phần quản lý tiểu sử được cung cấp trong CSF nhằm quản lý tiểu sửngười dùng Thành phần này sử dụng Khung mô tả tài nguyên (Resource
Description Framework - RDF) để lưu trữ, mô tả thông tin người dùng Việc dùng RDF cho phép mềm dẻo trong việc tùy biến, thêm bớt các trường cần thiết tuy thuộc vào các ứng dụng và yêu cầu thực tế khác nhau Thông thường, tiểu sử
người dùng (kho RDF) chứa các thông tin về tên người dùng, email, địa chỉthông báo (cước, hóa đơn, tin tức,…), các trường chỉ ra các dịch vụ, sản phẩm
mà người dùng đã mua hoặc thuê bao cùng với các thiết bị sử dụng để truy cậpứng dụng CSF Bộ tích hợp tiểu sử (Profile Integrator) đăng ký để cập nhật các
sự kiện mà thành phần quản lý tiểu sử tạo ra và chuyển tải các thay đổi đó đếncác dịch vụ mà người dùng đã thuê bao
2 Kiến trúc CSF
2.1 Kiến trúc phân lớp
Mô hình OSI truyền thống định nghĩa ngăn xếp (stack) 7 lớp cho mô hình mạngtrong đó tầng ứng dụng được xem như một tầng đơn Tuy nhiên, cùng với sựtiến hóa của công nghệ dịch vụ web, sự phát triển nhanh chóng và kết hợp củacác dịch vụ web, tầng ứng dụng trở nên phân tán hơn rất nhiều và yêu cầu địnhnghĩ ngăn xếp của riêng mình Trong khi ngăn xếp cho một dịch vụ đơn đã đượcđịnh nghĩa rõ ràng, ngăn xếp tương ứng giải quyết với sự tương tác kết hợp củanhiều dịch vụ web chỉ giới hạn ở mức hòa phối (orchestration) mà không đặc tảhết tất cả các thuộc tính cần thiết để điều khiển sự kết hợp cộng tác của các dịch
vụ Để đối phó với sự biến động của môi trường mạng dịch vụ và phân biệt sự