DMS und JCR
Der effektive Umgang mit Content wird immer mehr zu einem wichtigen Faktor im Unternehmen. Gleichzeitig lösen neuere Technologieentwicklungen wie Java und .NET ältere Konzepte ab und Ideen wie SOA halten Einzug in die Überlegung moderner Unternehmen. Dem stehen gewachsene IT-Landschaften in Unternehmen entgegen, die sich meist durch eine Vielzahl von proprietären Softwarelösungen auszeichnen. Mangelnde Flexibilität, ein erheblicher Wartungsaufwand und so genannte Content-Inseln sind die Folge. Immer wichtiger wird es dem entsprechend, Möglichkeiten zu finden, Content zu integrieren und zu verbinden, sodass diese proprietären Content-Inseln aufgelöst werden und auch Legacy-Anwendungen Schritt für Schritt in moderne Strukturen eingebunden werden können. Die konsequente Unterstützung von anerkannten Standards und der stark serviceorientierte Ansatz einer JCR-kompatiblen Entwicklung ermöglichen es, die Datenintegration noch weiter zu vereinfachen, flexibel und skalierbar zu machen.
Ob bei Neuinstallation z.B. eine Portallösung oder der Anschluss an einen Enterprise Service Bus geplant ist, die flexible neue Schnittstellenarchitektur vom JCR erschließt eine Vielzahl von möglichen Szenarien, auf das klassische DMS zuzugreifen.
Vorteile für Entwickler
Die JSR-Implementierung vereinfacht die Interaktionen zwischen der Applikation und dem Content Repository, indem sie die große Zahl an applikations- und speicherspezifischen Schnittstellen durch eine einzige, allgemeingültige API für die Nutzung von Content Repositories ersetzt. Der Standard bietet ein einheitliches Vokabular, erleichtert den Ideenaustausch bei Design- und Realisierungsüberlegungen und macht das Erlernen dutzender proprietärer APIs überflüssig. Eine standardisierte Programmierschnittstelle ermöglicht es zudem, dass die Applikation nicht nur auf eine Content-Repository-Implementierung fixiert ist. Eine Content Repository API trennt strikt zwischen Speicherung und Lesen/Abfragen von Content.
Der Entwickler muss sich demnach nicht über die Syntaxanalyse der Dateiformate, die Wartung des Suchindex für Textinhalte, Verwaltung der Transaktionen oder den Export zwischen den Applikationen sorgen. Content-Services wie diese werden vom Content Repository API bereitgestellt, ohne speziell auf eine Applikation festgelegt zu sein.
Die Verwendung einer Standard-API ermöglicht die Wiederverwendung von DMS (bzw. Archivsystem). Dieselbe Schnittstelle kann von vielen verschiedenen Applikationen mit unterschiedlichem Zweck genutzt und weitere datenrelevante Services können direkt angebunden werden. Als Beispiel wird die Speicherung von Daten über das JCR dargestellt. Man erkennt hier ganz klar den Vorteil gegenüber der Speicherung von Daten per JDBC/RDBMS in einem Blob/Clob (Listing 4).
Listing 4: Speicherung des Inhalts an einer NodeNode node = root.addNode("NodeA", "nt:unstructured");node.addMixin("mix:lockable");InputStream contentStream = null;try {contentStream = new FileInputStream("JavaMagazin.txt");} catch (FileNotFoundException e) {}Value value = ValueFactoryImpl.getInstance().createValue(contentStream);node.setProperty("jcr :content", value);node.setProperty("jcr :comment", "TestBild vom Java Magazin");root.save();
Direkter Nutzen für Anwender
Die Nutzung einer standardisierten Schnittstelle als Basis für eigene Applikationsentwicklungen spart zudem viel Zeit und Geld. Zum einen sinkt die Abhängigkeit von proprietären Schnittstellen einzelner Anbieter, die aufwändig gelernt und gepflegt werden müssen. Zum anderen bietet Wiederverwendung des gleichen Codes für verschiedene Applikationen (Repeatables), die durch den Standard ermöglicht wird, einen weiteren großen Vorteil für Applikationsentwickler. Damit reduziert sich der Aufwand für die Entwicklung einer Applikation erheblich.
Aufwändige Anpassung und Pflege von proprietären Schnittstellen fallen weg. So wird eine klare Vereinheitlichung in Bezug auf Zugang, Workflow und Darstellung von Content im gesamten Unternehmen erzielt.
Fazit
In einer schnell wachsenden Content-Welt muss man sich früher oder später für (JCR-) DMS-Lösungen entscheiden. Auch für die folgenden Jahre muss mit einer jährlichen Verdoppelung der elektronischen Inhalte in Webseiten gerechnet werden. Deshalb sollte eine SOA- und Web-2.0-Gewährleistung selbstverständlich sein. Zusätzliche Plattformunabhängigkeit, Standardisierung und Web-Services-Integrität ist hier nicht zu vergessen. Mit der Veröffentlichung der JCR-API bekommen DMS-Applikationen neue und vielfältigere Möglichkeit, sich in moderne Java-Infrastrukturen sowie entsprechende SOA-Umgebung zu integrieren.
Stefan Zorn arbeitet als Softwareentwickler für die Firma Saperion AG Berlin. Er ist seit 8 Jahren im DMS-Umfeld tätig und hat sich auf die Implementierung und Weiterentwicklung von Archivlösungen im Java-Umfeld spezialisiert.




