Veit Schiele Communications

Veit Schiele Communications

Blog

erstellt von Veit Schielezuletzt verändert: 01.05.2017 11:39

Sie können unsere Blog-Beiträge auch abonnieren als RSS 1.0-, RSS 2.0- oder Atom-Feed.

World Plone Day 2017

World Plone Day 2017

Anlässlich des World Plone Days am 28. April 2017 luden wir alle Interessierten herzlich ein mit uns in Berlin über die neuesten Entwicklungen rund um Plone zu diskutieren. Plone ist eines der führenden Open-Source Content-Management-Systeme. Ziel des World Plone Days ist es, dieses System weltweit einem breiten Publikum näher zubringen.

Nach einem kurzen Opening präsentierte Veit Schiele mithilfe einer Demo die mit Plone 5.1 einhergehenden Änderungen und Neuheiten.

Michael Hierweck erläuterte anschließend Möglichkeiten professioneller Suche in Plone mit Elasticsearch 5.2, Kibana und Security. Thomas Graf vom Fraunhofer ISE berichtete folgend von seinen Erfahrungen mit der Umsetzung einer institutsweiten Suche.

Abschließend ging Veit auf Microservices zur leichtgewichtigen Weiterentwicklung Plone-basierter Anwendungen ein. Dazu findet Ihr im Blog auch einen ausführlicheren Artikel: veit-schiele.de/news/microservices

WorldPloneDay 2017 in Berlin
WorldPloneDay 2017 in Berlin
WorldPloneDay 2017 in Berlin

Microservices

Der Begriff »Microservice-Architektur« ist in den letzten Jahren entstanden um Softwareanwendungen, die in eigenständig einsetzbare Dienste unterteilt sind, zu beschreiben. Obwohl es keine exakte Definition des Begriffs gibt, so sind doch einige Organisationsmerkmale, wie automatisierte Bereitstellung und dezentrale Datenhaltung allen gemeinsam.
Microservices

Definition

Microservices, wie wir sie verstehen, unterteilt eine einzelne Anwendung in eine Reihe von kleinen Diensten, die jeweils als eigenständiger Prozess laufen und leichtgewichtig miteinander kommunizieren, oft über eine HTTP-Resource-API. Diese Dienste implementieren Geschäftsprozesse, die unabhängig und automatisiert einsetzbar sind. Die zentrale Verwaltung dieser Dienste wird auf ein Minimum reduziert und kann in unterschiedlichen Programmiersprachen geschrieben sein und unterschiedliche Speichertechnologien nutzen.

Abgrenzung gegen Monolithen

Die Idee der Microservices ist entstanden aus der Abgrenzung zu monolithischer Software, die verschiedene Geschäftsprozesse in einer Anwendung zusammenfasst. Genauer gesagt werden diese Monolithen üblicherweise in einer Schichtenarchitektur mit drei oder vier Schichten konzipiert:

  1. eine Benutzeroberfläche bestehend aus HTML-Seiten und Javascript, die in einem Browser dargestellt wird
  2. einer meist relationalen Datenbank bestehend aus vielen Tabellen
  3. und einer serverseitigen Anwendung die HTTP-Anfragen beantwortet, dazu fachdomänspezifische Logik ausführt und Daten aus der Datenbank aufruft und aktualisiert.

Bei einer solchen monolithischen Anwendung läuft die Logik für die Bearbeitung einer Anforderung meist in einem einzigen Prozess und für die grundlegenden Funktionen wird nur eine Programmiersprache verwendet. Die Anwendung wird dann durch Klassen, Funktionen und Namespaces aufgeteilt. Meist kann eine solche Anwendung auf dem Laptop des Entwicklers ausgeführt und getestet und eine Deployment-Pipeline verwendet werden, um sicherzustellen, dass Änderungen ordnungsgemäß getestet und in die Produktion überführt wurden. Sie können die Monolithen horizontal skalieren indem Sie viele Instanzen hinter einem Load Balancer laufen lassen.

Solche monolithischen Anwendungen wurden jahrelang von uns erfolgreich betrieben, aber sie fingen zunehmend an, uns zu frustrieren, und zwar bei den folgenden Szenarien :

  • Änderungszyklen müssen aufwändig koordiniert werden, d.h. selbst wenn nur ein kleiner Teil der Anwendung geändert werden soll, muss meist der gesamte Monolith neu gebaut und in Betrieb genommen werden.
  • Zudem wird es im Laufe der Zeit immer schwerer, eine gute modulare Struktur aufrechtzuerhalten, so dass bei Änderungen wirklich nur ein Modul betroffen ist.
  • Schließlich führt Skalierung immer dazu, dass die gesamte Anwendung repliziert werden muss, anstatt nur diejenigen Teile zu replizieren, die tatsächlich unter Last stehen und mehr Ressourcen erfordern.
Microservices

Eine monolithische Anwendung liefert alle Funktionalität in einem Prozess …

Skalierung von Microservices

… und skaliert durch Replikation des Monolithen auf mehreren Maschinen.

Um solche Frustrationen zu vermeiden, setzen wir seit vielen Jahren Microservices-Architekturen ein, die Anwendungen in einzelne Dienste unterteilt. Diese Services sind nicht nur unabhängig voneinander implementierbar und skalierbar, sondern bieten auch feste Kontextgrenzen, so dass unterschiedliche Dienste auch in der jeweils geeigneten Programmiersprache geschrieben und von verschiedenen Teams entwickelt und betreut werden können.

Monolith

Bei einer Microservices-Architektur wird jedes Funktionselement in einem separaten Service ausgeliefert …

Skalierung von Monolithen

… und skaliert durch die Verteilung dieser Dienste über Server, repliziert nach Bedarf.

Dabei erschienen uns Microservices gar nicht besonders neuartig oder innovativ – sie erinnerten uns vielmehr an eines der Designprinzipien von Unix:

Mache nur eine Sache und mache sie gut.

Dieses Designprinzip ist jedoch in monolithischen Anwendungen nicht berücksichtigt worden.

Eigenschaften der Microservices-Architektur

Auch wenn Microservices nicht klar definiert sind, so weist ihre Architektur doch meist gemeinsame Merkmale auf.

Aufteilen der Anwendung in Servicekomponenten

Dabei haben für uns Komponenten die folgenden Eigenschaften:

  • unabhängig
  • austauschbar
  • erweiterbar

Die wesentliche Bedeutung von Microservices ist also die Aufteilung einer Anwendung in einzelne Dienste. Diese werden nicht mit anderen über In-memory-Function-Calls sprechen und unterscheiden sich damit deutlich von Serviceobjekten aus dem Domain-driven Design, die gemeinsam in nur einem Prozess ausgeführt werden.

Wesentlich für die Nutzung von Servicekomponenten und nicht als Bibliotheken ist, dass sie unabhängig voneinander eingesetzt werden können. Wenn eine Anwendung aus mehreren Bibliotheken in einem einzigen Prozess besteht, führt eine Änderung an einer einzelnen Komponente dazu, dass die gesamte Anwendung neu geordnet werden muss. Bei einer Zerlegung dieser Anwendung in mehrere Servicekomponenten jedoch sollte nur ein Service neu implementiert werden müssen. In seltenen Fällen könnte es jedoch auch hier vorkommen, dass Schnittstellen neu definiert werden müssten. Dies sollte durch die Architektur jedoch so weit wie möglich unterbunden werden.

Eine weitere Konsequenz der Verwendung von Serviceskomponenten ist eine explizite Komponentenschnittstelle. Dabei haben jedoch die meisten Sprachen leider keinen guten Mechanismus, um eine explizite Schnittstelle zu definieren. Oft ist es nur Dokumentation oder Disziplin, die verhindert, dass eine Komponentenschnittstelle geändert wird. Dies erhöht dann das Risiko einer unnötig engen Kopplung der Komponenten. Servicekomponenten vermeiden dies einfach durch explizite Remote-Call-Mechanismen.

Damit werden jedoch auch die Nachteile solcher Services offenbar:

  • Remote-Calls sind deutlich teurer als In-Process-Calls.
  • Auch sind die Remote-APIs allgemeiner gefasst und scheinen häufig schwerer bedienbar.
  • Und auch wenn die Zuordnung von Verantwortlichkeiten zwischen Komponenten geändert werden soll, so ist dies meist deutlich aufwändiger da auch Prozessgrenzen überschritten werden müssen.

Zwar werden Services häufig um einen Laufzeitprozess modularisiert, ein Service kann jedoch auch aus mehreren Prozessen bestehen, wie beispielsweise einem Prozess für die Anwendungslogik und einem für die Datenbank, die nur von diesem Service verwendet wird.

Organisation um Geschäftsprozesse

Wenn eine große Anwendung aufgeteilt werden soll, erfolgt diese häufig anhand der Technologie-Schichten, also z.B.

  • UI
  • Anwendungslogik
  • Datenbank

Wenn die einzelnen Teams jedoch genau diesen Schichten entsprechend zusammengesetzt werden, werden sie bei Änderungen meist versuchen, diese innerhalb ihres Zuständigkeitsbereichs umzusetzen. In der Folge wird sich in allen Schichten Logik wiederfinden. Dies ist nur ein Beispiel für Conways Gesetz.

Organisationen, die Systeme entwerfen, … sind auf Entwürfe festgelegt, welche die Kommunikationsstrukturen dieser Organisationen abbilden.
  • Melvyn E. Conway, 1967
Funktional getrennte Teams führen zu funktional getrennter Architektur

Bei einer Microservices-Architektur wird die Anwendung nicht in unterschiedliche Schichten sondern in unterschiedliche Services unterteilt. Dabei reicht die Implementierung eines solchen Services von der persistenten Speicherung über Schnittstellen zu anderen Diensten bis hin zur Benutzeroberfläche. Infolgedessen sind die Teams funktionsübergreifend, einschließlich Expertise zur jeweiligen Datenbank, UI und Projektmanagement.

