39
© 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice 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

RDF and SOA

  • Upload
    zubin67

  • View
    632

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: RDF and SOA

© 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

Page 2: RDF and SOA

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

Page 3: RDF and SOA

3 April 10, 2023

PART 0

The problem

Page 4: RDF and SOA

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)

Page 5: RDF and SOA

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

Page 6: RDF and SOA

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

Page 7: RDF and SOA

7 April 10, 2023

What to do?

Page 8: RDF and SOA

8 April 10, 2023

PART 1

RDF: A lingua franca for information

exchangein SOA

Page 9: RDF and 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

Page 10: RDF and SOA

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"

Page 11: RDF and SOA

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

Page 12: RDF and SOA

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.

Page 13: RDF and SOA

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

Page 14: RDF and SOA

14 April 10, 2023

Why?2. Easier data integration• Blue App has model

Page 15: RDF and SOA

15 April 10, 2023

Why?2. Easier data integration• Red App has model

• Need to integrate Red & Blue models

Page 16: RDF and SOA

16 April 10, 2023

Why?2. Easier data integration• Step 1: Merge RDF• Same nodes (URIs) join automatically

Page 17: RDF and SOA

17 April 10, 2023

Why?2. Easier data integration• Step 2: Add relationships and rules• (Relationships are also RDF)

Page 18: RDF and SOA

18 April 10, 2023

Why?2. Easier data integration

• Step 3: Define Green model• (Making use of Red

& Blue models)

Page 19: RDF and SOA

19 April 10, 2023

Why?2. Easier data integration• What the Blue app sees:

−No difference!

Page 20: RDF and SOA

20 April 10, 2023

Why?2. Easier data integration• What the Red app sees• No difference!

Page 21: RDF and SOA

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

Page 22: RDF and SOA

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

Page 23: RDF and SOA

23 April 10, 2023

Example of looser coupling• RedCust and GreenCust ontologies added• Blue app is not affected

(Blue app)

Consumer Producer

Page 24: RDF and SOA

24 April 10, 2023

PART 2

Key Techniques for RDF in SOA

Page 25: RDF and SOA

25 April 10, 2023

1. RDF message semantics• Interface contract can specify RDF,

regardless of serialization• RDF pins the semantics

Client ServiceRDF

Page 26: RDF and SOA

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?

Page 27: RDF and SOA

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 . . .

Page 28: RDF and SOA

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

Page 29: RDF and SOA

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

Page 30: RDF and SOA

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

Page 31: RDF and SOA

31 April 10, 2023

3. REST-based SPARQL endpoints

Consumer Producer

SPA

RQ

LRDFHTTP

Page 32: RDF and SOA

32 April 10, 2023

REST-based SPARQL endpoints• Why REST:

−HTTP is ubiquitous

−Simpler than SOAP-based Web services (WS*)

−Looser process coupling

Page 33: RDF and SOA

33 April 10, 2023

REST-based SPARQL endpoints • What is SPARQL:

−W3C standard

−Query language for RDF

−Modeled after SQL:

SELECT ...

WHERE ...

Page 34: RDF and SOA

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

Page 35: RDF and SOA

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

Page 36: RDF and SOA

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

Page 37: RDF and SOA

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/

Page 38: RDF and SOA

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

Page 39: RDF and SOA

© 2006 Hewlett-Packard Development Company, L.P.The information contained herein is subject to change without notice

Questions?