Presentation is loading. Please wait.

Presentation is loading. Please wait.

TU/e technische universiteit eindhoven Web Engineering & Web Information Systems Technology Geert-Jan Houben.

Similar presentations


Presentation on theme: "TU/e technische universiteit eindhoven Web Engineering & Web Information Systems Technology Geert-Jan Houben."— Presentation transcript:

1 TU/e technische universiteit eindhoven Web Engineering & Web Information Systems Technology Geert-Jan Houben

2 TU/e technische universiteit eindhoven Content Web information systems evolution WIS engineering XML & XQuery RDF & OWL Web services WS protocols

3 TU/e technische universiteit eindhoven Web Information Systems

4 TU/e technische universiteit eindhoven Web Information System Information System based on Web technology (Web-based, Web-aware, Web-enabled etc.) Information system –Exchanges information with Object System (= business process) –Stores and manages information: data-intensive –Requires careful engineering of information exchange

5 TU/e technische universiteit eindhoven Web Information System Web technology can be used as front-end, e.g. application is available on the Web (or Intranet) via a browser –Enables easy use and maintenance of (personalized) end-user access –Web metaphor is appealing for end-users –Requires different techniques for engineering the system’s interfaces

6 TU/e technische universiteit eindhoven Web Information System Web technology can also be used in back-end of information system –Organize (connect) the data inside the system using Web technology –Use World Wide Web as provider of data (or Intranet) –Typically highly volatile information (distributed and heterogeneous) –Requires different techniques for engineering the implementation

7 TU/e technische universiteit eindhoven Examples Real-estate sales Employee databases Museum databases Digital libraries Mail order catalogs Reservation systems Auctions, virtual marketplaces EPG (Electronic TV Program Guide) Ref: Special section on Web Information Systems in Communications of the ACM, July 1998, Vol. 41, No. 7

8 TU/e technische universiteit eindhoven Evolution in WIS Technology

9 TU/e technische universiteit eindhoven Evolution in hypermedia First: standalone special-purpose systems Now: Web-based –From authoring to designing to generating –From static to dynamic (generated from database query result) –From single site to portals (integrated access service) –From read-only to interactive and often collaborative (read-write)

10 TU/e technische universiteit eindhoven Evolution in Web Languages 1.HTML written by author –Easy, uniform interface –Large effort for maintenance –Not suited for changing information 2.Automatically generating information –First, using templates (and databases) –Later, using XML and XSLT transformations 3.Automatic processing of information –Explicit metadata (RDF) –Agreement on meaning (ontologies) –Semantic Web: from human-readable via machine-readable to machine-processable

11 TU/e technische universiteit eindhoven SemWeb “Layer Cake”

12 TU/e technische universiteit eindhoven Other Views WebML: “A Web-enabled software system whose main purpose is to publish and maintain large amounts of data” –exploratory, browsing-oriented, personalized interfaces –(highly volatile) data stored by means of DBMS technology OOHDM: “WWW brought new generation of IS” –hypermedia navigation through heterogeneous information space –operations querying or affecting that information –constant change, new navigation and services “Web-based applications, first good hypermedia applications” RMM: “History of graphics designers + programmers” Nielsen: “On the Web, the only constant is change. A site that works perfectly as long as its stays the same will quickly die.” “Healthy navigation structure key to success”

13 TU/e technische universiteit eindhoven WIS Engineering

14 TU/e technische universiteit eindhoven Device Dependency HTML SMIL WML

15 TU/e technische universiteit eindhoven WIS Engineering Methodology Design of WIS requires careful engineering of information exchange between IS and OS Implies engineering of front-end (interface) and back-end (storage & retrieval) Professional applications: “from art to engineering” –well-founded (software) engineering methodologies –model-driven

16 TU/e technische universiteit eindhoven Hera: motivation Methodologies exist for manual hypermedia presentation design, Hera targets automated presentation Automated presentation is important for databased content (the ‘deep web’) as opposed to manually crafted content (the ‘surface web’): most WIS are data driven Ref: wwwis.win.tue.nl/~hera

17 TU/e technische universiteit eindhoven Hera Methodology Model-driven methodology, defines design phases: –Conceptual Design that results in Conceptual Model (CM, describes data content used for generation of hypermedia presentations) construction –Application Design that results in Application Model (AM, describes the navigation structure and functionality) construction –Presentation Design that results in Presentation Model (PM, describes spatial layout and rendering of hypermedia presentations) construction

