Alternativen für iSeries Web-Anwendungsentwickler, Teil 3

11. November 2008 | Von | Kategorie: Software Development + Change Mgmt.

NEWSolutions NEWSabo Artikel: Im Grunde empfindet jedermann eine gewisse Sympathie für Liebhaber, aber kaum ein Liebhaber reicht an einen Computersprachen-Fanatiker heran. Es ist nicht leicht, Dichtung und Wahrheit auseinander zu halten, wenn man den Verfechtern einzelner Sprachen zuhört, wie sie ihre geliebten Entwicklungstools verteidigen. Die Domäne der iSeries Web-Entwicklungsalternativen bildet hier keine Ausnahme. Im iSeries Umfeld existieren vier maßgebliche Alternativen für die Entwicklung von Web-Anwendungen: CGI mit CGIDEV2, J2EE/WAS, Microsoft .NET und PHP. In jeder der vier Folgen dieser Serie wird eine dieser Alternativen vorgestellt und jeder Autor (ich will mich dabei gar nicht ausschließen) bedient sich seiner eigenen Art von Überzeugungskunst.

 

Alternativen für iSeries Web- Anwendungs- Eentwickler, Teil 3

 


Entdecken Sie den für Sie am besten geeigneten Ansatz für die Web-Entwicklung

von Michael Otey technischer Redakteur von NEWSolutions
Einführung von Mel Beckman

Übersetzung

Übersetzt und für den deutschsprachigen Markt überarbeitet von Joachim Riener.

Serie Web-Anwendungen

Für iSeries Systeme steht eine Auswahl von maßgeblichen Produkten für die Entwicklung Web-basierter Anwendungen zur Verfügung: CGI, J2EE, Microsoft .NET und das Open-Source Produkt PHP. Jedes Produkt hat seine individuellen Stärken und Vorzüge, keines jedoch vereinigt alle Stärken in sich.Zum Thema sind nachstehende Beiträge in NEWSolutions bereits erschienen:
Jef Sutherland: Das Was, Warum, Wann und Wie von CGI und CGIDEV2; März 2006
Milos Sarbajic: iSeries Anwendungen auf neuen Plattformen; März 2006
WebSphere-Einführung ist Vertrauenssache; März 2006
Don Denoncourt: J2EE: Wahrhaft Cross-Plattformfähig und skalierbar
siehe eNEWSolutions.de

In den nächsten Ausgaben veröffentlichen wir nachstehenden Beitrag: Mel Beckman: PHP auf iSeries

Einführung
Im Grunde empfindet jedermann eine gewisse Sympathie für Liebhaber, aber kaum ein Liebhaber reicht an einen Computersprachen-Fanatiker heran. Es ist nicht leicht, Dichtung und Wahrheit auseinander zu halten, wenn man den Verfechtern einzelner Sprachen zuhört, wie sie ihre geliebten Entwicklungstools verteidigen. Die Domäne der iSeries Web-Entwicklungsalternativen bildet hier keine Ausnahme. Im iSeries Umfeld existieren vier maßgebliche Alternativen für die Entwicklung von Web-Anwendungen: CGI mit CGIDEV2, J2EE/WAS, Microsoft .NET und PHP. In jeder der vier Folgen dieser Serie wird eine dieser Alternativen vorgestellt und jeder Autor (ich will mich dabei gar nicht ausschließen) bedient sich seiner eigenen Art von Überzeugungskunst.

 

Die .NET Web- Entwicklungs- Alternative


von Michael Otey, technischer Redakteur von NEWSolutions

Es besteht wohl kein Zweifel darüber, dass das Microsoft .NET Framework und ASP.NET die derzeit populärsten Web-Entwicklungsplattformen sind. Das .NET Framework und ASP.NET sind die von Microsoft bevorzugten Technologien für die Windows-Web-Entwicklung. Vielen Entwicklern ist jedoch nicht bewusst, dass mit dem .NET Framework und ASP.NET erstellte Anwendungen nicht auf Windows begrenzt sind und in der Praxis eine durchaus gängige Alternative für iSeries Entwickler darstellen. Hierbei lässt sich die Ablauflogik auf dem iSeries System erstellen – die Benutzerschnittstelle wird mit .NET entwickelt. Auf diesem Wege kann ein großer Teil der vorhandenen Anwendungen über den iSeries Apache Web Server verfügbar gemacht werden. Als Entwicklungsplattform wird ein Windows-System benötigt, vielleicht möchten Sie auch für die Ausführung des .NET Codes einen Windows Server einsetzen. Die iSeries DB2-Datenbank lässt sich als Datenspeicher verwenden und iSeries Anwendungen können den überwiegenden Teil der Ablauflogik für die Anwendungen bereitstellen.

Architektur

Die Entwicklung mit .NET nutzt ein mehrstufiges Programmiermodell, in dem der Endbenutzer einen Web Browser einsetzt, um auf die mit ASP.NET erstellte Web-Anwendung zuzugreifen. Die Web-Anwendung wird auf einem Windows Server ausgeführt, auf dem das .NET Framework installiert ist. Dieser Windows Server kann auf einem iSeries Integrated xServer (z.B. dem Integrated Netfinity Server) laufen, üblicherweise kommt aber meist ein separater Windows Web Server zum Einsatz. Dieser Server wird in demselben Netzwerksegment wie das iSeries System betrieben. Die Entwicklung der Web-Anwendung erfolgt mit einer der Microsoft .NET Sprachen wie beispielsweise Visual Basic (VB) oder C++.

