Visual RPG for .Net

 

Visual RPG for .NET?

ASNA’s Visual RPG for .NET (AVR.NET) ist ein RPG-Compiler, der in das Visual Studio.NET von Microsoft eingebunden werden kann. Er erzeugt zu 100% Microsoft Intermediate Language (MSIL) und verbindet die auf Browser basierenden Anwendungen direkt mit Ihren Servern der iSeries-AS/400.

 

Warum .NET

Die Motivation für die Initiative .NET ist aus ihrer Historie am ehesten verständlich. Durch die immer weitere Verbreitung der plattformunabhängigen Programmiersprache Java Ende der 1990er Jahre sah Microsoft seine Dominanz im Bereich der PC-Kerntechnologien in Gefahr. Zudem war es Microsoft bis dahin nicht gelungen, im lukrativen Markt für mobile Kleingeräte Fuß zu fassen.

Microsoft adaptierte die von SUN entwickelte Java-Technologie und erweiterte sie nach den eigenen Bedürfnissen, was die Plattformunabhängigkeit von Java-Applikationen beeinträchtigte. Als SUN dies unter anderem durch Gerichtsverfügung unterband, wechselte Microsoft die Strategie. Um eine vollständige Unabhängigkeit von anderen zu erreichen, sollte die .NET-Plattform von Grund auf neu entwickelt werden.

Zu dem Wunsch nach einer konkurrenzfähigen Technik „gegen Java“ gesellte sich eine überfällig gewordene technische Innovation: Die technologische Basis der Windows-Programmierung, nämlich die Objekttechniken COM und DCOM, hatten ihre Grenzen erreicht. So entstand ein aus vermarktungsstrategischen Überlegungen und technischer Notwendigkeit motiviertes gemeinsames Projekt.

Die Vorteile gegenüber den alten Techniken sind enorm: Eine sehr ausführliche Palette an Steuerelementen und Templates führen den Entwickler fast automatisch zu anspruchsvollen Programmen. Die Neuerungen für die Entwicklung von webbasierte Anwendungen sorgen einerseits für ein zeitgemäßes Aussehen und reduzieren andererseits die Entwicklungszeit auf einen Bruchteil.

 

Warum Visual RPG

Durch die Integration in Visual Studio ist Visual RPG so effizient wie die Microsoft .Net Sprachen. Zusätzlich bietet Visual RPG in Kombination mit ASNA’s Datagate eine Verbindung zur iSeries Datanbank auf Satzebene.

Die Syntax von Visual RPG bietet RPG-Programmierern einen leichten Einstieg in die .Net-Welt. Auch wenn in der Client/Server-Programmierung eine Zusammenarbeit mit PC-Programmierern üblich ist, wird vor Allem bei der Programmierung von „Business-Logik“ auf die Erfahrung des RPG-Teams zurückgegriffen.

 

Client/Server

Als Client-Server-System wird eine Netzwerkstruktur bezeichnet, bei der die Ressourcen von einem zentralen Server (Software) angeboten werden, auf die von den Arbeitsstationen (Clients) aus zugegriffen werden kann. Der Server stellt einen Dienst oder die Daten zur Verfügung. Der Client bietet die Benutzeroberfläche oder die Benutzerschnittstelle der Anwendung an.

 

Thin Clients

Unter  „Thin Clients“ verstehen wir Client-Programme, die lediglich eine Anwenderschnittstelle zu einem Programm auf dem Server  haben. Die Programme werden auf dem (und vom) Server ausgeführt und die Masken werden in Form von Daten an den Client geschickt.
Beispiele solcher Clients sind iSeries-Access und Browser.
Ein großer Vorteil dieser Clients ist die einfache Wartung. Wenn sich ein Programm auf dem Server ändert, hat automatisch sofort jeder Client die neueste Version des Programms. Ein Nachteil dieser Arbeitsweise ist die geringe Funktionalität. Standardmäßig stehen nur Funktionen vom Server zur Verfügung.

 

 

 

Fat Clients (Rich Clients)

Im Gegensatz zu den „Thin Clients“ gibt es „Fat Clients“. Diese Client-Programme besitzen eigene Logik, benutzen aber die Daten von einem Server. Die Funktionalität des Clients (Windows-Funktionalität) kann hierbei ausgeschöpft werden (zum Beispiel um Daten in Excel zu portieren oder in Form von pdf zu verschicken). Entscheidender Nachteil ist die Aufwändige Wartung: Jede Programmänderung muss auf allen Clients installiert werden.

 

 

Smart Clients

Ein Smart Client ist ein Programm, welches lokal auf dem PC läuft, aber vollautomatisch über das Internet oder Intranet installiert und aktualisiert wird („ClickOnce-Deployment“). Der Smart-Client-Ansatz verspricht durch besseres Laufzeitverhalten und höheren Bedienkomfort bei gleichzeitiger Vermeidung lokaler Installationsprobleme eine Kombination der Vorteile von klassischen Anwendungen. Der Zugriff auf Datenbanken erfolgt bei Smart Clients, sofern kein Zugang über ein lokales Netz möglich ist, über Web Services.

Die Business-Logik ist Bestandteil des Web Services. Dieses Programm ist das Herz der Anwendung, es reagiert auf Anfragen von den Clients, bereitet die Daten auf und gibt nur die gewünschten Daten zurück.

Das Smart-Client-Konzept ist nicht neu, wird aber mit der Einführung von Microsoft Windows Vista durch eine deutlich verbesserte Systemunterstützung neu belebt.

 

 

Fazit

Der Smart-Client verbindet die Vorteile von „Thin-Client“ und „Fat-Client“ indem es auf einfache Weise (automatisch) installiert wird und trotzdem alle Möglichkeiten des Clients unterstützt. Zudem wird das Netzwerk weniger belastet, da nur die benötigten Daten gesendet werden (z.B. Kundenname statt ein kompletter Satz des Kundenstamms).

Der größter Vorteil liegt wohl darin, dass eine Zusammenarbeit zwischen iSeries- und PC-Programmierern effizienter wird: Die Client-Programmierung ist im Allgemeinen eine Arbeit für Designer. Die Server-Programmierung hingegen ist die Arbeit von Datenverarbeitungsprofis, erfahrene Programmierer, die die Business-Logik verstehen.