Đăng ký Đăng nhập
Trang chủ Công nghệ thông tin Quản trị mạng Tiểu luận phát triển các hệ dịch vụ...

Tài liệu Tiểu luận phát triển các hệ dịch vụ

.DOC
31
606
144

Mô tả:

Tiểu luận phát triển các hệ dịch vụ
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN ------------------------------------ TIỂU LUẬN: PHÁT TRIỂN CÁC HỆ DỊCH VỤ Giảng viên: Trần Đình Quế Lớp: D08CNPM3 Hà Nội Mục lục CHƯƠNG 1. GIỚI THIỆU..........................................................................................................................3 1. Lý do phát triển dịch vụ....................................................................................................................3 2. Lý do phát triển web ngữ nghĩa........................................................................................................3 3. Ví dụ so sánh tìm kiếm trên web với google và wolfram..................................................................3 CHƯƠNG 2. BIỂU DIỄN WEB NGỮ NGHĨA VÀ DỊCH VỤ WEB NGỮ NGHĨA..................................5 1. Các ngôn ngữ biểu diễn web ngữ nghĩa và dịch vụ web ngữ nghĩa..................................................5 2. RDF/RDFS và OWL/OWL-S...........................................................................................................5 3. 2.2. RDF-S......................................................................................................................................5 2.3. OWL.........................................................................................................................................6 2.4. OWL-S.....................................................................................................................................6 Mục đích và ý nghĩa của các ngôn ngữ biểu diễn này......................................................................7 CHƯƠNG 3. BIỂU DIỄN VÍ DỤ SINH VIÊN BẰNG RDF/OWL VỚI PROTÉGÉ..................................8 CHƯƠNG 4. CASE STUDY: HỆ Q.LÝ DỊCH VỤ ĐÀO TẠO THEO TÍN CHỈ......................................13 1. Phát biểu bài toán...........................................................................................................................13 2. Tạo một OWL-S Service................................................................................................................13 3. 2.1. Tạo Service Process................................................................................................................13 2.2. Tạo Service Grounding...........................................................................................................17 2.3. Tạo Service Profile.................................................................................................................18 2.4. Tạo Service.............................................................................................................................18 Graph..............................................................................................................................................19 CHƯƠNG 5: DEMO LOGIN WEB SERVICE..........................................................................................20 1. Tạo cơ sở dữ liệu............................................................................................................................20 2. Tạo Login Web Service..................................................................................................................20 3. Tạo JSP Web Client truy xuất Web Service....................................................................................27 Tài liệu tham khảo.....................................................................................................................................31 CHƯƠNG 1. GIỚI THIỆU 1. Lý do phát triển dịch vụ Các công nghệ phổ biến sử dụng trong các hệ thống phân tán đó là:  J2EE.  [dot]NET.  CORBA.  Web Services. Các Framework này có điểm chung là đều sử dụng công nghệ hướng thành phần (componentoriented). Web services cung cấp các ứng dụng cho người sử dụng thông qua môi trường web. So với các công nghệ khác thì Web Services có những ưu điểm sau:       Cross – platform. Cross – programming languages. Là một giải pháp thân thiện với tường lửa. Các công nghệ khác đều phải sử dụng một giao thức đặc biệt gây khó khăn trong việc xử lý phân tán. Web Services hoạt động trên bộ giao thức SOAP/XML/HTTP/TCP/IP được sử dụng rất rộng rãi. Web Services dễ dàng triển khai, phát triển và sử dụng. Đặc biệt trong thương mại điện tử, B2B và các ứng dụng enterprise. Web Services dễ dàng sử dụng lại và mở rộng. 2. Lý do phát triển web ngữ nghĩa Web hiện hành đã vội vã chọn lựa đối tượng phục vụ tiện lợi nhất cho mình đó là con người. Sự tiện lợi này đã tạo nên sự đơn giản về công nghệ. Và sự đơn giản này cùng với sự phát triển của mạng Internet đã tạo đà cho sự phát triển của công nghệ web tạo ra thành công trên cả mong đợi của công nghệ này. Ngày nay một số lượng vô cùng lớn các trang web đã được tạo ra và công nghệ web bây giờ đã cung cấp cho con người một thế giới thông tin đầy đủ và sống động. Tuy nhiên sự thành công ngoài mong đợi đó lại nẩy sinh ra vô vàn những vấn đề. Và một trong những vấn đề quan trọng nhất đó là việc khai thác thông tin như thế nào. Trước đây chúng ta gặp phải vấn đề thiếu hụt thông tin do những rào cản về địa lý, thì ngày nay chúng ta phải đối mặt với vấn đề quá tải thông tin. Việc tìm kiếm và chắt lọc các thông tin hữu ích trong một tài nguyên quá lớn là một công việc không phải dễ dàng. Con người coi máy tính là một thiết bị xử lý thông tin hiện đại và tiên tiến nhất, do vậy mọi vấn đề của thông tin tốt hơn hết là giao cho máy tính. Thế nhưng công nghệ web hiện hành lại nằm ngoài quy luật đơn giản này. Thông tin trên Web được hướng tới con người, và như thế vấn đề tất yếu là khai thác thông tin sẽ trở nên khó khăn khi khối lượng thông tin trở nên nhiều lên. Thông tin trên web cần phải được biểu diễn theo một quy cách khác mà các máy tính có thể hiểu và xử lý được chúng. Hay nói cách khác cần trang bị ngữ nghĩa cho các dữ liệu trên web. Và giải pháp cho vấn đề này chính là Semantic Web hay web ngữ nghĩa. 3. Ví dụ so sánh tìm kiếm trên web với google và wolfram Từ khóa Eath Google Phần mềm Google Eath, Trang bản đồ Google Maps, sự kiện Eath Day Wolfram Thông tin về trái đất như thông tin về quỹ đạo, các thông số vật lý, thông tin về I want to flight from Paris to New York? How to get from HaNoi to ThanhHoa? 2012, tạp chí EATH Magazine, trang web Eath Photos … Trang web của công ty du lịch trực tuyến Expedia.com, trang web của hãng hàng không Air France, trang web giao dịch chuyến bay với các ưu đãi cheapflights.co.uk… Wikipedia giới thiệu Thanh Hóa, blog nói về du lịch Thanh Hóa, bảng giá vé tàu hỏa Thống Nhất từ Hà Nội tới Thanh Hóa, tại sao người Thanh Hóa lại bị ghét… How much is iphone 4s? Các trang công nghệ bàn luận về giá iPhone 4s như Engadget, Gizmodo. Các bài báo nói về giá iPhone 4s, iPhone 4s trên Apple Store, so sánh iPhone 4s với các smartphone khác… What color is the sky? Bài hát trẻ em mang tên “What color is the sky”, trò chơi flash trên web “colors in the sky”, wiki answer với câu hỏi “What color is the sky” hay trang web hỏi đáp với chủ đề “What color was the sky millions or billions of years ago?”… Các trang web học Tiếng Anh trực tuyến, các diễn đàn, bài báo nói về cách học Tiếng Anh hiệu quả. How to learn English? bầu khí quyển, vị trí trong hệ mặt trời, hình ảnh trái đất… Lịch trình các chuyến bay trong 24 giờ tới từ Paris đến New York, thông tin các chuyến bay đang trên đường từ Paris tới New York, các chuyến bay vừa hạ cánh đến New York. Khoảng cách từ Hà Nội tới Thanh Hóa, thời gian đi từ Hà Nội đến Thanh Hóa bằng ôtô, thời gian âm thanh truyền từ Hà Nội tới Thanh Hóa, thời gian ánh sáng truyền trong chân không và trong không khí từ Hà Nội tới Thanh Hóa, bản đồ địa lý, giờ hiện tại ở Hà Nội và Thanh Hóa, dân số Hà Nội và Thanh Hóa. Giá của iPhone 4s thấp nhất 699.99 USD, trung bình 799.99 USD, cao nhất 899.99 USD, giá iPhone 4s tính theo VND 16.66 triệu, biểu đồ biến động giá trong 1 năm qua, giá quy đổi sang một số đơn vị tiền tệ như JPY, EUR, GBP, CNY, CAD, MXN… Kết quả là một mầu sắc: mầu blue sky với các thông tin như mã mầu, các cách biểu diễn mầu dưới dạng RGB, CMYK, vị trí của nó trong bảng mầu, mã mầu khi nhúng vào HTML, mã của nó khi in ấn, các mầu khác liên quan đến mầu này… Không hiểu. Nhận xét:   Về Google: Hầu như mọi thứ bạn gõ vào đều có kết quả, kết quả ở đây thường là các trang web liên quan đến từ khóa tìm kiếm. Sự liên quan này có thể là cả cụm từ khóa, cũng có thể chỉ một từ trong cụm từ bạn gõ vào. Ví dụ: bạn gõ vào “How to get from HaNoi to ThanhHoa?” thì Google có thể cho ra các kết quả chỉ liên quan đến ThanhHoa, hoặc liên quan đến HaNoi và ThanhHoa. Để đạt được mục tiêu tìm kiếm, bạn phải chọn ra cho mình một kết quả hợp lý trong các kết quả mà Google tìm ra, điều này có thể làm bạn tốn rất nhiều thời gian, thậm chí bạn không thể tìm được điều mình muốn. Về Wolfram: Không phải những gì bạn gõ vào Wolfram đều hiểu. Ví dụ bạn gõ câu “How to learn English?” thì kết quả sẽ là “Wolfram|Alpha doesn't understand your query”. Điều này cho thấy, Wolfram chỉ nhận các lệnh tìm kiếm với một số cấu trúc nhất định, đó là hạn chế của bộ máy tìm kiếm này. Đổi lại, kết quả tìm kiếm trên Wolfram rất tuyệt, nó sẽ cho bạn kết quả bạn muốn nếu câu truy vấn của bạn hợp lý. Ví dụ với câu “I want to flight from Paris to New York?” thì Wolfram sẽ cho ra ngay thông tin các chuyến bay từ Paris tới New York. CHƯƠNG 2. BIỂU DIỄN WEB NGỮ NGHĨA VÀ DỊCH VỤ WEB NGỮ NGHĨA 1. Các ngôn ngữ biểu diễn web ngữ nghĩa và dịch vụ web ngữ nghĩa Ngôn ngữ biểu diễn ngữ nghĩa cho dịch vụ web được W3C (World Wide Web Consortium) đệ trình đầu tiên vào tháng 11 năm 2004 là OWL-S (Web Ontology Language for Services). Sau đó các ngôn ngữ khác lần lượt ra đời như WSMO (Web Service Modeling Ontology) vào tháng 6 năm 2006 hay SAWSDL (Semantic Annotations for WSDL) vào tháng 8/2007. Trong các ngôn ngữ biểu diễn ngữ nghĩa cho dịch vụ web, OWL-S là ngôn ngữ ra đời đầu tiên và cũng là ngôn ngữ có nhiều dịch vụ được ứng dụng rộng rãi. 2. RDF/RDFS và OWL/OWL-S 2.1. RDF   RDF là gì? RDF (Resource Description Framework) là một khung dùng để mô tả tài nguyên trong môi trường web. Cú pháp của RDF dựa trên XML, giúp nó có thể dễ dàng trao đổi giữa các ứng dụng. RDF là một mô hình dữ liệu đơn giản để biểu diễn thông tin. RDF chứa một ngữ nghĩa mà nó dùng để suy luận ý nghĩa của một biểu thức RDF. RDF Graph Mô hình RDF mô tả mối quan hệ gồm ba thành phần là: Subject, Predicate và Object (RDF Triple). Predicate: là vị từ để miêu tả một mối quan hệ giữa một chủ đề (Subject) và một đối tượng (Object). Subject: là một tài nguyên trên web. Tài nguyên được định danh bằng URI (Uniform Resource Identifier). Tài nguyên có thể là một trang web, một phần của trang web, toàn bộ trang web hay một đối tượng trong thế giới thực. Object: Cũng có thể là một tài nguyên hoặc một giá trị (value). 2.2. RDF-S RDF cung cấp một cách để mô tả các phát biểu đơn giản về các tài nguyên (resource), sử dụng các thuộc tính và giá trị đã được định nghĩa trước. Tuy nhiên, nhu cầu của con người đỏi hỏi phải có một cách để tự định nghĩa các thuật ngữ mà họ muốn dùng trong các phát biểu đó. Ví dụ như, công ty example.com trong ví dụ.. muốn mô tả các lớp như exterms:Tent, và sử dụng thuộc tính exterms:model, exterms:weighInKg và exterms:packedSize để mô tả chúng. Chúng ta có thể sử dụng môt hình RDF (RDF Graph) để mô tả mối quan hệ giữa những tài nguyên này. Tuy nhiên, mô hình dữ liệu RDF không có cơ chế nào để khai báo những thuộc tính này, cũng không cung cấp bất kỳ cơ chế nào để định nghĩa mối quan hệ giữa những thuộc tính này và những tài nguyên khác. Và mục đích của RDF là làm những điều đó. Những khai báo của các thuộc tính tài nguyên và ngữ nghĩa tương ứng với chúng được định nghĩa trong phạm vi của RDF như RDFS. Một RDFS không chỉ định nghĩa thuộc tính (thuộc tính trong RDFS) của tài nguyên (ví dụ: title, author, subject, size, …) mà còn có thể định nghĩa ra loại tài nguyên (các lớp trong RDFS) được mô tả (book, people, companies, …) và các mối quan hệ qua lại giữa tài nguyên với tài nguyên, giữa thuộc tính với thuộc tính, và giữa tài nguyên với thuộc tính. RDFS cung cấp một hệ thống kiểu mẫu (type system) cơ bản để dùng trong những mô hình RDF. Nó định nghĩa những tài nguyên và những thuộc tính như rdfs:Class và rdfs:subClassOf mà chúng dùng để xác định những giản đồ chuyên biệt về ứng dụng. RDFS cung cấp thông tin về sự giải thích của những phát biểu trong một mô hình dữ liệu RDF và nó cũng xác định những ràng buộc nên được dùng trong những mô hình dữ liệu. 2.3. OWL   OWL là gì? Web Ontology Language (OWL) là ngôn ngữ đánh dấu được sử dụng để xuất bản và chia sẻ dữ liệu sử dụng các ontology trên Internet. OWL là một bộ từ vựng mở rộng của khung mô tả tài nguyên (RDF) và được kế thừa từ ngôn ngữ DAML+OIL Web ontology – một dự án được hỗ trợ bởi W3C. OWL biểu diễn ý nghĩa của các thuật ngữ trong các từ vựng và mối liên hệ giữa các thuật ngữ này để đảm bảo phù hợp với quá trình xử lý bởi các phần mềm. OWL được xem như là một kỹ thuật trọng yếu để cài đặt cho Semantic Web trong tương lai. OWL được thiết kế đặc biệt để cung cấp một cách thức thông dụng trong việc xử lý nội dung thông tin của Web. Ngôn ngữ này được kỳ vọng rằng sẽ cho phép các hệ thống máy tính có thể đọc được thay thế cho con người. Vì OWL được viết bởi XML, các thông tin OWL có thể dễ dàng trao đổi giữa các kiểu hệ thống máy tính khác nhau, sử dụng các hệ điều hành và các ngôn ngữ ứng dụng khác nhau. Mục đích chính của OWL là sẽ cung cấp các chuẩn để tạo ra một nền tảng để quản lý tài sản, tích hợp mức doanh nghiệp và để chia sẻ cũng như tái sử dụng dữ liệu trên Web. OWL được phát triển bởi nó có nhiều tiện lợi để biểu diễn ý nghĩa và ngữ nghĩa hơn so với XML, RDF và RDFS, và vì OWL ra đời sau các ngôn ngữ này, nó có khả năng biểu diễn các nội dung mà máy có thể biểu diễn được trên Web. OWL được chia làm 3 phiên bản là: OWL Lite hỗ trợ những người sử dụng chủ yếu cần một hệ thống phân cấp phân loại và hạn chế đơn giản. OWL DL hỗ trợ những người dùng muốn biểudiễn tối đa trong khi vẫn giữ lại tính đầy đủ. OWL Full có nghĩa là cho những người dùng muốn biểu diễn và tự do tối đa các cú pháp của RDF mà không có bảo đảm tính toán. 2.4. OWL-S   OWL-S là gì? OWL-S (Web Ontology Language for Services) là một Ontology được xây dựng dựa trên Web Ontology Language(OWL), được sử dụng để biểu diễn ngữ nghĩa cho Web. OWL-S có lịch sử bắt nguồn từ DAML-S được công bố năm 2001, OWL-S chính thức được tổ chức W3C đệ trình vào ngày 22 tháng 11 năm 2004. Các thành phần của OWL-S OWL-S bao gồm ba Ontology: ServiceProfile, ServiceModel và ServiceGrounding. ServiceProfile: Khách hàng tiềm năng của dịch vụ ? ServiceProfile phục vụ cho việc quảng cáo và phát hiện dịch vụ. Service Profile cho biết dịch vụ làm gì, nói cách khác nó cho biết các dịch vụ mà nó cung cấp, để môi giới dịch vụ hoặc các agent tìm dịch vụ, xác định xem dịch vụ đó có đáp ứng nhu cầu của chúng. Service profile như một mô tả về dịch vụ mà nó cung cấp bao gồm: những gì được được thực hiện bởi dịch vụ, hạn chế áp dụng dịch vụ và chất lượng dịch vụ và yêu cầu bên yêu cầu dịch vụ phải cần những gì để sử dụng dịch vụ. ServiceModel: Sử dụng dịch vụ như thế nào? ServiceModel chịu trách nhiệm mô tả hoạt động của dịch vụ. Service Model cho khách hàng biết cách làm thế nào để sử dụng dịch vụ, bằng cách cụ thể hóa nội dung ngữ nghĩa cảu yêu cầu, các điều kiện sử dụng dịch vụ, các cách thực hiện dịch vụ và kết quả cụ thể, khi cần thiết có thể bao gồm cả các bước dẫn đến kết quả đó. Nói ngằn gọn thì nó mô tả cách làm thể nào để yêu cầu dịch vụ và những gì sẽ xảy ra khi dịch vụ được thực hiện. Đối với các dịch vụ không tầm thường (nontrivial services) (bao gồm một vài bước theo thời gian), những mô tả này có thể được sử dụng bởi một service-seeking agent theo ít nhất bốn cách khác nhau: (1) để thực hiện phân tích sâu hơn xem các dịch vụ này có đáp ứng nhu cầu của mình; (2) để soạn những bản mô tả dịch vụ từ nhiều dịch vụ để thực hiện một nhiệm vụ cụ thể; (3) trong quá trình của việc ban hành dịch vụ, phối hợp các hoạt động của những bên tham gia khác, và (4) để giám sát việc thực hiện các dịch vụ. ServiceGrounding: Làm thế nào tương tác với dịch vụ? ServiceGrounding chịu trách nhiệm cung cấp cách tương tác với dịch vụ. Service Grounding quy định một cách chi tiết làm thế nào để một agent có thể truy cập dịch vụ. Thông thường một Service grounding sẽ chỉ định một giao thức truyền thông, định dạng message và những thông số cụ thể khác của dịch vụ như số cổng (port number) sử dụng trong giao tiếp dịch vụ. Ngoài ra Service grounding cần phải chỉ định các kỹ thuật để làm việc với nhau (trao đổi thông điệp, dữ liệu…). 3. Mục đích và ý nghĩa của các ngôn ngữ biểu diễn này  RDF: mục đích của RDF là mô tả siêu dữ liệu về các tài nguyên trên Web. RDF là nền tảng và là linh hồn của Semantic Web.  RDFS: RDF schema cung cấp một khung để mô tả các lớp, thuộc tính của ứng dụng cụ thể. Các lớp trong RDFS giống như các lớp trong lập trình hướng đối tượng, cho phép các tài nguyên được định nghĩa như là 1 thực thể của lớp, hay lớp con của lớp.  OWL: cung cấp ngữ nghĩa mà máy có thể hiểu được cho các tài nguyên của Web ngữ nghĩa.  OWL-S: biểu diễn ngữ nghĩa cho dịch vụ web. CHƯƠNG 3. BIỂU DIỄN VÍ DỤ SINH VIÊN BẰNG RDF/OWL VỚI PROTÉGÉ Ví dụ xây dựng Ontology với Protégé Đồ thị Ontology Mô hình phân lớp – Asserted Model CHƯƠNG 4. CASE STUDY: HỆ Q.LÝ DỊCH VỤ ĐÀO TẠO THEO TÍN CHỈ 1. Phát biểu bài toán Hệ quản lý đào tạo đại học theo tín chỉ là một dịch vụ web cung cấp các chức năng trực tuyến cho sinh viên và giảng viên. Ở ví dụ này, chúng ta sẽ tạo một phiên bản đơn giản của dịch vụ này với tên gọi EduManage. Dịch vụ web EduManage cung cấp những chức năng sau:  Sinh viên: Tìm môn học, lựa chọn môn học, đăng ký môn học.  Giảng viên: Lựa chọn môn dạy, đăng ký môn dạy. 2. Tạo một OWL-S Service 2.1. Tạo Service Process 2.1.1. Automic Process Chúng ta sẽ mô tả 3 hoạt động cho dịch vụ EduManage bao gồm: tìm môn học, lựa chọn môn học và đăng ký môn học. Cả 3 hoạt động trên đều là các tiến trình nguyên tử automic processes vì chúng không thể chia nhỏ thành các hoạt động khác. Việc quyết định một hoạt động là tiến trình nguyên tử - automic process hay không tùy thuộc vào người thiết kế. Hơn nữa, chúng ta cần phải quyết định xem các đầu vào và đầu ra cho mỗi tiến trình nguyên tử này là gì. Hình dưới cho chúng ta biết điều này. Hình 1: Đầu vào và đầu ra của automic process Tìm môn học Hình 2: Đầu vào và đầu ra của automic process Chọn môn học Hình 3: Đầu vào và đầu ra của automic process Đăng ký môn học Tên của mỗi đầu vào hoặc đầu ra được quy định cụ thể (mầu đen) cũng như kiểu của chúng (mầu xanh). Domain otologies phải được định nghĩa để sử dụng trong OWL-S Editor. Các lớp mô tả kiểu tham số của đầu vào và đầu ra là một phần của các domain ontologies. Vì vậy, chúng ta sẽ bắt đầu với việc định nghĩa các lớp sẽ được sử dụng như các kiểu tham số cho đầu vào và đầu ra cho các tiến trình nguyên tử. Khai báo các lớp này được thực hiện trong tab OWLClasses. Hình dưới cho thấy các kiểu tham số mà chúng ta tạo ra cho ví dụ EduManage(các lớp mới được tạo ra có icon là chấm tròn mầu vàng). Hình 4: Domain ontologies Tiếp theo, chúng ta tạo các Automic Process. Hình 5: Automic Process TimMonHoc Hình 6: Automic Process ChonMonHoc Hình 7: Automic Process DangKyMonHoc 2.1.2. Composite Process Chúng ta tạo một Composite Process chứa tất cả các Automic Process đã tạo ở trên. Đặt tên cho nó là “EduManageDangKyMonHoc”. Hình 8: CompositeProcess 2.2. Tạo Service Grounding Tạo Service Grounding với tên “EduManage_Grounding”. Hình 9: EduManage Grounding 2.3. Tạo Service Profile Tạo Service Profile với tên “EduManage_Profile” Hình 10: EduManage Profile 2.4. Tạo Service Tạo dịch vụ với tên “EduManage_DangKyMonHocAgent” liên kết đến process, profile vầ grounding mà ta đã tạo trước đó. Hình 11: EduManage Service 3. Graph Hình 12: EduManage Graph CHƯƠNG 5: DEMO LOGIN WEB SERVICE 1. Tạo cơ sở dữ liệu Dùng Access tạo một cơ sở dữ liệu với tên LoginWS, tạo một bảng Users với các thuộc tính: Tạo một Data Source Name tham chiếu đến cơ sở dữ liệu này. 2. Tạo Login Web Service Trong Eclipse tạo một Dynamic Web Project đặt tên là LoginWebService
- Xem thêm -

Tài liệu liên quan