Funktionsübergreifende Teams führen zu funktionsübergreifenden Services

Produkte, nicht Projekte

Meist wird Software in einem Projekt entwickelt, bei dem die Software zu einem bestimmten Zeitpunkt ausgeliefert werden soll. Demnach wird mit der Fertigstellung die Software an ein Wartungsteam übergeben und das Projektteam aufgelöst.

Wir bevorzugen jedoch ein anderes Modell: ein Team nennt die Software über den gesamten Lebenszyklus hinweg sein eigen. Diese Verantwortung des Entwicklungsteams für die Software auch in der Produktion sehen wir auch in der DevOps-Kultur. Dadurch erhalten die Entwickler unseres Erachtens deutlich bessere Einblicke, wie sich ihre Software in der Produktion verhält und von den Anwendern angenommen wird. Durch diese Produkt-Mentatlität erhalten die Entwickler nicht nur besseren Einblick in die gewünschte Funktionalität sondern können zunehmend auch erkennen, wie der Geschäftsprozess optimiert werden könnte.

Wir betreuen unsere Anwendungen schon seit sehr langer Zeit über den gesamten Lebenszyklus hinweg, auch wenn wir sie früher häufig monolithisch, z.B. auf Basis des Web-Frameworks Zope gebaut haben, so erscheint und doch die feinere Granularität von Microservices förderlich für die Produktorientierung zu sein.

Intelligente Endpunkte und dumme Verbindungen

Bei der Erstellung von Kommunikationsstrukturen zwischen verschiedenen Diensten gibt es viele Produkte und Ansätze, die die Kommunikation deutlich erschweren können indem sie beachtliche Anforderungen an die beteiligten Komponenten stellen. Ein gutes Beispiel hierfür ist der Enterprise Service Bus (ESB), der oft anspruchsvolle Aufgaben übernehmen muss wie Message Routing, Choreographie etc.

Microservices hingegen fördern eher intelligente Endpunkte und dumme Verbindungen. Aus Microservices aufgebaute Anwendungen sind meist entkoppelt und so unzusammenhängend wie möglich. Sie besitzen ihre eigene Geschäftslogik und funktionieren wie Filter im Unix-Sinne: sie erhalten eine Anfrage, wenden ihre Logik darauf an und liefern eine Antwort zurück. Die Kommunikation erfolgt meist über einfache REST-Protokolle und nicht über komplexe Protokolle wie Service choreography, BPEL oder Orchestrierung durch zentrale Werkzeuge. Dabei sind die häufigsten Protokolle HTTP-Request-Response, ldap und Lightweight Messaging, z.B. mit RabbitMQ oder ZeroMQ. Sie übernehmen zuverlässig den asynchronen Nachrichtenaustausch ohne überhaupt nur eine Ahnung von der Geschäftslogik zu haben.

Bei einer monolithischen Anwendung sprechen die einzelnen Komponenten mit den anderen meist über einen Methoden- oder Funktionsaufruf. Und dies dürfte dann auch eines der größten Probleme sein um Änderungen bei einem solchen Monolithen vorzunehmen.

Dezentrale Organisation

Zentralisierte Organisationen neigen dazu, sich auf nur eine einzige Technologieplattform zu reduzieren. Dies kann jedoch dazu führen, dass gegebenenfalls auch ein unpassendes Werkzeug zur Lösung des Problems verwendet werden soll.

Wir wählen das passende Werkzeug für die jeweilige Aufgabe!

Wir versuchen schon lange nicht mehr alles in eine monolithischen Anwendung integrieren zu wollen. Stattdessen entwickeln wir nützliche Services, die häufig auch bei anderen Projekten wieder eingesetzt werden können.

Dezentralisierte Organisation

Wenn wir die Komponenten des Monolithen in Services aufteilen, haben wir die Wahl, wie wir sie bauen. Da verwenden wir dann z.B. ReactJS, um eine einfache Berichtseite zu erstellen und C++ für einen Real-Time-Service. Auch wählen wir die passende Datenbank für die jeweilige Datenstruktur.

Dezentrales Datenmanagement

Wenn wir über das Datenmanagement einer Anwendung nachdenken, machen wir dies häufig anhand der Kontextgrenzen (bounded context) aus dem Domain-driven Design: DDD teilt eine komplexe Fachdomäne in mehrere, möglichst klar umrissene Zusammenhänge auf und bildet daraus die Beziehungen zwischen ihnen ab. Üblicherweise lassen sich diese Kontextgrenzen sehr einfach auf Microservices abbilden wohingegen sie bei Komponenten von Monolithen sehr leicht verwischt werden können.

Neben der Teamzuordnung trennen die unterschiedlichen Kontexte auch das jeweils dahinterliegende Datenbankschemata. Microservices tendieren daher auch dazu, ihre eigenen Datenbanken zu verwalten.

Dezentralisierte Datenbanken

Die dezentrale Organisation der Teams rund um ihren Microservice führt auch zu einer verteilten Verantwortung für die Daten z.B. bei Updates. Während bei monolithischen Anwendungen meist auf Transaktionssicherheit geachtet wird, um die Konsistenz der Daten zu erhalten, so erfordert dies jedoch auch eine zeitliche Kopplung, die kaum über mehrere Services hinweg aufrechterhalten werden kann. Daher setzen die meisten Microservice-Architekturen auf eine transaktionslose Koordination zwischen den Diensten und auf eventual consistency, d.h. ein Datensatz wird irgendwann konsistent sein, sofern nur eine hinreichend lange Zeit ohne Schreibvorgänge und Fehler vorausgegangen ist.

Evolutionäres Design

Eine wesentliche Frustration bei Monolithen ist, dass sie mit der Zeit immer schwerer weiterzuentwickeln sind da eine modulare Struktur nur mühsam aufrechtzuerhalten ist und dadurch Änderungen aufwändiger und langwieriger sind. Daher erschien uns die Zerlegung in einzelne Services eine angenehme Möglichkeit zu bieten um eine Anwendung leichtgewichtig weiterentwickeln zu können.

Wir haben viele Anwendungen übernommen, die monolithisch entworfen und gebaut wurden. Meist dauert es mehrere Jahre bis wir einen solchen Monolithen vollständig ablösen können. Aber neue Features fügen wir meist als Microservices ein, die die API des Monolithen verwenden. Dieses Vorgehen ist nicht nur praktisch für nur vorübergehende Änderungen wie Kampagnen etc., sondern auch in anderen Bereichen, die sich häufig ändern. So wird die Funktionalität des ursprünglichen Monolithen immer geringer bis er dann schließlich ganz abgelöst werden kann.

Evolutionäres Design

Hype oder Zukunft?

Auch wenn wir bei vielen Anwendungen auf einer Microservices-Architektur aufgebaut haben, so sind wir doch nicht überzeugt, dass Microservices eine universelle Lösung sind.

So haben wir zwar durchaus schon Erfahrungen gemacht mit evolutionärem Design, bei dem eine einzelne Komponente ausgetauscht wurde, uns fehlt jedoch noch die Erfahrung beim Refactoring über Services hinweg: hier wird nicht nur das Verschieben von Code deutlich schwieriger als bei monolithischen Anwendungen. Auch die Koordinierung der Schnittstellenänderungen mit allen Teilnehmern, zusätzliche Schichten von Rückwärtskompatibilität und Testen verkomplizieren den Umbau.

Um die Servicegrenzen besser erkennen zu können scheint es zunächst eine gute Idee zu sein, nicht mit einer Microservices-Architektur zu beginnen sondern mit einer monolithischen Architektur, die modular aufgebaut ist (s.a. Martin Fowler: Monolith First). Wenn sich die passenden Komponenten im Lauf der Zeit bewährt haben, sollen sie dann in Microservices zerlegt haben. Diese Idee scheint uns jedoch problematisch da In-Process-Interfaces selten gut auf Service-Interfaces abbilden lassen.

Dennoch bleiben wir optimistisch, dass Microservices mit ihren Eigenschaften zu deutlich besserer Software führt, vor allem wenn es sich um komplexe Anwendungen handelt.

Produktivität und Komplexität

aus Martin Fowler: Microservice Premium

Pro und Contra

Microservices bieten die folgenden Vorteile…

Bessere Modularität
Microservices verstärken modulare Strukturen und verbessern damit die Möglichkeit, in mehreren Teams parallel arbeiten zu können.
Unabhängiges Deployment
Einfache Dienste können einfacher in die Produktion übernommen werden, und da sie autonom sind, sind Systemausfälle weniger wahrscheinlich.
Technologievielfalt:
Mit Microservices können Sie mehrere Sprachen, Frameworks und Datenspeicher einsetzen.

…aber Microservices bringen auch einige Nachteile mit.

Verteilte Systeme
Sie sind schwerer zu programmieren, da Remote-Anrufe langsam sind und mit einem erhöhten Ausfallrisiko verbunden sind
Eventual Consistency
Sowohl die Aufrechterhaltung von starker Konsistenz wie auch Eventual Consistency sind in verteilten Systemen äußerst schwierig.
Operative Komplexität
Die Komplexität zur Verwaltung der Services steigt nicht nur mit der Technologievielfalt sondern auch mit kontinuierlichen Aktualisierungen.

Siehe auch Martin Fowler: Microservice Trade-Offs.

Technische Schulden

