Das GOA Business-Application-Framework


Eine Komponentenarchitektur für die reale Welt

Kommerzielle Anwendungssoftware ist längst mehr als reines Number-Crunching oder die allgegenwärtige Textverarbeitung. Sie muss die reale Welt mit all ihren komplexen Vorgängen und seit langem manifestierten Verhaltensformen widerspiegeln. Demzufolge ist diese Art von Software bei weitem komplexer als Datenbank-Transaktionen, typische Office-Anwendungen oder selbst das heute vorherrschende Client/Server-Modell. Um mit der zunehmenden Komplexität des Firmenalltags Schritt zu halten, muss die Software Geschäftsprozesse trotz aller Vielschichtigkeit so abbilden, wie sie sich wirklich darstellen, Workflow effizient modellieren und Geschäftsbeziehungen fördern statt sie zu behindern.

In einer Zeit, in der Komplexität und Vielschichtigkeit sowie die damit verbundenen Begleitkosten zum entscheidenden Nachteil im globalen Wettbewerb werden können, besteht zweifellos ein drängender Bedarf an Lösungen, die mit hochkomplexen heterogen Umgebungen zurechtkommen und zugleich die Kosten kontrollieren. Es geht darum, Komplexität beherrschbar zu machen und zugleich die Total Cost of Ownership (TCO) zu senken. CD-Soft verdankt seine Gründung genau diesem Bedarf.

Damit ein System aus Soft- und Hardware umfassende Geschäftsprozesse leistungsfähig unterstützen kann, bedarf es eines Frameworks - Mengen von Regeln, die es vernetzten, heterogenen IT-Strukturen ermöglichen, quer durch das weitverzweigte Unternehmen von Programmierern, Systempersonal und Endanwendern effizient genutzt und verwaltet zu werden. Typischerweise entsteht die Notwendigkeit für ein solches Framework dann, wenn Unternehmen den kritischen Punkt erreichen, an dem ihre Systeme so heterogen und komplex werden, dass sie eine grundlegende, einheitliche Struktur benötigen.

Mittlerweile haben viele Firmen diesen kritischen Punkt erreicht. Ihre Systeme erweisen sich als so heterogen und komplex, dass ihre Aufrechterhaltung immer schwieriger und kostspieliger wird. Neben den zentralen Rechenzentren sehen sich viel nationale und internationale Unternehmen gezwungen, auch die stetig größer werdenden lokalen IT-Abteilungen in vielen Zweigstellen zu unterstützen, Außendienstmitarbeiter mit Zugängen zu Unternehmensdaten zu versorgen und jederzeit konsistente, aktuelle Daten und Anwendungen für alle Ebenen zur Verfügung zu stellen.

Zuweilen widmen sich Hunderte von Programmierern der Aufrechterhaltung des allgemeinen Framework, der Konsistenzsicherung, Anpassung und Fehlersuche in den heterogenen, vernetzten IT-Systemen. Ein Pflege- und Programmieraufwand, den sich vielfach nur große Korporationen leisten können.

Das GOA Business-Application-Framework von CD Soft leistet hier eine äußerst wirkungsvolle Abhilfe. Es ist so wirtschaftlich, dass GOA den Einsatz von Frameworks nun nicht nur für Großunternehmen, sondern auch für kleine und mittelständige Firmen erschwinglich macht. GOA ist 20 mal kleiner (in Megabytes an Code) verglichen mit anderen Frameworks und es kostet 50 Prozent weniger in Bezug auf die Gesamtkosten als vergleichbare Konzepte.

Da es derart klein und leistungsfähig ist, kann es sowohl in Unternehmensnetze eingesetzt werden und diese höchst effizient managen, als auch und gerade über das Internet mit normalen Telefonleitungen und einem handelsüblichen Modem genutzt werden. Hierin liegt eine besondere Stärke von GOA, nicht auf Standleitungen und proprietäre Netze angewiesen zu sein, sondern das überall verfügbare Internet zum Aufbau virtueller Firmennetze zu nutzen, wobei Sicherheitsanforderungen und Wirtschaftlichkeit die GOA-Entwicklung maßgeblich bestimmt haben.

Das GOA Business-Application-Framework

  • ist Java-basiert;
  • orientiert an realen Geschäftsprozessen;
  • zentral verwaltet um die Gesamtkosten (TCO) niedrig zu halten;
  • und ermöglicht das transparente Management einer komplexen, heterogenen IT-Infrastruktur mittels eines Standard-PCs.

