Tải bản đầy đủ (.pdf) (17 trang)

BCNCKH: GIẢI PHÁP WEB SERVICES CỦA MICROSOFT doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (407.09 KB, 17 trang )

ĐẠ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:

G
G
I
I


I
I


P
P
H
H
Á


Á
P
P


W
W
E
E
B
B


S
S
E
E
R
R
V
V
I
I
C
C
E
E
S
S



C
C


A
A


M
M
I
I
C
C
R
R
O
O
S
S
O
O
F
F
T
T













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

Phạm Minh Nguyệt A_K54_CNTT

1

M
M



C
C


L
L


C
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

Phạm Minh Nguyệt A_K54_CNTT

2

L
L


I
I


M
M




Đ
Đ


U

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
Phạm Minh Nguyệt A_K54_CNTT

3


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,
Phạm Minh Nguyệt A_K54_CNTT


4

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

Phạm Minh Nguyệt A_K54_CNTT

5

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).
Phạm Minh Nguyệt A_K54_CNTT

6

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.
Phạm Minh Nguyệt A_K54_CNTT

7

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à
Phạm Minh Nguyệt A_K54_CNTT

8

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
Phạm Minh Nguyệt A_K54_CNTT

9

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
Phạm Minh Nguyệt A_K54_CNTT

10

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:
Phạm Minh Nguyệt A_K54_CNTT

11

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.
Phạm Minh Nguyệt A_K54_CNTT

12

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
Phạm Minh Nguyệt A_K54_CNTT

13

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ó.
Phạm Minh Nguyệt A_K54_CNTT

14

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.
Phạm Minh Nguyệt A_K54_CNTT

15


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)
{
Phạm Minh Nguyệt A_K54_CNTT

16

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.

×