18 TU/e technische universiteit eindhoven Hera Models Models fully specify application; hence, there is no need of additional programming Models are used by a generic Hera engine for generation of WIS application pages (by on-demand instantiations of model subsets)

19 TU/e technische universiteit eindhoven Hera Architecture Defines how the models are used for automatic generation of hypermedia presentation

20 TU/e technische universiteit eindhoven Conceptual Model Provides a uniform semantic view over different data sources that are integrated within a given Web application. Consists of hierarchies of concepts relevant within the given domain, their properties, and relations.

21 TU/e technische universiteit eindhoven Conceptual Model Defines the data content in terms of RDFS (concepts, attributes, properties)

22 TU/e technische universiteit eindhoven Application Model Navigation structure of a hypermedia application on top of CM Hypermedia dynamics (navigation structure updates and application functionality) of a hypermedia application

23 TU/e technische universiteit eindhoven Slices

24 TU/e technische universiteit eindhoven AM Example

25 TU/e technische universiteit eindhoven Data Manipulations Defined as SeRQL queries Used for processing forms (handle user input) Q1 creates instances of SelectedPainting according to the SelectForm form content CONSTRUCT {P} {acm:SelectedPainting>} FROM {P} {cm:Painting}; {Paname} WHERE Paname IN SELECT Faname FROM {SF} {Faname}, {SF} {FormName} WHERE FormName = “SelectForm” creates

26 TU/e technische universiteit eindhoven Hera Implementation HPG 2.0 (Hera Presentation Generator, dynamic version) implemented in Java as a servlet Uses RDF API HP Jena for RDF data transformations based on RDFS models (CM, AM) Can use XForms processor Uses Sesame as main content repository and application context repository; uses SeRQL/RQL as query languages Set of graphical tools for designers for CM and AM based on Visio

27 TU/e technische universiteit eindhoven XML & XQuery

28 TU/e technische universiteit eindhoven HTML HTML = Hypertext Language Ref Name Price X23 Camera R2D2 Robot Z25 PC Information System Text + presentation Where is the data ? hard The X23 new camera replaces the X22. It comes equipped with a flash (worth by itself $ ) and provides great quality for only $.

29 TU/e technische universiteit eindhoven XML for Semistructured Data Ref Name Price X23 Camera R2D2 Robot Z25 PC Information System camera … Robot …... XML Data + Structure: more flexible easy

30 TU/e technische universiteit eindhoven Complex data Structure is irregular (missing/extra data) Schema does not exist or is unknown Schema is rapidly evolving Relational and ODB models are too rigid Standard is a document/hypertext language HTML Solution: semistructured data model XML –data model consists of a type definition language, a query/update language and more

31 TU/e technische universiteit eindhoven XML XML: eXtensible Mark-up Language –W3C and most industrial companies [B2B] –Main idea: separate content and presentation –Use tags to represent structure and semantics HTML: a fixed set of tags complicates the identification of information elements XML allows to define data structures: –Tags with freely chosen names »No predefined tags enables definition, transmission, validation and interpretation of data between applications (and organizations) –Freely chosen attributes Ref: w3c.org

32 TU/e technische universiteit eindhoven Alice Smith 123 Maple Street Mill Valley CA Robert Smith 8 Oak Avenue Old Town PA Lawnmower Baby Monitor

33 TU/e technische universiteit eindhoven XML Documents elements and attributes elements are ordered attribute values are strings well-formed documents (e.g. proper nesting) namespaces: vocabularies for tags valid documents: DTD, Schema

34 TU/e technische universiteit eindhoven DTD: a grammar Catalog  Product* Product  Name Price? Cat (Part Quantity)* Part  BasicPart + ComposedPart BasicPart  Name ComposedPart  Name (Part Quantity)*

35 TU/e technische universiteit eindhoven Purchase order schema for Example.com. Copyright 2000 Example.com. All rights reserved....

36 TU/e technische universiteit eindhoven...

37 TU/e technische universiteit eindhoven Typing XML Not really, the true spirit of the Web, but essential for data management: query optimization, user interfaces, applications Differences with standard database typing –Collections are sequences instead of sets –Types may be very large (e.g., from integration) –Data is more irregular so types should be more permissive –New issues sometimes: you have the data, extract its type: an approximate type

38 TU/e technische universiteit eindhoven Bob XML Peter XML RDF(S) XML Karin Alice