Kurzum, GOA ist ein höchst effizientes Framework für dynamische Programmierumgebungen, die an die Anforderungen realer Geschäftsprozesse anpassbar sind - und das zu Gesamtkosten, die Frameworks nun sowohl für KMU als auch für große und kleine Software-Hersteller erschwinglich machen.


Was ist ein Framework?

Obwohl CD-Soft seit mehr als fünfzehn Jahren Frameworks entwickelt, ist das allgemeine Bewusstsein für Frameworks und deren Bedeutung erst in den letzten Jahren gewachsen - getrieben durch die drängende Nachfrage nach einer Computer-Infrastruktur, welche die vorhandenen komplexen, heterogenen, netzwerkbasierten IT-Systeme kosteneffizient verwalten kann. So trägt GOA auch zum Investitionsschutz bei und erleichtert die Migration bestehender Anwendungen.

Um einen Vergleich aus dem Straßenverkehr zu nutzen: wenn Autos und Busse Software sind und Städte Datenbanken, dann ist alles andere das Framework - die Autobahnen, Ampeln und Straßenverkehrsregeln (einschließlich der Polizei, die diese Regeln überwacht).

Aber ein Framework sollte nicht verstanden werden als eine Art Master-Betriebssystem; vielmehr stellt es die bestimmende Infrastruktur dar, die eine Anzahl von Betriebssystemen und IT-Komponenten verwaltet und zwischen ihnen vermittelt.


Warum sind Frameworks nötig?

Frameworks entstanden aus der Erkenntnis heraus, dass Geschäftsprozesse komplexer und dynamischer sind als reine Datenbank-Transaktionen, typische Office-Anwendungen oder selbst das heute vorherrschende Client/Server-orientierte Business Application Modell. Tatsache ist, dass Geschäftsprozesse mehr beinhalten als nur Transaktionen, Dokumente und Berechnungen: es müssen Beziehungen modelliert und verwaltet werden, wie die Telefonate, Versammlungen, Kommunikationsprozesse und sonstigen Interaktionen, über die ein Geschäft abgewickelt wird.

Frameworks sind aus diesem Grund dazu bestimmt, das wirkliche Wesen der Geschäftprozesse in heterogenen Computerumgebungen zu modellieren, zu verwalten und abzubilden. Nicht die Prozesse müssen sich der Software und den IT-Systemen anpassen, sondern die Hilfsmittel müssen sich an den realen Prozessen ausrichten.

Typische Einsatzbereiche für GOA und allgemein für Frameworks sind:

  • Management der Systemarchitektur;
  • Verwaltung von Datenbankanbindungen;
  • Handling der Benutzerschnittstellen samt Zugriffsrechten;
  • Benutzerführung, einschließlich der verwendeten Kommunikationsprotokolle;
  • Druckverwaltung und -aufbereitung;
  • umfassendes Sicherheitsmanagement;
  • Bereitstellung mehrsprachige Anwendungsvarianten;
  • Integration und -Migration vorhandener Soft- und Hardware, sowohl System-spezifisch als auch für heterogene Umgebungen.

Infrastruktur für multi-tier Umgebungen

Um den Bedarf an Frameworks besser zu verstehen, ist es wichtig, die Entwicklung von IT-Systemen zu kennen.

Die ersten wichtigen Plattformen für Büroanwendungen waren Großrechner mit Back-Office-Anwendungen, die in der Regel in COBOL geschrieben waren. Geschultes Personal war erforderlich, um die Ausgaben zu interpretieren, die an Eingabeterminals ohne eigene Intelligenz angezeigt wurden. Alle Berechnungen fanden ausschließlich auf dem Zentralrechner statt, weshalb diese Lösungen als schlecht skalierbar galten.

Das heute vorherrschende Client/Server Modell trat zu Beginn als zweischichtige (2-tier) Architektur in Erscheinung, die einerseits Front-Office-Programme und einen auf einem PC laufenden GUI-Builder aufweist wie andererseits auch eine relationale Datenbank, die zur gemeinsamen Datennutzung auf dem Datenbank-Server läuft.

Die 3-Schichten-Versionen (3-tier) dieses Modells, in dem ein Application Server zwischen GUI und Datenbank angesiedelt ist, entsprechen nun den Anforderungen des Internet- und Network-Computing. Hierbei kommen oftmals Java-basierte GUIs zum Einsatz, die es den Unternehmen erlauben, Anwendungen in heterogenen Netzwerken bereitzustellen und ihre IT-Umgebung zudem für Partner, Lieferanten und Kunden auszuweiten (multi-tier oder n-tier).

