Interactive Knowledge Stack - A Software Architecture for Semantic Content Management Systems

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