39 TU/e technische universiteit eindhoven //person/name[../know-how=“XML"] $union$ //seminar[topic=“XML"]/participant/name

40 TU/e technische universiteit eindhoven XPath Path expressions in OO databases /Students/Student/Status Semistructured: –missing parts /Students//Status –conditions /Students/Student[Status=“U4”] Indexing, wildcards Selection, string manipulation, aggregation, attribute existence, union

41 TU/e technische universiteit eindhoven XSLT XSL: XML Stylesheet Language –(XSLT: XSL Transformations) declarative language for transforming XML documents using an XSLT processor

42 TU/e technische universiteit eindhoven XQuery “the” standard for XML querying Goal: “data model for XML documents, a set of query operators on that data model, and a query language based on these query operators” General query language (next to XPath + XSLT) Based on XPath

43 TU/e technische universiteit eindhoven XQuery Path Expressions In the second chapter of the document named “zoo.xml”, find the figure(s) with caption “Tree Frogs”. document(“zoo.xml”)/chapter[2]// figure[caption=“Tree Frogs”] Find captions of figures that are referenced by elements in the chapter of “zoo.xml” with title “Frogs”. document(“zoo.xml”)/chapter[title=“Frogs”]//

44 TU/e technische universiteit eindhoven XQuery Element Constructor Generate an element that has an “empid” attribute. The value of the attribute and the content of the subelements are specified by variables that are bound in other parts of the query. {$name} {$job}