Es ist wichtig, die Abläufe in einer typischen Client/Server-Umgebung als eine Reihe einzelner Aktionen zu betrachten: Während die Display-Logik auf einem Client in einem bestimmten Abschnitt des Client-Codes vorkommt, ereignet sich die Anwendungslogik auf einem Application Server in einem anderen Code-Segment und Datenspeicherung sowie Retrieval erfolgen wiederum scheinbar unabhängig auf einem Datenbank-Server.


Implizites Multi-Tier Modell

Um die mit dem GOA Business-Application-Framework verbundene Kosteneffizienz und Flexibilität einschätzen zu können, muss man zuerst die sogenannten expliziten multi-tier Systeme betrachten. Diese heute üblichen großen, aufgeblähten Unternehmensanwendungen können aufgrund ihres Programmieraufwandes und der Unterhaltungskosten nur in großen Unternehmen überleben.

Der Versuch, diese Kosten zu reduzieren, besteht häufig darin, bestimmte Regeln hinsichtlich des Daten- und Objektaustauschs über ein heterogenes Netzwerk zu etablieren und so die Grundlagen für die Funktionalität des Zusammenspiels zwischen Object Providern und den Object Usern festzuschreiben. Konzepte wie Corba bedürfen jedoch hoher Investitionen sowie des Einsatzes von Experten und sind so nur für große Unternehmen tragbar.

Auf der Basis von über 15 Jahren Forschung und der bei der Installation von 2.000 Servern und 50.000 Benutzern gesammelten Erfahrung hat CD-Soft mit GOA ein elegantes, kostengünstiges Framework der zweiten Generation entwickelt, ein implizites multi-tier System. Es erweitert die Fähigkeiten und die Wirtschaftlichkeit heutiger Frameworks und bietet gleichzeitig den gesamten Leistungsumfang einer großen Programmierumgebung ohne den bisher notwendigen Overhead.

Um den Unterschied zwischen expliziten und impliziten Architekturen zu verstehen, ist es zunächst wichtig, eine dreischichtige Architektur zu betrachten, die aus einer Benutzeroberfläche, der Anwendungslogik (auf einem Business Application Server) und einer oder mehrerer Datenbanken besteht. Ein Großteil des unabdingbaren Overheads in solchen Systemen entsteht aus der getrennten Programmierung, die für Benutzerschnittstelle und Business-Logik erforderlich ist. Das erklärt sich dadurch, dass auf expliziten Systemen die Display-Logik auf einem Client in einem einzelnen Stück des Client-Codes festgelegt ist, während die Business-Logik davon unabhängig auf einem Application Server abläuft und Datenspeicherung und -abruf wiederum separat auf einem Datenbank-Server stattfindet - alles unterschiedliche Aktionen, die unterschiedliche Programmierschemata erfordern und synchronisiert werden müssen.

Bei GOA jedoch, dem impliziten multi-tier Framework von CD-Soft, ist die Verbindung zwischen der Benutzerschnittstelle und der Business-Logik implizit. Deshalb gibt es keine Barrieren zwischen Benutzeroberfläche und Business-Logik - mit anderen Worten, sie sind praktisch identisch. Die Programmierung für die Benutzerschnittstelle und Anwendungslogik kann in einem Zug - und von jeder Stelle im Netzwerk aus - erfolgen. Diese Fähigkeit ist ein Wettbewerbsvorteil in einer Zeit, in der Objekte sich selbst dynamisch verschieben müssen, auf entfernen Clients laufen oder auf Client-ähnlichen Geräten wie Kiosksystemen, die extern aufgestellt sind.


Wirtschaftliche Lösung

In der Tat ist das GOA Business-Application-Framework das Ergebnis von 15jähriger Forschungsarbeit und Erfahrung in der Wechselwirkung zwischen Benutzerschnittstellen und Business-Logik. Durch Einfließen dieser Forschungsergebnisse in ein neues Framework bietet GOA die Leistung einer multi-tier Umgebung ohne die heute üblichen begleitenden Kosten und trägt so massiv zur Reduzierung der TCO bei.

CD-Soft erreicht diese Ziele durch Optimierung der Verbindung zwischen der Benutzerschnittstelle und der Business-Logik und errichtet gleichzeitig ein zweckmäßiges sowie effizient handzuhabendes Reglement über die gesamte Rechnerumgebung. GOA stellt Mechanismen für die Programmierung zur Verfügung, die auch in heterogenen Netzwerke Bestand haben. Da die gesamte Lowlevel-Funktionalität eingebaut ist, arbeitet GOA effizienter als vergleichbare Frameworks und kann gleichzeitig die Gesamtkosten reduzieren und die Leistungsfähigkeit steigern.

