The Data Web and PLM
Transforming PLM through Web Standards and Technologies
PDT Europe 2017
19 October 2017
Brian King - Koneksys
About Me
● 20 years experience in industry
● Software development background, consultancy for 8 years
○ Tomtom, Facebook, Microsoft, Zemanta, ….
● Mozilla - 5 yrs Community Manager
NOW...
● Koneksys - Business Development
● OSLC Community Manager
2
Data Integration
3
Relationships between Engineering Data
Reality: Many Relationships between Engineering Data
Data Integration for Basic Queries
Data Integration for Traceability/Impact Analysis
Data Integration for decision-making
Good overview = Better decisions
Big projects fail because systems
are becoming too complex, and
this is becoming more common in
large engineering organisations
as they handle more and more
data.
Benefits of Connecting Data Silos
Recap:
● Integrated dataset
● Traceability
● Transparency
● Collaboration
● Better decisions
● Knowledge sharing
9
*
* Icon by madebyoliver from www.flaticon.com are licensed by CC 3.0 BY
*
*
*
Why is Data Integration Complicated?
Different APIs
Different Data Formats Different Data IDs
Java, REST, query languages
XML, JSON, CSV, binary
10
Different Data Models
Relational, Graph, Document
Why is Data Integration Expensive?
Your Data Your Data Integration
Solution Vendor
Proprietary APIs
and Data Formats
11
$ $
Current Data Integration Solutions in Engineering
Proprietary data integration solutions
end up being new data silos
12
Product Lifecycle
Management
(PLM)/ Mechanical
Engineering
Application
Lifecycle
Management
(ALM)/ Software
Engineering
Business
Intelligence/
Analytics
Enterprise
Resource Planning
(ERP)/
Manufacturing etc.
Where is the
integration?
The Web
13
Why Choose the Web for Data Integration?
● No license costs
● No vendor lock-in
● Mature and widely adopted
infrastructure
● Abundance of Web
specialists/developers
○ https://insights.stackoverflow.com/sur
vey/2017 - 73% respondents
● Original vision of Tim Berners Lee,
inventor of the Web
○ Latest - Open Data Institute
14
Hypertext + Internet = Web
15
Hypertext System 1 Hypertext System 2
Problem: No Compatibility between
hypertext systems + different protocols to
access and connect documents on the
internet (Gopher, WAIS, etc...)
BEFORE THE WEB
One global hypertext system = Web
One protocol to access and connect documents
WITH THE WEB
Private/public
Web
Web Server
Web Server
Requirement
id = 112
text = “Only authorized users shall access the
system”
<!DOCTYPE html>
<html>
<head>
<title>Requirement 112</title>
</head>
<body>
<p>type = Requirement</p>
<p>id = 112</p>
<p>text = “Only authorized users shall
access the system”</p>
</body>
</html>
http://example.com/req112
HTTP
URL
HTML
Doc
16
HTTP
URL
RDF
Data
Private/public
Web
Data Web Server
Data Web Server!
Requirement
id = 112
text = “Only authorized users shall
access the system”
Only Change
between
regular Web
and Data Web
17
Requirement
id = 112
text = “Only authorized users shall access the
system”
{
"@context": {
"text": "http://myvocab.com/text",
"id": "http://myvocab.com/id",
"Requirement": "http://myvocab.com/Req"
},
"@id": "http://example.com/req112",
"@type": "Requirement",
"id": "112",
"text": "Only authorized users shall access
the system"
}
http://example.com/req112
Linked Data = Next Web = Web of Data = Data Web
Examples
● Engineering: IBM - Jazz applications integrated through OSLC
● Open Initiative: Open Services for Lifecycle Collaboration (OSLC)
● Public knowledge graph: DBpedia
● Improving search results: Schema.org
● Media: BBC Things API
+ more...
18
Schema.org: Example of Data Web
Example: Google reuses rating of
IMDB to display in search results
<div class="imdbRating"
itemtype="http://schema.org/AggregateRating"
itemprop="aggregateRating">
<div class="ratingValue">
<span itemprop="ratingValue">8.0</span>
</div>
http://www.imdb.com/title/tt0325980/?ref_=nv_sr_2
Rating in HTML of IMDB page
re-appears in HTML of Google search
result
19
Data Web Server Examples
20
Open-source examples at Eclipse Lyo
Open-source examples at Linked Data for
Model-Based Systems Engineering (ld4mbse)
Developed by Koneksys
Magic-
Draw
Simulink
AMESim
PTC
Integrity
FMI
https://commons.wikimedia.org/wiki/File:Bugzilla.jpg
Requirement
id = 112
derived_from= “Requirement 113”
"@context": {
"Req113": "http://example.com/Req113"
}
...
"id": "112"
"@derived_from": "Req113"
http://example.com/req112URL
RDF
Data
Reference to
related data
Requirement
id = 113
...
"@type": "Requirement",
"id": "113"
...
http://example.com/req113
HTTP
Navigable
to related data
Link
21
Data Web Integration Example
Data Repository 1
OSLC Adapter 1
Private/
public
Data
Web
Distributed
Data Silos
OSLC Adapter 2 OSLC Adapter 3
HTTP
Data Web
Applications
Search Visualize CRUD Analytics Link Creator
Link
HTTP HTTP
Link
RDF
RDF RDF
Data Repository 2 Data Repository 3
23
Private/public
Data Web
Distributed
Data Silos
Data Web
Application
Example
Link
Editor
Data
Repository 1
Data
Repository 2
Data
Repository 3
RDF Link Link RDF
Private/public
Data Web
Distributed
Data Silos
Data Web
Application
Example
Google-like
Search
24
Data
Repository 1
Data
Repository 2
Data
Repository 3
RDF Link Link RDF
Private/public
Data Web
Distributed
Data Silos
Data
Repository 1
Data
Repository 2
Data
Repository 3
RDF Link Link RDF
Data Web
Application
Example
Tree
(BOM-like)
Viewers
25
Private/public
Data Web
Distributed
Data Silos
Data
Repository 1
Data
Repository 2
Data
Repository 3
RDF Link Link RDF
Data Web
Application
Example
Graph
(Context-like)
Viewers
26
New Data Management Application Architecture
Traditional
App Logic
Integrated Dataset
Specific API
Data
Multiple Data
Sources
HTTP
New
27
Specific API
App Logic
Open Services for Lifecycle Collaboration
(OSLC)
28
Open Services for Lifecycle Collaboration (OSLC)
● Standard for Linked Data
RESTful APIs
● Domain-specific standards
for data interoperability
● Adopted so far mainly for
Application Lifecycle
Management (ALM),
systems and requirements
engineering
● Open Community
29
Data
OSLC Adapter (Data
Web Server)
REST API (HTTP)
Linked Data (RDF)
Different Data Formats
XML, JSON, CSV, binary
Different Data Models
Relational, Graph, Document
Different Data IDs
integer, path, guid
Different APIs
Java, REST, query languages
Standardized
Web API
OSLC Core Specification
Mainly to support
● discovery (Hypermedia REST API)
● delegated dialogs for improved UI
● Response Information (such as for resource paging, or for errors)
● Selective Property Values
● Reuse of existing domain-specific specifications (e.g. Dublin Core)
OSLC v2 spec: http://open-services.net/bin/view/Main/OslcCoreSpecification
v3 in draft, awaiting implementations.
30
OSLC Community
We are remaking the OSLC website!
31
Specifications for Web-based Data
Interoperability
32
Data Web Interoperability Example
33
PLM
System
Data Web Server
Data Web Client
RDF
ALM
System
HTTP
GET
HTTP
POST
Reading Data Writing Data
Web-based
Export/Import
Scenario between
data stores
…
"@id":
"http://example.com/req112",
"@type": "Requirement",
"id": "112",
...
Data Web Server
OSLC Domain-Specific Specifications
34
http://open-services.net/specifications/
Data Web Interoperability Example
35
Bidirectional model
transformation between SysML
and Simulink
Open-source implementation at
ld4mbse
Developed by Koneksys
Converting Existing Schemas Into RDF
36
Traditional Schema
Schema
XML Document
Schema describes the structure of an XML
document
The purpose of an XML Schema is to define the
legal building blocks of an XML document:
● the elements and attributes that can appear in
a document
● the number of (and order of) child elements
● data types for elements and attributes
● default and fixed values for elements and
attributes
37
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="requirement">
<xs:complexType>
<xs:sequence>
<xs:element name="identifier" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<requirement>
<identifier>123</identifier>
<description>X shall Y</description>
</requirement>
Converting Schema into RDF
Schema RDF Schema
38
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="requirement">
<xs:complexType>
<xs:sequence>
<xs:element name="identifier" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
?
Converting Schema types into RDF
Schema element type RDF Resource Type
39
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="requirement">
<xs:complexType>
<xs:sequence>
<xs:element name="identifier" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<rdfs:Class
rdf:about="http://open-services.net/ns
/rm#Requirement">
<rdfs:label
xml:lang="en-GB">Requirement</rdf
s:label>
</rdfs:Class>
Converting Schema properties into RDF
Schema element property (e.g. of type String) RDF Resource property
40
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="requirement">
<xs:complexType>
<xs:sequence>
<xs:element name="identifier"
type="xs:string"/>
<xs:element name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<rdf:Description
rdf:about="http://purl.org/dc/terms/ide
ntifier">
<rdfs:label
xml:lang="en">Identifier</rdfs:label>
</rdf:Description>
Converting Schema property multiplicities into RDF
Schema element property multiplicity (e.g.
identifier must occur once and only, default
value in XSD for minOccurs and maxOccurs is 1
)
RDF Resource property
41
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="requirement">
<xs:complexType>
<xs:sequence>
<xs:element name="identifier"
type="xs:string"/>
<xs:element name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<oslc:Property>
<oslc:propertyDefinition
rdf:resource="http://purl.org/dc/terms/
identifier"/>
<oslc:occurs
rdf:resource="http://open-service.net/
ns/core#Exactly-one"/>
</oslc:Property>
Converting existing schemas into RDF - Example
SysML metamodel as RDF vocabulary
42
http://www.omg.org/techpr
ocess/experimental-rdf/Sys
ML/1.3/
More details at
http://www.omgwiki.org/O
MGSysML/lib/exe/fetch.ph
p?media=sysml-oslc:mappin
g_sysml_to_rdf_vocabulary_-
_april_28_2014.pdf
„Universal“ specs vs Web specs
„Universal“ Standards Web Standards
Example SysML/STEP OSLC Specifications
Scope Large
(Example SysML: approx.
300 concepts)
Minimalistic
(Example OSLC RM Spec: 2
concepts)
Effort until release High Small
Time until release Long Short
Ease of implementation Difficult Easy
Ease of adoption Difficult Easy
43
Koneksys
44
Creating solutions to connect data silos using
the Web for improved traceability,
transparency, collaboration, and analytics
Providing consulting and research services
Creating open-source software
Promoting the Data Web
Koneksys
45
Clients Located in San Francisco. In
business since 2012. More at
koneksys.com
Koneksys
46
Summary
Data Web = Web-based data integration
● Distributed
● Based on open-standards
● Using standardized REST APIs (e.g. OSLC)
● Using RDF for limitless links between data having URLs as global identifiers
● Data Management Applications with Web as data source
47
Thanks and get in touch!
@brianking

