Upload
zubin67
View
632
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
© 2006 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice
RDF and SOADavid Booth, Ph.D. <[email protected]>
HP SoftwareSOA Symposium, Amsterdam, 8-Oct-2008
[Presented by Andrew Weaver, HP Software]
Latest version of these slides:http://dbooth.org/2008/soas/slides.ppt
2 April 10, 2023
Outline• PART 0: The problem• PART 1: RDF: A lingua franca for information
exchange• PART 2: Key Techniques for RDF in SOA
3 April 10, 2023
PART 0
The problem
4 April 10, 2023
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)
5 April 10, 2023
Problem 2: Integration complexity• Multiple producers/consumers need to
share data• Tight coupling hampers independent
versioningProvisioningDiscovery
ChangeManagement
Compliance Management IncidentManagement
ReleaseManagement
Monitoring
Ticketing
Release Managers
Unix SystemAdministrators
Networking Engineers
NetworkingAdministrators
ComplianceManagers
Windows SystemAdministrators
Operation Centers
StorageAdministrators
Source Control
6 April 10, 2023
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
Client v3
Client v2
Client v1
Service v3
Service v2
Service v1
7 April 10, 2023
What to do?
8 April 10, 2023
PART 1
RDF: A lingua franca for information
exchangein SOA
9 April 10, 2023
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
10 April 10, 2023
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"
11 April 10, 2023
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
12 April 10, 2023
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.
13 April 10, 2023
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
14 April 10, 2023
Why?2. Easier data integration• Blue App has model
15 April 10, 2023
Why?2. Easier data integration• Red App has model
• Need to integrate Red & Blue models
16 April 10, 2023
Why?2. Easier data integration• Step 1: Merge RDF• Same nodes (URIs) join automatically
17 April 10, 2023
Why?2. Easier data integration• Step 2: Add relationships and rules• (Relationships are also RDF)
18 April 10, 2023
Why?2. Easier data integration
• Step 3: Define Green model• (Making use of Red
& Blue models)
19 April 10, 2023
Why?2. Easier data integration• What the Blue app sees:
−No difference!
20 April 10, 2023
Why?2. Easier data integration• What the Red app sees• No difference!
21 April 10, 2023
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
RDFModelTransform
A1
A2
A3
B1
B2
C1
C2
X
Y
Z Ontologies& RulesOntologies& RulesOntologies& Rules
22 April 10, 2023
Why?4. Looser coupling• Without breaking consumers:
−Ontologies can be mixed and extended
−Information can be added
• Producer & consumer can be versioned more independently
23 April 10, 2023
Example of looser coupling• RedCust and GreenCust ontologies added• Blue app is not affected
(Blue app)
Consumer Producer
24 April 10, 2023
PART 2
Key Techniques for RDF in SOA
25 April 10, 2023
1. RDF message semantics• Interface contract can specify RDF,
regardless of serialization• RDF pins the semantics
Client ServiceRDF
26 April 10, 2023
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?
27 April 10, 2023
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 . . .
28 April 10, 2023
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
29 April 10, 2023
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
• Helps bridge XML and RDF worlds
30 April 10, 2023
Bridging XML and 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
Normalizeto RDF
Serialize asXML/other/RDF
Service
Core AppProcessingClient
XML/other
31 April 10, 2023
3. REST-based SPARQL endpoints
Consumer Producer
SPA
RQ
LRDFHTTP
32 April 10, 2023
REST-based SPARQL endpoints• Why REST:
−HTTP is ubiquitous
−Simpler than SOAP-based Web services (WS*)
−Looser process coupling
33 April 10, 2023
REST-based SPARQL endpoints • What is SPARQL:
−W3C standard
−Query language for RDF
−Modeled after SQL:
SELECT ...
WHERE ...
34 April 10, 2023
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
35 April 10, 2023
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
Aggregation &Transformation
A1
A2
A3
B1
B2
C1
C2
X
Y
Z Ontologies& RulesOntologies& RulesOntologies& Rules
SPA
RQ
L
36 April 10, 2023
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
37 April 10, 2023
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/
38 April 10, 2023
Outline• PART 0: The problem• PART 1: RDF: A lingua franca for information
exchange• PART 2: Key Techniques for RDF in SOA
© 2006 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice
Questions?