Herzlich willkommen auf dem Blog der exensio GmbH

exensio ist ein unabhängiges Software-Unternehmen von erfahrenen IT Beratern und Architekten. Zu unseren Kunden zählen namhafte deutsche Großunternehmen.

exensio verbessert das Kommunikations- und Informationsmanagement von Unternehmen. Auf Basis sinnvoller und zweckmäßiger Technologien erarbeiten wir flexible und übergreifende Lösungen für webbasierte Informationssysteme. Abhängig von den Kundenanforderungen realisieren wir Web Applikationen sowie Lösungen auf Basis von Web Content Management- und Portalsystemen. Integrativ, wirtschaftlich und anwenderfreundlich!

Hier gelangen Sie zur exensio GmbH.

Dienstag, 24. Juli 2012

exensio unterstützt Usability als neues Mitglied im German UPA e.V.

Seit Anfang dieser Woche sind wir von der exensio GmbH Mitglied im German UPA e.V. - dem Berufsverband der Usability und User Experience Professionals [1].
Von unserer Seite ist dies ein logischer Schluss aus unseren Interessensgebieten und unserer Arbeit in den letzten Jahren. Usability ist uns wichtig und wir schätzen die Arbeit des Berufsverbands und die Möglichkeiten, die uns eine Mitgliedschaft bringt.

Mich selbst begleitet Usability in der Softwareentwicklung seit meinem Studium. In meiner Diplomarbeit "Usability-Anforderungen in der Praxis" habe ich die explizite Erhebung von Anforderungen an die Usability untersucht und schon damals (leidvoll) festgestellt, dass dies in der Praxis nur unzureichend durchgeführt wird [2].
Als neues Mitglied im Berufsverband freuen wir uns auf Expertenaustausch, die aktive Einflussnahme und der Erweiterung unseres Netzwerks in für uns - und unseren Kunden - wichtigen Fachbereichen.

Links
[1] http://germanupa.de/
[2] http://elib.uni-stuttgart.de/opus/volltexte/2009/4768/

Montag, 23. Juli 2012

Wie entwickle ich sichere Software?

Letzte Woche habe ich den Vortrag „Sichere Softwareentwicklung“ beim Cyberforum besucht. Als Rednerin konnte das Cyberforum Frau Petra Barzin von dem Karlsruher Security Spezialisten Secorvo GmbH gewinnen. Dass dieses Thema immer wichtiger wird zeigen verschiedene Studien, wie beispielsweise die e-Crime-Studie von KPMG [1].

Da Geschäftsprozesse immer stärker mit Web-Anwendungen verknüpft werden und diese dadurch immer komplexer werden, reicht es nicht mehr aus nur noch Firewalls oder Email-Filterlösungen zu benutzen. Bei Firewalls ist hier im Besonderen als Problem zu sehen, dass die Kommunikation über Http-Protokoll läuft. Die Firewall jedoch nicht erkennen kann, ob ein Http-Request gut- oder bösartig ist. Aus diesem Grund wird es immer wichtiger, zum einen Entwickler für dieses Thema zu sensibilisieren und zum anderen den Einsatz von Application Firewalls in Betracht zu ziehen.

Warum wird der Aspekt Sicherheit bei der Software-Entwicklung vernachlässigt?
Vielen Anwendern sind die Risiken, wie Imageschaden und ein daraus resultierender Wettbewerbsnachteil nicht bewusst. Aus Kosten- und Zeitdruck werden in den meisten Projekten nicht-funktionale Anforderungen wie Sicherheitsaspekte gerne ausgeklammert. Besonders interessant fand ich hierbei die Aussage der „Implizierten Erwartung“ aller an dem Projekt beteiligten Parteien. So geht der Kunde davon aus, dass schon alles sicher sein wird, das IT-Systemhaus auch, sowie der Hosting-Provider. Aber richtig adressiert wird der Sicherheitsaspekt von keinem der Projektbeteiligten.

Was sind typische Fehler in der Entwicklungsphase?
Folgende Punkte sind hier von Frau Petra Barzin aufgeführt worden:
  • Keine Bedrohungsanalyse bei der Erhebung der Anforderungen
  • Schwachstellen im Entwurf der Anwendung
  • Schwachstellen in der Programmierung der Anwendung
  • Keine Testfälle für möglichen Missbrauch der Anwendung
  • Unzureichende Dokumentation für sichere Konfiguration der Anwendung im Betrieb
  • Unzureichende Sicherheitsmaßnahmen in der Entwicklungsumgebung