menueZum Zugriff auf die DB2-Datenbank auf dem iSeries System verwendet die Anwendung die ADO.NET Datenzugriffsklassen im .NET Framework. Das ADO.NET Framework ist auf drei verschiedene Arten in der Lage, auf das iSeries System zuzugreifen: mit einem iSeries ODBC-Treiber, mit einem OLE DB Provider oder mit einem iSeries .NET Data Provider. Die beste Option ist hier der .NET Data Provider, da er die beste Performance, den geringsten Overhead und die umfangreichsten Funktionen bietet.

In diesem mehrstufigen Modell agiert das iSeries System als Backend-Datenbankplattform, wobei der OS/400 Host Database Server den Zugriff auf die in QSYS.LIB gespeicherten iSeries Daten bereitstellt. Die interaktive Anwendungslogik wird in .NET implementiert, der Code für die restlichen – nicht interaktiven –Anwendungsteile, mit denen beispielsweise die Batch-Verarbeitung abgewickelt wird, verbleibt auf dem iSeries System.

Der größte Vorteil beim Einsatz von .NET als Entwicklungsplattform ist wahrscheinlich das extrem leistungsfähige Toolset, das Microsoft für diese Entwicklungsumgebung bereitstellt. Das Produkt Visual Studio bietet eine leistungsstarke und höchst produktive Entwicklungsumgebung, die alle heute verfügbaren Entwicklungsumgebungen überragt. Die Entwicklungsumgebung umfasst alle typischen Funktionen, die man von einer modernen Entwicklungsumgebung heute erwarten darf wie beispielsweise grafisches Editieren, farbcodierte Schlüsselwörter, Debugging und Projektmanagement. Darüber hinaus bietet Visual Studio Edit-and-Continue, IntelliSense, Code-Completion, Snap-Lines, Smart Code Formatting, Code Snippets, Master Templates, Anwendungsprofile sowie Templates für die Erstellung XML-basierter Web Services (WS).

Das jüngste Visual Studio Team System Release adressiert nun auch eine Schwachstelle früherer Visual Studio Releases, nämlich das Fehlen unternehmensorientierter Life-Cycle-Entwicklungstools. Neben anderen Funktionen bietet Visual Studio Team System eine Web-basierte Source-Kontrolle, Projektmanagement, regelbasierte Code-Verteilung sowie eine automatisierte Generierung von Unit-Tests.

Der Einsatz der .NET Plattform für die Web-Entwicklung nutzt überdies die integrierte iSeries Unterstützung für die relationale Datenbank und kann sich zusätzlich als Performancevorteil erweisen, da die Web Servicing-Aufgaben auf die Windows-Plattform ausgelagert werden. Darüber hinaus wird der Code der Web-Anwendung von der iSeries Datenbank isoliert. Der Einsatz von Windows als Web Server führt dazu, dass das iSeries System nicht dem Internet ausgesetzt wird und die Web Servicing-Aufgaben auf einen anderen Web Server oder eine Web Farm ausgelagert werden, die als Front-End agieren.

Ein weiterer entscheidender Vorteil des Einsatzes von .NET für die Web-Entwicklung ist die zukunftsträchtige Skill-Ausrichtung der Entwickler. Die .NET Plattform ist eine der modernsten und populärsten Web-Entwicklungsplattformen. Die für die Entwicklung von .NET-Anwendungen erforderlichen Skills werden sich für eine große Anzahl von Unternehmen als wertvolle Ressource für die absehbare Zukunft erweisen.

Schwächen

Der größte Schwachpunkt beim Einsatz von .NET als Entwicklungsplattform für iSeries ist die fehlende IBM Unterstützung. Obwohl IBM als Teil von iSeries Access einen ODBC-Treiber, einen OLE DB Provider sowie einen .NET Data Provider zur Verfügung stellt, bilden Java und WebSphere die von IBM klar bevorzugte und unterstützte Entwicklungsrichtung. Die Microsoft-Unterstützung bei einem .NET-Entwicklungsumfeld, in dem die iSeries als Datenbank Backend verwendet wird, beschränkt sich auf den Anwendungscode und erweist sich bei iSeries bezogenen Problemen als wenig hilfreich.

Ein weiterer möglicher Nachteil ist die Notwendigkeit von Windows für den Einsatz. Werden in einem Unternehmen bereits Windows-basierte Web Server eingesetzt, ergibt sich hieraus kein Problem. Ist dies aber nicht der Fall, entstehen zusätzliche Verwaltungsaufgaben. Windows ist eine separate Plattform und erfordert für die Verwaltung einen von der iSeries abweichenden Skill Set. Theoretisch lassen sich .NET-Anwendungen auch mit Einsatz von Mono auf einer Linux-Plattform erstellen (Mono unterstützt das .NET Framework auf Linux). In einem solchen Szenario könnte die .NET-Anwendung mit Hilfe des IBM ODBC Providers für Linux-Zugriff auf das iSeries System nehmen. Diese Lösung ist aber noch sehr neu und wird bis heute nur von äußerst wenigen Unternehmen eingesetzt.

Zusammenfassende Betrachtung

Die iSeries Plattform ist – wenn auch vielen Unternehmen nicht bewusst – eine unternehmensweite, konkurrenzfähige relationale Datenbankplattform, die in vollem Umfang in der Lage ist, als Datenbankserver für .NET Web-Anwendungen zu agieren. Visual Studio und die .NET-Plattform stellen eine höchst produktive Web-Entwicklungsumgebung dar, mit der sich die Stärken von iSeries und Windows kombinieren lassen. Die nicht sehr ausgeprägte Unterstützung für iSeries bezogene Entwicklungsgesichtspunkte allerdings kann sich als etwas hinderlich erweisen.

Schlagworte: , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.