COMCodebook: Moving Towards .NET von Yair Alan Griver (Übersetzung Rainer Becker) Die Welt bewegt sich in Richtung verteilter Systeme, die miteinander interagieren durch den Austausch von freien nicht-Tabellen-gebundenen Daten zwischen verschiedenen Komponenten. Diese Systeme müssen hochgradig skalierbar sein, leicht zu konfigurieren und vor allen Dingen leicht anzupassen an die sich schnell ändernden Notwendigkeiten des Geschäftsalltags. Mit COMCodebook bietet die Firma Flash Creative Managment ein Framework für die Entwicklung solcher Systeme integriert in die neue .NET-Strategie von Microsoft. „Sichten“ in das Geschäftsmodell hinein ermöglichen. COMCodebook-API Der Kern von COMCodebook ist eine standardisierte Programmierschnittstelle (API), die von jeder Komponente und von jeder Benutzeroberfläche aus angesprochen werden kann, sofern diese COM-fähig sind. COMCodebook besteht derzeit aus einer Vielzahl von Komponenten in Visual FoxPro und einer dazugehörigen Benutzeroberfläche in VBScript und Active Server Pages (ASP) sowie wahlweise ebenfalls in Visual FoxPro. Sowohl SQLServer 7.0 als auch Oracle 8.0 werden als Server-Datenbank unterstützt. Zukünftig ist einer Erweiterung um eine Benutzeroberfläche in Visual Basic sowie um weitere Komponenten im Middle-TierBereich (Geschäftslogik) geplant. Lieferumfang/Vorteile Die wichtigsten Vorteile des COMCodebook-Frameworks sind folgende: Es findet ein einheitlicher Ansatz für die Analyse, das Design und die Entwicklung verwendet. Dies ermöglicht das Entwickeln einer Geschäftslogik in der mittleren Ebene mit gleichzeitiger schneller Erstellung von Entwürfen (im Sinne von RAD) der Benutzeroberfläche, die verschiedene 07-07 Einführung COMCodebook Ein Basissatz von flexiblen Klassen kann direkt verwendet und eingesetzt werden ohne große Anpassungsnotwendigkeiten. Mit Hilfe dieser Klassen können schnell und einfach sowohl Resourcen (wie Kunden, Rechnungen, Mitarbeiter usw.) definiert werden als auch die dazugehörigen Prozesse (Rechnungsstellung, Auftragsverarbeitung usw.) und Regeln (Bestellbestände, Bestelllimits usw.). Beispielanwendungen werden mitgeliefert, welche Geschäftsobjekte wiederholt verwenden, Benutzeroberflächen unter Windows als auch im Internet bereitstellen und beispielhaft die Anbindung von SQLServer und Oracle im Bereich der Datenhaltung aufzeigen. Für alle Ebenen des Modells stehen somit Beispiele bereit durch die eine eigene Einarbeitung wesentlich erleichtert wird. Eine umfangreiche Dokumentation für die wesentlichen Funktionalitäten des Frameworks steht zur Verfügung (in einer deutschen Version in Vorbereitung im Rahmen von FoxX Professional) Eine Einführung in Form eines Schritt-fürSchritt-Führers zeigt den Weg für die Erstellung eigener realer Anwendungen auf. FoxX Professional Seite 1 Datenbanken auf ein Datenhaltungssystem zu vereinigen. Geschäftslogik und deren Darstellung Unter dem Framework COMCodebook entwickelte Systeme sind insbesondere auf die schnelle Verteilung einer Applikation über das Internet bei gleichzeitiger Verfügbarkeit unter WindowsBenutzeroberflächen vorbereitet. Die nächste Generation von kaufmännischen Anwendungen werden von einer Zweiteilung geprägt sein, in der auf der einen Seite Kernkomponenten den Geschäftsablauf und die Geschäftslogik abbilden so wie sie vorhanden ist und sich ändert, und auf der anderen Seite Benutzeroberflächen, die spezifische „Sichten“ in das Komponenten-basierte Geschäftsmodell hinein erlauben. Manche dieser Sichten zielen auf die Welt als Ganzes (als web-basierte Anwendungen im Internet), andere Sichten beziehen sich auf Lieferanten und Kunden (als web-basierte Extranet-Anwendungen) und wiederum andere dieser Sichten werden von den eigenen Mitarbeitern verwendet (als Windows-basierte Anwendung oder in einer Intratnet-Architektur). COMCodebook: Built for Where Business is Going Verschiedene Kräfte ändern derzeit massiv die Art wie heutzutage Software entwickelt und verteilt wird. Veränderungen im Markt Um so genauer Firmen die SoftwareInfrastruktur ihrer eigenen Organisation betrachten, um so stärker entsteht der Wunsch nach Standardisierung und Vereinheitlichung der verwendeten Informationstechnologien, um auf diese Art und Weise die Kosten (Total Cost of Ownership, kurz TCO) reduzieren zu können. Dies führte unter anderem dazu, daß die Mehrzahl der Firmen mittlerweile ihre EDV-Abteilungen erlaubt (oder sie dazu aufgefordert) haben, die zentralen 07-07 Einführung COMCodebook Gleichzeitig legen die Anwender (meist auf der Ebene von Abteilungsleitern) die von Ihnen gewünschten Benutzeroberflächen dafür fest. Weit überwiegend entscheided man sich dabei entweder für eine Windowsbasierte Benutzeroberfläche (erstellt unter Visual Basic, Visual FoxPro, C++ oder anderen Windows-Programmiersprachen) oder aber auch zunehmend für eine HTMLbasierte Internet-Oberfläche, eventuell mit Java- oder ActiveX-Steuerelementen. Das Ergebnis dieser Entwicklungen ist auf jeden Fall, daß immer mehr Firmen ihren Mehrwert und ihren individuell gelieferten Kundennutzen in der mittleren Ebene einer Anwendung plazieren – in Form von Servicefunktionen und Diensten, die Wissen verarbeiten auf der Basis von in zentralen und standardisierten BackendDatenbankservern gespeicherten Informationen und das Ergebnis in einer von vielen möglichen Darstellungsweisen auf einer Benutzeroberfläche ausgeben. Anforderungen der Kunden Zusätzlich deuten immer mehr Manager von Firmen an, daß ihnen eigentlich nicht wohl dabei ist, von einer einzelnen Programmiersprache und deren Weiterentwicklung abhängig zu sein. Deshalb ist es notwendig, eine Vielzahl von Programmiersprachen miteinander zu integrieren, so daß jeder Partner in der von ihm bevorzugten Programmiersprache entwickeln kann. Dies hat für die beteiligten Softwarehäuser oder EDV-Abteilungen auch den Vorteil, daß leichter neue Mitarbeiter gefunden werden können; daß man die Programmiersprache einsetzen kann, die für ein gegebenes Problem den besten Lösungsansatz bietet; und daß man ggf. leichter auf eine neue Richtung wechseln kann. FoxX Professional Seite 2 Technische Antworten Die neuen technischen Antworten im Bereich der Softwareentwicklung sind eigentlich nur Reaktionen auf die Veränderungen im Markt und auf die neuen Anforderungen der Kunden, welche in den beiden vorherigen Abschnitten aufgeführt wurden. Da derzeit Benutzeroberflächen immer häufiger in eine web-basierten Techniken ggf. neu erstellt werden, wird es auch wahrscheinlicher, daß gesamte Anwendungen ebenfalls in das Internet transformiert werden. Dies führt allerdings zu massiv erhöhten Anforderungen an die Skalierbarkeit in einem zuvor nie gesehenen Ausmaß. Eine Anwendung muß nicht nur die Werkzeuge mitliefern, um die Anzahl der aktiven Anwender und die eigene Verarbeitungsgeschwindigkeit überwachen zu können, sondern muß auch leicht konfigurierbar sein, so daß kurzfristig die Anzahl der gleichzeitigen Nutzer erhöht werden kann, ohne die Antwortzeiten für den einzelnen Anwender zu verlängern. Gleichzeitigt ermöglicht eine internetbasierte Anwendung die zentrale Installation der Anwendung in der EDV-Fachabteilung bzw. auf dem Webserver und vermeidet individuelle Installationen beim Anwender. Diese zentrale Installationsund Wartungsmöglichkeit reduziert die Kosten für den Support und den Rollout drastisch und führt damit wiederum zu einem niedrigeren Wert für das Total Cost of Ownership (TCO). Services entwickelt und in das neue Betriebssystem Windows 2000 Server eingebaut (allerdings mit der Ausnahme von SQL Server, der weiterhin separat angeboten wird) und entwickelt und verbessert diese Komponenten in kurzen Abständen ständig weiter. Was bisher fehlte war ein vereinheitlicher und standardisierter Ansatz, wie denn nun bitteschön die hohe Zahl von Diensten, Komponenten und Funktionen innerhalb einer Anwendung genutzt werden sollen. Aus diesem Grund habe Entwicklungsabteilungen von Firmen sowie Beratungsgesellschaften lange Zeit damit gerungen, wiederverwendbare, skalierbare und stabile Software innerhalb dieser komplexen Umgebung zu entwickeln. Die Ankündigung von Microsoft bezüglich „.NET“ zielt in diese Richtung – allerdings liegt das geplante Lieferdatum noch mehr als ein Jahr in der Zukunft. Das COMCodebook von Flash Creative Management bietet Ihnen bereits heute ein entsprechendes Framework – eines das darauf vorbereitet ist, sich in jedes neu erscheinende Element von .NET einzuhängen, sobald die entsprechende Komponente erscheint. Weitere Informationen dazu erhalten Sie unter http://codebook.flashcreative.com im Internet bzw. in deutscher Sprache in den nächsten Ausgaben von FoxX Professional, in welchem das COMCodebook in der deutschen Fassung veröffentlicht wird. Zusammenfassung Verteilte Systeme bedingen automatisch die Verwendung einer Vielzahl von verschiedenen Produkten und Komponenten für die Bereiche Transaktionsmanagment über verteilte Datenbanksysteme, synchrone und asynchrone Nachrichtenverarbeitung, Skalierbarkeit, Benutzererkennung- und Verwaltung incl. Zugriffsschutz usw. Als Reaktion auf die Anforderungen hat Microsoft eine Vielzahl von Diensten und 07-07 Einführung COMCodebook FoxX Professional Seite 3