Das GOA Framework ist deshalb nicht nur besonders geeignet für kostengünstiges Programmieren in heterogenen Umgebungen; durch seine geringen Anforderungen und die hypereffiziente Client/Server-Kommunikation ist es darüber hinaus ideal geeignet für die Benutzung über das Internet. Skalierbar von Einzelanwendern bis hin zu 2000-Benutzer-Umgebungen und darüber hinaus, ist die Funktionalität des GOA Business-Application-Frameworks in den allermeisten Fällen mehr als ausreichend.


Java-basierende Komponentenarchitektur

Heterogenität stellt neue Anforderungen an Computeranwendungen, seit das Internet Firmennetzwerke mit externen Mitarbeitern, Lieferanten, Partnern und Kunden verbindet. Wegen der zergliederten, vernetzten Beschaffenheit von IT-Systemen in diesen Umgebungen können Installation, Anpassung, Prüfung und Erweiterung aus logistischen und finanziellen Gründen nicht länger an jeder entfernten Stelle getrennt vor Ort ausgeführt werden. Moderne multi-tier Systeme müssen daher zentral über das Internet administriert werden können.

Aus diesem Grund müssen Frameworks der zweiten Generation:

  • übertragbar und in heterogenen Umgebungen durchdringend sein;
  • klein sein (hinsichtlich der Code-Größe) und darauf ausgelegt, effizient und sicher über das Internet zu laufen;
  • die Implementierung objektorientierter Programmierung zur Laufzeit ermöglichen.

In der Praxis bedeutet das die Notwendigkeit einer Komponentenarchitektur wie sie Java bietet. Javas Objektmodell erlaubt Objekten, miteinander verknüpft zu sein ohne eine Abhängigkeit von Hardware, Betriebssystem oder Compiler. Damit bietet die Java immanente Flexibilität, Komponenten zu erstellen, die Geschäftsvorgänge besser reflektieren können und die ohne Rücksicht auf Heterogenität in komplexen Netzen verteilt und verwaltet werden können.

Während Software im Businessbereich fast immer ein Vermächtnis der prozeduralen Programmierung war, bei der einzelne Codezeilen jeden Schritt der Datenmanipulation kontrollieren, ist Software, die in Java geschrieben ist, automatisch übertragbar, effizient und dynamisch und profitiert so von den Vorteilen der konsequenten Objektorientierung.


GOABeans

Eine spezielle Form der JavaBeans(tm) bildet die Basis des GOA Business-Application-Frameworks. JavaBeans, die von Sun entwickelte plattformunabhängige Komponentenarchitektur für die kommerzielle Java-Anwendungsentwicklung, laufen auf jedem Betriebssystem und in allen Anwendungsumgebungen. Sie erweitern damit Javas "write once, run anywhere"(tm)-Fähigkeiten hinsichtlich der Entwicklung wiederverwendbarer Komponenten. Als solche stellen JavaBeans die führende Komponentenarchitektur für die Entwicklung von Java-Plattformen für heterogene Hardware und Anwendungssystemumgebung dar.

JavaBeans erlaubt Entwicklern, wiederverwendbare Softwarekomponenten zu erstellen, die unter Verwendung eines Visual Application Builders zusammengefügt oder zerlegt werden können. Erscheinungsbild und Verhalten der JavaBeans lassen sich individuell anpassen. Auch können JavaBeans miteinander kommunizieren und eigenständig auf Ereignisse reagieren. Einer der Hauptvorteile der JavaBeans liegt in der Tatsache, dass ihre Eigenschaften durch den Programmierer extern konfigurierbar sind. Diese externe Konfigurierbarkeit erlaubt die Wiederverwendung von Komponenten dynamisch zur Laufzeit.

GOA selbst benutzt sogenannte GOABeans - das sind JavaBeans, die entsprechend den Regeln des GOA Business Application Frameworks funktionieren. Fast so wie Lego(tm)-Bausteine lassen sich GOABeans nach Belieben entfernen und einfügen. Statt den Quellcode einer GOA Anwendung zu ändern kann der Programmierer innerhalb des GOA Designers GOABeans-Komponenten durch Drag&Drop modifizieren und so den externen Verdrahtungsplan ändern, der Ereignisse und Funktionsweisen steuert.


Der GOA Designer: Visuelle Programmierung per Drag&Drop