Wir entwickeln meist in kurzen Zyklen die von unseren Kunden angefragte Funktionalität. Meistens räumen wir unseren Code auch nach mehreren Zyklen auf wenn sich die Anforderungen kaum noch ändern. Manchmal jedoch muss auch der schnell entwickelte Code in die Produktion übernommen werden. Technische Schulden ist diesbezüglich eine wunderbare Metapher, die von Ward Cunningham eingeführt wurde um über solche Probleme nachzudenken. Ähnlich wie finanzielle Schulden können technische Schulden zur Überbrückung von Schwierigkeiten verwendet werden. Und ähnlich wie bei finanziellen Schulden sind bei technischen Schulden Zinsen zu bezahlen, nämlich in Form von zusätzlichen Anstrengungen um die Software weiterzuentwickeln.

Im Gegensatz zu finanziellen Schulden lassen sich technische Schulden jedoch sehr schwer beziffern. Wir wissen zwar, dass sie die Produktivität eines Teams bei der Weiterentwicklung der Software behindern, aber wir uns fehlen die Berechnungsgrundlagen, auf denen diese Schuld beziffert werden könnte.

Um technische Schulden zu beschreiben, wird meist unterschieden zwischen bewussten und versehentlich eingegangenen technischen Schulden sowie zwischen umsichtigen oder waghalsigen Schulden. Daraus ergibt sich der folgende Quadrant:

 überlegtversehentlich
umsichtig»Wir müssen jetzt liefern und mit den Konsequenzen umgehen.«»Nun wissen wir, wie wir es machen sollten!«
waghalsig»Wir haben keine Zeit fürs Design!«»Was ist Software- Architektur?«

Zum Weiterlesen

Mein Praktikum bei Veit Schiele Communications

Mein Praktikum bei Veit Schiele Communications

Ich bin Paul, gehe in die 9 Klasse der Georg-von-Giesche-Schule und habe mich im Rahmen des 3 wöchigen Schülerpraktikums meiner Schule für die Veit Schiele Communications GmbH entschieden.

Dort habe ich den Einstieg in die Programmiersprache Python gemacht und mithilfe eines Lehrbuches und Herrn Schiele die Grundsätze dieser Sprache, wie Listen, Bedingungen, Methoden und Typisierung, verstanden.

Ich habe mich für Veit Schiele Communications entschieden, da ich vor habe später in dieser Branche zu arbeiten und es mir auch großen Spaß macht.

In diesen 3 Wochen habe ich es noch lange nicht geschafft die Sprache zu erlernen, wie erwähnt, es war erst der Einstieg, aber ich werde weiter an meinen Programmierfähigkeiten arbeiten und sie hoffentlich irgendwann auf ein hohes Level bringen.

Hier ist noch ein Beispiel für Buttons, die die Herkunft des Tieres, das auf dem Button steht auflistet, wenn man sie auslöst.

Button-Beispiel

Cheat Sheets für unsere Python-Seminare

Für unsere Python-Seminare haben wir Cheat Sheets erstellt, die es den SchulungsteilnehmerInnen erlauben, schnell das Gelernte wiederverwenden zu können:

Python Cheat Sheet

Python Cheat SheetPython Cheat Sheet 2

python-for-beginners-cheat-sheet.pdf, PDF, 196 KB

Pandas Cheat Sheet

Pandas Cheat SheetPandas Cheat Sheet 2

pandas-cheat-sheet.pdf, PDF, 240 KB

Unsere nächsten Python-Seminare:

Python for Beginners, Berlin, April 10–13, 2017
After this course people with little or no previous knowledge of programming will write simple programs in the Python programming language on their own and execute them.
Python für Einsteiger, Berlin, 25.–28. April 2017
Kurs um in der Programmiersprache Python einfache Programme selbst erstellen und ausführen zu können.
Data Analysis in Python, Berlin, May 03–04, 2017
After this course analysts, researchers and engineers who would like to handle larger data sets more efficiently will be able to process, summarize and visualize tabular data efficiently using the pandas library.
Datenanalyse mit Python, Berlin, 15.–16. Mai 2017
Kurs zur automatisierten Aufbereitung, Zusammenfassung und Erstellung von Diagrammen tabellarischer Daten mit Python.
Datenverarbeitung mit NumPy, Berlin, 17.–18. Mai 2017
Kurs zum Schreiben und Optimieren eigener Programme zur Datenverarbeitung mit Numpy.
Data Processing with NumPy, Berlin May 22–23, 2017
After this course analysts, researchers and engineers who would like to carry out numerical calculations on their data. will be able to write their own programs for processing data with NumPy and optimize them.

Weitere Schulungsformen

Unternehmensschulungen
Dies ist eine kostengünstige Möglichkeit für Sie, mehrere Mitarbeiter zum gleichen Thema in unseren Schulungsräumen schulen zu lassen.
Inhouse-Schulungen
Dies ist eine kostengünstige Möglichkeit für Sie, mehrere Mitarbeiter zum gleichen Thema in Ihren Schulungsräumen schulen zu lassen.
Einzelschulungen
Die bedarfsorientierte Schulung, in der wir Ihnen schnell, individuell und zu Ihrem Wunschtermin das gewünschte Wissen vermitteln.

Und falls Sie weitere Fragen zu unserem Schulungsangebot haben, rufen Sie uns gerne an unter der Telefonnummer +49 30 8185667-1 oder schreiben uns eine Mail an schulungen@veit-schiele.de.

Redundantes Live-Monitoring

In der Folge des MonitoringLove-Sprints im Juni 2013 haben wir begonnen, unser Monitoring nach und nach umzustellen um in Echtzeit relevante Informationen zu erhalten. Ein Problem des damaligen Setups war jedoch, dass es Lücken in der Aufzeichnung gab sobald ein Monitoring-Node ausfiel.

Apache Cassandra Logo

Nun haben wir mit Apache Cassandra eine Möglichkeit gefunden, diese Lücken zu schließen da sich Cassandra ggf. resynchronisiert sofern auch nur ein Node immer erreichbar ist.

Im Einzelnen setzen wir nun folgende Toolchain ein:

  1. collectd zur Erfassung der Daten
  2. riemann zur Aggregation der Events
  3. cyanite zur persistenten und redundanten Speicherung mittels Apache Cassandra und Elasticsearch.
  4. graphite-api zur Abfrage von Clients mit dem Graphite-Protokoll.

Dabei erfolgt die Netzwerkkommunikation von allen Systemen zu den Riemann-Instanzen via stunnel und von den Clients zum REST-Service mit HTTPS.

Datenschutz und Sicherheit

Lange vor der NSA-Affäre beschäftigten wir uns schon mit der Erhöhung von Datenschutz und -sicherheit von Web-Anwendungen. Hierzu luden wir bereits im August 2011 unabhängige Experten ein um mit uns gemeinsam Maßnahmen für ein. dem Bundesdatenschutzgesetz (BDSG) konformen, Web-Hosting zu erarbeiten [1].

Seitdem arbeiten wir kontinuierlich an der Verbesserung der Informationssicherheit. Hierfür erstellen wir ein Informationssicherheits-Managementsystem (ISMS), das nach der ISO 27000-Normenreihe zertifiziert wird.

Daher sind wir sehr glücklich, dass wir nun auch das Vertrauen der Gesellschaft für Datenschutz und Datensicherheit gewinnen konnten.

Damals wie heute orientieren wir uns im Wesentlichen an den in Anlage zu § 9 Satz 1 beschriebenen Maßnahmen zum Schutz personenbezogener Daten:

Zutrittskontrolle

Unbefugten ist der Zutritt zu Datenverarbeitungsanlagen, mit denen personenbezogene Daten verarbeitet oder genutzt werden, zu verwehren.

Das Hosting erfolgt über die Hostsharing eG. Deren Server sind im Alboin-Kontor in einem eigenen Cage untergebracht, für den Vor-Ort- Service nutzt die Hostsharing eG die Dienste der Sinma GmbH. Die Zutrittskontrolle zum Rechenzentrum erfolgt über die folgenden Authentifizierungs­systeme:

  • Zugangskarte
  • PIN
  • Videoüberwachung
  • Cage-Schließanlage
  • Rack-Schließanlage

Zugangskontrolle

Es ist zu verhindern, dass Datenverarbeitungssysteme von Unbefugten genutzt werden können.

Um dies zu gewährleisten, wird ein breites Spektrum an Maßnahmen getroffen. Im Einzelnen:

Zugangsrechner

  • Die Festplatten der Zugangsrechner sind verschlüsselt
  • Die darauf befindlichen SSH-Schlüssel sind zusätzlich mit einer Passphrase geschützt

Passwortverfahren

Service-User
  • Die Nutzer-Identifikation erfolgt ausschließlich über persönliche Nachweise (Credentials) sodass Aktionen immer auf eine bestimmte Person zurückgeführt werden können
  • Geteilte Berechtigungen sind nicht zulässig
  • SSH-Anmeldungen erfolgen ausschließlich mittels SSH-Keys
  • Erfolgreiche SSH-Logins werden protokolliert
  • Wechsel in Service-User mit sudo