Folgende Schwachstellen (es gibt natürlich noch mehr [2]) wurden exemplarisch bei der Programmierung aufgezeigt:
  • Command Injection
  • SQL-Injection
  • Buffer Overflow
Wie kann Sicherheit im Entwicklungsprozess gewährleistet werden?
Folgende Punkte müssen hier laut Petra Barzin erfüllt sein:
  • Integration von Sicherheitsaspekten in die existierende Softwareentwicklungsmethodik
  • Mit allen Entwicklungsmodellen kann sichere Software entwickelt werden. Es ist also gleichgültig, ob mit Wasserfall oder Scrum gearbeitet wird.
  • Sicherheit von Software muss in allen Phasen der Entwicklung beachtet werden.
  • In jeder Phase sollen sicherheitsbezogene Maßnahmen ergänzt werden
  • Ein auf das eigene Unternehmen zugeschnittener Prozess
Wie kann eine Bedrohungsanalyse durchgeführt werden?
Es gibt folgende Möglichkeiten:
  • Attack Trees [3]
  • Data Flow Diagrams, weitere Infos bspw. hier[4]
Fazit
Alles in allem ein sehr gelungener Vortrag. Ich habe für mich mitgenommen, dass wir zukünftig unsere Test-Cases noch mehr um Sicherheitsaspekte erweitern und dass wir noch mehr Wert auf die Validierung von Eingangswerten legen sollten. Zu guter Letzt möchte ich noch die Homepage des „The Open Web Application Security Project“ erwähnen. Hier wurde zuletzt im Jahr 2010 eine Top-Ten-Liste [5] der 10 größten Sicherheitsprobleme bei Web-Applikationen erstellt. Des Weiteren möchte ich noch auf den Blog-Post [6] meines Kollegen Manuel Breitfeld - zum Einsatz von Fail2ban zur Sicherung einer (Grails-)Web-Applikation - hinweisen.

Links
[1] http://www.kpmg.de/Themen/21481.htm
[2] https://www.owasp.org/index.php/Category:Attack
[3] http://en.wikipedia.org/wiki/Attack_tree
[4] http://www.utd.edu/~eao015100/documents/SecurityThreatModeling.pdf
[5] https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
[6] http://blog.exensio.de/2012/05/grails-applikation-mit-fail2ban.html


Samstag, 21. Juli 2012

Lohnt sich Barcamp-Sponsoring für Unternehmen?

Das Barcamp hier in Karlsruhe liegt nun auch schon wieder eine Woche zurück und ich hatte inzwischen die Chance, den einen oder anderen Blog-Post über das Barcamp zu lesen. Da wir (exensio) zum ersten Mal ein Barcamp gesponsert haben und wahrscheinlich auch andere vor der Frage stehen, ob sie dies tun sollen, dachte ich mir, ich könnte diesen Aspekt mit einem kurzen Blogpost beleuchten.

Haben wir interessante Projektanfragen erhalten? Oder haben wir vielleicht neue Mitarbeiter gewinnen können?
In einigen Blogs habe ich gelesen, dass Sponsoren sehr viele interessante Anfragen erhalten haben. Hier muss man klar differenzieren. Eine Agentur findet auf einem Barcamp sicherlich eher einen Auftrag, als wir, die hoch komplexe Individual-Software-Projekte (wie bspw. eine Präparate Datenbank für einen weltweit agierenden Generika-Hersteller) realisieren. Natürlich haben wir auch viele interessante Gespräche mit Freelancern, potentiellen Mitarbeitern, Ex-Kollegen oder Partnerfirmen führen können, die wir sonst nicht gehabt hätten. Aber ich denke ein Sponsoring muss man längerfristig sehen. Oder wie es Henry Ford formulierte: „50 % meines Werbebudgets ist hinausgeworfenes Geld. Niemand kann mir allerdings sagen, welche 50 % das sind.“ :-)

Fazit
Als Sponsor sollte man nicht kurzfristig und monetär denken. Ein Barcamp ist ein Veranstaltungsmix (Social Media, Technik und Kulturelles). Dies belegen Barcamp-Sessions bei denen bspw. über Reisen berichtet werden. Will sagen, als Sponsor nicht den tollen Auftrag am Tag nach dem Barcamp im Briefkasten erwarten, sondern sich auch ein wenig daran erfreuen, dass man eine interessante neue Veranstaltungsart unterstützt hat. Wir von exensio würden das Barcamp in Karlsruhe wieder sponsern.

