SOFTWARE

Unternehmensweite Softwareintegration oder Spezialisierung (EAI)

Einfach wäre eine einzige Software im Unternehmen, die alles perfekt beherrscht, einfach zu bedienen und auch noch preisgünstig ist. Da solche Software nur schwer zu finden ist, lohnt es sich auch darüber nachzudenken, wie vorhandene Software optimal kombiniert werden kann. Der Datenaustausch der Software untereinander kann mit Hilfe von Schnittstellen stattfinden. Von Integration wird gesprochen, wenn die Software so perfekt zusammen- spielt, dass die einzelne Software kaum mehr spürbar ist.

Experten-Kenntnisse
ETL-Datentransformation, OpenSource Projekte Struts, Ant, Xdoclet, Tomcat, Hibernate, BMEcat, SpringFramework, JasperReports / iReport, POI/HSSF, Appfuse, Docbook, Latex, Junit, Middlegen

Expertensysteme für Ungeübte
Die Anwendungsoberflächen sind in der Regel so gut und sicher geführt, dass auch ungelernte Anwender sicher ein komplexes Ergebnis erreichen. Man spricht bei dieser Qualität von Expertensystemen. Dem Anwender werden nach und nach einfache Aktionen abverlangt, die im Hintergrund automatisch zu einem grösseren Zusammenhang ausgewertet werden.

Wenn Sie komplexe Zusammenhänge beherrschen und der einzige sind, der diese Tätigkeit ausüben kann, ohne dass Sie auch nur Teilaufgaben an andere delegieren können, weil es ein gewisses Grundverständnis vom Thema vorraussetzt, kann ich Sie hervoragend unterstützen. Ich kann Ihnen eine Software ausarbeiten, die Teilbereiche nach Ihren Vorgaben abfragt und Schlüsse daraus zieht. So bekommen Sie auch von einem ungeübten Bediener dieser Softwareanwendung eine qualifizierte Anfrage, die Sie dann nur noch fertig zu stellen brauchen. Die aufwändige Vorarbeit konnte hierduch an Mitarbeiter und Kollegen delegiert werden. Auf diese Weise können Sie mehr Resourcen in diesen Prozess einbinden und sich selber entlasten. Sie werden dadurch schneller und auch genauer, weil Sie sich nicht mit Nebenaufgaben belasten müssen.

Enterprise Application Integration (EAI)
Die totale Integration mit nur einer Software (EAI)? Einfach wäre eine einzige Software im Unternehmen, die alles perfekt beherrscht, einfach zu bedienen und auch noch preisgünstig ist. Da solche Software nur schwer zu finden ist, lohnt es sich auch darüber nachzudenken, wie vorhandene Software optimal kombiniert werden kann. Der Datenaustausch der Software untereinander kann mit Hilfe von Schnittstellen stattfinden. Von Integration wird gesprochen, wenn die Software so perfekt zusammen- spielt, dass die einzelne Software kaum mehr spürbar ist.

Mit den Jahren sammeln sich einige verschiedenen Anwendungen in einem Unternehmen an. Und jetzt wirkt es sich aus, dass Software für einen bestimmten Zweck geschrieben wurde und ein Zusammenspiel der verschiedenen Produkte nicht vorhersehbar war. Ausserdem sind die einzelnen Produkte so sehr spezialisiert, dass man nicht einfach eine neue Software einführen kann, die das alte perfekt beherrscht und noch neue Anforderungen in der gleichen gewohnten Weise abdeckt. Hier hilft eine Technik, die alle Produkte bestehen lässt und trotzdem dafür sorgt, dass sie optimal miteinander zusammenspielen.

Eine unternehmensweite Anwendungs- zusammenfassung (EAI=enterprise application integration) ist hier ein Ausweg. Die spezielle Aufgabe ist das Zusammenfassen von Softwareprodukten unter einer Anwendungsoberfläche, ohne die bestehende Landschaft grundlegend zu verändern. Die alte Software kann in gewohnter Weise weiterhin bedient werden. Oder nach belieben auch mit der neuen Anwendungsoberfläche, vor allem dann, wenn Sie neue Funktionalitäten nutzen wollen.

Unter der neuen Oberfläche werden die Daten erfasst und dann automatisch in die Untersysteme verteilt und auch wieder zurückgelesen. Sie brauchen trotz systemvielfalt nur noch die eine Oberfläche.