Hosts
  1. Reguläre Zugänge

    • VPN-Zugang ausschließlich für Hostmaster der Hostsharing eG
    • Personenbezogener ssh-Zugang mit SSH-Key
    • sudo mit persönlichem Passwort
    • Zugriffe werden protokolliert
  2. Zugänge im Notfall

    • via Remote Access Cards
      • VPN-Zugang
      • Personenbezogener Login mit persönlichem Passwort
      • Login mit root-Passwort via RAC-Konsole
      • Zugriffe werden protokolliert und dokumentiert
    • via Vor-Ort-Zugriff
      • Login mit root-Passwort
      • Zugriffe werden protokolliert und dokumentiert
  3. Web services

    Web services zur Auftragsdatenverarbeitung wie JIRA, Confluence, Jenkins und Sentry versenden ausschließlich an Mailboxen der Hostsharing eG. Damit kann gewährleistet werden, dass der Transport mit TLS verschlüsselt wird. Der Abruf der Mails erfolgt ausschließlich mit TLS.

  4. Netzwerke

    Eine bessere Zugangskontrolle im Netzwerk wird gewährleistet durch die Einrichtung verschiedener physikalisch getrennter Netze oder VLANs, die durch eine Firewall im Gateway getrennt werden. Dabei werden die Netze im Wesentlichen danach unterschieden, welcher Traffic in ihnen zu erwarten ist:

    Frontend-Netzwerk

    physikalisch getrenntes Netz für allgemeine Anfragen

    Server-Netzwerk

    für die Kommunikation der Anwendungen untereinander

    Speichernetzwerk

    Punkt-zu-Punkt-Verbindung zur Replikation

    Die Festplatteninhalte werden mithilfe von DRBD in Echtzeit auf ein Standby-System (RAID 1 über das Netzwerk) repliziert.

    Dies soll sicherstellen, dass im Fall eines Hardwareschadens der Betrieb mit allen persistent gespeicherten Daten unverzüglich fortgesetzt werden kann, ohne dass durch das Einspielen des Backups Datenänderungen, die sich in der Zwischenzeit ergeben haben – etwa eingegangene E-Mails oder Datenbanktransaktionen – verloren gehen.

    Backup-Netzwerk

    SSH-Tunnel zum interxion- Rechenzentrum in Frankfurt

    Management-Netzwerk

    physikalisch getrenntes Netz an dem die Hosts, die aktiven Netzwerkkomponenten und die Remote-Access-Karten der Hosts angeschlossen sind

Zugriffskontrolle

Es ist zu gewährleisten, dass die zur Benutzung eines Datenverarbeitungssystems Berechtigten ausschließlich auf die ihrer Zugriffsberechtigung unterliegenden Daten zugreifen können, und dass personenbezogene Daten bei der Verarbeitung, Nutzung und nach der Speicherung nicht unbefugt gelesen, kopiert, verändert oder entfernt werden können.
  • Wir unterscheiden zwischen Aufgaben zur Instandhaltung der Anwendungen und privilegierten Aufgaben zur Aktualisierung und Konfiguration des Betriebssystems.
  • Benötigt ein Anwendungsentwickler zur Lösung eines Problems privilegierten Zugang, so erfolgt dies in einer Multiuser-Session mit GNU Screen oder TeamViewer zusammen mit einem Administrator.
  • Logs
    • sie werden nicht per Mail verschickt
    • Logs der Anwendungen werden im Server-Netzwerk an den Monitoring-Server übertragen
    • Systemlogs werden über TLS-Verbindungen an die internen und externen Logging-Sever übertragen

Weitergabekontrolle

Es ist zu gewährleisten, dass personenbezogene Daten bei der elektronischen Übertragung oder während ihres Transports oder ihrer Speicherung auf Datenträger nicht unbefugt gelesen, kopiert, verändert oder entfernt werden können, und dass überprüft und festgestellt werden kann, an welche Stellen eine Übermittlung personenbezogener Daten durch Einrichtungen zur Datenübertragung vorgesehen ist.

Alle personenbezogenen Daten werden ausschließlich über authentifizierte und verschlüsselte Kommunikationskanäle übertragen. Hierzu gehören auch

  • Anwendungsdaten, die von oder zu einem Nutzer per SFTP/SCP transferiert werden
  • der Transfer persistenter Daten, die auf einem Backup-Server gespeichert sind
  • Log-Dateien
    • werden zu einem zentralen Log-Server im Service-Netz übertragen
    • werden nach der Log-Retention-Period entfernt

Eingabekontrolle

Es ist zu gewährleisten, dass nachträglich überprüft und festgestellt werden kann, ob und von wem personenbezogene Daten in Datenverarbeitungssysteme eingegeben, verändert oder entfernt worden sind (Nr. 5 der Anlage zu § 9 BDSG).
  • Die Eingabe als root-Nutzer wird mit ttyrec protokolliert
  • JIRA protokolliert Änderungen an den Aufgaben in sog. Work-Logs
  • Änderungen an den Konfigurationsdateien werden in git-Repositories protokolliert

Auftragskontrolle

Es ist zu gewährleisten, dass personenbezogene Daten, die im Auftrag verarbeitet werden, nur entsprechend den Weisungen des Auftraggebers verarbeitet werden können.
  • Alle Aufgaben werden in der Auftragsverwaltung JIRA festgehalten
  • Für die Verarbeitung personenbezogene Daten ist eine Weisung des Auftraggebers erforderlich

Verfügbarkeitskontrolle

Es ist zu gewährleisten, dass personenbezogene Daten gegen zufällige Zerstörung oder Verlust geschützt sind.

Backups

  • täglich
  • Speicherung in entferntem Rechenzentrum
  • Produktivsysteme haben auf gesicherte Daten ausschließlich Lesezugriff
  • Notfallpläne, die Ausfallszenarien, Vorsorgemaßnahmen und Maßnahmen zur Beseitigung beschreiben

Trennungskontrolle

Es ist zu gewährleisten, dass zu unterschiedlichen Zwecken erhobene Daten getrennt verarbeitet werden können.
  • Die zu unterschiedlichen Zwecken erhobenen Daten werden getrennt verarbeitet
  • Verschiedene Unix-User separieren die Verarbeitung der Daten
  • Verschiedene Netzwerke trennen die Übermittlung von Daten

[1]Sicherheit und Datenschutz bei Web-Anwendungen

Live-Migrations

Hostsharing unterstützt nun Live-Migrationen der virtuellen Maschinen. Damit verringern sich die Anlässe, bei denen bisher eine Downtime eingeplant werden musste, auf ein Minimum.

Live-Migrationen ermöglichen die Migration virtueller Maschinen im laufenden Betrieb von einem physischen Host auf einen anderen ohne dass es dabei zu Ausfallzeiten kommt. Die virtuelle Maschine behält dabei ihre Netzwerkkennung und ihre Verbindungen bei, sodass ein nahtloser Übergang gewährleistet werden kann. Der aktive Speicher und der exakte Zustand der virtuellen Maschine werden über das Netzwerk übertragen, was einen schnellen Wechsel der Ausführung vom Quell- zu Zielhost gestattet. Damit ist eine Wartung und optimale Auslastung der Hardware ohne Ausfallzeit und Unterbrechung des Geschäftsbetriebs möglich.

Damit sind auch die Grundlagen geschaffen für mehrfach redundante Systeme, die über mehrere Rechenzentren verteilt sind. Hierfür werden als nächster Schritt Replikationen zwischen zwei nahegelegenen Rechenzentren getestet.

Silber-Sponsor der EuroPython 2014

Veit Schiele Communications ist Silber-Sponsor der EuroPython 2014 in Berlin
Silber-Sponsor der EuroPython 2014

Die nächste EuroPython wird vom 21. bis 27. Juli 2014 im bcc Berlin Congress Center mitten in Berlin stattfinden. Die EuroPython ist nach der PyCon US weltweit die zweitgrößte Konferenz für die beliebte Programmiersprache. Das bcc am Alexanderplatz bietet mit seinen 3000qm ideale Voraussetzungen für eine Entwicklerkonferenz. Der Veranstalter, der Python Software Verband e.V., rechnet mit bis zu 1200 Teilnehmern. Damit würde die EuroPython in Berlin den Besucherrekord von Florenz brechen. Knapp 900 Teilnehmer reisten in diesem Jahr nach Florenz, wo die EuroPython bereits zum dritten Mal in Folge stattfand.

Berlin bietet ideale Bedingungen für eine große internationale Entwicklerkonferenz. Die Stadt hat mit rund 2500 jungen Unternehmen eine große und schnell wachsende Startup-Szene. Rund 300 Universitäten, Fachhochschulen, Forschungsinstitute und Technologieparks machen Berlin zu einem der wichtigsten Wissenschafts- und Forschungsstandorte in Europa. Dank seiner reichaltigen Kulturlandschaft mit rund 180 Museen, die bedeutende internationale Sammlungen und Kunstschätze beherbergen, sowie seiner lebendigen Kunst- und Musikszene gilt Berlin als eine der pulsierendsten und kreativsten Metropolen in Europa. Die Attraktivität der Stadt und ihre hervorragende nationale und internationale Verkehrsanbindung hat Berlin auf Platz 3 der internationalen Tagungs- und Kongressmetropolen katapultiert.

Die Konferenz wird vor Ort von den Python Users Berlin, der Django User Group Berlin und den PyLadies Berlin organisiert. Mit fünf Vortrags- und zwei parallelen Tutorial-Tracks bietet die EuroPython ihren Besuchern ein prall gefülltes Programm. Der Ticketverkauf beginnt voraussichtlich im Januar.

Das Signet der EuroPython 2014 zeigt, worum es den Veranstaltern geht. Sie wollen Menschen aus ganz unterschiedlichen Bereichen miteinander ins Gespräch bringen. Python wird als Programmiersprache in Industrie- und Dienstleistungsunternehmen sowie in der Forschung und Lehre eingesetzt. Auf der EuroPython kommen Entwickler zusammen, die an faszinierenden Aufgabenstellungen arbeiten und dabei einzigartige Lösungen gefunden haben.

[Update: 10.01.2014]

Bis zum 9. Februar können Vorschläge für Vorträge, Seminare und die Poster-Sessions eingereicht werden. Die Vorträge können in English oder im Rahmen des deutschsprachigen PyCon.DE-Tracks auf Deutsch gehalten werden.

Erschließen analoger Inhalte

Für einen Kunden realisierten wir eine Lösung, mit der analoge Dokumente gescannt und anschließend automatisiert in Plone übernommen und erfasst werden können.
Erschließen analoger Inhalte