Montag, 16. Juli 2012

Effiziente Projektarbeit mit Confluence und Jira

Wer kennt dies nicht: Es wird eine Spezifikation in Word geschrieben, es werden diverse Excel Sheets für die Schätzung aufgebaut und es wird eine Planung in Project erstellt. Dann gibt es Änderungen, die Anzahl an Versionen steigt, die man entweder im Filesystem mit entsprechender Namenskonvention ablegt oder das ganze mit einer Versionsverwaltung wie Subversion [1] durchführt.

Mich persönlich ärgern immer diese Medienbrüche, bei denen man Dinge von einem Werkzeug wieder in andere überträgt, kopiert, anpasst. Es bleibt nicht aus, dass dabei manchmal Dinge verloren gehen, oder zumindest ist der Aufwand zur Überprüfung immer immens. Und wie läuft es bei Änderungen im Projektverlauf, wenn Dinge anders implementiert werden als ursprünglich gedacht oder der Kunde es etwas anders haben möchte? Wird die Dokumentation immer nachgezogen?
Wir bei exensio haben uns schon vor einiger Zeit entschlossen, die oben beschriebene Projektarbeit effizienter zu gestalten und dazu die Produkte Confluence und Jira von Atlassian einzusetzen.
Dieser Beitrag beschreibt zunächst den Einsatz von Confluence, zu Jira kommt demnächst ein weiterer Beitrag.
Confluence [2] ist ein Enterprise Wiki, mit dem die Zusammenarbeit in Teams unterstützt wird. Spezifikationen erstellen wir nur noch mit Confluence, einzig Grafiken erzeugen wir mit anderen Werkzeugen und binden diese dann ein. Wir sehen u.a. folgende Vorteile:

Vorteile des Einsatzes von Confluence

  • Die Arbeit an einer Spezifikation lässt sich einfach aufteilen und alle Beteiligten können gleichzeitig ohne Probleme daran arbeiten.
  • Durch eine geschickte Gliederung kann man problemlos auch die Arbeit bis in tiefe Ebenen aufteilen.
  • Das Editieren ist extrem einfach und viele Funktionen, für die man sich in Word gut auskennen muss, lassen sich sehr leicht anwenden.
  • Die Suche ist sehr gut und lässt sich durch die Nutzung von Tags noch effizienter gestalten.
  • Man kann in einer Confluence-Installation Spaces für eine reine interne Bearbeitung als auch eine mit externer Beteiligung aufbauen. Die Benutzer- und Rechteverwaltung gibt das problemlos her.
  • Zur Auslieferung an den Kunden kann bspw. ein PDF Dokument erzeugt werden, dessen Layout sich - zugegebenerweise etwas schwieriger - individuell anpassen lässt. 

Verbesserungsbedarf

Bei folgenden Punkten sehen wir noch Verbesserungsbedarf, aber diese Einschränkungen lassen sich wie beschrieben auch lösen:
  • Wir haben für jeden Kunden einen Space angelegt, in dem wir alle Projekte dieses Kunden aufnehmen. Typischerweise verwendet man in der Struktur einer Spezifikation immer die gleichen Titel für übliche Kapitel. Dies lässt Confluence aber nicht zu, der Titel einer Seite innerhalb eines Spaces muss eindeutig sein. Dies ist unschön. Wir haben uns daher eine Konvention überlegt, in dem jedes Projekt ein Kürzel erhält, das dann in die Überschriften eingefügt wird. Ebenso nutzen wir Kürzel für Use Case Überschriften, da bspw. der Titel “Benutzer anlegen” sicherlich in mehreren Projekt vorkommen kann.
  • Wie schon erwähnt kann man die Inhalte als pdf Dokument (auch weitere Formate) exportieren. Die Anpassung des Layouts ist nicht ganz einfach. Einfache Dinge wie ein Logo einfügen oder Seitennummerierung sind kein Problem. Aber bspw. das Layout des Inhaltsverzeichnisses anpassen, erfordert schon etwas mehr Know How.

Weitere hilfreiche Funktionen

