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:Envelope
SOAP-ENV:encodingStyle=
" />xmlns:SOAP-
ENV=" />xmlns:xsd=" />xmlns:xsi=" />2
xmlns:SOAP-
ENC=" /><SOAP-ENV:Body>
<addTwoNumber>
<celsius xsi:type="xsd:int ">0</celsius>
<celsius xsi:type="xsd:int">0</celsius>
</ addTwoNumber >
</SOAP-ENV:Body>
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
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ự
động giám sát dịch vụ
Process.owl cung cấp các thuật
ngữ có thể được sử dụng để mô
• 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
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
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”>
<rdf: RDFS xml:rdf=” />syntax-ns#”
xmls:rdfs=” 3/ />schema#”
xml:base= “ http:// www.yuchen.net/QL/qld.rdfs”
// dinhj nghia cac lop
<rdfs:class rdf:ID=”Nguoi”>
</rdfs>
<rdfs:class rdf:ID=”Mon hoc”>
</rdfs>
<rdfs:class rdf:ID=”Sach”>
</rdfs>
<rdfs:class rdf:ID=”GiangVien”>
< rdsfs:subclassof rdf: resource=”#Nguoi”/>
</rdfs>
<rdfs:class rdf:ID=”Tacgia”>
< rdsfs:subclassof rdf: resource=”#Nguoi”/>
15
</rdfs>
// dinh nghia cac thuoc tinh
<rdf: Property rdf:ID=”giang mon”>
<rdfs:domain rdfs:resource=”#Giang vien”/>
<rdfs:range rdfs:resource=”#Mon hoc”/>
</rdf:Property>
<rdf: Property rdf:ID=”thuoc mon”>
<rdf: Property rdf:ID=”Ten_Sach”>
<rdfs:domain rdfs:resource=”#Sach”/>
<rdfs:range rdfs:resource=”http://www. w3.
org/2001/XML Schema# String”/>
</rdf:Property>
<rdf: Property rdf:ID=”NXB”>
<rdfs:domain rdfs:resource=”#Sach”/>
17
<rdfs:range rdfs:resource=”http://www. w3.
org/2001/XML Schema# String”/>
</rdf:Property>
<rdf: Property rdf:ID=”NamXB”>
<rdfs:domain rdfs:resource=”#Nguoi”/>
<rdfs:range rdfs:resource=”http://www. w3.
org/2001/XML Schema#int ”/>
</rdf:Property>
<rdf: Property rdf:ID=”Gia”>
<rdfs:domain rdfs:resource=”#Nguoi”/>
<rdfs:range rdfs:resource=”http://www. w3.
org/2001/XML Schema# int ”/>
</rdf:Property>
18
• Biểu diễn các phán đoán trên dứoi dạng OWL
19
<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
<!ENTITY owl " >
<!ENTITY xsd
" >
<!ENTITY rdfs " />schema#" >
<rdfs:domain rdf:resource="#Sach"/>
<rdfs:range rdf:resource="#TacGia"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:ID="Gia">
<rdf:type
rdf:resource="&owl;FunctionalProperty"/>
<rdfs:domain rdf:resource="#Sach"/>
<rdfs:range rdf:resource="&xsd;float"/>
</owl:DatatypeProperty>
<owl:ObjectProperty rdf:ID="giangmon">
<rdf:type
rdf:resource="&owl;FunctionalProperty"/>
<rdfs:domain
rdf:resource="#GiảngViên"/>
<rdfs:range rdf:resource="#Monhoc"/>
</owl:ObjectProperty>
<owl:Class rdf:ID="GiảngViên">
<rdfs:subClassOf
rdf:resource="#Người"/>
</owl:Class>
<GiảngViên rdf:ID="GiảngViên_26">
<Tên rdf:datatype="&xsd;string">Huy</Tên>
<Tuoi rdf:datatype="&xsd;int">34</Tuoi>
<IDGiangVien
rdf:datatype="&xsd;string">1</IDGiangVien>
<giangmon rdf:resource="#Monhoc_27"/>
<su_dung rdf:resource="#Sach_29"/>
</GiảngViên>
<owl:DatatypeProperty rdf:ID="ID_TacGia">
21
<TenSach rdf:datatype="&xsd;string">lap trinh
java</TenSach>
<NhaXB
rdf:datatype="&xsd;string">NXBGD</NhaXB>
<NamXB rdf:datatype="&xsd;int">2004</NamXB>
<Gia rdf:datatype="&xsd;float">2500.0</Gia>
</Sach>
22
<Người rdf:ID="Người_36">
<Tên rdf:datatype="&xsd;string">Linh</Tên>
<Tuoi rdf:datatype="&xsd;int">33</Tuoi>
</Người>
<owl:Class rdf:ID="Monhoc"/>
<owl:DatatypeProperty rdf:ID="NamXB">
<rdf:type
rdf:resource="&owl;FunctionalProperty"/>
<rdfs:domain rdf:resource="#Sach"/>
<rdfs:range rdf:resource="&xsd;int"/>
</owl:DatatypeProperty>
<GiảngViên rdf:ID="GiảngViên_41">
<Tên rdf:datatype="&xsd;string">Nguyen Van
Hung</Tên>
<Tuoi rdf:datatype="&xsd;int">39</Tuoi>
<IDGiangVien
rdf:datatype="&xsd;string">4</IDGiangVien>
<la_tac_gia rdf:resource="#TacGia_37"/>
</GiảngViên>
<Người rdf:ID="Người_33">
<Tên rdf:datatype="&xsd;string">Nguyễn
Văn Hùng</Tên>
<owl:Class rdf:ID="TacGia">
<rdfs:subClassOf
rdf:resource="#Người"/>
</owl:Class>
<owl:DatatypeProperty rdf:ID="TenMonHoc">
<rdf:type
rdf:resource="&owl;FunctionalProperty"/>
<rdfs:domain rdf:resource="#Monhoc"/>
<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="TenSach">
<rdf:type
rdf:resource="&owl;FunctionalProperty"/>
<rdfs:domain rdf:resource="#Sach"/>
<rdfs:range rdf:resource="&xsd;string"/>
</owl:DatatypeProperty>
<owl:ObjectProperty rdf:ID="thuocmon">
<rdfs:domain rdf:resource="#Sach"/>
<rdfs:range rdf:resource="#Monhoc"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:ID="Tuoi">
<rdf:type
rdf:resource="&owl;FunctionalProperty"/>
24
<rdfs:domain
rdf:resource="#Người"/>
<rdfs:range rdf:resource="&xsd;int"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="Tên">
<rdf:type