Đề cương ôn tập môn Phát triển phần mềm hướng dịch vụ (có đáp án)
Đề cương ôn tập môn Phát triển phần mềm hướng dịch vụ (có đáp án)
Môn: Phát triển phần mềm hướng dịch vụ
Trường: Học viện Công Nghệ Bưu Chính Viễn Thông
Thông tin:
Tác giả:
Preview text:
1
Câu 1: Mô tả các thành phần trong biểu diễn dịch vụ web và nêu ý
nghĩa sử dụng của các thành phần trong hệ dich vụ . Cho ví dụ minh hoạ
Trả lời: Kiến trúc của dịch vụ web gồm 3 thành phần chính:
• SOAP- Simple Object Access Protcol: là một giao thức chuyển
đổi thông điệp dựa trên XML, là giao thức làm việc trong môi
trường phân tán: SOAP=XML+HTTP
Nó được sử dụng để đậc tả định dạng các yêu cầu và phản hồi
trong tính toán phân tán webservice để lấy và gửi thông điệp
thông qua giao thức HTTP và phương thức POST.
Mọi thông điệp SOAP đều có định dạng bao gồm 1 envelope và một message-body
• Envelope: là một tài liệu XML , các phần tử này có thể chứa phần tử con là body
• Body: gồm dữ liệu, là tên của phưong thức được gọi, đối số
của phương thức, một thông điệp yêu cầu hoặc kết quả trả về.
Vi dụ: Định dạng thông điệp SOAP yêu cầu để tính toán tổng hai số:
<?xml version="1.0" encoding="UTF-8"?> SOAP-ENV:encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-
ENV="http://schemas.xmlsoa.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xmlns:SOAP-
ENC="http://schemas.xmlsoap.org/soap/encoding/"> 0 0 addTwoNumber >
• WSDL: là một file XML mô tả chức năng mà dịch vụ web đó
cung cấp và làm thế nào để truy cập tới dịch vụ web đó cũng
như việc gọi các phương thức từ xa.WSDL chỉ ra cách nhìn trừu
tượng về dịch vụ hoặc là giao điện được thực thi bởi một dich
vụ web trong các nền tảng và ngôn ngữ khác nhau. WSDL gồm hai phần chính:
• Phần đặc tả giao diện: phần này có thể được sử dụng lại, bao gôm: + Types + message + binding + porTypes
• Phần thực thị gồm + port + service
Cấu trúc tổng quát của WSDL như sau: 3
• UDDI: là một đặc tả kĩ thuật cho việc xây dựng các thủ tục
phân tán cho các dịch vụ web, những gì mà các công ty , các
doanh nghiệp tìm kiếm dịch vụ. Vậy làm thế nào để public một
dịch vụ web trên toàn cầu và làm thế nào để khám phá ra các
khuynh hướng của dịch vụ web để sử dụng lại cho các dịch vụ
web khác . Đó chính là thách thức của dịch vụ web. UDDI hoạt
động như một dịch vụ gọi tên trong tính toán phân tán hoặc là
danh bạ trong dịch vụ phone hoặc là cơ chế tìm kiếm của
google cho dịch vụ internet. UDDI bao gồm một lựợc đồ XML
định nghĩa 4 cấu trúc dữ liệu cốt lõi của UDDI: business,
service, binding, tmodel program interface.
UDDI được phát triển bởi IBM, Microsoft, Ariba vào năm 2000,
và giờ dưới sự quản lý của cộng đồng UDDI. Nó như một thư
mục lưu trữ các thông tin vè dịch vụ web mà tại đây các công ty
có thể dăng kí dịch vụ và tìm kiếm dịch vụ.
Cấu trúc UDDI bao gồm: trang vàng , trang trắng, trang xanh.
Cấu trúc ánh xạ tự WSDL sag UDDI như sau: 4
• Trang trắng( white pages) chứa các thông tin về nghiệp vụ
( tên doanh nghiệp( tên doanh nghiệp, mo ta, các thông tin
liên hệ ( tên, địa chỉ, fax, number)
• Trang vàng( yellow page) chứa các thông tin tổ chức dịch vụ
như tên , loại dịch vụ, phân loại…
• Trang xanh quy định làm thế nào để các nhà cung cấp dịch vụ
có thể tìm kiếm dịch vụ bao gồm các thông tin sau: các thông
số kĩ thuật ( giao diên, URL) để tìm ra và thục thi dicj vụ
web. Một Ưng dụng mà yêu cầu dịch vụ thì sẽ làm việc với trang xanh của UDDI.
Câu 2: Chỉ ra sự tương ứng giữâ WSDL và UDDI? Ý nghĩa
của sự ánh xạ này . Cho ví dụ minh họa 5
UDDI được thiết kế để được thẩm vấn bởi các thông báo
SOAP và để cung cấp truy cập vào các tài liệu WSDL mô tả
dịch vụ thông tin bắt buộc phải tương tác với các dịch vụ web
được liệt kê trong registry. • WS
DL portType to tModel Mapping
Các thông tin biểu diễn cho một portType WSDL bởi UDDI
tModel là type entity, local name, namespace, and
location của tài liệu WSDL mà định nghĩa portType. Mỗi 6
WSDL portType ánh xạ đến một tModel UDDI có tên giống
như local name của portType trong WSDL. • WS
DL binding to tModel Mapping
Các thông tin về đại diện cho WSDL binding bởi UDDI
tModel . tài liệu WSDL định nghĩa các binding,
portType mà nó thực hiện, giao thức. Mỗi WSDL map ánh
xạ đến một tModel UDDI có cùng một tên như local
name của binding trong WSDL. Các overviewURL cung
cấp vị trí của tài liệu WSDL.
• WSDL port to UDDI bindingTemplate Mapping
Một port WSDL ánh xạ đến bindingTemplate. Các thông tin
về biểu diễn một port WSDL bởi UDDI bindingTemplate là
binding, portType , local name of the port và các
điểm truy cập mà nó thực hiện,. Các bindingTemplate có
tModelInstanceDetails có chứa các tModelInstanceInfo sau.
+ tModelInstanceInfo với một tModelKey của tModel tương
ứng với binding mà port thực hiện. Các instanceParms đại diện WSDL: port local name.
+ Một tModelInstanceInfo với một tModelKey của tModel
tương ứng với portType mà port thực hiện.
+ Các accessPoint được thiết lập từ các thuộc tính location
trong thành phần mở rộng được kết hợp với phần tử port. • WS
DL service to UDDI businessService Mapping
Một WSDL service ánh xạ đến một businessService. Tên của
businessService có thể được đại diện bởi các local name của
các dịch vụ trong WSDL. Ngoài ra businessService có chứa
một túi loại với keyedReferences sau: 7 • namespace of the service • local name of the service
• type categorization as “service” Câu 3:
• Các thành phần của dịch vụ web ngữ nghĩa với OWL-S.
Mô tả và cho ví dụ với dich vụ đăng kí học tín chỉ
OWL-S là một upper-ontology cho dịch vụ. Nó định nghĩa
các lớp và các thuộc tính mà có thể sử dụng dể miêu tả 3
khía cạnh của một dịch vụ tuơng ứng với 3 thành phần như
sau: Service-profile, service-process, service-grounding Mục tiêu Sự đáp ứng của OWL-S
Tự động khám phá dịch vụ
Profile.owl cung cấp các thuật
ngữ được sử dụng để mô tả cách
dịch vụ làm việc, vì vậy nó có
thể được sử dụng để tìm dịch vụ Tự động gọi dịch vụ
Grounding.owl đưa ra các thuật
ngữ có thể được sử dụng để mô
tả các chi tiết kĩ thuật về cách
truy cập dịch vụ vì vậy nó có thể
được sử dụng để gọi tự động
một dịch vụ web nào đó
Tự động kết hợp dịch vụ, tự Process.owl cung cấp các thuật động giám sát dịch vụ
ngữ có thể được sử dụng để mô
tả cách dịch vụ được sử dụng.
Vì vậy thông tin này có thẻ đuợc
sử dụng để mô tả dịhc vụ từ
nhiều dịcg vụ để thoả mãn một
công việc cụ thể và thông tin
này cũng có thể sử dụng để
giám sátviệc thực thi một dịch vụ nào đó. 8
.3 ontology trên là 3 thành phần chính của OWL-S phục vụ
cho mục dích mô tả dịch vụ web. Để kết nối 3 ontology này
cần một ontology thứ 4 là service.owl. Ontology này chỉ tồn
tại để mô tả mối quan hệ ngữ nghĩa giữa 3 ontology, do vậy
khi chúng ta mô tả một dịch vụ web chúng ta không thể sử
dung thuật ngữ trong service.owl mà chủ yếu sử dụng trong
Service-profile, service-process, service-grounding. • OWL-S profile
OWL-S profile mô tả 4 loại thông tin cơ bản sau:
• Thông tin về dịch vụ và thông tin liên lạc: tên dịch vụ, các
mô tả và tổ chức cung cấp dịch vụ
• Mô tả chức năng của dịch vụ: đầu vào( input), đầu ra(output),
tiền điều kiện(precontion), tác động(effect).
• Thông tin phân loại dịch vụ
• Thông tin phi chức năng của dịch vụ bao gồm thông tin như
chất lượng dịch vụ, tên dịch vụ, thông tin liên lạc và mô tả dịch vụ
Các thuộc tính của Profile Ontology cung cấp thông tin mà
con ngươig có thể hiểu được các thuộc tính:
• Sercvice Name: tham chiếu đên tên của dịch vụ được đưa ra
có thể dùng đinh danh dịch vụ
• TextDescription: Cung cấp mô tả tóm tắt chức năng của dịch vụ
• ContactInformation: cung cấp một cơ chế để tham chiếu đến
nguời hoặc cá thể chịu trách nhiệm cho dịch vụ 9
• hasParameter: đưa ra thể hiện của lớp Parameter trong
Process Ontology. Lớp Parameter mô hình hoá các đầu vào và đầu ra
• hasInput: đưa ra các thể hiện của lớp Input được định nghĩa trong Process Ontology
• hasOutput: đưa ra các thể hiện của lớp Output được định nghĩa trong Process Ontology
• hasPrecontion: chỉ ra một trong các tiền điều kiện của dịch vụ
thông qua một thể hiện của lớp Precontion được định nghĩa trong Process Ontology
• hasResult: chỉ ra một trong các kết quả của dịch vụ được định
nghĩa bởi lớp Resullt trong Process Ontology. Nó chỉ ra rằng
với một điều kiện nào đó thì đầu ra bắt buộc đưa ra là gì.
Ngoài ra Result cong chỉ ra những thay đỏi miền được đưa ra
trong suốt quá trình thực hiện dịch vụ • OWL-S Process
Process Ontology đưa ra chi tiết về cách thức tương tác với dịch
vụ. Tuy nhiên, process-tiến trình ở đây không phải là một
chương trình được thực thi trong máy tính mà là một đặc tả chi
tiết về cách một client có thể tuơng tác với dịch vụ
OWL-S process chia thành 3 loại process:
• Tiến trình nguyên tử- Atomic Process: được gọi trực tiếp,
không có các tiến trình con và được thực hiện trong một
bước. Chúng lấy thông điệp vào và thực hiện một số công
việc sau đó trả về thông điệp phản hồi. Với mỗi tiến trình
nguyên tử phải cung cấp một Service Grounding để cho phép
người yêu cầu dịch vụ xây dựng thông diệp đến xuất phát từ
đầu vào và xây dựng thông điệp phản hồi. 10
• Tiến trình đơn- Simple Process: tiến trình đơn không thể gọi
và không thể kết nối với Service Grounding nhưn giống như
tiến trình nguyên tử là chúng tham gia vào tương tác đơn.Tiến
trình đơn được sử dụng như các thành phần trừu tửợng, một
tiến trình đơn có thể được sử dụng để cung cấp một cái nhin
của một số tiến trình nguyên tử hoặc một biểu diễn đơn giản
của một số tiến trình phức tạp.
• Tiến trình phức hợp- Cômpsite : tiến trình này có thể phân
tích thành các tiến trình nguyên tử, sự phân tích này có thê
được miêu tả bằng cách sử dụng cấu trúc điều khiển hay rẽ
nhánh if-then-ELSE. Một đặc đỉểm quan trọng của tiến trình
phức hợp là nó dặc tả đầu vào sao cho có thể chấp nhân bởi
các tiến trình con và phải đặc tả làm sao để các đầu ra khác
nhau được đưa ra bởi các tiến trình con. • OWL-S Grounding
OWL-S Grounding giúp chúng ta hiểu mối quan hệ của OWL-
S và WSDL và hiểu được việc miêu tả định dạng thông điệp,
giao thức mạng, địa chỉ mạng trong OWL-S được thực hiện như thế nào
OWL-S Grounding sử dụng WSDL để mô tả thông tin dịch vụ.
Vì vậy OWL-S và WSDL bổ sung lẫn nhau nhưng không thay
thế nhau, chúng cung cấp một bức tranh đầy dủ về một loại dịch
vụ web cụ thể. Do đó có nhiều công cụ hỗ trợ chuyển đổi từ
WSDL sang OWL-S và ngược lại đã được phát triển rộng rãi , ví dụ như OWL-S Editor.
OWL-S sử dụng WSDL chuẩn cho các dịch vụ nền tảng. WSDL
cung cập một trình bao bọc và có thẻ vận chuyểnn các thông
điệo OWL-S trên các giaô thức mạng chuẩn, WSDL không thể
nắm giữ nghữ nghĩa của thông điệp trong khi OWL-S không có 11
khả năng tự đối phó với các giao thức truyền chuẩn, Ánh xa từ OWL-S với WSDL như sau:
• Một tiến trình Owl-S nguyên ứng với một WSDL operation
• Input va Output của OWL-S process tương ứng với phần
Input và Output cảu WSDL tương ứng
• Đầu vào và đầu ra của OWL-S process tương ứng vói loại trừu tựơng của WSDL
• Nêu ý nghĩa của thành phân process trong OWL-S và mối
quan hệ của nó với các thành phần khác trong OWL-S
• Process.owl cung cấp các thuật ngữ có thể được sử dụng
để mô tả cách dịch vụ được sử dụng. Vì vậy thông tin này
có thẻ đuợc sử dụng để mô tả dịhc vụ từ nhiều dịcg vụ để
thoả mãn một công việc cụ thể và thông tin này cũng có
thể sử dụng để giám sátviệc thực thi một dịch vụ nào đó.
• Mối quan hệ của nó với Profile.owl:
Một thể hiện profile sẽ có khả năng xác định IOPE sử
dụng các mục đã được định nghĩa trong process.owl 12
• Mối quan hệ của nó với Grounding Câu 4:
• Biểu diễn các phán đoán trên dứơi dạng logic vị từ
G(x) biểu diễn x là thầy giáo
F(s, t,x,n,g) biểu diễn cuốn sách s được viết bởi tác giả t ,
xuất bản bởi nhà xuất bản x vào năm n với giá g.
T(x,t) biểu diễn x thích đọc truyện của t
D(a, b,c,d) biểu diễn a dạy mon b sử dụng tài liệu c của d
• Các phoán đoán trên được biểu diễn như sau: • T(G(Huy), Kim Dung) 13
• F(công nghệ phần mềm,G(Nguyễn Văn Minh),NXBGD,2001,2000)
• F(Anh hùng xa điêu, Kim Dung, Trí Đức, 2003, 1000)
• F(Lập trình Java, Nguỹên Văn Hùng, NXBGD 2004, 2500)
• D(G(Huy), Phân tich thiết kế, Công ngệ phần mềm, G(Nguyễn Văn Minh))
• D(G(Linh), Lập trình Java, Lập trình Java, G(Nguỹên Văn Hùng)).
• Biểu diễn các phán đoán trên dứơi dạng bảng dữ liệu quan hệ Id tacgia Têntacgia Id Sach 1 Nguyễn Văn Hùng 2 2 Kim Dung 3 3 Nguyễn Văn Minh 1 Id sach Tensach NXB NămXb Gia 1 công nghệ NXBGD 2001 2000 phần mềm 2 Lập trình NXBGD 2004 2500 Java 3 Anh hùng xa Trí Đức 2003 1000 điêu Id Monhoc TênMonhoc 1 Phân tích thiết kế 2 Lập trình java 14 idGiangVien IdSach IdMonhoc TênGiangViên 1 1 1 Huy 2 2 2 Linh
• Biểu diễn các phán đoán trên dứơi dạng RDFS dứơi dạng graph và XML
<? Xml version=”1.0”> syntax-ns#”
xmls:rdfs=” 3/http://www.w3.org/2000/01/rdf- schema#”
xml:base= “ http:// www.yuchen.net/QL/qld.rdfs” // dinhj nghia cac lop
< rdsfs:subclassof rdf: resource=”#Nguoi”/>
< rdsfs:subclassof rdf: resource=”#Nguoi”/> 15 // dinh nghia cac thuoc tinh 16 Schema# String”/> Schema# int />
org/2001/XML Schema# String”/>
org/2001/XML Schema# String”/>
org/2001/XML Schema# String”/> 17
org/2001/XML Schema# String”/>
org/2001/XML Schema#int ”/>
org/2001/XML Schema# int ”/> 18
• Biểu diễn các phán đoán trên dứoi dạng OWL 19 <?xml version="1.0"?>
<!ENTITY owl "http://www.w3.org/2002/07/owl#" > <!ENTITY xsd
"http://www.w3.org/2001/XMLSchema#" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf- schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf- syntax-ns#" > ]> xml:base="http://www.owl-
ontologies.com/Ontology1371276486.owl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf- schema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf- syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"> >Anh hung xa dieu Trí Đức 2003 1000.0 >công nghệ phần mềm 20
rdf:datatype="&xsd;string">NXBGD 2001 2000.0
rdf:resource="&owl;FunctionalProperty"/>
rdf:resource="&owl;FunctionalProperty"/>
rdf:resource="&owl;FunctionalProperty"/>
rdf:resource="#GiảngViên"/> rdf:resource="#Người"/> Huy 34
rdf:datatype="&xsd;string">1 21
rdf:resource="&owl;FunctionalProperty"/>
rdf:resource="&owl;FunctionalProperty"/>
rdf:resource="#GiảngViên"/> Kim Dung 56
rdf:datatype="&xsd;string">2
rdf:resource="&owl;FunctionalProperty"/>
rdf:resource="#GiảngViên"/> Lap trinh java lap trinh java
rdf:datatype="&xsd;string">NXBGD 2004 2500.0 22 Linh 33
rdf:resource="&owl;FunctionalProperty"/> Nguyen Van Hung 39
rdf:datatype="&xsd;string">4 Nguyễn Văn Hùng 36 Nguyễn Văn Minh 34
rdf:datatype="&xsd;string">3
rdf:resource="&owl;FunctionalProperty"/> 23 >Phan tich Thiet ke
rdf:resource="&owl;FunctionalProperty"/>
rdf:resource="#GiảngViên"/> rdf:resource="#Người"/>
rdf:resource="&owl;FunctionalProperty"/>
rdf:resource="&owl;FunctionalProperty"/>
rdf:resource="&owl;FunctionalProperty"/> 24 rdf:resource="#Người"/>
rdf:resource="&owl;FunctionalProperty"/> rdf:resource="#Người"/>
• Biểu diễn các phán đoán trên dứoi dạng OWL-S
OWL-S dung de bieu dien dichj vu nao do. Do do k the dung
OWL-S de bieu dien cac phan doan