Confluence verfügt noch über jede Menge weiterer Funktionalitäten. Sehr hilfreich finde ich die Kommentarfunktion. Über diese dokumentieren wir beispielsweise Änderungen, die im Laufe der Implementierung erfolgt sind. Dadurch haben wir eine Dokumentation, wann welche Anpassungen erfolgt sind und eine ständig aktuelle Spezifikation.
Ebenso ist die Dashboard Sicht sehr hilfreich. Sie sorgt dafür, dass man den Überblick behält, wer an welchen anderen Seiten gearbeitet hat und welche Änderungen durchgeführt wurden. Eine Versionierung auf Seitenebene ist komplett abgebildet.

Fazit

Wir sind sehr zufrieden mit dem Einsatz von Confluence und nutzen es mittlerweile für alle Arten von Dokumentationen in Projekten. Die Erarbeitung und Dokumentation von Anforderungen gestaltet sich in der Zusammenarbeit erheblich leichter.
In Verbindung mit Jira lassen sich weitere effizienz-steigernde Effekte erzielen. Dazu mehr in dem kommenden Beitrag.


Samstag, 14. Juli 2012

Besuch des BarCamp Karlsruhe am 14.07.2012

Das 2. Karlruher BarCamp war für Samstag komplett ausgebucht, so dass für Einige nur ein Platz auf der Warteliste blieb. In diesem Blogbeitrag möchte ich kurz die Eindrücke von meiner ersten Teilnahme an einem BarCamp schildern.

Da noch einige Helfer gesucht wurden beteiligte sich exensio ab 08:00 Uhr mit zwei Kollegen bei den restlichen Aufbauarbeiten, um so neben dem Sponsoring einen weiteren Beitrag für das BarCamp zu leisten. Nachdem die Konferenzräume umgestuhlt wurden, viel Kaffee gekocht wurde, die Giveaways der Sponsoren ausgelegt und viele andere Kleinigkeiten noch erledigt wurden, startete um 11:00 Uhr die Session-Planung. Insgesamt konnten für Samstag 37 Sessions organisiert werden.

Jeweils zur vollen Stunde wurden die Sessions gestartet und es liefen in der Regel 6 Sessions parallel. Wie erwartet war die Bandbreite der angebotenen Vorträge sehr groß, so daß für jeden etwas dabei sein sollte. Neben Themen wie Social Media, CMS oder Design gab es auch Sessions zu Security oder Content. Es standen aber nicht nur technische Themen auf dem Programm, sondern auch Sessions zu Verhandlungsstrategien oder Selbstfindung und viele andere. Für einen vollständigen Überblick möchte ich auf den Zeitplaner [1] des BarCamps verweisen.

Von meinen besuchten Sessions fand ich "Einfallstore in Webanwendungen und ihre Folgen" sowie "Gettings Things Done" sehr interessant. Die erstgenannte Session zeigte eindrucksvoll auf, wie weit Hackertools schon entwickelt sind. Mithilfe dieser Werkzeuge kann man ohne jegliches "Hackerwissen" Webseiten attackieren und ggfs. großen Schaden anrichten. In "Getting Things Done" stellte Oliver Gassner die von David Allen entwickelte Zeit-Management-Methode mit vielen lustigen Praxisbeispielen hervorragend vor.

Für das leibliche Wohl der Teilnehmer wurde bestens mit einem ausgiebigen Frühstück und Mittagessen, sowie reichlich Kuchen am Nachmittag gesorgt. Getränke und reichlich Kaffee rundeten das Ganze ab.

Fazit

Ich habe bei meinem ersten BarCamp die lockere Atmosphäre genossen und mich vor allen Dingen gefreut ein paar Bekannte und ehemalige Kollegen nach langer Zeit wieder gesehen zu haben. Es wäre schön, wenn es auch im nächsten Jahr wieder ein BarCamp in Karlsruhe gibt. Das Interesse ist bestimmt weiterhin sehr hoch. Weitere Bilder finden sich auf unserer Google-Plus-Seite [2].

Links

[1] Zeitplaner BarCamp
[2] exensio G+ Page


Freitag, 13. Juli 2012

Projektinfo: Wissensportal für die Pharma-Branche

