interactive knowledge stack - a software architecture for semantic content management systems

30
Interactive Knowledge Stack A Software Architecture for Semantic Content Management Systems Fabian Christ July 2, 2012

Upload: fabian-christ

Post on 24-May-2015

1.381 views

Category:

Technology


0 download

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.

TRANSCRIPT

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

Interactive Knowledge Stack

A Software Architecture for

Semantic

Content Management Systems

Fabian Christ

July 2, 2012

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

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

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

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

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

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

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

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

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

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

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

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

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

8

Top-Down Requirements

Requirements Analysis

Architecture

IKS

Alpha

To

p-D

ow

n

Fabian Christ : IKS - A Software Architecture for Semantic CMS

Functionality

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

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

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

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

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

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

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

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

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

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, …

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

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

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

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

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

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

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

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

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

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

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

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

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

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, …

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

s-lab – Software Quality Lab

Universität Paderborn

Zukunftsmeile 1

33102 Paderborn

Tel.: (05251) 60 5390 / 5391

http://s-lab.upb.de

[email protected]

Thank you

for your attention.

Follow me @fctwitt

30 Fabian Christ : IKS - A Software Architecture for Semantic CMS