LinuxTag Berlin 2013

Die gescannten Dokumente werden durch die Textverkennung Teseract-OCR erfasst und können anschließend durch Meta-Informationen und Volltextsuche erschlossen werden. Im Einzelnen bietet unsere Lösung folgende Möglichkeiten:

  • Asynchrone Verarbeitung der Dokumente
  • Überwachung der Aufgaben
  • Direkte Anzeige verschiedener Dateiformate im Web-Browser:
    • PDF
    • Word
    • Excel
    • Powerpoint
    • HTML
    • RTF

Gerne präsentieren wir Ihnen am Freitag, 24. Mai 2013 diese Lösung auf dem Linuxtag in Berlin am Plone-Stand: ICC Berlin, Halle 7.1c, Stand 172/CMS-Garden.

Gerne können Sie auch bereits vorab einen Termin mit uns vereinbaren:

Veit Schiele
Mansteinstr. 7
10783 Berlin
Tel.: +49 30 8185667-1
www.veit-schiele.de

Sponsoring der Python Users Berlin Meetups

Veit Schiele Communications ist neuer Sponsor der Python Users Berlin Meetups.
Sponsoring der Python Users Berlin Meetups

Veit Schiele Communications

Seit vielen Jahren organisieren wir die monatlichen Treffen der Python Users Berlin. Durch meetup.com konnte die Community im letzten halben Jahr einen deutlichen Zuwachs verzeichnen. Daher entschieden wir uns, die Meetups der Python Users Berlin zukünftig zu unterstützen.

Dabei verfügt Veit Schiele Communications über langjährige Erfahrung im Community Management von Open Source Software, so z.B. für den Python Software Verband, die deutschsprachige Zope User Group (DZUG) und Pydica.

World Plone Day 2013 am 24. April in Berlin

Zum World Plone Day 2013 am Mittwoch dem 24. April waren alle Interessierten herzlich eingeladen, mit uns an diesem Tag die neuesten Entwicklungen rund um das Content Management System Plone zu erkunden.
World Plone Day 2013 am 24. April in Berlin

WPD 2013 Berlin

Der WorldPloneDay war mit 15 Personen gut besucht und die folgenden Themen fanden reges Interesse:

Was ist neu in Plone 4.3?

Plone 4.3 brint weitere Erleichterungen in der Bedienbarkeit:

Und auch für Plone-Entwickler vereinfachte sich einiges:

Unicode-IDs in Zope

Ein Kunde von uns hatte in einer Plone-Site mit Reflecto die Schwierigkeit, dass Dateien mit Unicode-Namen nicht angezeigt wurden. Dieses Problem haben wir nun behoben mit experimental.utf8id. Es gibt in Plone jedoch weitere Validatoren für die Objekt-IDs, die nun z.T. korrigiert wurden.

Mehr: UTF-8-URLs

XMPP-Integration in Plone

Für das Intranet eines unserer Kunden haben wir als ersten XMPP-Service einen Chat realisiert, in dem sich Mitarbeiter schnell in Plone zu bestimmten Aufgaben austauschen können.

Zukünftig soll über das XMPP-Protokoll auch das gemeinsame Editieren von Dokumenten in Echtzeit realisiert und so eine bessere Zusammenarbeit der Mitarbeiter ermöglicht werden.

Mehr:

Diazo-Bootstrap-Framework und vs.bootstrap.plonetheme

Diazo ist ein XSLT-Server, der die Gestaltung beliebiger Web-Anwendungen erlaubt. Er erlaubt auch die Integration von Inhalten verschiedener Web-Anwendungen auf einer Seite. Damit ist er z.B. ideal für Intranets geeignet, in denen hochspezialisierte Anwendungen mit einem einheitlichen Look & Feel integriert werden sollen. Twitter Bootstrap ist ein Frontend- Framework für effizient und einfach zu bedienende Web-Anwendungen.

Mehr: Diazo-Bootstrap-Framework veröffentlicht

Datenschutzkonformes Web-Hosting

Wir haben in unserem Hosting-Angebot in letzter Zeit einige Maßnahmen getroffen, sodass wir nun den Erfordrnissen des deutschen Bundesdatenschutzgesetz (BDSG) noch besser genügen.

Mehr: Verbesserte Umsetzung des Bundesdatenschutzgesetz in unserem Hosting-Angebot

Schließlich wurden beim Buffet die Diskussionen bis in die Abendstunden weitergeführt.

Was ist neu in Plone 4.3?

Mit Plone 4.3 wird das Arbeiten für Autoren und Website-Administratoren von Plone noch einfacher: Sowohl das Erstellen von Inhalten wie auch das Gestalten der Site ist einfacher geworden. Im Folgenden beschreiben wir die vier wichtigsten Änderungen aus unserer Sicht:
Was ist neu in Plone 4.3?

Plone 4.3

Erweiterte Syndizierung

Plone stellt schon seit langer Zeit für Ordner und Kollektionen einen RSS-Feed zum Abonnieren zur Verfügung. Mit der Version 4.3 sind nun noch weitere RSS-Formate hinzugekommen und zwar

  • RSS 2.0
  • Atom
  • iTunes
  • NewsML 1.2

So zeigt z.B. Firefox die verschiedenen Feeds in den Seiteninformationen an:

Feeds

Ein weiterer Vorteil von Plone 4.3 ist auch, dass die Feeds auch den Haupttext eines Artikels ausliefern können. Damit können nun RSS-Feeds out-of-the-box zur Verteilung der Inhalte auf anderen Websites verwendet werden.

In-Plone Theme-Editor

Mit dem neuen In-Plone Theme Editor ist es möglich, völlig neue Diazo-Themes auf der Web-Oberfläche zu erstellen. Und selbstverständlich lassen sich mit dem neuen Editor auch bestehende Themes anpassen.

In-Plone Theme-Editor

Aktualisierter WYSIWYG-Editor

Den WYSIWYG-Editor erhalten Autoren beim Erstellen und Ändern der Haupttexte eines Artikels. Mit der neuen Version dieses Editors erhalten Sie

  • verbesserte Unterstützung für den Internet Explorer
  • verbesserte Performance
  • bessere Unterstützung für Barrierearmut nach WAI-ARIA
  • bessere Unterstützung für Dexterity-Artikeltypen
  • HTML5-Unterstützung z.B. zum Einbinden von externen Videos

Videos einbinden

Dexterity-Framework

Das Dexterity-Framework erleichtert die Erstellung neuer Artikeltypen:

Dexterity-Felder

Resümee

Diese vier Vorteile von Plone 4.3 sollten gute Gründe sein, um Ihre Website zu aktualisieren. Darüberhinaus ist Plone 4.3 ressourcenschonender da der WYSIWYG-Editor Kupu wegfiel und die kinetic style sheets (KSS) durch jQuery-Funktionen ersetzt wurden. Wir haben auch bereits einige Erfahrungen mit der Migration auf Plone 4.3 gesammelt und in unserem Plone- Entwicklerhandbuch dokumentiert: Update für Plone 4.3.

Living Style Guides

Living Style Guides sind aus CSS-Dateien generierte Styleguides.
Living Style Guides

Vorteile

Konsistenz
Die generierten Styleguides stimmen exakt mit der Code-Basis überein. Testbarkeit Mit einem einheitlichen Styleguide wird sehr schnell deutlich, an welchen Stellen das Design Brüche aufweist, da die verschiedenen Komponenten einfach auf verschiedene Rasterweiten, Ausgabegeräte, Browser etc. überprüft werden können.
Verbesserte Zusammenarbeit
Ein generierter Styleguide gibt einen Überblick über das gesamte Erscheinungsbild einer Site, nicht nur einer einzelnen HTML-Seite. Damit lassen sich viel einfacher die relevanten Gestaltungsregeln angeben.
Gemeinsames Vokabular
Das gemeinsame Vokabular, das sich aus den Namen der Komponenten ergibt, verbessert die Verständigung zwischen Kunden, Designern und Web-Entwicklern.
Referenz
Eine generierter Styleguide ist auch für die Redakteure der Site hilfreich, da sie einen vollständigen Überblick über die möglichen Auszeichnungen erhalten.

Prozess

Dont’t build pages, build a system of components!

Fiona Chan, 28. März 2013

Wie sieht unser Design-Prozess nun im Einzelnen aus:

  1. Analyse der Website

    • Typographie
    • Links
    • Listen
    • Boxen und Hintergrund
    • Buttons

    Buttons

    • Formulare

    Formulare

  2. Erstellen der Komponenten

    Hier das Beispiel des GitHub CSS Styleguide:

    styles
    ├── components
    │   ├── comments.scss
    │   └── listings.scss
    ├── globals
    │   ├── browser_helpers.scss
    │   ├── responsive_helpers.scss
    │   ├── variables.scss
    ├── plugins
    │   ├── jquery.fancybox-1.3.4.css
    │   └── reset.scss
    ├── sections
    │   ├── issues.scss
    │   ├── profile.scss
    └── shared
        ├── forms.scss
        └── markdown.scss
    
  3. Pflege

    Da die CSS-Dateien, aus denen der Styleguide generiert wird, in einem Versionsverwaltungssystem gespeichert werden, lassen sich Aktualisierungen sehr kontrolliert durchführen.

    Auch das umfassende Testen der CSS-Dateien mit neuen Ausgabegeräten und Browsern wird deutlich vereinfacht.

Verbesserte Umsetzung des Bundesdatenschutzgesetz in unserem Hosting-Angebot

Wir haben in unserem Hosting-Angebot in letzter Zeit einige Maßnahmen getroffen, sodass wir nun den Erfordrnissen des deutschen Bundesdatenschutzgesetz (BDSG) noch besser genügen.