Wir (exensio) haben uns vorgenommen, in unserem Blog auch über aktuelle Projekte zu berichten. In diesem Blog-Post möchte ich unser Projekt Wissensportal beschreiben, das wir für einen Kunden aus der Pharmabranche realisieren. Mit dieser Lösung sollen die Call-Center-Mitarbeiter ein Werkzeug an die Hand bekommen, das ihnen das für ihre tägliche Arbeit benötigte Wissen aufgabengerecht zur Verfügung stellt. 

Warum überhaupt ein Wissensportal? 
Aktuell wird bei unserem Kunden die Wissensvermittlung per Email und Fileshare bewerkstelligt. Dies hat vor allem den Nachteil, dass die Wissensbasis unter Kollegen sehr heterogen verteilt ist. Manch einer weiß nicht, ob er schon die aktuellsten Informationen per Email erhalten hat oder nicht. Und die Suche in Outlook führt meistens zu der falschen Suchergebnismenge, wie wir alle wissen. Zudem kömmen täglich viele neue Mails hinzu, die erst einmal auf relevante Informationen zu analysieren sind. Des Weiteren nimmt die Zahl an Ausdrucken und gelben Post-Its stetig zu. So ist die Konzentration auf das eigentliche Kundengespräch schwierig möglich. Ebenso kann man sich nie sicher sein, dass jeder Mitarbeiter den gleichen Wissens- und Informationsstand hat, denn leicht ist eine Mail übersehen, die in der Flut von Informationen einfach untergeht. Aus diesem Grund hat man sich entschieden, ein Wissensportal aufzusetzen.

Bestandteile eines Wissensportals
Ein Wissensportal basiert aus technischer Sicht auf einem Portalframework. Eine Eine Klassifikation von Portalen findet sich hier [1] und hier [2] auf unserem Blog. Über dieses Portal-Framework können Applikationen eingebunden werden. Informationen werden in strukturierter bzw. unstrukturierter Form bereitgestellt. Die Kollaboration geschieht über Funktionalitäten, die aus dem Web 2.0 bzw. Enterprise 2.0 bekannt sind. Somit besteht ein Wissensportal aus folgenden Bestandteilen:
  • Werkzeuge für Kollaboration (Zusammenarbeit) und Wissenstransfer
    • Forum
    • Wiki
    • Blogs
    • Microblogs
  • Bereitstellung und Suche von Informationen (strukturierte und unstrukturierte)
    • Dokumente
    • Content
    • Tags / Taxonomie
    • Enterprise Search
    • Faceted Search
  • Zugriff auf Unternehmensanwendungen
    • SAP
    • HR
    • CRM
    • Datenbankgetriebene Applikationen
    • Business Intelligence

Besonders wichtig ist die Erstellung einer Taxonomie, da mit dieser die Informationen verschlagwortet werden. Dies erleichert ungemein das spätere Auffinden von Informationen und ermöglicht erst die Umsetzung einer Faceted Search [3].

Projektstand
Aktuell haben wir die Spezifikation abgeschlossen. Hierzu wurde für jede Maske des User Interfaces ein Wireframe [4] erzeugt. Es werden alle oben aufgeführten Bestandteile integriert werden. Besonderen Mehrwert erwarten wir durch die Nutzung von Enterprise 2.0 Funktionalitäten.
Eine Taxomonie wurde auch erstellt. Dies war sicherlich die schwierigste Aufgabe innerhalb der Spezifikation. Unsere Kunden haben hier sehr oft das Problem, dass sie es nicht schaffen, alle Kriterien zu bestimmen, mit denen später die Informationen klassifiziert werden sollen. Aus diesem Grund entwickeln wir meistens eine erste Version. Der Taxonomie-Service des Wissensportals ist aber ohnehin in der Lage, flexibel im laufenden Betrieb erweitert zu werden.

[1] http://blog.exensio.de/2010/05/klassifikation-von-portal-losungen.html
[2] http://blog.exensio.de/2010/07/die-evolution-von-portal-losungen.html
[3] http://blog.exensio.de/2011/11/verbesserung-der-usability-mittels.html
[4] http://blog.exensio.de/2010/04/user-interface-design-mit-wireframes.html

Freitag, 6. Juli 2012

Eindrücke zum Java Forum Stuttgart 2012

Gestern waren ein Kollege und ich auf dem Java Forum in Stuttgart. Das Vortragsprogramm war mit sechs parallelen Tracks und jeweils sieben Sessions recht groß und bot einige interessante Vorträge.
Im Vortrag "Mobile Webanwendungen mit JSF" ging es in erster Linie um die Verwendung von jQuery Mobile in JSF. Für Leute, die jQuery Mobile noch nicht kannten, war das sicherlich interessant.

