asuman dogacride 2004, boston, march 28, 20041/92 exploiting semantics of web services in ebusiness...
TRANSCRIPT
Asuman Dogac RIDE 2004, Boston, March 28, 2004
1/92
Exploiting Semantics of Web Services in eBusinessApplicationsAsuman Dogac
Middle East Technical University
06531 Ankara Turkey
Asuman Dogac RIDE 2004, Boston, March 28, 2004
2/92
Outline Why do we need the semantics of Web services? Means of expressing semantics: Ontology and Ontology Description
Languages
Semantic Support Available in UDDI Registries
Semantic Support Available in ebXML Registries
Two approaches to exploiting semantics: Querying and Reasoning
Describing the semantics of Web services in two domains Healthcare Tourism Industry
Asuman Dogac RIDE 2004, Boston, March 28, 2004
3/92
Why do we need the semantics of Web services?
Asuman Dogac RIDE 2004, Boston, March 28, 2004
4/92
Why do we need Web Service Semantics? WSDL only gives the technical specification of the Web services
In order to exploit services in their full potential their properties must be defined:
The methods of charging and payment The channels by which the service is requested and
provided Constraints on temporal and spatial aspects Availability Service quality Security, trust and rights attached to a service
Asuman Dogac RIDE 2004, Boston, March 28, 2004
5/92
Why do we need Web Service Semantics? To be able to define the
Web service functionality semantics
To be able to describe
service properties and later search for services according to their properties
This search needs to be done in a machine processable and interoperable manner
Defining Service Properties Through Ontology Languages
Asuman Dogac RIDE 2004, Boston, March 28, 2004
6/92
Ontology
Asuman Dogac RIDE 2004, Boston, March 28, 2004
7/92
What is an Ontology?“An explicit formal specification of the terms in the domain and relations among them.”
- Noy and McGuinness, “Ontology Development 101”
• The word ontology comes from the Greek ontos (being) and logos (word)
•An ontology describes objects and concepts as classes
• These classes are arranged in a hierarchy, and then class attributes and relationships are described with properties
Class
Subclass
Subclass
properties properties
Asuman Dogac RIDE 2004, Boston, March 28, 2004
8/92
Why use an ontology?
• A common vocabulary
• Ability to define relationships among classes, properties and instances
• Automated Processing
1.Querying
2. Reasoning
Asuman Dogac RIDE 2004, Boston, March 28, 2004
9/92
Resource Description Framework (RDF) A W3C recommendation
RDF fixes the syntax and structure of describing metadata through RDF Syntax
It allows meaning to be defined and associated with data through RDF Schema
RDF Schema facilities to define domain specific ontologies
Asuman Dogac RIDE 2004, Boston, March 28, 2004
10/92
Ontology Languages and OWL
DAML:Darpa Agent Markup Language
OIL: Ontology Inference Layer (European
Commission Project)
DAML+OIL
OWL: Web OntologyLanguage (Being
Standardized by W3C)
RDF (ResourceDescriptionFramework)
Asuman Dogac RIDE 2004, Boston, March 28, 2004
11/92
OWL Classes
Ministry of Interior has defined ontologies for their information in OWL
For example: Crimes
Robbery Speeding Terrorism
<owl:Class rdf:ID=“Crimes"> </owl:Class>
<owl:Class rdf:ID=“Robbery"> <rdfs:subClassOf rdf:resource="#Crimes"/></owl:Class>
<owl:Class rdf:ID=“Terrorism"> <rdfs:subClassOf rdf:resource="#Crimes"/></owl:Class>
…
Asuman Dogac RIDE 2004, Boston, March 28, 2004
12/92
OWL Properties
<owl:DatatypeProperty rdf:ID=“description"> <rdfs:domain
rdf:resource="#Crime"/> <rdfs:range
rdf:resource=“http://www.w3.org/2001/XMLSchema#Literal"/>
</owl:DatatypeProperty >
<owl:ObjectProperty rdf:ID=“suspect"> <rdfs:domain
rdf:resource="#Robbery"/> <rdfs:range rdf:resource=“#Thief>
</owl:ObjectProperty >
<owl:ObjectProperty rdf:ID=“driver"> <rdfs:domain
rdf:resource="#Speeding"/> <rdfs:range
rdf:resource=“#Speeder"/></owl:ObjectProperty >
suspect
Robbery Thief
Speeding Speederdriver
Crimes Literal
description
Asuman Dogac RIDE 2004, Boston, March 28, 2004
13/92
An Example: eGovernment
Finger prints from a robbery scene identified John Smith as the suspect
Here is the police report on the robbery:
<Robbery rdf:ID="report-2003-10-23-xyz"> <description>...</description> <suspect> <Thief rdf:about="http://www.ministryOfInterior.gov/criminals#John_Smith"/> </suspect>
</Robbery>
Asuman Dogac RIDE 2004, Boston, March 28, 2004
14/92
An Example: eGovernment• Later in the day a police gives a person a
ticket for speeding
• The driver's license showed the name John Doe
• Here is the police report on the speeder:
<Speeding rdf:ID="report-2003-10-23-abc"> <description>...</description> <driver> <Speeder rdf:about="http://www.ministryOfInterior/criminals#John_Doe"/> </driver>
</Speeding>
Asuman Dogac RIDE 2004, Boston, March 28, 2004
15/92
Any Relationship between the Thief and the Speeder?
Ministry of Interior keeps the OWL descriptions of their files:
<Criminals rdf:about=" http://www.ministryOfInterior/criminals#John_Doe ">
<owl:sameAs rdf:resource=" http://www.ministryOfInterior.gov/criminals#John_Smith "/></Criminals>
Asuman Dogac RIDE 2004, Boston, March 28, 2004
16/92
How can this be achieved? owl:sameAs property helps!
OWL provides a property (owl:sameAs) for indicating that two resources (e.g., two people) are the same
Thief
Speeder
John Smith
John Doe
owl:sameAs
Inference: The Thief and the Speeder are one and the same!
Asuman Dogac RIDE 2004, Boston, March 28, 2004
17/92
Semantic Support of Web Services in UDDI Registries
Asuman Dogac RIDE 2004, Boston, March 28, 2004
18/92
UDDI Registry APIs
Inquiry API Find
find_business find_service find_binding find_tModel
Get Details get_businessDetail get_serviceDetail get_bindingDetail get_tModelDetail
Publishers API Save
save_business save_service save_binding save_tModel
Delete delete_business delete_service delete_binding delete_tModel
Asuman Dogac RIDE 2004, Boston, March 28, 2004
19/92
businessEntitybusinessKeynameURLdescriptioncontactsbusinessServicesidentifierBagcategoryBag
PhoneAddressEmail
Contact
businessServiceKeyNameDescriptionBindingTemplates
PhoneAddressEmail
Contact
businessServiceserviceKeytModelKeyNameDescriptionBindingTemplates
keyedReferencetModelKeykeyNamekeyValue
keyedReferencetModelKeykeyNamekeyValue
keyedReferencetModelKeykeyNamekeyValue
keyedReferencetModelKeykeyNamekeyValue
Defining Service Semantics in UDDI Registries
By using standard taxonomies
And by putting the corresponding tModel keys in the category bags of services
Asuman Dogac RIDE 2004, Boston, March 28, 2004
20/92
Business categories in UDDI
Three standard taxonomies in V1
Industry: NAICS - North American Industrial Classification Scheme (Industry codes - US Govt.)
Product/Services: UN/SPSC - Universal Standard Products and Services Classification (ECMA)
Location: ISO 3166 Geographical taxonomy
Asuman Dogac RIDE 2004, Boston, March 28, 2004
21/92
ISO 3166 Codes (Countries)(http://www.iso.ch/iso/en/prods-services/iso3166ma/)
Country A2 A3 Number
ITALY IT ITA 380
TURKEY TR TUR 792
… … … …
Asuman Dogac RIDE 2004, Boston, March 28, 2004
22/92
North American Industry Classification System (NAICS)
Asuman Dogac RIDE 2004, Boston, March 28, 2004
23/92
United Nations Standard Products &Services Code® (UNSPSC)
Asuman Dogac RIDE 2004, Boston, March 28, 2004
24/92
How can we find a service through its semantics in UDDI Registries? Looking for a service to buy a Computer
If a service puts the tModel key corresponding to [43.17.18.03] Workstations or desktop computers –commodity in its category bag
THEN We know that this service is related with computers BUT: Is this service really selling computers? If so how
about the properties of the product? Payment method? Memory, Speed?
Asuman Dogac RIDE 2004, Boston, March 28, 2004
25/92
Taxonomies Define Only Class/Subclass Relationship: An Example Taxonomy: UNSPSC
43.00.00.00.00Communications and ComputerEquipment and Peripherals and
Components and Supplies
43.16.17.00.00Business Transaction and Personal
Business Software
43.16.17.02.00Tax Preparation Software
Through taxonomies: • It is not possible to define properties of services
• It is not possible to relate service classes with one another
• UDDI usestaxonomies to describe the semantic of Webservices by relating them to tModels
Asuman Dogac RIDE 2004, Boston, March 28, 2004
26/92
Semantic Support of Web Services in ebXML Registries
Asuman Dogac RIDE 2004, Boston, March 28, 2004
27/92
Where to store the generic semantics of the services? An ebXML registry allows to define semantics
basically through two mechanisms: It allows properties of registry objects to be
defined through “slots” and, Metadata can be stored in the registry through a
“classification” mechanism
Asuman Dogac RIDE 2004, Boston, March 28, 2004
28/92
ebXML Registry Information Model (RIM)
RegistryObject
ClassificationNode Classification
RegistryPackage ExtrinsicObject Service
AssociationRegistryEntry
ClassificationScheme
Asuman Dogac RIDE 2004, Boston, March 28, 2004
29/92
Exploiting semantics
In relating the semantics with the services advertised in service registries, there are two key issues: Where to store the
generic semantics of the services: In ebXML, metadata is stored in the registry
How to relate the services advertised in the registry with the semantic defined through an ontology: In ebXML through Classification objects
ReserveAFlight
originatingFrom destinationTo paymentMethod
MyService
TravelService
EntertainmentService
AccommodationService
ReserveAFlight BuyATicket
AirTransportation
TransportationService
originatingFrom destinationTo paymentMethod
?
?
Asuman Dogac RIDE 2004, Boston, March 28, 2004
30/92
Relating a Web service Advertised with Service Ontology in ebXML
MyService:Registry Entry
ReserveAFlight:ClassificationNode
ServiceToIndustryClassification:Classification
classsifiedObject classificationNode
Asuman Dogac RIDE 2004, Boston, March 28, 2004
31/92
How to relate services advertised with the generic ontology classes? By relating a service advertised with a node in classification
hierarchy, we make the service an explicit member of this node
The service also inherits the well-defined meaning associated with this node as well as the generic properties defined for this node
When we associate “MyService” with “ReserveAFlightService”, its meaning becomes clear; that this service is a flight reservation service
Assuming that the “ReserveAFlightService” service has the generic properties such as “originatingFrom”, “destinationTo” and “paymentMethod”, “MyService” also inherits these properties
Asuman Dogac RIDE 2004, Boston, March 28, 2004
32/92
Querying vs. Reasoning
Asuman Dogac RIDE 2004, Boston, March 28, 2004
33/92
Some Observations Ontologies can play two major roles in the Web
services area:
One is to provide a source of shared and precisely defined terms which can be used to dynamically discover, compose and monitor services
The other is to reason about the ontologies
Asuman Dogac RIDE 2004, Boston, March 28, 2004
34/92
Some Observations
The fact is that we do not have industrial strength reasoners yet!
Semantic can also be taken advantage of through querying
Asuman Dogac RIDE 2004, Boston, March 28, 2004
35/92
Exploiting Semantics through Querying Once semantics is associated with Web services in
ebXML registries, it can be used to discover services simply through queries
Examples: It is possible to find the properties of a Web service class
It is possible to find all the advertised instances of a Web service class in the ontology
It is possible to obtain the content files (WSDL and OWL)
Asuman Dogac RIDE 2004, Boston, March 28, 2004
36/92
Querying ebXML Registry through Query Templates This can be achieved through predefined query
templates which yields into automation:
A query template is used to obtain the properties of a generic class
A query template is used for locating service instances of a given generic class node in the class hierarchy
A template is a content retrieval query to obtain the original OWL and WSDL files through the identifiers of the OWL and WSDL files in the SpecificationLinks
Asuman Dogac RIDE 2004, Boston, March 28, 2004
37/92
ObjectProperty
DatatypeProperty
TravelService
EntertainmentService
AccommodationService
ReserveAFlight BuyATicket
AirTransportation
TransportationService
originatingFrom destinationTo paymentMethod promotion
ebXML Registry
ebXML QueryGet Datatype Properties
ebXML Query Result
originatingFrom
destinationTo
ebXML QueryGet Object Properties
ebXML Query Result
paymentMethod
promotion
A query template to obtain the properties of a generic class
1
2
1
2
Asuman Dogac RIDE 2004, Boston, March 28, 2004
38/92
An Example Query Retrieving all the Associations of Type “DatatypeProperty” for
“ReserveAClassFlightService” <AdhocQueryRequest xmlns ="urn:oasis:names:tc:ebxml-regrep:query:xsd:2.0" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="urn:oasis:names:tc:ebxml-regrep:query:xsd:2.0 query.xsd"> <ResponseOption returnType = "LeafClass" returnComposedObjects = "true" /> <FilterQuery> <ClassificationNodeQuery> <SourceAssociationBranch>
<AssociationFilter> <Clause> <SimpleClause leftArgument = "associationType"> <StringClause stringPredicate = "Equal">
DatatypeProperty</StringClause> </SimpleClause> </Clause> </AssociationFilter> <ClassificationNodeQuery> <NameBranch> <LocalizedStringFilter> <Clause> <SimpleClause leftArgument = "value"> <StringClause stringPredicate = "Contains">
ReserveAFlightService</StringClause> </SimpleClause> </Clause> </LocalizedStringFilter> </NameBranch> </ClassificationNodeQuery> </SourceAssociationBranch>
</ClassificationNodeQuery> </FilterQuery> </AdhocQueryRequest>
Asuman Dogac RIDE 2004, Boston, March 28, 2004
39/92
TravelService
EntertainmentService
AccommodationService
ReserveAFlight BuyATicket
AirTransportation
TransportationService
MyService1 MyService2 MyService3
ebXML Registry
ebXML QueryGet Extension of a ClassificationNode
ebXML Query Result
MyService1
MyService2MyService3
A query template to find all the advertised instances of a Web service class
2
1
Asuman Dogac RIDE 2004, Boston, March 28, 2004
40/92
An Example Query: Retrieving all the Services Classified with “ReserveAFlightService” ClassificationNode<AdhocQueryRequest xmlns = "urn:oasis:names:tc:ebxml-regrep:query:xsd:2.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "urn:oasis:names:tc:ebxml-regrep:query:xsd: 2.0 query.xsd"> <ResponseOption returnType = "LeafClass" returnComposedObjects = "true" /> <FilterQuery> <ServiceQuery> <ClassifiedByBranch> <ClassificationNodeQuery> <NameBranch> <LocalizedStringFilter> <Clause> <SimpleClause leftArgument = "value"> <StringClause stringPredicate = "Equal"> ReserveAFlightService
</StringClause> </SimpleClause> </Clause> </LocalizedStringFilter> </NameBranch> </ClassificationNodeQuery> </ClassifiedByBranch> </ServiceQuery>
</FilterQuery></AdhocQueryRequest>
Asuman Dogac RIDE 2004, Boston, March 28, 2004
41/92
ebXML Registry ebXML Repository
WSDL of MyService1
OWL-S of MyService1
TravelService
EntertainmentService
AccommodationService
ReserveAFlight BuyATicket
AirTransportation
TransportationService
MyService1
Extrinsic Object
Extrinsic Object
SpecificationLink
ebXML QueryGet SpecificationLinkContent of a Service
ebXML Query Result
WSDL of MyService1
OWL-S of MyService1
A Content Retrieval Query template
1
2
Asuman Dogac RIDE 2004, Boston, March 28, 2004
42/92
Retrieving the WSDL Files
<GetContentRequest xmlns="urn:oasis:names:tc:ebxml-regrep:query:xsd:2.1" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:ebxml-regrep:rim:xsd:2.1 ../schema/rim.xsd urn:oasis:names:tc:ebxml-regrep:query:xsd:2.1 ../schema/query.xsd"> <rim:ObjectRefList> <--! The unique id of the WSDL file in the registry --> <rim:ObjectRef id="urn:uuid:7e4397db-916a-490f-bdc7-c9da"/> </rim:ObjectRefList></GetContentRequest>
Asuman Dogac RIDE 2004, Boston, March 28, 2004
43/92
OWL-S
Asuman Dogac RIDE 2004, Boston, March 28, 2004
44/92
OWL-S: Defines an Upper Ontology for Web Services in OWL
describedBy:How it works
Service
ServiceGroundingServiceModel
Resource ServiceProfile
Supports:
How to access it
presents: What it does
provides
Asuman Dogac RIDE 2004, Boston, March 28, 2004
45/92
Web services and the Healthcare Domain
Asuman Dogac RIDE 2004, Boston, March 28, 2004
46/92
Challenges of Healthcare Informatics According to Jonathan Borden, M.D. of ASTM:
A disaster: 1.1 Trillion $/year in the USA 30-40 % overhead Mostly paper based Highly proprietary commercial systems Tens of thousands of people die each year due to poor
information/errors Most of the information is rendered useless
Asuman Dogac RIDE 2004, Boston, March 28, 2004
47/92
Asuman Dogac RIDE 2004, Boston, March 28, 2004
48/92
Challenges of Healthcare Informatics Most of the health information systems today are
proprietary
They often only serve one specific department within a healthcare institute
To complicate the matters worse, a patient's health information may be spread out over a number of different institutes which do not interoperate
This makes it very difficult for clinicians to capture a complete clinical history of a patient
Asuman Dogac RIDE 2004, Boston, March 28, 2004
49/92
Patient Records: Problems
Content: too little, too much, or wrong
Format: poor organization of information
Access, availability, security
Linkages and integration
Asuman Dogac RIDE 2004, Boston, March 28, 2004
50/92
Challenges of Healthcare Informatics
The systems must interoperate for effectiveness
For interoperability standards are needed
However there are more than one standard in the health care domain
Asuman Dogac RIDE 2004, Boston, March 28, 2004
51/92
EHR Architectures
„Candidates“ of EHR architectures: CEN ENV 13606 „EHR Communication“ Good Electronic Health Record (GEHR) OpenEHR CEN EN 13606 (draft) HL7 Clinical Document Architecture HL7 v2 Information Model (implicit) HL7 v3 Reference Information Model (draft)
The nice thing about standards is that there are so many to choose from. Andrew Tanenbaum, Introduction to Computer Networks
Asuman Dogac RIDE 2004, Boston, March 28, 2004
52/92
Web Services in the Healthcare Domain
Web services provides the healthcare industry with an ideal platform to achieve the difficult interoperability problems
Web services are designed to wrap and expose existing resources and provide interoperability among diverse applications
It becomes possible to provide the interoperability of medical information systems through standardizing the access to data through WSDL and SOAP rather than standardizing documentation of electronic health records
Asuman Dogac RIDE 2004, Boston, March 28, 2004
53/92
Introducing Web services to the healthcare domain brings many advantages
Medical information systems suffer from proliferation of standards to represent the same data; Web services allow for seamless integration of disparate applications representing different and, at times, competing standards
Web services will extend the healthcare enterprises by making their own services available to others
Web services will extend the life of the existing software by exposing previously proprietary functions as Web services
Asuman Dogac RIDE 2004, Boston, March 28, 2004
54/92
Semantics of Web Services
In order to exploit Web services to their full potential, it is necessary to describe their semantics
An essential element in defining the semantic of Web services is the domain knowledge
Medicine is one of the few domains to have extensive domain knowledge defined through standards
Asuman Dogac RIDE 2004, Boston, March 28, 2004
55/92
Domain Knowledge
Some of the domain knowledge exists in controlled vocabularies, or terminologies: Some vocabularies are rich semantic nets, such as SNOMED-CT
while others such as ICD-10 (International Statistical Classification of Diseases and Related Health Problems) is little more than lexicons of terms
However, there are also standards that expose the business logic in the healthcare domain such as HL7 and Electronic Healthcare Record based standards such as CEN TC251, ISO TC215 and GEHR which define and classify clinical concepts
These standards offer significant value in developing ontologies to express the semantics of Web services
Asuman Dogac RIDE 2004, Boston, March 28, 2004
56/92
What kind of Semantics?
Service Functionality Semantics: HL7 has categorized the events in healthcare domain by
considering service functionality which reflects the business logic in this domain
This classification can be used as a basis for defining the service action semantics through a Service Functionality Ontology
Service Message Semantics: Electronic healthcare record (EHR) based standards like HL7
CDA (Clinical Document Architecture), GOM (GEHR Object Model), and CEN TC251's ENV 13606 define meaningful components of EHR so that when transferred, the receiving party can understand the record content better
The meaningful components defined by these standards can be used in developing service message ontologies
Asuman Dogac RIDE 2004, Boston, March 28, 2004
57/92
HL7 and Web Services
The primary goal of HL7 is to provide standards for the exchange of data among healthcare computer applications
An event in the healthcare world, called the trigger event, causes exchange of messages between a pair of applications
When an event occurs in an HL7 compliant system, an HL7 message is prepared by collecting the necessary data from the underlying systems and it is passed to the requestor, usually as an EDI message
Mapping HL7’s message based events directly into Web services may result in several inefficiencies
Asuman Dogac RIDE 2004, Boston, March 28, 2004
58/92
HL7 and Web Services
The input and output messages defined for HL7 events are usually very complex containing innumerous segments of different types and optionality
Furthermore, all the semantics about the business logic and the document structure are hard coded in the message
This implies that, the party invoking the Web service must be HL7 compliant to make any sense of the content of the output parameter(s) returned by the service
Furthermore, the information contained in an HL7 message may be coming from different systems either proprietary or complying to different standards
Hence, in Web services terminology, HL7 events correspond to Composite services, whereas more elementary services are needed
Asuman Dogac RIDE 2004, Boston, March 28, 2004
59/92
HL7 and Web Services
Since HL7 has already been through an effort of categorizing the events in healthcare domain considering service functionality, it can be used as a basis for a service functionality ontology
Asuman Dogac RIDE 2004, Boston, March 28, 2004
60/92
An Example Service FunctionalityOntology HealthCareServices
PatientAdministration PatientCare PatientReferral Scheduling ObservationReporting
PatientInfoRequest CancelPatientReferralPatientReferralRequest
InsuranceInformation ClinicalInformation DemographicData
GetClinicalInformation
serviceQuality location Properties of theGeneric ServiceClass
Asuman Dogac RIDE 2004, Boston, March 28, 2004
61/92
Service Messages
A Web service in the healthcare domain usually accesses or updates a part of an electronic healthcare record, that is, parts of the EHR constitute the service parameters
An electronic healthcare record may get very complex with data coming from diverse systems such as lab tests, diagnosis, prescription of drugs which may be in different formats
Electronic healthcare record (EHR) based standards like HL7 CDA, GOM and CEN's ENV 13606 aim to facilitate the interoperability between Medical Information Systems
These standards provide conceptual building blocks or meaningful components
We propose to use these standards as a basis for Service Message Ontology
Asuman Dogac RIDE 2004, Boston, March 28, 2004
62/92
GEHR
EHR and Transaction level Navigation level Content (e.g. observation, subjective,
instruction) level Data types (e.g. quantity, multimedia) level Clinical models are expressed outside the
GOM in the form of archetypes
Asuman Dogac RIDE 2004, Boston, March 28, 2004
63/92
CEN TC 251 ENV 13606
Folder: High-level subdivisions of the entire EHR for a patient
Composition: A set of record entries relating to one time and place of care delivery; grouped contributions to an aspect of health care activity; composed reports and overviews of clinical progress
Headed Section: Sub-divisions used to group entries with a common theme or derived through a common healthcare process.
Cluster: Low-level aggregations of elementary entries (Record Items) to represent a compound clinical concept
Asuman Dogac RIDE 2004, Boston, March 28, 2004
64/92
An example Service Message Ontology
Concept
Property
Asuman Dogac RIDE 2004, Boston, March 28, 2004
65/92
UDDI tModels
Relating the services with the semantic defined through an ontology - UDDI
CategoryBag reference
Medical Services
PatientReferralObservation
Reporting
PatientCare
PatientReferralReqGetClinicalInfo
HacettepeHospital
ObservationReportingServices
PatientReferralServices
getClinicalInfo
..
..
..
UDDI Business Entities and Related
Asuman Dogac RIDE 2004, Boston, March 28, 2004
66/92
ebXML Classification Hierarchy
Associating semantics to ebXML HealthCareServices
PatientCareObservationReporting
PatientAdministration
PatientInfoRequestPatientReferralRequest
subclassOf subclassOf
subclassOfsubclassOf
serviceQualityStandardsConformed
ebXMLClassificationNodes
ebXML
associationsebXMLslots
Asuman Dogac RIDE 2004, Boston, March 28, 2004
67/92
The healthcare informatics industry has already started using Web services An Example: Integrating the Healthcare
Enterprise (IHE)
IHE defines a Web service based implementation framework
Asuman Dogac RIDE 2004, Boston, March 28, 2004
68/92
Overview of IHE IT Infrastructure Overview of IHE IT Infrastructure Integration ProfilesIntegration Profiles
IHE IT Infrastructure Technical CommitteeCharles Parisot, GE Medical Systems Information Technologies
Asuman Dogac RIDE 2004, Boston, March 28, 2004
69/92
IHE IT Infrastructure5 Integration Profiles
Enterprise User Authentication
Provide users a single nameand
centralized authentication process
across all systems
Enterprise User Authentication
Provide users a single nameand
centralized authentication process
across all systems
Retrieve Information for Display
Access a patient’s clinical information and documents in a
format ready to be presentedto the requesting user
Retrieve Information for Display
Access a patient’s clinical information and documents in a
format ready to be presentedto the requesting user
Patient Identifier Cross-referencing
for MPI
Map patient identifiers across independent
identification domains
Patient Identifier Cross-referencing
for MPI
Map patient identifiers across independent
identification domains
Synchronize multiple applications on a desktop to the same patient
Patient Synchronized Applications
Synchronize multiple applications on a desktop to the same patient
Patient Synchronized Applications
Consistent Time
Coordinate time across networked
systems
Consistent Time
Coordinate time across networked
systems
Asuman Dogac RIDE 2004, Boston, March 28, 2004
70/92
Key Technical Properties: Standards Used:
Web Services (WSDL for HTTP Get). General purpose IT Presentation Formats: XHTML, PDF,
JPEG plus CDA L1. Client may be off-the-shelf browser or display app.
Two services : Retrieve of Specific Information:
Patient centric: patient ID Type of Request Date, Time, nMostRecent
Retrieve a Document Object Unique Instance Identifier (OID) Type of Request Content Type Expected
An Example: Retrieve Information for Display
Asuman Dogac RIDE 2004, Boston, March 28, 2004
71/92
Transaction Diagram
Retrieve Information for Display
Display InformationSource
Retrieve Specific Info for Display [11]
Summary of All ReportsSummary of Laboratory ReportsSummary of Radiology ReportsSummary of Cardiology ReportsSummary of Surgery ReportsSummary of Intensive Care ReportsSummary of Emergency ReportsSummary of Discharge ReportsList of AllergiesList of Medications
Retrieve Document for Display [12]
Persistent Document
Types ofRequests
Asuman Dogac RIDE 2004, Boston, March 28, 2004
72/92
For Further Information… IST-1-002103-STP Artemis Project: A
Semantic Web Service-based P2P Infrastructure for the Interoperability of Medical Information Systems
http://www.srdc.metu.edu.tr/artemis/
Asuman Dogac RIDE 2004, Boston, March 28, 2004
73/92
Web Services and the Travel Industry
Asuman Dogac RIDE 2004, Boston, March 28, 2004
74/92
Overall Information Flow in Tourism Domain
GDS TravelAgency
Avis, Hertz, …
Hilton, BW, Utell, E-Rez, …
Pegasus, Worldres. Amadeus,
Galileo, Sabre, Worldspan …
Olympic, Air France …
Airline Companies
SwitchingCompanies
HotelChains
Rent-a-CarChains
HotelsHilton Ankara, Sofitel Paris ...
Rent-a-CarAgencies
Cryptic
E-Comm.SiteXML
About 100,000Hotels
HundredsOf
ChainsTwo companies
About 1000 companies
Tens ofThousandsOf agencies
4 major GDSs+ 10 small
HundredsOfChains
Asuman Dogac RIDE 2004, Boston, March 28, 2004
75/92
Global Distribution Systems (GDS)
Provides connection to the airline, hotel and rent-a-car reservation systems from a single point
Leading GDSs: Amadeus, Sabre, Galileo, Worldspan
Travel Agency – GDS Connectivity Usually in the form of dedicated client terminals that accept
GDS specific cryptic commands, connected to the GDS on a private network
Special APIs provided for Client Application Developers
Asuman Dogac RIDE 2004, Boston, March 28, 2004
76/92
Disadvantages of GDSs (I)
But GDSs suffer from:
Mostly they rely on their own private networks They have difficult to use cryptic languages Mainly for human use A request to the system usually involves more than one
interaction with the person on the terminal GDSs have limited speed and search capabilities It is difficult to interoperate them with other systems and
data sources
Asuman Dogac RIDE 2004, Boston, March 28, 2004
77/92
Challenges of Travel Industry (II) GDSs are legacy systems and suffer from:
Classical problems with centralized architectures Among the millions of travel agents, only about 10 to 20%
of all travel agents are in connection with the GDS companies
Weak support for SMEs (major hotel chains and etc..) Do not support every type of services
in travel industry (no support for tours)
Asuman Dogac RIDE 2004, Boston, March 28, 2004
78/92
A Web service based architecture can bring several advantages to the industry
Opening up the resources over the Internet Interoperability Ability to access legacy systems Better support for SMEs Ease in service discovery Machine processing Better accessibility
Asuman Dogac RIDE 2004, Boston, March 28, 2004
79/92
Web Services in Travel Industry A few early adopters in the travel industry have started developing
Web Services
Sabre and Datalex are among
the first companies to develop OTA based Web services
Sabre Web Services provide all the functionality needed to sell travel
Galileo also provides a Web service based solution and claims to have cut down the development time by 80%
Asuman Dogac RIDE 2004, Boston, March 28, 2004
80/92
New Business Opportunities through Web Services in the Travel Domain (I) GDS companies support only major travel products;
Airline ticketing, Hotel reservation and Car rental
Through Web services other types of specialized services can be made available
Especially different types of tour and transportation based travel products can be advertised and accessed
Asuman Dogac RIDE 2004, Boston, March 28, 2004
81/92
New Business Opportunities through Web Services in the Travel Domain (II) Among the millions of travel agents, only about 10 to
20% of all travel agents are in connection with the GDS companies
Most travel agencies and travel organization companies choose to manage travel services by themselves, due to reasons which may be Technical, or Economical
These companies generally suffer from the lack of advertising their services as well as publishing them electronically
Asuman Dogac RIDE 2004, Boston, March 28, 2004
82/92
New Business Opportunities through Web Services in the Travel Domain (III) Web services technology will provide a solution for
all companies, especially for small-to-medium enterprises in the travel industry
The travel agencies and service providers will collaborate with each other on a new level
The companies will be able to provide every type of travel service; the service alternatives will be found on the fly
Asuman Dogac RIDE 2004, Boston, March 28, 2004
83/92
Service Semantics in Travel Domain Generic service semantics can be defined through
DAML-S (later OWL-S) upper ontology
However some other properties of the services depend on the application domain
To facilitate the discovery of the Web services, there is a need for an ontology to describe service functionality in the domain
Asuman Dogac RIDE 2004, Boston, March 28, 2004
84/92
Ontology Efforts in the Travel Domain
There are some efforts in this direction
There have been some efforts in defining the message ontologies in the travel domain such as the Harmonise project http://www.harmonise.org/
The Harmonise project have defined the Interoperability Minimum Harmonization Ontology (IMHO)
Asuman Dogac RIDE 2004, Boston, March 28, 2004
85/92
Open Travel Alliance (OTA)
OTA exposes considerable amount of domain knowledge which can offer significant value in describing the semantics of travel Web services: Generic messages Air messages Car message Hotel messages Golf Tee Times Insurance messages Package Tours/Holiday Bookings Travel Itinerary messages Rail information messages Loyalty messages Profile messages
Asuman Dogac RIDE 2004, Boston, March 28, 2004
86/92
Service Functionality Ontology TravelWebServices
HotelServicesVehicleServices RailServices AirServices InsuranceServices
CheckingAvailabilityServices
RequestAirAvail ResponseAirAvail
AirBookingServices
AirScheduleServices
AirDetailsServices
.........
.......... ......... ..........
First Level
Asuman Dogac RIDE 2004, Boston, March 28, 2004
87/92
The advantages of Service Functionality Ontology All sorts of Web services can be
classified by using the nodes of such an ontology to make their meaning clear
Web service instance discovery is facilitated: All the services classified through a node in the ontology can be retrieved from service registries
Asuman Dogac RIDE 2004, Boston, March 28, 2004
88/92
Message Ontologies
There is a need for message ontologies
It is also necessary to define the semantics of the messages exchanged so that the party receiving the message can interpret it
When ontologies are used to describe the messages, since the messages can refer to ontology concepts, it becomes possible to map one message instance into another through ontology mapping although they may be defined through different ontologies
Asuman Dogac RIDE 2004, Boston, March 28, 2004
89/92
For Further Information…
IST-1-002104-STP Satine Project: Semantic-based Interoperability Infrastructure for Integrating Web Service Platforms to Peer-to-Peer Networks
http://www.srdc.metu.edu.tr/satine/
Asuman Dogac RIDE 2004, Boston, March 28, 2004
90/92
Conclusions…
Semantic information about Web services can be made use of both through querying the service registries and through reasoners running over ontologies
Needless to say reasoning produces new information and hence is more powerful
But given that we do not have industrial strenth reasoners yet; through querying the we can get very useful semantics on Web services
Asuman Dogac RIDE 2004, Boston, March 28, 2004
91/92
Conclusions…
The semantic efforts on the Web services area need to focus on application domains
Semantics is domain specific knowledge
Also different domains have evolved differently; and they have different needs
Web service technology can improve the interoperability and can introduce new business models in these domains
Asuman Dogac RIDE 2004, Boston, March 28, 2004
92/92
Thank you for your attention!