Der Zweck des Gesetzes ist in § 1 Absatz 1 BDSG beschrieben als Schutz des Einzelnen vor der Beeinträchtigung seiner Persönlichkeitsrechte beim Umgang mit seinen personenbezogenen Daten. Im folgenden beschreiben wir die von uns getroffenen Maßnahmen zur Einhaltung des Bundesdatenschutzgesetzes, anhand der dort angegebenen Kategorien:

Zutrittskontrolle

Die Hostsharing-Produktiv-Systeme befinden sich innerhalb des Rechenzentrums in einem gesondert gesicherten Bereich und sind nur für Mitarbeiter der Hostsharing e.G. und. der ISP eG zugänglich.

Zugangskontrolle

Unbefugten ist die Nutzung von Datenverarbeitungssystemen, mit denen personenbezogene Daten verarbeitet oder genutzt werden, zu verwehren.

Um eine solche Zugangskontrolle zu gewährleisten, haben wir folgende Maßnahmen getroffen:

  • Alle Management-Zugänge zu den von uns bereitgestellten Services erfolgen verschlüsselt.
  • Die Nutzer-Identifikation wird ausschließlich über persönliche Nachweise (Credentials) ermöglicht, sodass Aktionen immer auf bestimmte Person zurückgeführt werden können. Es werden keine geteilten Berechtigungen von uns vergeben.
  • Wir weisen unsere Nutzer darauf hin, dass sie ihre Passwörter sicher aufbewahren sollen, sodass ein unauthorisierter physikalischer oder logischer Zugang zu Passwort-Speichern (z.B. dem Home-Verzeichnis des Laptops, Schlüssel- und Passwort-Verwaltungssoftware, Backups, USB-Sticks, Smartphones etc.) nicht zu kompromitierten Passwörtern führen sollte.
  • Die Maschinen erlauben die Anmeldung als root-Nutzer, die Hostsharing e.G. sichert jedoch zu, dass diese Aktionen zuverlässig dokumentiert werden.
  • Die SSH-Anmeldungen für die Services erfolgen mittels SSH-Keys.
  • Erfolgreiche SSH-Logins werden protokolliert.
  • Die Einrichtung verschiedener VLANs gewährleistet eine bessere Zugangskontrolle im Netzwerk, da sie durch eine Firewall im Gateway getrennt werden. Dabei unterscheiden sich die Netze im Wesentlichen durch die Art des Traffic, der zu erwarten ist.

Weitergabekontrolle

Es ist zu gewährleisten, dass personenbezogene Daten bei der elektronischen Übertragung oder während ihres Transports oder ihrer Speicherung auf Datenträger nicht unbefugt gelesen, kopiert, verändert oder entfernt werden können und dass überprüft und festgestellt werden kann, an welche Stellen eine Übermittlung personenbezogener Daten durch Einrichtungen zur Datenübertragung vorgesehen ist.

Alle personenbezogenen Daten werden ausschließlich in einem authentifizierten und verschlüsselten Kommunikationskanal übertragen. Hierzu gehören auch

  • Anwendungsdaten, die von oder zu einem Nutzer per SCP/SFTP transferiert werden.
  • Sicherungskopien werden zu Backup-Servern über einen SSH-Tunnel übertragen. Auf das Backup-Archiv kann der Service dann nur noch lesend zugreifen. Zukünftig sollen die Sicherungskopien vor der Übertragung mit reverse encfs verschlüsselt und so auf dem Zielsystem gespeichert werden.
  • Das von uns zur Web-Analyse bereitgestellt Piwik ist so konfiguriert, dass es datenschutzkonformes Tracking ermöglicht.
  • Log-Dateien können vom Backup ausgenommen werden, sodass sich die Speicherung ggf. personenbezogener Daten nicht um die Anzahl der Tage verlängert, die diese Backups aufbewahrt werden.

Eingabekontrolle

Es ist zu gewährleisten, dass nachträglich überprüft und festgestellt werden kann, ob und von wem personenbezogene Daten in Datenverarbeitungssysteme eingegeben, verändert oder entfernt worden sind.

Wir vergeben nur personenbezogene Benutzerzugänge. Werden weitere Nutzerzugänge durch unsere Kunden angelegt, so haben sie dies selbst zu gewährleisten.

Somit lassen sich in den Log-Dateien bis zu deren Löschung zumindest die Anmeldungen an der Anwendung nachweisen. Darüberhinaus werden für die Plone- Sites die folgenden Imformationen bis zum Packen der Datenbank gespeichert:

  • der physikalische Pfad des Objekts, das geändert wurde
  • die URL des Objekts,das geändert wurde
  • der Kommentar zu der Transaktion, die von der Anwendung bereitgestellt wird
  • die Uhrzeit der Transaktion

Auftragskontrolle

Es ist zu gewährleisten, dass personenbezogene Daten, die im Auftrag verarbeitet werden, nur entsprechend den Weisungen des Auftraggebers verarbeitet werden können.

Diese Weisung wird bei uns in Form eines Vertragsbestandteils oder einer spezifischen Support-Anfrage gewährleistet. Zudem werden individuelle Änderungsanfragen in einer Auftragsverwaltung festgehalten.

Verfügbarkeitskontrolle

Es ist zu gewährleisten, dass personenbezogene Daten gegen zufällige Zerstörung oder Verlust geschützt sind.