Beispiel: Auftragsannahme
Sie bekommen eine telefonische Auftragsanfrage. Im Gespräch erfolgt eine Angebotsanfrage mit leicht geänderten Details gegenüber der Katalogware. Somit können Sie vorerst keinen Liefertermin und Preis nennen, geschweige denn , dass es überhaupt machbar wäre. Daher schreiben Sie sich alles genau auf und bieten, weil Sie kundenfreundlich sind, einen Rückruf an, wenn Sie alles erforderlich in Erfahrung gebracht haben.

Sie nehmen sich vor in folgenden Bereichen nachzufragen:
Produktionstechnik, Kalkulation, Produktionsplanung, Logistik

Hätten Sie an dieser Stelle die Möglichkeit gehabt, auf einfache Weise in verschiedene Softwareprodukte zu schauen, wäre es durchaus denkbar, alle Fragen direkt am Telefon zu beantworten. Die Softwareprodukte wären für die Auftragsannahme unter einer Oberfläche mit den für diese Aufgabe relevanten Datenfeldern zusammengefasst.

Genau das wäre echter Kundenservice. Und Sie sparen sich die Hausaufgaben nach dem Kundengespräch, was am Ende zur Zufriedenheit aller Beteiligten führt (=eine echte win-win-Situation).

Software-Schichten
Softwareentwicklung ist ein komplexes Vorhaben. Wenn eine Änderung an bestehenden Programmen gewünscht wird, müsste bei einfacher Programmierung, wie es mit Makroaufzeichnungen oder ungeübtem Personal entsteht , die richtige Stelle gesucht werden. Und mit grosser Wahrscheinlichkeit ist sie über mehrere Plätze verteilt. Die Zusammenhänge sind kaum durchschaubar, weil alles irgendwie miteinander verstrickt ist. Um dies zu vermeiden, wird Software in verschiedene Aufgabenbereiche unterteilt. Software wird nicht einfach untereinander weg geschrieben. Sie wird vielmehr nach technischen Gesichtspunkten gegliedert. Dabei hat sich vor allem eine Strukturierungsform als Standard etabliert:

Die Schichten im Einzelnen:
Präsentation: Auf die Standard Anwendungsoberflächen HTML und Host-3270 kann recht einfach zugegriffen werden, ohne die bestehenden Programme selber zu verändern. In HTML kann man die Parameterübergabe gut in der Adresszeile des Browsers sehen. Diese lassen sich selber erzeugen, um die nächst folgende Seite mit den Parametern aufzurufen.HTML-Seiten lassen sich wegen des offenen Quellcodes auch sehr gut analysieren. Host-3270 funktioniert durch typisierte Eingabefelder fast ähnlich einfach wie HTML.

Applikation: Dies ist eigentlich die einfachste und beste Form einer EAI. Auf diese Weise bleiben alle Geschäftslogiken in den Programmen erhalten und es sind Rückfragen an die Programm- schnittstelle möglich. In der Praxis wird es sich jedoch als die schwierigste Form erweisen, da zur Einbindung die passende Programmiersprache beherrscht werden muss und eine umfangreiche Dokumentation zu den Programmierschnittstellen(API) erforderlich ist.

Datenbank: Die meisten Anwendungen dokumentieren den Geschäftsprozess vollständig in einem Datenspeicher, der in der Regel eine SQL-Datenbank ist. Hier ist die Standardisierung mit mindestens der Version SQL-92 sehr stark verbreitet. Ebenso verbreitet sind Auswertungs- möglichkeiten und Datenbankschnittstellen, die die Datenbank- hersteller mitliefern oder durch einen Standard verfügbar sind. Vor diesem Hintergrund ist es die einfachste Möglichkeit, eine EAI umzusetzen, da sie schon heute in der Praxis durchgehend verfügbar ist. Es hat jedoch den Nachteil, dass auf die Geschäftslogik muss vollständig verzichtet werden muss, da sie von höher gelegenen Schichten geleistet wird.

Java ist universell
Java ist plattformneutral und damit für Windows und Linux eine gleicher- maßen gut geeignete Programmiersprache. Für Java gibt es eine breite Palette kosten- loser (open Source) Programmbausteine, mit denen eine neue Anwendung modul- weise zusammen- gestellt werden kann. Ein Programm wird daher nie von Grund auf selber geschrieben. Nur der Rest wird hinzuprogrammiert.