Der Vortrag "Mobile Zeiten - Realisierung einer Car Sharing Lösung" war sehr interessant und zeigte, was sich mit Android alles machen lässt. Im beschriebenen Fall wurden Smartphones so umgerüstet, dass sie mit eigenem ROM und entsprechender App fest installiert in den Autos des Car Sharing Anbieters sind.

Nach einer kleinen Pause, in der man sich mit Brezeln, Croissants und diversen Getränken stärken konnte, ging es für mich weiter zum nächsten Vortrag. Mein persönliches Highlight des Tages war der Vortrag "Welches Open Source Integrationsframework einsetzen - Apache Camel, Spring Integration oder Mule?" von Kai Wähner. Die knapp bemessene Vortragszeit nutzte er optimal, gab einen Einblick in den Anwendungsfall solcher Integrationsframeworks und verstand es gut, sie von großen ESBs abzugrenzen. Die kurzen Code-Beispiele und Pro/Contra-Auflistungen haben den Vortrag bestens abgerundet.
Nachdem wir von der exensio uns kürzlich schon mal überlegt haben, Apache Camel in einem aktuellen Projekt einzusetzen, werden wir diese Überlegungen nach dem positiven Vortrag sicherlich intensivieren. Aufgrund der Groovy-DSL sollte Apache Camel perfekt in unsere Arbeitsweise passen.
Der anschließende Vortrag "Design for Testability in der Praxis" zeigte anhand von Code-Beispielen, wie Methoden umstrukturiert werden können, damit sie besser zu testen sind. Dabei ist es meiner Meinung nach immer ein Kompromiss, inwiefern man beispielsweise zusätzliche Parameter zu Methoden anfügt, nur damit diese für einen Test selbst vorbelegt und exakt geprüft werden können.

Die Mittagspause stellte den Veranstalter vor eine große Herausforderung. War das Foyer in den normalen Pausen schon kaum zu durchschreiten, ohne dass man mehrere Leute anrempelte oder angerempelt wurde, versprach das nichts Gutes für ein Mittagessen in entspannter Atmosphäre. Letztendlich war die Platzsituation jedoch akzeptabel - und das Essen sehr lecker!
Gestärkt und mit etwas getankter Sonne auf den nahe liegenden Grünflächen ging es nach dem Mittagessen in die Session "Sichere Software vom Java-Entwickler". Anschaulich wurden typische Fehler und deren Behebung anhand der OWASP Top 10 gezeigt. Und man sollte es nicht glauben, SQL Injection ist auch in 2012 noch auf Platz 1...

Der Vortrag "Java Anwendungen überwachen und optimieren" gab einen Überblick über typische Messdaten wie Anfragen pro Sekunde oder Durchsatz und verdeutlichte, dass technische Messdaten bei weitem nichts mit Business-Anforderungen zu tun haben müssen.

Der sehr spannende und interaktive Vortrag "Continuous Delivery mit Java" rundete den Tag der offiziellen Sessions ab. Im Vortrag wurde gezeigt, wie mit Chef die eigene Anwendung völlig automatisiert in der Cloud installiert werden kann und Chef selbst dafür sorgt, dass der richtige Applicationserver oder die richtige Datenbank installiert sind - wenn nicht, installiert es sie selbst nach. Das Tool Vagrant geht sogar noch einen Schritt weiter und installiert die eigene virtuelle Maschine gleich mit.

Fazit

Das 15. Java Forum Stuttgart war bestens organisiert, leider waren die Räumlichkeiten teilweise der Anzahl an Menschen nicht ganz gewachsen. Die Sessions konnten eine Vielzahl von Themen im Java-Umfeld abdecken und so war sicherlich für jedermann etwas dabei. Ich konnte für mich und uns als Firma auch das ein oder andere mitnehmen, was wir in Zukunft sicherlich weiter verfolgen werden.
Und als alter Stuttgarter war es sehr nett, frühere Kommilitonen und Bekannte zu treffen. Insgesamt also ein lohnenswerter Besuch! Vielen Dank an dieser Stelle an die Organisatoren, Moderatoren, Referenten und allen anderen Beteiligten.

Weitere Bilder sind auf unserer Google+ Seite zu finden.