Báo cáo Giải pháp Web Services của Microsoft

pdf 17 trang phuongnguyen 8160
Bạn đang xem tài liệu "Báo cáo Giải pháp Web Services của Microsoft", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbao_cao_giai_phap_web_services_cua_microsoft.pdf

Nội dung text: Báo cáo Giải pháp Web Services của Microsoft

  1. ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO NGHIÊN CỨU KHOA HỌC Đề tài: GIẢI PHÁP WEB SERVICES CỦA MICROSOFT Giáo viên hướng dẫn: Thầy Nguyễn Mạnh Hùng Sinh viên thực hiện: Phạm Minh Nguyệt Hà Nội, tháng 4 năm 2008
  2. Phạm Minh Nguyệt A_K54_CNTT MỤC LỤC Chương 1: Tìm hiểu về Web Services. I.Giới thiệu: 3 II. Kiến trúc Web Services: 3 III. Truyền tin lõi (Core messaging): 3 IV. Metadata: 4 V. An ninh Web Services (Security): 5 VI. Khám phá (Discovery): 6 VII. Giao thức phối hợp giữa -Giao dịch và Truyền tin đáng tin cậy (Reliable Messaging and Transactions): 6 VIII. Sự quản lý (Management): 6 Chương 2: Nền tảng Microsoft và .NET của Web Services: 6 I. Giới thiệu: 6 a. Web Services là gì? 6 b. Những hỗ trợ của Microsoft cho Web Services: 7 II. Những tiêu chuẩn và khả năng vận hành với nhau: 8 a. Những chuẩn ngang: 8 b. Những chuẩn dọc: 9 c. Khả năng vận hành với nhau: 9 III. Những sản phẩm: 10 a. Xây dựng Web Services: 10 b. Những thể hiện và chi phối Web Services: 10 c. Sự quản lý: 11 IV. Tóm lược: 13 Chương 3: Ví dụ về Web Services trên .NET: 14 1
  3. Phạm Minh Nguyệt A_K54_CNTT LỜI MỞ ĐẦU Ngày nay, Công nghệ thông tin phát triển mạnh mẽ đồng hành với nhu cầu trao đổi thông tin và sử dụng các dịch vụ ngày càng tăng, có nhiều phương thức giúp người dùng có thể sử dụng nhiều dịch vụ, chia sẻ dữ liệu như: rmi, dcom hoặc corba service nhưng còn mang nhiều hạn chế. Công nghệ Web Services ra đời là một cuộc cách mạng hóa cách thức hoạt động của các dịch vụ B2B và B2C. Web Service đã mở ra một hướng mới cho việc phát triển các ứng dụng trên Internet.Web services kết hợp sử dụng nhiều công nghệ khác nhau cho phép hai ứng dụng cùng ngôn ngữ, độc lập hệ điều hành trao đổi được với nhau thông qua môi trường mạng Internet. Tuy nhiên những công nghệ sử dụng ở đây không nhất thiết phải là những công nghệ mới. Đây là điểm khác biệt của web services so với các công nghệ khác, đó chính là khả năng kết hợp các công nghệ đã có như là XML, SOAP, WSDL, UDDI để tạo ra các service, đặc điểm này làm nổi bật vai trò của Web Services. Sau một thời gian tìm hiểu và nghiên cứu, em quyết định trình bày một số nội dung như sau: Tìm hiểu về Web Services Nền tảng Microsoft và .NET của Web Services Ví dụ về Web Services trên .NET. Hà Nội, tháng 4 năm 2008 2
  4. Phạm Minh Nguyệt A_K54_CNTT Chương 1: Tìm hiểu về Web Services: I. Giới thiệu: Một nhân tố tạo nên sự thành công của HTTP và HTML là tính đơn giản- cả HTTP và HTML đều chủ yếu dựa trên nền văn bản và có thể được thi hành bởi nhiều hệ điều hành và môi trường lập trình khác nhau. Web Services lấy các ý tưởng và nguyên lý của Web, áp dụng chúng vào sự tương tác giữa máy tính và máy tính. Giống như mạng toàn cầu (World Wide Web), Web Services sử dụng một tập các giao thức cơ bản để chia sẻ một kiến trúc chung, có nghĩa là chúng sẽ được thực thi bởi nhiều hệ thống triển khai mà độc lập với hệ thống đã phát triển chúng. Những nguyên lý nòng cốt sau đã điều khiển việc thiết kế và thi hành của những giao thức kiến trúc Web Services : Sự định hướng thông điệp: Phương thức biên soạn: Dịch vụ tự trị: Quản lý trong suốt: Sự hợp nhất trên nền giao thức: II. Kiến trúc Web Services: Tổng quan những thành phần của Web Services và những cơ chế dựa vào đó mà Web Services được xây dựng nên, với sự hỗ trợ của thiết kế kiến trúc. Các đặc tính của kiến trúc Web Services được thể hiện như sau. III. Truyền tin lõi (Core messaging): Mục này thể hiện những đặc tả chính được sử dụng để mã hoá những thông điệp trong kiến trúc Web Services: XML, SOAP, 3
  5. Phạm Minh Nguyệt A_K54_CNTT và WS-Addressing. Web Services dựa vào XML cho mô hình dữ liệu cơ bản, SOAP cho sự xử lý thông điệp và mô hình dữ liệu, WS- Addressing để định vị Web Services và xác định thông điệp độc lập với việc truyền tải nó. 1. XML và Infoset: 2. SOAP: 3. Message Exchange Patterns:-mô hình trao đổi thông điệp: 4. Transport Independence: 5. Addressing - Sự định vị: IV. Metadata: Để cung cấp một môi trường dễ dàng thao tác và khả năng phát triển linh hoạt, các dịch vụ được mô tả sử dụng siêu dữ liệu mà máy tính có thể đọc được. Siêu dữ liệu có khả năng tương tác với nhau được. Siêu dữ liệu Web Services phục vụ một số mục đích. Nó được sử dụng để:  Mô tả những mẫu trao đổi mà dịch vụ có thể hỗ trợ và mẫu trao đổi thông báo hợp lệ của một dịch vụ.  Siêu dữ liệu cũng được dùng để mô tả khả năng và yêu cầu của một dịch vụ. Mẫu cuối cùng của siêu dữ liệu được gọi là “chính sách” của một dịch vụ. Web Service Description Language (WSDL) là cơ chế đầu tiên để mô tả những đặc trưng cơ bản của một Web Service. Thông báo được mô tả trong WSDL được nhóm lại vào trong những thao tác định nghĩa cơ bản. Những thao tác được nhóm lại vào các giao diện (interfaces) gọi những cổng mà chỉ rõ một thoả thuận trừu 4
  6. Phạm Minh Nguyệt A_K54_CNTT tượng cho một dịch vụ. Cuối cùng, ports và bindings được dùng để kết hợp portTypes với việc truyền tải và những thông tin triển khai cụ thể. Sự mô tả WSDL là bước đầu tiên trong việc tự động xác định tất cả các đặc trưng của dịch vụ đích và các công cụ phát triển phần mềm. Dù WSDL là một điểm xuất phát tốt nhưng nó vẫn không đủ để mô tả tất cả các khía cạnh vủa một Web Service. Web Services thế hệ thứ nhất có thể trao đổi siêu dữ liệu sử dụng giao thức độc quyền. Dữ liệu này được gửi tới WS-Policy. WS-Policy cung cấp một mô hình đa dụng và cú pháp để mô tả và truyền thông các chính sách của một Web Service. Sự xác nhận chính sách cho phép lập trình viên thêm siêu dữ liệu phù hợp vào thông tin dịch vụ ngay khi thực hiện hoặc tại thời gian phát triển. V. An ninh Web Services (Security): Phần này sẽ đề cập các đặc tả được sử dụng trong kiến Web Services để cung cấp sự toàn vẹn thông điệp, sự thẩm định và bí mật, trao đổi mã thông báo an toàn, an ninh của một phiên thông báo, sự an toàn cho một liên đoàn các Web Services bên trong một hệ thống. Những đặc tả cung cấp những tính năng này là WS-Security, WS-Trust, WS- SecureConversation, WS-SecurityPolicy, and WS-Federation. An ninh Web Services dựa vào những yêu cầu mà những thông điệp đến mang một tập các khẳng định về sender, một dịch vụ hoặc tài nguyên khác. Chúng ta gọi đó là những khẳng định an toàn. Những khẳng định an toàn bao gồm: nhận dạng (identity), các thuộc tính, quyền sở hữu chính (key possession), sự cho phép, các khả năng. Những mã thông báo an toàn đại diện cho sự pha trộn những khả năng và những điều khiển truy cập. 1. Tính bí mật và sự toàn vẹn thông báo 2. Sự tin cậy dựa trên những dấu hiệu an toàn (Trust Based on Security Tokens). 5
  7. Phạm Minh Nguyệt A_K54_CNTT 3. Những phiên an toàn (Secure Sessions) 4. Các chính sách an toàn (Security Policies) 5. System Federations. VI. Khám phá (Discovery): VII. Giao thức phối hợp giữa -Giao dịch và Truyền tin đáng tin cậy (Reliable Messaging and Transactions): VIII. Sự quản lý (Management): Chương 2: Nền tảng Microsoft và .NET của Web Services: I. Giới thiệu: a. Web Services là gì? Thuật ngữ Web Services có nhiều định nghĩa khác nhau tuỳ thuộc vào hiểu biết của người dùng. Tuy nhiên thuật ngữ Web Services có một ý nghĩa rất cụ thể, nó dựa trên chuẩn cơ bản của Sun, Microsoft, IBM, BEA, software AG, và nhiều công ty phần mềm lớn khác. Web Services được định nghĩa như sau: Web Services là những ứng dụng sử dụng những truyền tải, sự mã hoá, và giao thức chuẩn để truyền thông. Web Services kết hợp sử dụng nhiều công nghệ khác nhau cho phép những hệ thống máy tính trên bất kì nền tảng nào có thể trao đổi được với nhau thông qua môi trường mạng Intranets, Extranets, và Internet với sự hỗ trợ những thông điệp đáng tin cậy, giao dịch phân tán, v v Đây là điểm khác biệt của Web Services so với các công nghệ khác, đó chính là khả năng kết hợp các công nghệ đã có như là XML, SOAP, WSDL, UDDI để tạo ra các service. Web Services dựa trên một tập hợp các tiêu chuẩn để mô tả cú pháp và ngữ nghĩa của sự truyền thông giữa các phần mềm. 6
  8. Phạm Minh Nguyệt A_K54_CNTT XML (eXtensible Markup Language), SOAP (Simple Object Access Protocol), WSDL( Web Services Description Language) và UDDI (Universal Description, Discovery and Intergration) được sử dụng để đưa ra những Web Services ứng dụng với một hệ thống kiểu (XML), một giao thức truyền thông điệp (SOAP), một ngôn ngữ định nghĩa interface(WSDL) và đăng kí cho việc xuất bản Web Services (UDDI). XML cung cấp cú pháp chung cho thể hiện dữ liệu, SOAP cung cấp ngữ nghĩa, chuẩn đóng gói và định tuyến cho việc trao đổi dữ liệu, WSDL cung cấp một cơ chế đặc tả những document XML và những message SOAP mà nó phải được sử dụng để tương tác với Web Services.UDDI cho phép những tổ chức đăng kí những Web services của họ với một thư mục chung, vì vậy những client có thể xác định được những Web services của họ và biết làm thế nào để truy xuất đến chúng. Khi được phát triến, Web Services được tạo thành từ những trao đổi trong công việc nội bộ của Microsoft . Ngoài việc xây dựng toàn bộ nền tảng cho Web Services với .NET, Microsoft tiếp tục phát triển lời cam kết của nó để đạt đến sự tiêu chuẩn hoá đối với cả chuẩn ngang lẫn chuẩn dọc. b. Những hỗ trợ của Microsoft cho Web Services: Khi được phát triến, Web Services được tạo thành từ những trao đổi trong công việc nội bộ của Microsoft . Ngoài việc xây dựng toàn bộ nền tảng cho Web Services với .NET, Microsoft tiếp tục phát triển lời cam kết của nó để đạt đến sự tiêu chuẩn hoá đối với cả chuẩn ngang lẫn chuẩn dọc. Trong những năm tới, Web Services sẽ thực hiện một vai trò thậm chí còn nòng cốt hơn theo những đề nghị của nhà phát triển và cộng đồng người sử dụng thông qua nền tảng Microsoft. Đó là một thị trường được chú trọng phát triển tập trung vào những thao tác và 7
  9. Phạm Minh Nguyệt A_K54_CNTT quản lý trong CNTT, mở rộng cho cả khách hàng, thị trường ứng dụng kinh doanh. Đối với nhà phát triển, Windows Communication Foundation (WCF) là nền tảng thế hệ kế tiếp của Microsoft để xây dựng Web Services an toàn và có độ tin cậy cao. Đối với chuyên gia CNTT thì Windows Server và Microsoft Operations Manager sẽ cho phép quản lý những phần cứng và phần mềm đang sử dụng Web Services. Đối với khách hàng, Windows Vista sẽ hỗ trợ tương tác với những thiết bị sử dụng Web Services như máy in, máy quay và hệ thống điều khiển tại nhà. Ngoài ra, Microsoft mở rộng ra ngoài phạm vi hỗ trợ cho những sản phẩm của Microsoft. Như một nhà cung cấp, Microsoft phân phối một nền tảng Web Services mà qua đó những nhà cung cấp và những khách hàng khác có thể xây dựng các giải pháp tuỳ theo nhu cầu thị trường và công việc của họ. II. Những tiêu chuẩn và khả năng vận hành với nhau: Các nhà cung cấp thoả thuận dựa trên những tiêu chuẩn và khả năng tương tác với nhau, tạo nên Web Services được tích hợp từ các công nghệ đã có sẵn. Microsoft có những nỗ lực để tạo ra Web Services có chuẩn ngang tốt như chuẩn Web Services chuyên biệt trong công nghiệp. a. Những chuẩn ngang: i. Kiến trúc Web Services-*: Khi thị trường Web Services mở rộng, những nhu cầu nâng cao như tính an toàn, tính tin cậy và giao dịch giữa các dịch vụ xuất hiện. Microsoft và những nhà cung cấp khác đáp ứng những nhu cầu này bởi một tập những đặc tả mà ta gọi là kiến trúc Web 8
  10. Phạm Minh Nguyệt A_K54_CNTT Services-*. Mục đích của những đặc tả này là cung cấp một bản thiết kế cho những chức năng nâng cao mà vẫn giữ được tính dễ hiểu của Web Services. ii. Phần thân của chuẩn ngang: 1. W3C: 2. OASIS: 3. WS-I: b. Những chuẩn dọc: Những chuẩn ngang cho Web Services như XML, SOAP và kiến trúc WS-* tạo cơ sở cho sự ra đời của các chuẩn dọc. Microsoft đóng một vai trò tích cực trong sự tạo thành của những tiêu chuẩn này, đang điều khiển hơn một chục những tiêu chuẩn dọc trong giáo dục, tài chính, y tế, ô tô mát và công nghiệp viễn thông thông qua những tiêu chuẩn sau đây: ACORD ARTS AIAG CDISC CABA DMTF c. Khả năng vận hành với nhau: Khả năng vận hành với nhau của kiến trúc WS-* được đảm bảo bởi hai quá trình: Đưa ra xem xét những đặc tả của các chuẩn, như OASIS, và W3C, và Web Services Workshop Process. Web Services Workshop Process dựa trên nguyên lý Internet Engineering Task Force (IETF) yêu cầu ít nhất hai ứng dụng vận hành được với nhau. Cho đến nay, Microsoft và hơn 70 nhà cung cấp khác đã tham gia vào quá trình WS-*. Nhiều đặc tả hoặc là đã được 9
  11. Phạm Minh Nguyệt A_K54_CNTT chuẩn hoá hoặc đang được xem xét để trở thành chuẩn, các nhà cung cấp đang chuyển sự chú ý của họ tới sự thi hành kiến trúc WS-*. Microsoft vừa cung cấp bản thi hành thử nghiệm của vài đặc tả WS-* trong Web Services Enhancements (WSE) và sẽ cung cấp một bản thi hành đầy đủ cho kiến trúc WS-* với WCF. III. Những sản phẩm: a. Xây dựng Web Services: Microsoft là một công ty nền tảng và được giao phó để cung cấp một “hệ sinh thái” cho các toà nhà và quản lý các hệ thống kết nối. Microsoft đầu tư rất lớn cho Web Services, xây dựng toàn bộ nền tảng thế hệ kế tiếp với Microsoft.NET. Từ việc xây dựng, tiêu thụ, cho đến quản lý Web Services - Microsoft đều có những hỗ trợ một cách toàn diện thông qua toàn bộ các đề nghị đối với những sản phẩm đó. i. Visual Studio 2005 và .NET Framework 2.0: ii. Visual Studio Team System iii. Web Services Enhancements iv. .NET Framework 3.0: v. BizTalk Server b. Những thể hiện và chi phối Web Services: i. Windows Vista: ii. Office: iii. Những sản phẩm và công nghệ SharePoint: iv. Động lực học: 10
  12. Phạm Minh Nguyệt A_K54_CNTT v. SQL Server: vi. Xbox Live: vii. MSN: viii. Thế giới ảo (Virtual Earth): c. Sự quản lý: i. Quản lý Web Services: Windows Communication Foundation Management- Quản lý nền tảng truyền thông Windows. Ngoài việc cung cấp một mô hình lập trình cho việc xây dựng Web Services, WCF với một tập các công cụ và các đặc tính quản lý làm cho việc tạo ra, triển khai, định hình và theo dõi Web Services một cách dễ dàng hơn. Hỗ trợ của WCF cho quản lí gồm hai loại: các công cụ và các trang bị máy móc. Công cụ, bao gồm bộ WCF Configuration Editor, tối ưu hoá các công việc thủ công như chỉnh sửa các file cấu hình. Những đặc tính quản lý khác, như bộ đếm thì thuộc loại các trang bị máy móc. Sự trang bị các thiết bị quản lý được xây dựng cho WCF: Tracing-Đánh dấu: Performance Counters- Bộ đếm thực thi: WCF thi hành một tập các bộ đếm thực thi để theo dõi tình trạng của một ứng dụng WCF. Windows Management Interface- Giao diện quản lý Windows: WCF hỗ trợ WMI, một công nghệ quản lý cho việc theo dõi tình trạng của một ứng dụng WCF. Các công cụ như WMI Common Information Model (CIM) có thể được gán cho những ứng dụng WCF để lộ ra những thông tin như kích thước của bộ đệm đầu vào. 11
  13. Phạm Minh Nguyệt A_K54_CNTT Microsoft Operations Manager (MOM) được sử dụng bởi các chuyên viên CNTT để điều hành máy chủ và các ứng dụng. Nó cho phép quản lý các tài nguyên bao gồm các phần mềm hỗn tạp, Web Services, các thành phần của hệ điều hành. Các gói quản lý MOM là một tập hợp những quy tắc theo dõi trên diện rộng tình trạng của máy chủ. MOM 2005 giới thiệu một gói quản lý mới cho các trang web và Web Services mà đơn giản hoá quản lý Web Services bên trong một doanh nghiệp bao gồm sự kiểm định tính sẵn sàng và thực thi, những thông báo cho các lỗi. Website and Services Management Pack (WSSMP) cho phép chuyên gia CNTT xây dựng các quy tắc phản ánh được các yêu cầu HTTP và dữ liệu phản hồi của một Web Service. Hình 20 – WSSMP sử dụng winzard để tập hợp dữ liệu và tạo ra những quy tắc để theo dõi Web Services. ii. Quản lý hệ thống sử dụng Web Services: Microsoft Operations Management (MOM) MOM không chỉ đơn giản hoá quản lý Web Services mà nó cũng đơn giản hoá việc quản lý hệ thống thông qua sử dụng Web 12
  14. Phạm Minh Nguyệt A_K54_CNTT Services. MOM Connector Framework (MCF) là một công nghệ trên nền Web Services để kết nối MOM với những nền tảng quản lý khác. Những cảnh báo từ những nền tảng quản lý đối tác có thể được báo cáo tới MOM. Hình 21 - MCF là một công nghệ trên nền Web Services để kết nối MOM với những nền tảng quản lý khác. Windows Server R2 R2 cũng sử dụng Web Services để đơn giản hoá việc quản lý hệ thống. R2 cung cấp một nền tảng được tăng cường an toàn. R2 bao gồm WS-Management và một Web Service cho phép nó có thể giao dịch được với những hệ thống tương hợp WS-Management của Sun, AMD, Dell, IV. Tóm lược: Web Services là một bước tiến hoá trong quá trình phát triển phần mềm và hình thành nền tảng khả năng vận hành với nhau, đó là thiết lập Web Services từ việc tích hợp những công nghệ đã có. 13
  15. Phạm Minh Nguyệt A_K54_CNTT Microsoft cam kết mở rộng việc tiêu chuẩn hoá đang sử dụng Web Services và cho rằng những Web Services đó là chìa khoá cho phép làm nâng cao khả năng kết nối. Hệ thống Microsoft cho các toà nhà và hệ thống quản lý kết nối rất toàn diện. Web Services hỗ trợ thông qua các sản phẩm của Microsoft và các hướng dẫn kiến trúc đã được chứng minh. Chương 3: Ví dụ về Web Services trên .NET: Microsoft Studio.NET là một ngôn ngữ hướng đối tượng rất mạnh có thể tạo ra Web Services rất đơn giản, tiện lợi. Tại màn hình chính của Microsoft Studio.NET, ta chọn New Website: Trong file WebServices1.cs một default method HelloWorld đã được sinh ra. 14
  16. Phạm Minh Nguyệt A_K54_CNTT Mỗi Web Services phải có namespace. Mặc định service sẽ dùng namespace Để kiểm tra Service ta kích chuột phải vào file Service.asmx trên cửa sổ Solution Explorer, chọn View in Browser. Ta mở rộng ví dụ, đầu tiên định nghĩa một kiểu cấu trúc: public struct ClientData { public String Name; public int ID; } Tiếp theo ta định nghĩa một phương thức mới GetClientData có nội dung như sau: [WebMethod] public ClientData[] GetClientData(int Number) { ClientData[] Clients = null; if (Number > 0 && Number <= 10) { 15
  17. Phạm Minh Nguyệt A_K54_CNTT Clients = new ClientData[Number]; for (int i = 0; i < Number; i++) { Clients[i].Name = "Client" + i.ToString(); Clients[i].ID = i; } } return Clients; } Phương thức mới đã được tạo ra, ta chạy thử. Nhấp chuột vào link GetClientData ta sẽ kiểm tra được method vừa tạo. Với Microsoft C#.NET, chúng ta có thể tạo ra các Web Services một cách đơn giản, hiệu quả và an toàn thông qua việc viết các method. Ta sẽ tiết kiệm được rất nhiều thời gian, hạn chế so với việc dùng các ngôn ngữ khác để viết Web Services. 16