View
1.382
Download
0
Category
Tags:
Preview:
DESCRIPTION
This talk was presented at the “Architekturen 2012” conference in Paderborn that took place on July 2-3, 2012.It is about the development of the IKS architecture and the lessons learned with respect to the architecture during the project.
Citation preview
Interactive Knowledge Stack
A Software Architecture for
Semantic
Content Management Systems
Fabian Christ
July 2, 2012
Interactive Knowledge Stack - IKS
• Started in January 2009 – ends in December 2012
• Funded in part by a €6.58m grant from the European Union
• Consortium of 7 research and 6 industrial partners
Fabian Christ : IKS - A Software Architecture for Semantic CMS 2
IKS Project Goals
• A software architecture for semantically enabled
content management systems.
• An open-source community to bring semantic technologies
to content management system platforms.
Fabian Christ : IKS - A Software Architecture for Semantic CMS 3
Presentation &
Interaction
Knowledge
Representation
and Reasoning
Semantic Lifting
Persistence
User Interface
Kn
ow
led
ge
Ad
min
istra
tion
Knowledge
Repository
Knowledge
Models
Reasoning
Semantic User Interaction
Content
Data Model
Content
Repository
Knowledge
SCMS -
Semantic Content Management System
Co
nte
nt A
dm
inis
tratio
n
Knowledge
Extraction Pipelines
Content
Content
Management
Semantic User Interface
Content Access Knowledge Access
Service Layer
RESTful Interface
Component Layer
Apache
Stanbol
Reasoners
Apache
Stanbol
Enhancer
Apache
Stanbol Rules
Apache
Stanbol
Ontology Manager
Apache
Stanbol
ContentHub
Apache
Stanbol
EntityHub
Apache
Stanbol
FactStoreStanbol
Enhancement
Engines Apache
Stanbol
CMS Adapter
IKS Features
• User Interface Library
& Widgets
• Content
Enhancement
• Entity
Management
• Ontology Management & Reasoning
• Indexing & Search
Fabian Christ : IKS - A Software Architecture for Semantic CMS 4
Lorem
Hans
dolor
Linked
Data
Cloud
5 Fabian Christ : IKS - A Software Architecture for Semantic CMS
Short Demo of IKS 7.0
Content Enhancement Demo
with Apache Stanbol
and a VIE-based user interface.
IKS Demo Server
http://dev.iks-project.eu
6 Fabian Christ : IKS - A Software Architecture for Semantic CMS
Influence Factors
on the IKS Software Architecture
Functionality
Technology
People
• Implement functional requirements
• Use state-of-the-art web technologies
• Support semantic web standards
• Support distributed development
where people can work independently
The design of the IKS software architecture
is influenced by three factors:
Functionality
7 Fabian Christ : IKS - A Software Architecture for Semantic CMS
What is Semantic CMS?
Traditional CMS Semantic CMS
Atomic Unit • Document • Entity
Meta Data as • Strings • Defined Entity
Types
• Linked Entities
Search for • Strings • Entities and their
relations
Manage • Documents and
their workflow
• Entities and their
domain model
Functionality
8
Top-Down Requirements
Requirements Analysis
Architecture
IKS
Alpha
To
p-D
ow
n
Fabian Christ : IKS - A Software Architecture for Semantic CMS
Functionality
9 Fabian Christ : IKS - A Software Architecture for Semantic CMS
Functional Layers from the
Description of Work
Presentation and
Interaction
Semantic Lifting
Knowledge
Representation
and Reasoning
Persistence
Functionality
10 Fabian Christ : IKS - A Software Architecture for Semantic CMS
Content Management
Functionality
User Interface
Content
Data Model
Content
Repository
Co
nte
nt A
dm
inis
tratio
n
Content
Content
Management
Content Access
Functionality
11 Fabian Christ : IKS - A Software Architecture for Semantic CMS
Knowledge Management
Functionality
Presentation &
Interaction
Knowledge
Representation
and Reasoning
Semantic Lifting
Persistence
Kn
ow
led
ge
Ad
min
istra
tion
Knowledge
Repository
Knowledge
Models
Reasoning
Semantic User Interaction
Knowledge
Knowledge
Extraction Pipelines
Knowledge Access
Functionality
12 Fabian Christ : IKS - A Software Architecture for Semantic CMS
Design
Presentation &
Interaction
Knowledge
Representation
and Reasoning
Semantic Lifting
Persistence
User InterfaceK
no
wle
dg
e A
dm
inis
tratio
n
Knowledge
Repository
Knowledge
Models
Reasoning
Semantic User Interaction
Content
Data Model
Content
Repository
Knowledge
IKS
Functional Building Blocks
Co
nte
nt A
dm
inis
tratio
n
Knowledge
Extraction Pipelines
Content
Content
Management
Semantic User Interface
Content Access Knowledge Access
Functionality
13 Fabian Christ : IKS - A Software Architecture for Semantic CMS
Influence Factors
on the IKS Software Architecture
Functionality
Technology
People
• Use state-of-the-art web technologies
• Support semantic web standards
• Support distributed development
where people can work independently
The design of the IKS software architecture
is influenced by three factors:
Technology
Functionality • Content enhancement, entity management,
ontology management, reasoning, …
14
Bottom-Up
Technology Development
INTERPRET
IKS
Alpha
FISE
Persistence
Store KReS
Bo
tto
m-U
p
Fabian Christ : IKS - A Software Architecture for Semantic CMS
Technology
Do Not Replace –
But Extend
• No need to replace existing systems for content management
• IKS components offer service oriented integration
Fabian Christ : IKS - A Software Architecture for Semantic CMS 15
Traditional
CMS
IKS
Technology
Stack
Extend by Using Semantic Services
Technology
Service Orientation
• The IKS offers RESTful web service interfaces
• Each feature is available via a simple HTTP request
Fabian Christ : IKS - A Software Architecture for Semantic CMS 16
IKS
Store
Reasoner
Ontology Manager
Entity ManagerEnhancer
Search
Open Linked Data
Technology
RESTful Interfaces
• “Representational State Transfer (REST) [is an] architectural
style for distributed hypermedia systems.”
Key Aspects
• Stateless services
• Resource oriented organization of data and services
Source: Roy Thomas Fielding, Architectural Styles and the Design of Network-based Software
Architectures, PhD Thesis, http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm, 2000
Technology
IKS/enhancer
Client
Resource
Stateless
Service Call
Fabian Christ : IKS - A Software Architecture for Semantic CMS 17
Representation
of Resources
• REST applied to HTTP
• Each resource has an URI
• By accessing the URI the resource can be retrieved in different
representations (formats)
GET /enhancer Host: localhost:8080 Accept: text/html
GET /enhancer Host: localhost:8080 Accept: application/json
Technology
HTML
JSON
Fabian Christ : IKS - A Software Architecture for Semantic CMS 18
RESTful Integration
• RESTful interfaces make integration easy
• Required technology for sending HTTP requests is available in
any traditional CMS
• Support for standards like the Resource Description Framework
(RDF), JSON for Linked Data (JSON-LD)
Fabian Christ : IKS - A Software Architecture for Semantic CMS 19
Traditional
CMS
IKS
Technology
Stack
HTTP
Request
HTTP Response as RDF,
JSON-LD
RE
ST
ful A
PI
Technology
20 Fabian Christ : IKS - A Software Architecture for Semantic CMS
Influence Factors
on the IKS Software Architecture
Functionality
Technology
People • Support distributed development
where people can work independently
The design of the IKS software architecture
is influenced by three factors:
Technology
People
• Content enhancement, entity management,
ontology management, reasoning, …
• RESTful HTTP interfaces
• Standards like RDF, JSON-LD, …
Development Team
• Distributed
– Germany, Turkey, Italy, Austria,
Swiss, France, (Finland)
• Different Interests
– Researchers want to follow their
own research topics
– Industrial partners want
working software
– No central lead
• Know how
– Java, JavaScript, Web technologies
– Semantic web standards
Fabian Christ : IKS - A Software Architecture for Semantic CMS 21
Map © 2009 Ezilon.com
People
OSGi for Flexibility
• IKS components are OSGi bundles
Fabian Christ : IKS - A Software Architecture for Semantic CMS 22
People
»bundle«
Enhancer
E
Export
Import
»bundle«
Enhancement
Engine
»bundle«
Entityhub
»bundle«
Contenthub
»bundle«
Ontology
Manager
R REST API
R R R
Team 1 Team 2
Team 3 Team 4 Team 5
23 Fabian Christ : IKS - A Software Architecture for Semantic CMS
Common Basis
»bundle«
Library A
»bundle«
Library B
»bundle«
Library C
E E E
»bundle«
Entityhub
»bundle«
Contenthub
»bundle«
Ontology
Manager
R R R
Dependency
Management
People
24 Fabian Christ : IKS - A Software Architecture for Semantic CMS
Different Release
Configurations People
»bundle«
Entityhub
»bundle«
Contenthub
»bundle«
Ontology
Manager
R R
R
IKS
Variant 1
»bundle«
Reasoner
R
»bundle«
Rules
R
»bundle«
Enhancer
R
IKS
Variant 2
25 Fabian Christ : IKS - A Software Architecture for Semantic CMS
Summary on Influence Factors
Functionality
Technology
People
• Content enhancement, entity management,
ontology management, reasoning, …
• RESTful HTTP interfaces
• Standards like RDF, JSON-LD, …
• OSGi bundles for distributed development
• OSGi bundlists for releases packaging
The IKS software architecture for
semantic content management systems supports
26 Fabian Christ : IKS - A Software Architecture for Semantic CMS
IKS Software Architecture
Bundle Layer
RESTful Service Layer
Apache
Stanbol
Reasoners
Apache
Stanbol
Enhancer
Apache
Stanbol Rules
Apache
Stanbol
Ontology Manager
Apache
Stanbol
ContentHub
Apache
Stanbol
EntityHub
Apache
Stanbol
FactStore
Stanbol
Enhancement
Engines
User Interface LayerVIE
VIE
Widgets
Apache
Stanbol
CMS Adapter
Library A Library B ...
Common
Bundles
Integration Patterns at Service Level
• Search based on enhanced content
1. Apache Stanbol Entityhub to specify entities of interest
2. Apache Stanbol Enhancer to retrieve metadata for entities
3. Apache Stanbol Contenthub storage service to store content
plus enhancements
4. Apache Stanbol Contenthub keyword search service to search
for previously stored content and enhancements
»bundle«
Entityhub
»bundle«
Contenthub
R R
»bundle«
Enhancer
R
Client
1. 2.
3. + 4.
Fabian Christ : IKS - A Software Architecture for Semantic CMS 27
28
Iterative Development
INTERPRET
IKS
Alpha
FISE
Persistence
Store KReS
IKS
8.0 Middle-
Out
Requirements Analysis
Architecture
To
p-D
ow
n
Bo
tto
m-U
p
IKS 3.0, 4.0, …, 7.0
Fabian Christ : IKS - A Software Architecture for Semantic CMS
Lessons Learned
Pros
• Each partner was able to
contribute his functionality
• No central lead
• Ship stable configurations
• Allow lab mode for
components
• Adopters select
functionality they like to
use
• Modularity big plus from
industrial perspective
• Impact
Fabian Christ : IKS - A Software Architecture for Semantic CMS 29
Cons
• Less integration at
component level
• No shared storage
• Sometimes duplicate
functionalities
• Collection of features
instead of a consistent
stack
s-lab – Software Quality Lab
Universität Paderborn
Zukunftsmeile 1
33102 Paderborn
Tel.: (05251) 60 5390 / 5391
http://s-lab.upb.de
info@s-lab.upb.de
Thank you
for your attention.
Follow me @fctwitt
30 Fabian Christ : IKS - A Software Architecture for Semantic CMS
Recommended