RDF and SOA
David Booth, Ph.D. <[email protected]>
HP Software
SOA Symposium, Amsterdam, 8-Oct-2008
[Presented by Andrew Weaver, HP Software]
Latest version of these slides:
http://dbooth.org/2008/soas/slides.ppt
© 2006 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice
Outline
•
PART 0: The problem
•
PART 1: RDF: A lingua franca for information
exchange
•
PART 2: Key Techniques for RDF in SOA
2
3 October 2015
PART 0
The problem
3
3 October 2015
Problem 1: Babelization
•
Proliferation of data models (XML schemas, etc.)
•
Parsing issues influence data models
•
No consistent semantics
•
Data chaos
Tower of Babel, Abel Grimmer (1570-1619)
4
3 October 2015
Problem 2: Integration complexity
•
Multiple producers/consumers need to share data
•
Tight coupling hampers independent versioning
Compliance Management
Discovery
Provisioning
Release
Management
Incident
Management
Change
Management
Release Managers
Compliance
Managers
Operation Centers
Source Control
Monitoring
Networking Engineers
Storage
Administrators
Unix System
Administrators
Networking
Administrators
5
3 October 2015
Windows System
Administrators
Ticketing
Client/service versioning
•
Need to version clients and services
independently
• Data models exchanged must evolve
• No such thing as the model:
− There are several, slightly different but related models
6
Client v3
Service v3
Client v2
Service v2
Client v1
Service v1
3 October 2015
What to do?
7
3 October 2015
PART 1
RDF: A lingua franca for
information exchange
in SOA
8
3 October 2015
What is RDF?
•
"Resource Description Framework"
•
Relational data model framework
•
W3C standard >6 years
•
Foundation of Semantic Web technology
•
Language for making statements about things
•
Used to express both:
− Ontologies (classes and relationships), and
− Instance data
9
3 October 2015
Key features of RDF
•
Syntax independent (specifies model)
− Some existing serializations: RDF/XML, N3, Turtle
− Focus on semantics
•
Consistent semantics
− Based on URIs
•
Great for data integration problems
− Data "mashups"
10
3 October 2015
Why RDF for SOA?
1. Emphasis on semantics
− RDF is syntax independent
2. RDF is good at data integration
3. RDF helps bridge other formats/models
4. Looser coupling
11
3 October 2015
Why?
1. Emphasis on semantics
•
RDF is syntax independent
•
RDF specifies information model -- not
serialization
•
Various serializations can be used
− RDF/XML, N3, Turtle, etc.
12
3 October 2015
Why?
2. Easier data integration
•
New data models can be easily added
•
Old and new data models co-exist in merged
model
•
Relationships between the old and new models
are expressed explicitly
•
Both old and new can be used simultaneously
13
3 October 2015
Why?
2. Easier data integration
•
14
Blue App has model
3 October 2015
Why?
2. Easier data integration
•
Red App has model
•
Need to integrate Red & Blue models
15
3 October 2015
Why?
2. Easier data integration
•
Step 1: Merge RDF
•
Same nodes (URIs) join automatically
16
3 October 2015
Why?
2. Easier data integration
•
Step 2: Add relationships and rules
•
(Relationships are also RDF)
17
3 October 2015
Why?
2. Easier data integration
•
Step 3: Define Green model
•
(Making use of Red
& Blue models)
18
3 October 2015
Why?
2. Easier data integration
•
What the Blue app sees:
− No difference!
19
3 October 2015
Why?
2. Easier data integration
•
What the Red app sees
•
No difference!
20
3 October 2015
Why?
3. RDF helps bridge other formats/models
•
Producers and consumers may use different formats/models
• Rules can specify transformations
•
Inference engine finds path to desired result model
A1
X
A2
A3
RDF
Model
Transform
Y
B1
B2
C1
Z
21
3 October 2015
C2
Ontologies
Ontologies
&&Ontologies
Rules
&Rules
Rules
Why?
4. Looser coupling
•
Without breaking consumers:
− Ontologies can be mixed and extended
− Information can be added
•
22
Producer & consumer can be versioned more
independently
3 October 2015
Example of looser coupling
•
RedCust and GreenCust ontologies added
• Blue app is not affected
(Blue app)
Consumer
23
3 October 2015
Producer
PART 2
Key Techniques for
RDF in SOA
24
3 October 2015
1. RDF message semantics
•
Interface contract can specify RDF, regardless of
serialization
•
RDF pins the semantics
Client
25
3 October 2015
RDF
Service
But Web services already use XML!
•
XML is well known and used
•
Legacy apps may require specific XML or other
formats that cannot be changed
•
How can we gain the benefits of RDF message
semantics while still accommodating XML?
26
3 October 2015
Custom XML serializations of RDF
Recall: RDF is syntax independent
•
Specifies info model -- not syntax!
•
Can be serialized in any agreed-upon way
Therefore:
•
Can view existing XML formats as custom
serialization of RDF!
How? GRDDL . . .
27
3 October 2015
What is GRDDL?
•
"Gleaning Resource Descriptions from Dialects of
Languages"
• W3C standard
• Permits RDF to be "gleaned" from XML
• XML document or schema specifies GRDDL
transformation for that document (or type)
− Each XML document/type can use a different GRDDL
transformation
•
GRDDL transformation produces RDF from XML
document
− Typically written in XSLT
28
3 October 2015
2. GRDDL transformations from XML to
RDF
Therefore:
•
Same XML document can be consumed by:
− Legacy XML app
− RDF app
•
App interface contract can specify RDF
− Serializations can vary
− Semantics are pinned by RDF
•
29
Helps bridge XML and RDF worlds
3 October 2015
Bridging XML and RDF
Service
XML/other
Normalize
to RDF
Client
Core App
Processing
Serialize as
XML/other/RDF
•
Input: Accept whatever formats are required
− Use GRDDL to transform XML to RDF
•
Output: Serialize to whatever formats are required
− Generate XML/other directly (or even RDF!), or
− SPARQL query can generate specific view first
30
3 October 2015
3. REST-based SPARQL endpoints
Consumer
31
3 October 2015
RDF
SPARQL
HTTP
Producer
REST-based SPARQL endpoints
•
Why REST:
− HTTP is ubiquitous
− Simpler than SOAP-based Web services (WS*)
− Looser process coupling
32
3 October 2015
REST-based SPARQL endpoints
•
What is SPARQL:
− W3C standard
− Query language for RDF
− Modeled after SQL:
SELECT ...
WHERE ...
33
3 October 2015
REST-based SPARQL endpoints
•
Why SPARQL:
− RDF gives looser data coupling
− Insulates consumers from internal model changes
• Inferencing can transforms data to consumer's desired model
− One endpoint supports multiple consumer needs
• Each consumer gets what it wants
− Simpler interface for consumers
• Uniform SPARQL interface instead of a different set of
parameters for each REST endpoint
• Takes the REST notion of "uniform interface" one step farther
34
3 October 2015
4. Aggregation and Transformation
•
Gets data from multiple sources
• Provides data to consumers
• Does model transformation, caching, etc.
• Conceptual component -- not necessarily a separate
service
A1
X
A2
SPARQL
A3
Y
B1
Aggregation &
Transformation
B2
C1
Z
35
3 October 2015
C2
Ontologies
Ontologies
&&Ontologies
Rules
&Rules
Rules
Conclusions
•
Value of RDF in data integration is well proven
•
RDF can bring looser coupling to SOA
•
Key techniques:
− 1. RDF message semantics
− 2. GRDDL to bridge from XML to RDF
− 3. REST-based SPARQL endpoints
− 4. Aggregation and transformation
36
3 October 2015
More information
•
RDF and SOA:
http://dbooth.org/2007/rdf-and-soa/rdf-and-soa-paper.htm
•
RDF:
http://www.w3.org/TR/REC-rdf-syntax/
•
SPARQL:
http://jena.sourceforge.net/ARQ/Tutorial/
•
GRDDL:
http://www.w3.org/TR/grddl-primer/
37
3 October 2015
Outline
•
PART 0: The problem
•
PART 1: RDF: A lingua franca for information
exchange
•
PART 2: Key Techniques for RDF in SOA
38
3 October 2015
Questions?
© 2006 Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice
Descargar

Slide 1