Der GOA Designer, ein GUI-basiertes, visuelles Programmierwerkzeug, ist sowohl ein JavaBean/GOABean-Abnehmer als auch -Erzeuger. Als solcher ist er in der Lage, Komponenten zu benutzen, zu löschen oder zu neuen Komponenten zusammenzufügen. Die Drag&Drop-Fähigkeit des GOA Designers macht Routineaufgaben wie z.B. den Neuentwurf eines Dateneingabefeldes auf einem entfernten Arbeitsplatz über das Netzwerk zu einer Sache von Minuten. Durch einfaches visuelles Kombinieren verschiedener Komponenten im Designer, die als Icons dargestellt werden, und durch Betätigung des Speicher-Buttons, lässt sich in 2 Minuten ein fertiges Dateneingabefeld erzeugen - und das ohne in eine einzelne Zeile des Quellcodes einzugreifen.

Um die Leistungsfähigkeit und Vielseitigkeit des Designers zu verstehen, kann man einen Blick darauf werfen, wie das Scripting von Ereignissen zu handhaben ist. Normalerweise haben Programmierer, wenn sie ein Programm mit Logik versehen, zwei Optionen. Die herkömmliche, prozedurale Verfahrensweise wäre, den Quellcode durch Erzeugung einer Ereignisverarbeitungsroutine zu ändern, in die ein Programmierer den Code einfügt, der das Programmereignis steuert. Der GOA Designer jedoch erlaubt es, die Verdrahtung von Ereignissen zu verändern und anzupassen, ohne den Quellcode anzutasten. Auch das Kompilieren entfällt. Aber wie funktioniert das?

In herkömmlichen Programmierumgebungen, wenn ein Kunde auf seiner Seite Modifikationen vornehmen will, muss der Programmierer den Quellcode umschreiben, prüfen und abstimmen - ein zeit- und programmierintensiver Vorgang, der zu hohen Kosten führt. GOA ist hier wesentlich einfacher zu handhaben - und damit deutlich kostengünstiger. Ob visuelles Erscheinungsbild, Ereignissteuerung, Verbindung verschiedener Komponenten, Auswahl und Adaption von Methoden - alles kann ohne Veränderung des Quellcodes vorgenommen werden.

GOA kann dies leisten, da die Eigenschaften eines Objektes oder einer Komponente extern in Java-Code in Form von Verbindungsdiagrammen gespeichert werden. Da diese Diagramme zur Laufzeit geladen und interpretiert werden, sind sie mühelos und schnell nach Kundenanforderungen zu modifizieren - Vorteile, die sich besonders in mehrsprachigen Umgebungen zeigen. Der GOA Designer ermöglicht es, diese Modifikationen visuell vorzunehmen!

Beispielsweise, wenn einem Kunden die Enter- und Exit-Buttons in seinen Dateneingabefeldern nicht zusagen... Dies mit GOA zu ändern ist einfach: der Programmierer oder Systemadministrator lädt die besagten Komponenten in den GOA Designer, zieht dann einfach den unerwünschten Button auf den Papierkorb, wählt ein Ersatzbild für den neuen Button aus und betätigt dann Speichern. Rekompilieren ist unnötig, weil jegliche Veränderung an den Eigenschaften und die Ereignisverdrahtung der Komponente in dem externen Diagramm zur Komponentenverdrahtung gespeichert werden, nicht in die Komponente selbst.


GOA im Internet

GOA ist so effizient, dass Systemadministratoren Modifikationen über das Internet vornehmen können. Dies ist besonders wichtig, da kleinere Firmen, die sich keine Vollzeit-Administration leisten können, ihre Systemverwaltung aus der Ferne durchführen lassen können, sogar über eine Standard-Wählverbindung ins Internet unter Verwendung eines 33.6k-Modems.

Erprobt auf IBM-Großrechnern, Servern, UNIX und NT, bietet das GOA Business Application Framework drei zusätzliche Vorteile:

  • Portabilität in heterogenen Netzen;
  • Realisierung objektorientierter Programmierung zur Laufzeit für eine dynamische Komponentenarchitektur;
  • Höchste Performance durch hochoptimierte Client/Server-Kommunikation.

Zusammenfassung

Kurzum, GOA ist ein höchst effizientes Framework für dynamische Programmierumgebungen, die an reale Geschäftsbedürfnisse anpassbar sind - und das zu Gesamtkosten, die Frameworks nicht nur für Großunternehmen, sondern auch für KMU erschwinglich machen.

Mit Java als Programmierbasis, dem Konzept der wiederverwendbaren GOABeans und dem GOA Designer als Drag&Drop-Programmierwerkzeug, wurde das GOA Business Application Framework konsequent für höchste Leistungsfähigkeit, umfassende Übertragbarkeit und Wiederverwendbarkeit sowie Kosteneffizienz entwickelt.



<< Zurück zu Produkte



CD Software GmbH - Gewerbestraße 11a - 68623 Lampertheim -Tel: 06206-52075
Email: info@cdsoft.de

  
 

german english