The Data Web and PLM

  • 1.
    The Data Weband PLM Transforming PLM through Web Standards and Technologies PDT Europe 2017 19 October 2017 Brian King - Koneksys
  • 2.
    About Me ● 20years experience in industry ● Software development background, consultancy for 8 years ○ Tomtom, Facebook, Microsoft, Zemanta, …. ● Mozilla - 5 yrs Community Manager NOW... ● Koneksys - Business Development ● OSLC Community Manager 2
  • 3.
  • 4.
  • 5.
    Reality: Many Relationshipsbetween Engineering Data
  • 6.
    Data Integration forBasic Queries
  • 7.
    Data Integration forTraceability/Impact Analysis
  • 8.
    Data Integration fordecision-making Good overview = Better decisions Big projects fail because systems are becoming too complex, and this is becoming more common in large engineering organisations as they handle more and more data.
  • 9.
    Benefits of ConnectingData Silos Recap: ● Integrated dataset ● Traceability ● Transparency ● Collaboration ● Better decisions ● Knowledge sharing 9 * * Icon by madebyoliver from www.flaticon.com are licensed by CC 3.0 BY * * *
  • 10.
    Why is DataIntegration Complicated? Different APIs Different Data Formats Different Data IDs Java, REST, query languages XML, JSON, CSV, binary 10 Different Data Models Relational, Graph, Document
  • 11.
    Why is DataIntegration Expensive? Your Data Your Data Integration Solution Vendor Proprietary APIs and Data Formats 11 $ $
  • 12.
    Current Data IntegrationSolutions in Engineering Proprietary data integration solutions end up being new data silos 12 Product Lifecycle Management (PLM)/ Mechanical Engineering Application Lifecycle Management (ALM)/ Software Engineering Business Intelligence/ Analytics Enterprise Resource Planning (ERP)/ Manufacturing etc. Where is the integration?
  • 13.
  • 14.
    Why Choose theWeb for Data Integration? ● No license costs ● No vendor lock-in ● Mature and widely adopted infrastructure ● Abundance of Web specialists/developers ○ https://insights.stackoverflow.com/sur vey/2017 - 73% respondents ● Original vision of Tim Berners Lee, inventor of the Web ○ Latest - Open Data Institute 14
  • 15.
    Hypertext + Internet= Web 15 Hypertext System 1 Hypertext System 2 Problem: No Compatibility between hypertext systems + different protocols to access and connect documents on the internet (Gopher, WAIS, etc...) BEFORE THE WEB One global hypertext system = Web One protocol to access and connect documents WITH THE WEB
  • 16.
    Private/public Web Web Server Web Server Requirement id= 112 text = “Only authorized users shall access the system” <!DOCTYPE html> <html> <head> <title>Requirement 112</title> </head> <body> <p>type = Requirement</p> <p>id = 112</p> <p>text = “Only authorized users shall access the system”</p> </body> </html> http://example.com/req112 HTTP URL HTML Doc 16
  • 17.
    HTTP URL RDF Data Private/public Web Data Web Server DataWeb Server! Requirement id = 112 text = “Only authorized users shall access the system” Only Change between regular Web and Data Web 17 Requirement id = 112 text = “Only authorized users shall access the system” { "@context": { "text": "http://myvocab.com/text", "id": "http://myvocab.com/id", "Requirement": "http://myvocab.com/Req" }, "@id": "http://example.com/req112", "@type": "Requirement", "id": "112", "text": "Only authorized users shall access the system" } http://example.com/req112
  • 18.
    Linked Data =Next Web = Web of Data = Data Web Examples ● Engineering: IBM - Jazz applications integrated through OSLC ● Open Initiative: Open Services for Lifecycle Collaboration (OSLC) ● Public knowledge graph: DBpedia ● Improving search results: Schema.org ● Media: BBC Things API + more... 18
  • 19.
    Schema.org: Example ofData Web Example: Google reuses rating of IMDB to display in search results <div class="imdbRating" itemtype="http://schema.org/AggregateRating" itemprop="aggregateRating"> <div class="ratingValue"> <span itemprop="ratingValue">8.0</span> </div> http://www.imdb.com/title/tt0325980/?ref_=nv_sr_2 Rating in HTML of IMDB page re-appears in HTML of Google search result 19
  • 20.
    Data Web ServerExamples 20 Open-source examples at Eclipse Lyo Open-source examples at Linked Data for Model-Based Systems Engineering (ld4mbse) Developed by Koneksys Magic- Draw Simulink AMESim PTC Integrity FMI https://commons.wikimedia.org/wiki/File:Bugzilla.jpg
  • 21.
    Requirement id = 112 derived_from=“Requirement 113” "@context": { "Req113": "http://example.com/Req113" } ... "id": "112" "@derived_from": "Req113" http://example.com/req112URL RDF Data Reference to related data Requirement id = 113 ... "@type": "Requirement", "id": "113" ... http://example.com/req113 HTTP Navigable to related data Link 21 Data Web Integration Example
  • 22.
    Data Repository 1 OSLCAdapter 1 Private/ public Data Web Distributed Data Silos OSLC Adapter 2 OSLC Adapter 3 HTTP Data Web Applications Search Visualize CRUD Analytics Link Creator Link HTTP HTTP Link RDF RDF RDF Data Repository 2 Data Repository 3
  • 23.
    23 Private/public Data Web Distributed Data Silos DataWeb Application Example Link Editor Data Repository 1 Data Repository 2 Data Repository 3 RDF Link Link RDF
  • 24.
    Private/public Data Web Distributed Data Silos DataWeb Application Example Google-like Search 24 Data Repository 1 Data Repository 2 Data Repository 3 RDF Link Link RDF
  • 25.
    Private/public Data Web Distributed Data Silos Data Repository1 Data Repository 2 Data Repository 3 RDF Link Link RDF Data Web Application Example Tree (BOM-like) Viewers 25
  • 26.
    Private/public Data Web Distributed Data Silos Data Repository1 Data Repository 2 Data Repository 3 RDF Link Link RDF Data Web Application Example Graph (Context-like) Viewers 26
  • 27.
    New Data ManagementApplication Architecture Traditional App Logic Integrated Dataset Specific API Data Multiple Data Sources HTTP New 27 Specific API App Logic
  • 28.
    Open Services forLifecycle Collaboration (OSLC) 28
  • 29.
    Open Services forLifecycle Collaboration (OSLC) ● Standard for Linked Data RESTful APIs ● Domain-specific standards for data interoperability ● Adopted so far mainly for Application Lifecycle Management (ALM), systems and requirements engineering ● Open Community 29 Data OSLC Adapter (Data Web Server) REST API (HTTP) Linked Data (RDF) Different Data Formats XML, JSON, CSV, binary Different Data Models Relational, Graph, Document Different Data IDs integer, path, guid Different APIs Java, REST, query languages Standardized Web API
  • 30.
    OSLC Core Specification Mainlyto support ● discovery (Hypermedia REST API) ● delegated dialogs for improved UI ● Response Information (such as for resource paging, or for errors) ● Selective Property Values ● Reuse of existing domain-specific specifications (e.g. Dublin Core) OSLC v2 spec: http://open-services.net/bin/view/Main/OslcCoreSpecification v3 in draft, awaiting implementations. 30
  • 31.
    OSLC Community We areremaking the OSLC website! 31
  • 32.
    Specifications for Web-basedData Interoperability 32
  • 33.
    Data Web InteroperabilityExample 33 PLM System Data Web Server Data Web Client RDF ALM System HTTP GET HTTP POST Reading Data Writing Data Web-based Export/Import Scenario between data stores … "@id": "http://example.com/req112", "@type": "Requirement", "id": "112", ... Data Web Server
  • 34.
  • 35.
    Data Web InteroperabilityExample 35 Bidirectional model transformation between SysML and Simulink Open-source implementation at ld4mbse Developed by Koneksys
  • 36.
  • 37.
    Traditional Schema Schema XML Document Schemadescribes the structure of an XML document The purpose of an XML Schema is to define the legal building blocks of an XML document: ● the elements and attributes that can appear in a document ● the number of (and order of) child elements ● data types for elements and attributes ● default and fixed values for elements and attributes 37 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="requirement"> <xs:complexType> <xs:sequence> <xs:element name="identifier" type="xs:string"/> <xs:element name="description" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> <requirement> <identifier>123</identifier> <description>X shall Y</description> </requirement>
  • 38.
    Converting Schema intoRDF Schema RDF Schema 38 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="requirement"> <xs:complexType> <xs:sequence> <xs:element name="identifier" type="xs:string"/> <xs:element name="description" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> ?
  • 39.
    Converting Schema typesinto RDF Schema element type RDF Resource Type 39 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="requirement"> <xs:complexType> <xs:sequence> <xs:element name="identifier" type="xs:string"/> <xs:element name="description" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> <rdfs:Class rdf:about="http://open-services.net/ns /rm#Requirement"> <rdfs:label xml:lang="en-GB">Requirement</rdf s:label> </rdfs:Class>
  • 40.
    Converting Schema propertiesinto RDF Schema element property (e.g. of type String) RDF Resource property 40 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="requirement"> <xs:complexType> <xs:sequence> <xs:element name="identifier" type="xs:string"/> <xs:element name="description" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> <rdf:Description rdf:about="http://purl.org/dc/terms/ide ntifier"> <rdfs:label xml:lang="en">Identifier</rdfs:label> </rdf:Description>
  • 41.
    Converting Schema propertymultiplicities into RDF Schema element property multiplicity (e.g. identifier must occur once and only, default value in XSD for minOccurs and maxOccurs is 1 ) RDF Resource property 41 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="requirement"> <xs:complexType> <xs:sequence> <xs:element name="identifier" type="xs:string"/> <xs:element name="description" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> <oslc:Property> <oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/ identifier"/> <oslc:occurs rdf:resource="http://open-service.net/ ns/core#Exactly-one"/> </oslc:Property>
  • 42.
    Converting existing schemasinto RDF - Example SysML metamodel as RDF vocabulary 42 http://www.omg.org/techpr ocess/experimental-rdf/Sys ML/1.3/ More details at http://www.omgwiki.org/O MGSysML/lib/exe/fetch.ph p?media=sysml-oslc:mappin g_sysml_to_rdf_vocabulary_- _april_28_2014.pdf
  • 43.
    „Universal“ specs vsWeb specs „Universal“ Standards Web Standards Example SysML/STEP OSLC Specifications Scope Large (Example SysML: approx. 300 concepts) Minimalistic (Example OSLC RM Spec: 2 concepts) Effort until release High Small Time until release Long Short Ease of implementation Difficult Easy Ease of adoption Difficult Easy 43
  • 44.
  • 45.
    Creating solutions toconnect data silos using the Web for improved traceability, transparency, collaboration, and analytics Providing consulting and research services Creating open-source software Promoting the Data Web Koneksys 45
  • 46.
    Clients Located inSan Francisco. In business since 2012. More at koneksys.com Koneksys 46
  • 47.
    Summary Data Web =Web-based data integration ● Distributed ● Based on open-standards ● Using standardized REST APIs (e.g. OSLC) ● Using RDF for limitless links between data having URLs as global identifiers ● Data Management Applications with Web as data source 47
  • 48.
    Thanks and getin touch! @brianking