45 TU/e technische universiteit eindhoven XQuery FLWR Expression List each publisher and the average price of its books. FOR $p IN distinct(document(“bib.xml”)//publisher) LET $a := avg(document(“bib.xml”)/book[publisher=$p]/price) RETURN {$p/text()} {$a}

46 TU/e technische universiteit eindhoven RDF & OWL

47 TU/e technische universiteit eindhoven Web Data Integration WIS repository (back-end) typically assembled from different heterogeneous sources, e.g. databases, files, WWW To manage (coordinate) data from different sources, metadata helps to structure the data

48 TU/e technische universiteit eindhoven Metadata Describing the data and its availability Sometimes provided by sources Needed by IS Engineering metadata: –Meaning –Validity –Quality Specifying “logistics” of data

49 TU/e technische universiteit eindhoven Resource Description Framework W3C standard for metadata description Describes the “meaning” of data like Web sites, parts of HTML pages, etc. Makes data “machine - understandable” – allows automated data processing Framework that allows you to make simple assertions about anything: distributed and extensible (as is the Web) “meaning” expressed via “subclass of” Ref:

50 TU/e technische universiteit eindhoven Basic RDF Model Recognizes 3 object types: –Resources – always named by URI, e.g. web site, part of web page, others –Properties – an attribute of a Resource, its characteristics –Statements – Resource + Property + Property Value

51 TU/e technische universiteit eindhoven Basic RDF Model Example RDF representation of the sentence: “Ora Lassila is the creator of the resource Statement: Subject (Resource) Predicate (Property) Creator Object (Literal) “Ora Lassila”

52 TU/e technische universiteit eindhoven Basic RDF Model Example Diagram of the statement: Ora Lassila Creator

53 TU/e technische universiteit eindhoven RDF and XML RDF can be implemented using XML The example of complete XML for the previous example is: Ora Lassila

54 TU/e technische universiteit eindhoven Structured Value Example “The employee with ID 85740, Ora Lassila, with is the creator of the resource Ora Creator Name In XML it is: Ora Lassila

55 TU/e technische universiteit eindhoven RDF - more It is possible to make statements about statements It is possible to refer a collection of resources (containers) of 3 types: –Bag – a property has multiple values, order has no significance –Sequence – a property has multiple value, order is significant –Alternative – list of literals/resources representing alternatives for single property

56 TU/e technische universiteit eindhoven RDF Query Language Querying RDF metadata –SQL/XQL style approach, viewing RDF metadata as relational or XML database [RDF Query Specification (IBM)] –viewing Web descriptions by RDF metadata as knowledge base, applying knowledge representation and reasoning techniques [W3C related] RQL, SeRQL (with Sesame)

57 TU/e technische universiteit eindhoven Meaning: Ontologies Ontology = a vocabulary with associated meaning (“shared understanding”) Possibility to define synonyms, specializations and other relationships Use of same ontology = contract on meaning of words (tags, attributes) Often, industry or domain dependent

58 TU/e technische universiteit eindhoven OWL Web Ontology Language used to explicitly represent meaning of terms in vocabularies and relationships between terms: ontology –ontology engineering beyond XML and RDF(S) revision of DAML+OIL

59 TU/e technische universiteit eindhoven Stack XML: surface syntax for structured documents (no semantic constraints on meaning) XML Schema: restricting structure of XML documents RDF: datamodel for objects (resources) and relationships, provides simple semantics for this datamodel RDF Schema: vocabulary for describing properties and classes of RDF resources, with semantics for generalization-hierarchies OWL: adds vocabulary for describing properties and classes, e.g. relations between classes (disjoint), cardinality (exactly one), equality, richer typing of properties, characteristics of properties (symmetry), enumerated classes

60 TU/e technische universiteit eindhoven OWL Sublanguages OWL Lite: classification hierarchy and simple constraints OWL DL: maximum expressiveness while retaining computational completeness and decidability (description logics) OWL Full: maximum expressiveness and syntactic freedom of RDF with no computational guarantees

61 TU/e technische universiteit eindhoven Web Services

62 TU/e technische universiteit eindhoven Web Services –Distributed computing model on asynchronous messaging (XML) Support dynamic application integration over the Web XML message for exchanging data and accessing services On-the-fly software creation through the use of loosely coupled, reusable software components Software can be delivered and paid per-use as opposed to package products

63 TU/e technische universiteit eindhoven Principles XML Message Exchange –Message Transport XML Namespaces (URI) HTTP –Message Nature Request Result of a request Errors Web Service Application Client Web Service Web Service XML

64 TU/e technische universiteit eindhoven Design Principles –Wrapping services (applications) –Web-based protocols Web-services based on HTTP –Protocols can traverse firewalls, can work in a heterogeneous environment –Interoperability SOAP defines a common standard that allows different systems to interoperate –XML-based (XML Schema) Machine-readable documents Application Client HTTP-SOAP Web Service XML

65 TU/e technische universiteit eindhoven Design Principles –Modularity Service components are useful in themselves, reusable, composable –Availability Services are available to systems that wish to use them Services must be exposed outside of the particular system they are available in (wrapping) –Machine-readable description Used to identify the interface, the location and access information –Published Searchable service repositories of service descriptions Repository Application Client HTTP-SOAP Web Service XML Application

66 TU/e technische universiteit eindhoven Related Technologies Comparison with Data Wrapping –Same idea (providing a transparent interface to legacy systems) –Data (data models and query languages) vs. services (procedures, functions) Comparison with other RPC –Existing RPC (DCOM, RMI or CORBA) Same idea (interface, dynamic discovery, protocols) Interoperability problems –DCOM: Microsoft –RMI: Java Technical problems –CORBA: very complex

67 TU/e technische universiteit eindhoven Directory Client Service Provider Service Description Client Application Web Service Description Discovery Publication Interaction Main Components/Actors

68 TU/e technische universiteit eindhoven Three Main Components/Protocols –UDDI (Universal Data Description Interface) Directory for recording and searching the description of Web services Provides a mechanism for clients to find Web services –WSDL (Web Services Description Language) XML description of a Web service Defines services as collections of network endpoint or ports –A port is defined by associating a network address with a binding (servers) –A collection of ports defines a service –SOAP (Simple Object Access Protocol) Is a message layout specification that defines a uniform ways of passing XML-encoded data Based on HTTP Publication and Discovery: UDDI Service Description: WSDL Messaging: SOAP Transport: HTTP, SMTP, FTP

69 TU/e technische universiteit eindhoven Directory Client Service Provider Service Description Client Application Web Service Description Discovery Publication Interaction UDDI WSDL SOAP Publication and Discovery: UDDI Service Description: WSDL Messaging: SOAP Transport: HTTP, SMTP, FTP

70 TU/e technische universiteit eindhoven Basic Usage Scenario (manual) Web service lookup Client Write client application Run client application Directory (UDDI) Publish Web service 1 register WSDL file (manually) Web Service Provider 2 http get 3 WSDL file 4 SOAP request 5 SOAP response Run Server

71 TU/e technische universiteit eindhoven Web Service Implementation –Application server (Web service-enabled) Provides implementation of services and exposes it through WSDL/SOAP (Wrapping) Implementation in Java, as EJB, as.NET(C#), etc. –SOAP server Implements the SOAP protocol –HTTP server Standard Web server –SOAP client Implements the SOAP protocol on the client site HTTP Server Web Service Provider SOAP Server Application Server Requestor (SOAP client) SOAP Message (HTTP transport)

72 TU/e technische universiteit eindhoven Web Service Classification –Communication and transport services W3C Recommendations SOAP, XML, Namespace –Technical services W3C Recommendations Services for message publication and exchange Examples: WSDL, UDDI –Business services Specific for an activity area Defined and used by a group of companies working on the same activity area Examples: ebXML, RosettaNet, BizTalk Enterprise Web Service Technical Service WSDLUDDIBPML Business Service ebXML Rosetta Net Biztalk SOAP TCP-IP-HTTP

73 TU/e technische universiteit eindhoven Web Service Examples –Google Free but limited access

74 TU/e technische universiteit eindhoven Web Service Examples –Amazon Free but limited access Search and management of Amazon products –Access products –Add products –Customize presentations

75 TU/e technische universiteit eindhoven Web Service Examples –SellerEngine (http://www.sellerengine.com/) Uses Amazon Web Services Brings Amazon data to a desktop in real time (create new listings and upload them to Amazon in seconds using a easy to use interface)

76 TU/e technische universiteit eindhoven

77 TU/e technische universiteit eindhoven WS Protocols

78 TU/e technische universiteit eindhoven Protocol: SOAP Simple Object Access Protocol –Communication protocol via Internet between applications: data exchange and data structures –Format for sending messages Platform and language independent Based on XML –Messages with two types of elements Pre-defined tags Application-specific tags Directory Client Service Provider Service Description Client Application Web Service Description Discovery Publication Interaction UDDI WSDL SOAP

79 TU/e technische universiteit eindhoven Protocol: SOAP SOAP: Communication and Transport Services –SOAP document –Envelop: message type and destination –Data type: representation of data types –Conventions for the RPC and for the result or error sending –Rules for the SOAP transport on HTTP Transport SOAP HTTP TCP/IP POST: … Host: … Content-type: … Content-length: … Message depends on Web services

80 TU/e technische universiteit eindhoven Protocol: WSDL Web Services Description Language –XML-based language for describing Web services and how to access them Specification of the location of the service Specification of the operations (or methods) the service exposes Directory Client Service Provider Service Description Client Application Web Service Description Discovery Publication Interaction UDDI WSDL SOAP

81 TU/e technische universiteit eindhoven Protocol: WSDL Description of Web Services in XML format –Abstract description of operations and their parameters (messages) –Concrete description Binding to a concrete network protocol (SOAP) Specification of endpoints for accessing the service Types: structure of messages Messages: used by operations Binding: concrete protocol Service: collection of related ports Ports: Binding and a network address Concrete Abstract

82 TU/e technische universiteit eindhoven Protocol: UDDI Universal Description, Discovery and Integration –Directory service where businesses can register and search for Web services (described in WSDL) –Communication via SOAP Directory Client Service Provider Service Description Client Application Web Service Description Discovery Publication Interaction UDDI WSDL SOAP

83 TU/e technische universiteit eindhoven Protocol: UDDI UDDI Support –UDDI is a cross-industry effort driven by all major platform and software providers like Dell, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft, Oracle, SAP, and Sun, as well as a large community of marketplace operators, and e-business leaders –Over 220 companies are members of the UDDI community Microsoft (uddi.microsoft.com) IBM (ibm.com/services/uddi) HP (uddi.hp.com) SAP (udditest.sap.com)

84 TU/e technische universiteit eindhoven Example: Flight Reservation If the industry published an UDDI standard for flight rate checking and reservation, airlines could register their services into an UDDI directory Travel agencies could then search the UDDI directory to find the airline's reservation interface When the interface is found, the travel agency can communicate with the service immediately because it uses a well-defined reservation interface

85 TU/e technische universiteit eindhoven Microsoft’s UDDI uddi.microsoft.com Search of a Web Service: Xmethods Search Results

86 TU/e technische universiteit eindhoven Microsoft’s UDDI Description of the selected service Returns book price from Barnes and Noble online store, given ISBN

87 TU/e technische universiteit eindhoven Microsoft’s UDDI WSDL Description of the Web service

88 TU/e technische universiteit eindhoven Service Development Two main technologies –Java (EJB server) –.NET


Download ppt "TU/e technische universiteit eindhoven Web Engineering & Web Information Systems Technology Geert-Jan Houben."

Similar presentations


Ads by Google