390 likes | 394 Vues
RDF and SOA. David Booth, Ph.D. <dbooth@hp.com> 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. Outline. PART 0: The problem
E N D
RDF and SOA David Booth, Ph.D. <dbooth@hp.com> 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
Outline • PART 0: The problem • PART 1: RDF: A lingua franca for information exchange • PART 2: Key Techniques for RDF in SOA
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)
Discovery IncidentManagement Provisioning ChangeManagement ReleaseManagement Compliance Management Release Managers Operation Centers Monitoring Ticketing ComplianceManagers Source Control Networking Engineers StorageAdministrators Unix SystemAdministrators Windows SystemAdministrators NetworkingAdministrators Problem 2: Integration complexity • Multiple producers/consumers need to share data • Tight coupling hampers independent versioning
Client v3 Client v2 Client v1 Service v3 Service v2 Service v1 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
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
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"
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
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.
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
Why?2. Easier data integration • Blue App has model
Why?2. Easier data integration • Red App has model • Need to integrate Red & Blue models
Why?2. Easier data integration • Step 1: Merge RDF • Same nodes (URIs) join automatically
Why?2. Easier data integration • Step 2: Add relationships and rules • (Relationships are also RDF)
Why?2. Easier data integration • Step 3: Define Green model • (Making use of Red& Blue models)
Why?2. Easier data integration • What the Blue app sees: • No difference!
Why?2. Easier data integration • What the Red app sees • No difference!
Y A1 X A2 A3 RDFModelTransform B1 B2 C1 C2 Ontologies& Rules Ontologies& Rules Ontologies& Rules Z 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
Why?4. Looser coupling • Without breaking consumers: • Ontologies can be mixed and extended • Information can be added • Producer & consumer can be versioned more independently
Example of looser coupling • RedCust and GreenCust ontologies added • Blue app is not affected (Blue app) Consumer Producer
1. RDF message semantics • Interface contract can specify RDF, regardless of serialization • RDF pins the semantics RDF Client 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?
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 . . .
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
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
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 Bridging XML and RDF Service Normalizeto RDF XML/other Core AppProcessing Client Serialize asXML/other/RDF
3. REST-based SPARQL endpoints HTTP RDF Consumer Producer SPARQL
REST-based SPARQL endpoints • Why REST: • HTTP is ubiquitous • Simpler than SOAP-based Web services (WS*) • Looser process coupling
REST-based SPARQL endpoints • What is SPARQL: • W3C standard • Query language for RDF • Modeled after SQL: SELECT ... WHERE ...
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
Y Ontologies& Rules Ontologies& Rules Ontologies& Rules 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 A3 Aggregation &Transformation B1 SPARQL B2 C1 C2 Z
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
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/
Outline • PART 0: The problem • PART 1: RDF: A lingua franca for information exchange • PART 2: Key Techniques for RDF in SOA