Freelance Graphics - Linux Anwendungsportierung.PRZ

Werbung
Anwendungsportierung die wichtigsten Fragen
Ralf Seiffert, Lotus Development
GmbH
Wichtige Frage zur
Anwendungsmigration
Ist
Ist Ihre
Ihre Domino
Domino Anwendung
Anwendung "Self
"Self Contained"?
Contained"?
Macht
Macht Ihre
Ihre Anwendung
Anwendung externe
externe Aufrufe?
Aufrufe?
Enthält
Enthält sie
sie hardcodierte
hardcodierte Dateiaufrufe?
Dateiaufrufe?
Gibt
Gibt es
es spezielle
spezielle hardcodierte
hardcodierte
Import-/Exportfunktionen?
Import-/Exportfunktionen?
Code
Code überprüfen
überprüfen auf
auf Gross-/Kleinschreibung
Gross-/Kleinschreibung
Nutzen
Nutzen Sie
Sie CASE
CASE (Computer
(Computer Aided
Aided Software
Software Engineering)
Engineering)
Werkzeuge?
Werkzeuge?
Nutzt
Nutzt sie
sie Plattformspezifikas?
Plattformspezifikas?
Gibt
Gibt es
es spezielle
spezielle eingebettete
eingebettete Objekte?
Objekte?
Nutzt
Nutzt sie
sie Windows-spezifische
Windows-spezifische Funktionen?
Funktionen?
Nutzten
Nutzten Sie
Sie einen
einen Compiler
Compiler der
der
betriebssystemabhängige
betriebssystemabhängige Bibliotheken
Bibliotheken aufruft?
aufruft?
Ist die Anwendung "Self Contained"?
"Self Contained" sind Anwendungen, die:
komplett
komplett innerhalb
innerhalb des
des Domino
Domino Server
Server ablaufen
ablaufen
LotusScript
LotusScript (oder
(oder Javascript)
Javascript) nutzen
nutzen
keine
keine externen
externen Aufrufe
Aufrufe machen
machen
keine
keine Verbindung
Verbindung zu
zu externen
externen Dateien
Dateien haben
haben
kein
kein Import/Export
Import/Export von
von Daten
Daten durchführen
durchführen
Macht Ihre Anwendung externe
Aufrufe?
Von Linux unterstützt externe Anwendungen:
JDBC
JDBC
Corba/
Corba/ IIOP
IIOP
POP3
POP3
LDAP
LDAP
IMAP4
IMAP4
Externe Anwendunge, die z.Zt. nicht von Domino
on Linux unterstützt werden:
Active
Active X
X
OLE
OLE
DDE
DDE
Visual
Visual Basic
Basic
COM
COM // DCOM
DCOM
Enthählt die Anwendung hardcodierte
Dateiaufrufe?
Beispiele:
Windows
Windows oder
oder DOS
DOS Namen
Namen
c:\domino\data\test.nsf
c:\domino\data\test.nsf
UNC
UNC (Universal
(Universal Naming
Naming Convention)
Convention) Namen
Namen
\\serverxx\share\directory\db.nsf
\\serverxx\share\directory\db.nsf
Diese Dateireferenzen werden von
Linux nicht unterstützt und müssen
nach Unix Dateireferenzen geändert
werden
Gibt es spezielle hardcodierte
Import-/Exportfunktionen?
Object
Object Linking
Linking and
and Embedding
Embedding (OLE)
(OLE) Links
Links
Windows/DOS
Windows/DOS Dateiumsetzer
Dateiumsetzer (Outside
(Outside In,
In, etc.)
etc.)
Windows/DOS
Windows/DOS Dateibetrachter
Dateibetrachter
Code überprüfen auf
Gross-/Kleinschreibung
Windows, DOS und
Webanwendungsentwicklungswerkzeuge sind
nicht Case-sensitiv.
Aber UNIX ist es !
Fehlerursachen sind:
Dateinamen werden nicht gefunden
Externe Scriptaufrufe schlagen fehl
Links oder Hotspots funktionieren nicht mehr
Nutzen Sie C.A.S.E. Tools?
Viele
Viele Entwickler
Entwickler nutzen
nutzen CASE
CASE Tools
Tools als
als
Hilfe
Hilfe zur
zur Anwendungsentwicklung:
Anwendungsentwicklung:
Debugging
Debugging
Multi-Media
Multi-Media
Kompilieren
Kompilieren
Authoring
Authoring
Installer
Installer
Versionskontrolle
Versionskontrolle
Hilfewerkzeuge
Hilfewerkzeuge
Defect
Defect Management
Management
Utility-Erstellung
Utility-Erstellung
Viele
Viele dieser
dieser Werkzeuge
Werkzeuge sind
sind für
für Nicht-UNIX
Nicht-UNIX
Betriebssysteme
Betriebssysteme erstellt
erstellt worden
worden und
und ihr
ihr Code
Code
könnte
könnte inkompatible
inkompatible zu
zu UNIX/Linux
UNIX/Linux sein.
sein.
Nutzt sie Plattformspezifikas?
NT
NT Registry
Registry Synchronisation
Synchronisation für
für
Nutzerregistrierung
Nutzerregistrierung
DB2/400
DB2/400 optimierter
optimierter Datenzugriff
Datenzugriff
Zugiff
Zugiff auf
auf NT
NT Dienste
Dienste jeder
jeder Art
Art
Gibt es spezielle eingebettete Objekte?
Active-X
Active-X Controls
Controls
SameTime
SameTime Anwendungen
Anwendungen
Doc
Doc Links
Links zu
zu Windows/DOS
Windows/DOS Textverarbeitung
Textverarbeitung
Windows
Windows SysTray
SysTray abhängige
abhängige Anwendungen
Anwendungen
Eingebettete
Eingebettete Objekte
Objekte von
von Nicht-Unix
Nicht-Unix
Kompatiblen
Kompatiblen Anwendungen
Anwendungen (1-2-3
(1-2-3 Dateien,
Dateien, etc.)
etc.)
Nutzt sie Windows-spezifische Funktionen?
Windows
Windows oder
oder DOS
DOS spezifische
spezifische
Funktionen
Funktionen arbeiten
arbeiten nicht
nicht unter
unter Linux.:
Linux.:
OLE
OLE
Active-X
Active-X
ODBC
ODBC Drivers
Drivers
Visual
Visual J++
J++
Active
Active Server
Server Pages*
Pages*
Nutzten Sie einen Compiler der
betriebssystemabhängige Bibliotheken aufruft?
Viele
Viele Compiler
Compiler rufen
rufen
Betriebssystembibliotheken
Betriebssystembibliotheken auf.
auf.
Jeden
Jeden Bibliotheksaufruf
Bibliotheksaufruf des
des Compilers
Compilers
überprüfen,
überprüfen, ob
ob er
er von
von Linux
Linux unterstützt
unterstützt
wird.
wird.
Anwendungsentwicklung
Erweiterte
Erweiterte Anwendungen
Anwendungen
Spezielle
Spezielle Zusätze
Zusätze für
für Entwickler
Entwickler
API
API
API
API Support
Support für
für Linux
Linux
Java
Java Support
Support
Nutzungsbereich
Nutzungsbereich
1. Erweiterte Anwendungen
Manche Anwendungen sind schwierig zu
portieren weil sie folgendes einschliessen:
Technologien
Technologien oder
oder Produkte,
Produkte, die
die für
für Entwickler
Entwickler
nicht
nicht ausbaubar
ausbaubar sind
sind
Technologien
Technologien oder
oder Produkte,
Produkte, die
die ihre
ihre speziellen
speziellen
Betriebssystemumgebungen
Betriebssystemumgebungen benötigen:
benötigen:
Domino.Doc
Domino.Doc
Domino
Domino Instant
Instant Host
Host
FAX
FAX for
for Domino
Domino
Quickplace
Quickplace
Domino
Domino Hot
Hot Media
Media
MSD
Sametime
Learning Space
1. Stand der Planung
Operating
System
IISP/ASP
SP/ASP
Distance
Distance
Learning
Learning
KM
KM
AIX
Solaris
SPARC
Linux
OS/400
OS/390
ASP Solution Pack
H1 2000
H2 2000
QuickPlace
H2 2000
H2 2000
Sametime
H2 2000
H2 2000
H2 2000
LS Forum
Available
Available
Available
Available
Raven
H2 2000
H2 2000
Extended Search
H2 2000
H1 2001
Domino.Doc
Available
Available
Available
H1 2000
H2 2000
H2 2000
Available
LS "Athena"
Fax Domino
Workflow
H1 2000
Available
H2 2000
H2 2000
Port
Port Complete
Complete or
or Underway
Underway
In
In Planning
Planning
Available
Available
Not
Not Planned
Planned
2. Spezielle Zusätze
Zusätze für Entwickler, um
Anwendungen zu erweitern wie:
LEI, LS:DO, Connectors, ESB
LSXs
MQ Series
Java Applets & Servlets
Domino Server Agents in Java
Diese Konstrukte müssen auf
ihre Linux Kompatibilität
überprüft werden
3. API
Eine gute Lösung für die meisten Kompatibilitätsprobleme ist
die Nutzung des Domino API um die Funktionalität einer
Anwendung zu erweitern
Lotus Domino Driver for JDBC Version 1.1
Lotus Domino Toolkit for Java/Corba 2.0
Lotus C/C++ API
ODBC
Linux-based
Application
APIs
Client-based
Application
APIs
Notes
Agent
4. API Support für Linux
Notes C++ API:
Erstellen, löschen und ändern aller Designnotes
(eingeschlossen DB's, Dokumente, Felder)
Volltextsuche
Editeren von ACL's
Mail erstellen/senden
Richtext Editierfunktionen mittels Cursors
Server und Menu Add-in Programme
Notes C API's:
Wie C++ API
Extension Manager Add-Ins, DB-hook Treiber
Spezialfunktionen für Gateways und Billing
Kalender und Zeitplanungsfunktionen
Dokumente in / aus Ordnern
5. Java Support
Download
Download jitc
jitc Compiler
Compiler von
von Red
Red Hat
Hat
IBM
IBM JVM
JVM v1.1.8
v1.1.8 unterstützt
unterstützt
IBM
IBM VisualAge
VisualAge for
for Java
Java ist
ist verfügbar
verfügbar
IBM
IBM Developer's
Developer's Kit
Kit for
for Linux
Linux ,, Java
Java Technology
Technology
Edition,
Edition, version
version 1.1.8
1.1.8
6. Nutzungsbereich
Wenn man für eine Linux Distribution
entwickelt, läuft die Anwendung auch
auf Anderen?
Ja! So lange keine
distributionsabhängigen Tools oder
Programme aufgerufen werden.
Herunterladen