Hardware

  • Aktuell werden DELL PowerEdge R610 und R710 mit Hardware RAID und Hot Standby (Echtzeitspiegelung auf ein Ersatzsystem angeboten.
  • Für die Hardware besteht ein Service Level Agreement (SLA) mit DELL, welches die on-site-Problembehebung binnen vier Stunden rund um die Uhr zusichert.

Hot-Standby

  • Dies verringert die Ausfallzeiten und Datenverluste in den folgenden Szenarien:
    • Kernel-Updates
    • Reparaturen
    • Vollständiges Backup zurückspielen

Verfügbarkeitsmessungen

Es werden regelmäßige Messungen durchgeführt, mit denen die Verfügbarkeit belegt werden kann.

Backup-Plan

Es werden tägliche Backups aller Produktiv-Daten angefertigt und in einem anderen Rechenzentrum gespeichert. Die Produktivsysteme haben auf gesicherte Daten ausschließlich Lesezugriff.

Notfallplan

Unser Notfallplan beschreibt Ausfallszenarien, Vorsorgemaßnahmen und Maßnahmen zur Beseitigung.

Trennungskontrolle

Es ist zu gewährleisten, dass zu unterschiedlichen Zwecken erhobene Daten getrennt verarbeitet werden können.

  • Über virtuelle Maschinen wird die Verarbeitung und Speicherung der Daten separiert.

  • Darüberhinaus werden Maschinen (virtuelle und physikalische) in zwei getrennten Access-Rings separiert:

    • Ein Ring für Infrastrukturaufgaben, der die Daten verschiedener Nutzer verarbeitet und zu dem nur Administratoren Zugang erhalten

    • En Ring mit den Anwendungen der Nutzer.

      Innerhalb dieses Rings werden alle Ressourcen, die logisch zusammengehören (z.B. VMs, Storages etc.) und die dasselbe Set von Zugängen und Berechtigungen teilen, separiert.

Piwik-1.10.1-Update

Die Aktualisierung des Piwik-Web-Analyse-Werkzeugs brachte u.a. auch zwei neue Plugins: Overlay und Annotations.
Piwik-1.10.1-Update

Piwik Web-Analyse

Overlay

zeigt die Analyse der Links als Überlagerung der aktuellen Seite.

Overlay

Annotations

erlaubt das Hinzufügen von Notizen zu bestimmten Tagen mit denen Sie Änderungen an Ihrer Website markieren können.

Annotations

Piwik-1.11.1-Update

Die Aktualisierung des Piwik-Web-Analyse-Werkzeugs brachte u.a. neue Übersichtskarten und die Analyse der von den Besuchern eingestellten Browsersprache.
Piwik-1.11.1-Update

Piwik Web-Analyse

Piwik 1.11 enthält neue Übersichtskarten, die die Besucherländer in einen bestimmten Zeitraum anzeigen. Dabei kann die Ansicht in bestimmte Regionen oder Länder zoomen. Die Karten werden mit Hilfe des mit Python und Javascript entwickelten Kartograph-Frameworks erstellt. Die Karten werden im SVG-Format angezeigt, so dass Piwik jetzt komplett ohne Flash auskommt.

Visitors map

Update des Diazo-Bootstrap-Frameworks

Das Framework erlaubt das einfache Erstellen und Anpassen des Twitter-Bootstrap-Theme für verschiedene Web-Anwendungen.

Beispielanwendungen

Mit der Aktualisierung kommen nun zwei Beispiele für die Gestaltung des CMS Plone und des Sphinx Documentation Generator mit.

Vereinfachte Installation

Die Installation, auch der Anforderungen von Bootstrap, erfolgen nun vollständig mit Buildout, Damit reduzieren sich die Voraussetzungen auf die Folgenden:

Weitere systemspezifische Informationen zur Installation erhalten Sie unter Operating system specific instructions.

Einfache Übernahme aus Bootstrap

Durch den Umzug unseres Repository zu github können Änderungen im Bootstrap-Projekt einfach durch git merge in unser Framework übernommen werden. Weitere Informationen hierzu erhalten Sie unter Bootstrap-Updates.

Nächste Schritte

Herunterladen und Installieren

Sie finden eine Anleitung für die Installation und erste Schritte im README.

Beratung

Gerne beraten wir Sie bei der Einführung des Diazo-Bootstrap-Frameworks. Unsere Erfahrungen bei der Vorgehensweise und bei der Auswahl der Services geben wir gerne an Sie weiter.

Online-Demo

In naher Zukunft werden Sie unsere Demosite mit dem Intranet-Beispiel aus dem Diazo-Bootstrap-Framework ausprobieren können.

Testinstanz

Wir können Ihnen gerne eine Testinstallation einrichten. Eine solche Testinstanz umfasst die Installation des nach Ihren Vorgaben konfigurierten Portals sowie einen eintägigen Workshop für Administratoren der Web-Anwendung. So lernen Sie in kurzer Zeit das Framework vollständig kennen und können im Anschluss an diesen Workshop die Testinstanz sofort und umfassend testen. Falls von Ihnen gewünscht, können wir auch die Gestaltung nach Ihren Wünschen anpassen. Für eine solche Testinstanz erstellen wir Ihnen gerne ein individuelles Angebot.

Kostenschätzung

Sie sind interessiert an unserem Diazo-Bootstrap-Framework und möchten gerne wissen, welche Kosten gegebenenfalls auf Sie zukommen? Gerne schätzen wir auf Anfrage die Aufwände für die Konfiguration, Anpassung und Neuentwicklung.

Kontaktieren Sie uns!

Gerne stehen wir Ihnen für weitere Fragen über unser Kontaktformular oder telefonisch unter der Nummer 030 8185667-1 zur Verfügung.

XMPP-Integration in Plone

XMPP-Integration in Plone

Für das Intranet eines unserer Kunden haben wir als ersten XMPP-Service einen Chat realisiert, in dem sich Mitarbeiter schnell in Plone zu bestimmten Aufgaben austauschen können.

Realisation

Im Einzelnen wurden die folgenden technischen Anforderungen realisiert:

Ausblick

Zukünftig soll über das XMPP-Protokoll auch das gemeinsame Editieren von Dokumenten in Echtzeit realisiert und so eine bessere Zusammenarbeit der Mitarbeiter ermöglicht werden.

Diazo-Bootstrap-Framework veröffentlicht

Das Framework erlaubt das einfache Erstellen und Anpassen des Twitter-Bootstrap-Theme.

Diazo

Diazo ist ein XSLT-Server, der die Gestaltung beliebiger Web-Anwendungen erlaubt. Er erlaubt auch die Integration von Inhalten verschiedener Web-Anwendungen auf einer Seite. Damit ist er z.B. ideal für Intranets geeignet, in denen hochspezialisierte Anwendungen mit einem einheitlichen Look & Feel integriert werden sollen.

Twitter Bootstrap

Twitter Bootstrap ist ein Frontend-Framework für effizient und einfach zu bedienende Web-Anwendungen.

Dabei unterstützt Bootstrap nicht nur die aktuellen Desktop-Browser (einschließlich IE/), sondern funktioniert auch auf Tablet- und Smartphone-Browsern mit Responsive-CSS.

Diverse Javascript-Plugins unterstützen die Erstellung von effizienten User-Interfaces, z.B. durch modale Dialoge, Menüleisten und Reiter-Navigationen.

Twitter Bootstrap ist optimiert, um performant auf Nutzer-Interaktionen reagieren zu können. Dabei liefert das Frontend viele visuelle Rückmeldungen an die Nutzer, sodass die Anwendungen sicher und einfach bedient werden können.

Einfache Wartung und Pflege

Twitter-Bootstrap verwendet LESS CSS, das die dynamische Generierung von Stylesheets erlaubt.

Mit dem Diazo-Bootstrap-Framework lässt sich das Design von Bootstrap leicht an die eigenen Bedürfnisse anpassen. Dabei werden jedoch nicht die Bootstrap-eigenen Dateien geändert sondern ggf. überschrieben. So lassen sich einfach Updates des sich schnell entwickelnden Twitter-Bootstrap-Framework übernehmen.

Beispiele

Initial wird das Framework mit einer exemplarischen Gestaltung für ein Intranet auf Basis von Plone ausgeliefert. Dabei sind die Funktionen übersichtlich in einer Menüleiste zusammengefasst.

Weitere Beispiele sind geplant, die den breiten Anwendungsbereich des Diazo-Bootstrap-Frameworks verdeutlichen sollen.

Nächste Schritte

Herunterladen und Installieren

Sie finden eine Anleitung für die Installation und erscte Schritte unter Diazo-Buildout mit bootstrap-Theme.

Beratung

Gerne beraten wir Sie bei der Einführung des Diazo-Bootstrap-Frameworks. Unsere Erfahrungen bei der Vorgehensweise und bei der Auswahl der Services geben wir gerne an Sie weiter.

Online-Demo

In naher Zukunft werden Sie unsere Demosite mit dem Intranet-Beispiel aus dem Diazo-Bootstrap-Framework ausprobieren können.

Testinstanz

Wir können Ihnen gerne eine Testinstallation einrichten. Eine solche Testinstanz umfasst die Installation des nach Ihren Vorgaben konfigurierten Portals sowie einen eintägigen Workshop für Administratoren der Web-Anwendung. So lernen Sie in kurzer Zeit das Framework vollständig kennen und können im Anschluss an diesen Workshop die Testinstanz sofort und umfassend testen. Falls von Ihnen gewünscht, können wir auch die Gestaltung nach Ihren Wünschen anpassen. Für eine solche Testinstanz erstellen wir Ihnen gerne ein individuelles Angebot.

Kostenschätzung

Sie sind interessiert an unserem Diazo-Bootstrap-Framework und möchten gerne wissen, welche Kosten gegebenenfalls auf Sie zukommen? Gerne schätzen wir auf Anfrage die Aufwände für die Konfiguration, Anpassung und Neuentwicklung.

Kontaktieren Sie uns!

Gerne stehen wir Ihnen für weitere Fragen über unser Kontaktformular oder telefonisch unter der Nummer 030 8185667-1 zur Verfügung.

Update – 27. November 2012: Die aktuelle Version des Diazo-Bootstrap-Frameworks vereinfacht die Installation erheblich und auch die Übernahme von Bootstrap-Aktualisierungen ist nun deutlich vereinfacht worden. Weitere Informationen zu diesem Update erhalten Sie unter Update des Diazo-Bootstrap-Frameworks.

Benutzerhandbuch aktualisiert für Plone 4.2

Benutzerhandbuch aktualisiert für Plone 4.2

Plone-Benutzerhandbuch

Das Plone-Beutzerhandbuch wurde aktualisiert für die gerade eben neu erschienene Plone Version 4.2.

Dabei wurde vor allem auf die überarbeitete Oberfläche zum Erstellen von Kollektionen und die überarbeitete Suche eingegangen.

Das Plone-Benutzerhandbuch für die Version 4.1 ist ebenfalls weiterhin verfügbar.

Veit Schiele Communications GmbH gegründet

Zum 1.Mai 2011 wurde die Veit Schiele Communications GmbH gegründet um unsere Kunden zukünftig noch umfassender unterstützen zu können.

Ab sofort werden die Akquise und Abwicklung neuer Software-Projekte ausschließlich über die Veit Schiele communications GmbH realisiert werden. Das dahinter stehende Know-how und die Technik werden Ihnen erhalten und sogar weiter ausgebaut werden.

Die Geschäftsfelder der neu gegründeten Veit Schiele Communications GmbH werden sich nicht grundlegend von unseren bisherigen Aufgaben unterscheiden. Wie werden weiterhin für unsere Kunden in den Bereichen

  • Beratung bei der Optimierung von Geschäftsprozessen
  • Erstellung individueller Software zur Unterstützung Ihrer Geschäftsprozesse
  • Unterstützung bei der Einführung der Software in Ihrem Unternehmen, sodass eine hohe Akzeptanz der Nutzer erreicht werden kann.

Als zentraler Ansprechpartner wird Ihnen auch weiterhin Veit Schiele zur Verfügung stehen, der nun auch die neugegründete Veit Schiele Communications GmbH leiten wird.

Qualitätsmanagement im Gesundheitswesen

Mit GREEN & IBEX beraten wir einen der führenden Anbieter von Dienstleistungen zur Einführung und Umsetzung von Qualitätsmanagementlösungen im Gesundheitswesen.

Weitere Expertise gewannen wir bei der Beratung zur Balanced Scorecard der Immanuel Diakonie Group.

Veit Schiele Communications ist Silber-Sponsor der PyCon DE 2012

Die PyCon DE findet dieses Jahr in Leipzig vom 29. Oktober bis 3. November 2012 statt. Trainings, zahlreiche Vorträge und Sprints machen die Woche für Python-Entwickler zu einem Highlight des Jahres.
Veit Schiele Communications ist Silber-Sponsor der PyCon DE 2012

Veit Schiele Communications ist Silber-Sponsor der PyConDE 2012

Internationale Referenten machen die PyConDe in Leipzig zu einem bedeutenden Ereignis.

Zu den Sprechern gehören unter anderen

Steve Holden
Chairman der Python Software Foundation (PSF) von 2008 bis 2012

Und wir sind mit folgenden Vorträgen auf der PyCon DE vertreten:

Stefania Trabucchi: Twitter Bootstrap – Schweizer Messer für Web-Anwendungen? Toolkit zur Gestaltung von (Python-)Webanwendungen am Beispiel von Plone

Dienstag, 30. Oktober, 12.00–12.30 Uhr

Twitter Bootstrap, Diazo und Buildout bieten in ihrer Kombination eine ideale Möglichkeit, mit geringem Aufwand und nachhaltiger Wirkung Lösungen für das Responsive Webdesign bei Verwendung von Plone, Django oder anderen Web-Anwendungen zu realisieren.

Andreas Jung: Getting Things Done – Pragmatische Projekte mit Plone

Dienstag, 30. Oktober, 14.00–15.00 Uhr

Der Vortrag wird Techniken beleuchten, die uns in unseren Projekten erleichtert, die Balance zwischen Budget und Qualität zu finden.

Daniel Szoska: Pydica – eine Open-Source-Plattform zum Scannen und Validieren von Formularen in Python

Donnerstag, 1. November, 9.00–9.30 Uhr

Pydica steht für Python Distributed Capture und ist eine Plattform, mit der die verteilte Verarbeitung ausgefüllter Formulare vom Scannen über die OCR bis hin zur anschließenden Validierung möglich ist. Dabei stellen wir auch unser Sicherheitskonzept vor und besprechen einen konkreten Anwendungsfall.

Veit Schiele, Christian Theune: Python Web Sprints

Donnerstag, 1. November, 9.00–9.30 Uhr

Seit April 2011 finden regelmäßig dreitägige Sprints zu verschiedenen Themen rund um Python-Web Anwendungen statt. Dabei geht es meist nicht um die schnelle Implementierung spezifischer Features sondern um grundlegende, von den Beteiligten mitgetragene Konzepte. Meist wird auch nicht an einzelnen Komponenten, sondern an einer Toolchain zur Lösung konkreter Probleme gearbeitet. Schließlich werden die Ergebnisse in einer Anwenderdokumentation festgehalten.

Christian Tismer: Multipage-TIFFs lesen und schreiben

Donnerstag, 1. November, 11.00–11.30 Uhr

Tiffany ist ein kleines Modul, das einige Probleme bei der Behandlung von Multipage-TIFFs löst. Tiffany ist im Rahmen unseres DiDoCa-Projekts entstanden, hat jedoch keine Abhängigkeiten und Binaries. Tiffany wird demnächst unter einer Public License im PyPI veröffentlicht.

Infopoint

Sie finden uns während der gesamten Konferenz an unserem Infopoint im Foyer. Wir würden uns freuen, wenn wir Sie auf der PyConDE 2012 begrüßen dürften!

Kontakt

Veit Schiele Communications GmbH
Mansteinstr. 7 · D–10783 Berlin
Tel.: +49 30 8185667-1
Fax: +49 30 8185667-3

Weitere Informationen zur PyCon DE 2012

Responsive Webdesign-Framework veröffentlicht

Diazo-Buildout mit bootstrap-Theme ist ein Framework, das die Erstellung von Responsive Webdesigns deutlich vereinfacht.

Diazo, Buildout und Bootstrap bieten eine ideale Möglichkeit, mit geringem Aufwand ein Responsive Webdesign für Plone und andere Web-Anwendungen zu realisieren.

Buildout
automatisiert Download, Installation und Konfiguration von Python-Modulen.
Diazo

XSL-Transformation-Server, de die Gestaltung beliebiger Web-Anwendungen erlaubt.

diazo

Twitter Bootstrap

Web-User-Interface-Framework, das den CSS-Generator less und UglifyJS verwendet.

bootstrap-dropdowns

Ein eigenes Theme kann dann einfach begonnen werden mit der Anpassung der Standardvariablen des Bootstrap-Styles.

EasyNewsletter-Dokumentation

EasyNewsletter-Dokumentation

Plone-Nutzerhandbuch

Das Plone-Nutzerhandbuch wurde erweitert um die Anleitung zum Erstellen eines Newsletters in einer Plone-Site mit EasyNewsletter.

Die Anleitung umfasst folgende Kapitel:

Unsere Website mit flexiblem Design

Pünktlich zur Plone-Konferenz 2012 in München erscheint unsere Website in neuem Gewand.

Flexibles User Interface Design

Die Site passt sich nun den Anzeigen aller gängigen Ausgabegeräte an – ob Smartphone, Tablet, Laptop oder Wide-Screen-Monitor. Somit erhalten die Nutzer immer die optimale Anzeige für ihr Gerät. Sollten Sei gerade an Ihrem Desktop-Rechner sitzen können Sie einen ersten Eindruck der Website mit Screenfly erhalten.

Technik

Responsive Web Design

Um ein solch effektives User Interface schnell erstellen zu können, verwendeten wir folgende Techniken des Responsive Web Design:

Diazo

Das Theme wurde erstellt mit dem XSL-Transformator Diazo. Dieser bietet die Möglichkeit, verschiedenen Web-Anwendungen eine gemeinsame Gestaltung zu geben – der Nutzer muss nicht mehr wissen, in welcher Anwendungg er welche Informationen findet, ja selbst eine gemeinsame Navigation über mehrere Anwendungen hinweg ist möglich.

Wie Sie Ihr eigenes Theme mit Diazo erstellen können ist beschrieben in unserem Plone-Entwicklerhandbuch. Und damit Sie sich die Dateien, mit denen unser Theme erstellt wurde, genauer anschauen können, haben wir es Ihnen hier zur Verfügung gestellt: vs-theme.tgz.

Veit Schiele Communications ist Silber-Sponsor der ersten Deutschen Plone-Konferenz

Die Plone Konferenz München 2012 findet vom 22. bis 24. Februar 2012 in München statt. Trainings, zahlreiche Vorträge und der Sprint machen die Woche zu einem Highlight des Jahres.
Veit Schiele Communications ist Silber-Sponsor der ersten Deutschen Plone-Konferenz

Plone Konferenz München 2012

Internationale Referenten machen die Plone-Konferenz in München zu einem bedeutenden Ereignis. Zu den Sprechern gehören unter anderen

  • Alan Runyan (USA), einer der Gründer von Plone
  • Matt Hamilton (UK), der Präsident der Plone Foundation
  • Elizabeth Leddy (USA) vom Plone Framework Team

Und auch wir sind mit Vorträgen auf der Plone-Konferenz vertreten:

Mittwoch, 22. Februar 2012, 14:15 Uhr

Veit Schiele: Integration verschiedener Webanwendungen

Moderne Intranets und Mitarbeiterportale setzen sich heute meist aus sehr spezifischen Fachanwendungen zusammen. Um den Anwendern dennoch ein flüssiges Arbeiten zu ermöglichen, werden diese Dienste mit XSL-Transformatoren wie Deliverance oder Diazo in einer gemeinsamen Oberfläche integriert. Auch die mühsame Anmeldung an jeder einzelnen Anwendung wird ersetzt, z.B. durch Single Sign On (SSO) oder einen Central Authentication Service (CAS). Schließlich wird die Suche über verschiedene Web-Anwendungen ermöglicht mit Solr.

Donnerstag, 23. Februar 2012, 14:15 Uhr

Andreas Jung: Von Plone zum eBook oder PDF – Dokumentieren und Publizieren aus Plone und mit Plone

Informationen sollten innerhalb einer Institution nach Möglichkeit nicht redundant gespeichert werden. Die gleiche Informationsquelle (Single Source) kann für verschiedene Ausgabekanäle und Medien verwendet (Multi-Channel) werden. Der Vortrag präsentiert ein System für Single-Source Multi-Channel Publishing mit Plone. Die Inhalte eines Content-Management-Systems wie Plone können sowohl zur Generierung qualitativ hochwertiger PDF Produkte verwendet werden aber auch zur Generierung von elektronischen Büchern (eBooks). In dem Vortrag wird die Gesamtarchitektur der Produce & Publish-Plattform beleuchtet und anhand von einigen realisierten Projekten die Möglichkeiten der Plattform erklärt. Produce & Publish ist eine komponentenbasierte Software-Lösung, die zum einen als Komplettlösung alle Produktionsabläufe in einem System realisiert und sich zum anderen durch seine offene und plattform-unabhängige Architektur in eine beliebige IT-Landschaft integriert und bei Bedarf individuell angepasst und erweitert werden kann.

Das weitere Vortragsprogramm erhalten Sie auf der Konferenz-Website: Programm.

Wir würden uns freuen, wenn wir Sie auf der Plone Konferenz München 2012 begrüßen dürften!

ePublishing-Projektportfolio erweitert

Zukünftig entwickeln wir die auf dem CMS Plone basierenden Lemma-Verwaltungssysteme (LVS) des Schäffer-Poeschel-Verlags weiter.
ePublishing-Projektportfolio erweitert

Diese LVS werden u.a. für folgende Publikationen verwendet:

Diese LVS verwalten im Wesentlichen die Inhalte zu Lemmata, Autoren, Bänden und Fachgebieten.

Redaktionssystem

Damit erweitern wir unser bestehendes Projektportfolio im Bereich ePublishing um ein umfangreiches Redaktionssystem mit folgenden Komponenten:

Detailliertes Berechtigungs- und Workflow-Konzept
Die Dokumente durchlaufen definierte Stadien bis zu ihrer Veröffentlichung. Für jedes Stadium ist exakt definiert, wer welche Berechtigungen hat. Dabei erhalten alle beteiligten Mitarbeiter über die ihnen zugewiesenen Rollen ihre jeweiligen Berechtigungen.
Statusberichte
Berichte stellen den Projektfortschritt übersichtlich zusammen.
Versions- und Variantenverwaltung
Die Versionsverwaltung gibt einen Überblick, wer welche Änderungen zu welchem Zeitpunkt durchgeführt hat. Selbstverständlich kann auch zu früheren Versionen zurückgekehrt werden. Für die Wiederverwendung in unterschiedlichen Publikationen können auch mehrere Varianten gleichzeitig bereitgestellt werden.
Prozesssicherheit
Die Daten können als XML-Dateien exportiert und von anderen Anwendungen weiterverarbeitet werden.

Single-Source Publishing

Dies erweitert unser bisheriges Projektportfolio im Bereich ePublishing erheblich: Bisher entwickelten wir im Wesentlichen zusammen mit unserem Partner ZOPYX die Produce & Publish-Plattform als Single-Source Multi-Channel-Umgebung zur Erstellung von Web-Inhalten wie auch von hochwertigen PDF- und eBook-Dokumenten.