# SMILA

SMILA – Unified Information Access Architecture (SMILA stand ursprünglich für SeMantic Information Logistics Architecture) ist ein Open-Source-Framework, zur Entwicklung von Such- und Informationsmanagementlösungen. Das Projekt wird in Zusammenarbeit von vier Unternehmen und dem Deutschen Forschungszentrum für Künstliche Intelligenz durchgeführt. SMILA legt dabei besonderen Wert auf die performante Anreicherung von Metadaten zu unstrukturierten Daten (Dokumente, E-Mails, Blogs etc.). Dabei ist SMILA in der Lage, große Informationsmengen innerhalb von Computerclustern zu bearbeiten.
SMILA ist im Rahmen eines Eclipse-Projektes der internationalen Eclipse Foundation als erweiterbares Framework konzipiert und dient als Basis für kommerzielle Anwendungen, was durch die Veröffentlichung der Quellen unter der Eclipse Public License unterstützt wird.

## Geschichte

Im August 2007 gründeten die beiden Unternehmen Brox IT-Solutions GmbH und Empolis GmbH in Berlin das Projekt SMILA, das damals noch den Namen EILF (Enterprise Information Logistics Framework) trug. Innerhalb des Workshops wurde das Konzept für eine gemeinschaftliche Softwareentwicklung ausgearbeitet, das auf den Erfahrungen der beiden Gründungsmitglieder mit ihren bisherigen Frameworks beruhte. Zielsetzung war ein komplett neues, auf Standards basierendes Enterprise Framework für die Recherche, Aufbereitung und Zusammenführung von geschäftsrelevanten Daten zu entwickeln und unter der Eclipse Public License (EPL) als Open-Source-Plattform gebündelt zur Verfügung zu stellen.
Der Eclipse-Prozess erfordert einen offiziellen Projektantrag, der im Januar 2008 erfolgte. Das Projekt wurde daraufhin bei der Eclipse Con 2008 in Santa Clara vorgestellt. Während der Konferenz erwies sich der Projektname EILF als unvorteilhaft für den englischen Sprachraum. Aufgrund eines Vorschlages der Universität Hildesheim wurde das Projekt in „SeMantic Information Logistics Architecture“ (SMILA) umbenannt und dies innerhalb des sogenannten „Creation Review“ am 26. Juni 2008 bekannt gegeben. Im Juli 2008 passierte SMILA den Creation Review erfolgreich und wurde unterhalb des Projektbereiches Runtime (RT) erstellt.
Das DFKI unterstützt die Bestrebungen des SMILA Projektes und kündigte innerhalb des Creation Reviews den Beitritt zur Eclipse Foundation an. Am 29. Januar 2009 traten mit den Firmen Attensity und Living-e zwei weitere Firmen der SMILA Initiative bei.

## Architektur

SMILA verwendet als zugrunde liegendes Komponentenmodell OSGi. Die Wahl dieses Komponentenmodells ermöglicht den modularen Aufbau des SMILA Framework. Durch die geschickte Gestaltung unterschiedlichster Distributionen können verschiedene Business Cases innerhalb von Großunternehmen abgebildet werden. Ein Beispiel für solche Distributionen ist die Verfügbarkeit diverser Versionen der Eclipse Umgebung (z. B. Java oder PHP Entwicklung).
Innerhalb der Architekturübersicht werden unterschiedliche Prozesse durch die OSGi-Container dargestellt.
Crawler bzw. Agenten erlauben die Extraktion von unstrukturierten Informationen aus Datenquellen. Diese Informationen werden in Records umgewandelt und durch eine Connectivity-Schicht an die Kernkomponenten von SMILA übergeben. Um Dokumente parallel mit Metadaten anreichern zu können, werden die Records an eine Message Queue übergeben.
An der Message Queue „horchen“ unterschiedliche Prozesse für die Datenanreicherung, die durch eine BPEL Engine (Business Process Execution Language) durchgeführt wird. Innerhalb der BPEL Engine lassen sich spezialisierte SMILA Komponenten, sogenannte Pipelets, ausführen und auf Wunsch mit Webservice-Aufrufen kombinieren. Die annotierten Daten können nach der Anreicherung innerhalb eines Zwischenspeichers abgelegt werden.
Nach der Informationsanreicherung innerhalb des BPEL-Workflows können die Informationen an eine Indexierungstechnologie oder andere Anwendungen übergeben werden.
Da ebenfalls während eines Suchvorgangs Informationen an die Suchabfrage bzw. die Ergebnisliste annotiert werden müssen, wird für diesen Vorgang ebenfalls dieselbe BPEL Engine verwendet. Dies ermöglicht die Nutzung von identischen Komponenten zur Informationsanreicherung während des Such- und Indexierungsprozesses.
Das SMILA Framework liefert bereits eine Sammlung beispielhafter Implementierungen von Pipelets. Dazu gehören:
* Indexierung und Suche via Lucene
* Dokumentenkonvertierung anhand des Aperture Frameworks
SMILA liefert Implementierungen für die folgenden Kernprozesse:
* Crawler
* Datentransformation
* Informationsanreicherung via Pipelets
* Verteilung der Datenanreicherung sowie von Systemkomponenten von SMILA
* Speicherung angereicherter Daten
* Suchimplementierung (exemplarisch)
* Security Konzept

## SMILA als Eclipse-Projekt

Die Eclipse Foundation formuliert für das SMILA-Projekt folgende Ziele:
* Die Definition und den Aufbau eines flexiblen und erweiterbaren Rahmenwerkes für den Zugriff und die Integration unstrukturierter Daten, das auf den Prinzipien einer Service Orientierten Architektur (SOA) und Standards wie der Business Process Execution Language (BPEL) und Service Component Architecture (SCA).
* Die Entwicklung einer Auswahl schlüsselfertiger Komponenten wie Konnektoren und Integrationen in Anwendungen (wie z. B. Lucene), die den Leistungsumfang von SMILA exemplarisch darstellen.
* Die Lieferung von Schnittstellen für das Management, den Betrieb und die Überwachung des Rahmenwerkes und seiner Komponenten.
Das Projekt befindet sich derzeit in der Inkubationsphase.

## SMILA als Basisarchitektur im Theseus-Programm

SMILA wurde als Basis für den Wettbewerb der kleinen und mittelständischen Unternehmen des Theseus-Programmes ausgewählt. Ziel ist es, die zu entwickelnden Komponenten auf eine gemeinsame Plattform zu bringen.

## Beteiligte Firmen, Partner

* Empolis Information Management GmbH
* brox IT-Solutions GmbH
* Deutsches Forschungszentrum für Künstliche Intelligenz