Login
Newsletter
Werbung

Mi, 19. Dezember 2001, 00:00

Windows-Applikationen auf Linux nutzen - Wie funktioniert das?

Das Portierungswerkzeug Visual MainWin in der Kurzvorstellung.

Stefan Quentin

Vorwort

Da mittlerweile Microsoft selber anfängt, Produkte auf Linux zu portieren (Hickhack um Office für Linux vom 28.08.2000), beschäftigt sich dieser Artikel mit dem Thema Portierung von Windows nach Linux. Die Firma Mainsoft aus San Jose (CA) hat - als eine der wenigen - Zugriff auf den Quellcode der Microsoft Betriebsysteme Windows NT und Windows 2000. Mit diesen Rechten ausgestattet und der engen Zusammenarbeit mit Microsoft ist es ihr gelungen, ein Tool zu schaffen, das die Portierung von Windows NT/2000 Anwendungen nach Linux mit einem einfachen Mausklick ermöglicht.

Dieses Tool, mit dem es auch möglich ist, Applikationen nach Solaris, AIX und HP-UX zu portieren, heißt Visual MainWin und ist seit Sommer 2001 verfügbar. Da Mainsoft - wie bereits erwähnt - mit dem Windows-Quellcode arbeiten konnte, haben sie ein echtes Portierungstool geschaffen und keinen weiteren Emulator.

Visual MainWin SDK Blockdiagramm

Stefan Quentin

Visual MainWin SDK Blockdiagramm

Die Grundidee von Mainsoft war es, eine möglichst einfache, schnelle und effektive Portierung von Windows nach UNIX (Linux) zu ermöglichen. Dies geschieht, indem Visual MainWin einfach in Microsofts Visual Studio als Add-In eingebunden wird. Mit diesem Add-In ist es quasi per Mausklick möglich, eine Windowsanwendung direkt nach Linux zu portieren. An der Stelle, an der vorher im Visual Studio nur eine WIN32 Option angeboten wurde, erscheint nun die Möglichkeit den Code nach Linux zu portieren. Es wird der Windows Quellcode zu echtem Linux Code rekompiliert. Dieses Add-In nennt sich »SDK - Software Developer Kit« und ist die erste von zwei Hauptkomponenten von Visual MainWin.

Die zweite ist die »Visual MainWin Platform«, die eine Windowsumgebung auf Linux zur Verfügung stellt. Diese Plattform besteht aus mehr als sieben Millionen Zeilen Windows Quellcode. Sie stellt der Anwendung die selben APIs wie unter Windows zur Verfügung, damit die Anwendung genauso läuft wie unter Windows, dazu aber später mehr.

Nach dieser sehr oberflächlichen Betrachtung soll nun der technische Hintergrund und die genauere Funktionsweise erläutert werden. Für detaillierte technische Informationen wenden Sie sich bitte an die unten angegebene Adresse. Auf der unilab-Website finden Sie ein ausführliches White Paper, in dem Sie noch zusätzliche technische Details finden.

Das Visual MainWin Software Developer Kit (SDK)

Das Visual MainWin SDK ist eine verteilte Softwareentwicklungsumgebung, die alle Komponenten beinhaltet, die nötig sind, um eine Windows-Anwendung nach Linux zu portieren.

Ein Teil vom SDK ist der Visual MainWin Client der hauptsächlich aus dem o.g. Add-In für Microsofts Visual Studio besteht. Dieser Client ermöglicht die Erstellung einer Linux-Applikation direkt aus dem Visual Studio heraus, ferngesteuert auf dem Linux-Rechner.

Das Gegenstück des Visual MainWin Client ist der Visual MainWin Server, der - wie der Name schon sagt - auf dem Server installiert wird und die Linux Anwendung, ferngesteuert vom Visual Main Client, erzeugt.

Das letzte Feature ist das Shared-Files-System. Bei Visual MainWin SDK wird hierzu kostenlos SAMBA mitgeliefert, eine frei verfügbare Open Source Lösung. Mit Hilfe von SAMBA ist es dem Entwickler möglich, die selben Quellcode-Dateien für die Linux - und die Windows Version zu verwenden. Dadurch entwickelt und pflegt man nur auf einer Codebasis und es ist möglich, einzelne Komponenten der Applikation zu portieren, ohne daß die gesamte Anwendung bereits fertig gestellt ist. Man kann also gleichzeitig mehrere Versionen entwickeln.

Für die Portierung selber bieten sich zwei Wege an, zum einem aus dem Visual Studio heraus und zum anderen am Linux Rechner über die Kommandozeile. Der zweite Weg empfiehlt sich, wenn unbeaufsichtigte batch builds ausgeführt werden sollen.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung