Eine bestehende Java-Struts-Intranetanwendung wurde erweitert.
Hauptaufgaben waren das Login mit Hilfe der Handysignatur, Anbindung OpenImmo,
Einbindung DSGVO, Ausbildungsverwaltung mit iCalendar-Integration, Import
externer Daten (B2B-Schnittstellen), Abrechnungsystem und Beratung zur Revisionssicherheit.
Entwicklungszeitraum und -ort
09/2017 bis 12/2019 in Tirol
Werkzeuge
IntelliJ IDEA
MySQL und MariaDB
Apache 2.4
Tomcat
Git
Linux und Windows 10
XOM
Spezielle notwendige Fähigkeiten
Einarbeitung in ein über mehrere Jahre gewachsenes System
PKI Public-Key-Infrastructur
Detailliertes Wissen zur Handysignatur
und wie diese für einen Anmeldeprozess in einem Java Servlet Filter
verwendet werden kann
Ein über mehrere Jahre gewachsenes System wurde weiter entwickelt, sein
Laufzeitverhalten wurde ständig überwacht, Test- und Entwicklungssysteme
wurden hergestellt und Produktivserver u.a. übersiedelt.
Die Auslieferung mancher Inhalte, wie z.B. der RSS-Feeds, konnte
durch Einsatz eines optimierten C++-Dienstes ca. um den Faktor 1.000
beschleunigt werden.
Auf einem bescheidenen Pentium 4 Testsystem mit 4 GB RAM wurden 1 Million
variierende Anfragen von 100 parallelen Clients in 20 Sekunden beantwortet;
das sind 50.000 Requests pro Sekunde.
Entwicklungszeitraum und -ort
6/2011 bis 2013 in Wien, Tirol und Homeoffice
Werkzeuge
Eclipse 3.x
MySQL 5.x
Apache 2.x
cvs und rcs
Linux
Postfix
vsftpd
cron und at
Nagios
iptables und ufw
tcpdump und Wireshark
vi
xmlindent
imagemagick
GeoIP
Spezielle notwendige Fähigkeiten
Selbständige Einarbeitung in ein über mehrere Jahre gewachsenes
System
Eine umfangreiche C++-C/S-Anwendung (> 100 Mannjahre) für neue
Clienttechnologien geöffnet. HaRe war in der Machbarkeitsanalyse, der
Auswahl der Frameworks und der Implementierung von Testanwendungen bzw.
"Proof of Concepts" beteiligt.
Es musste eine Lösung gefunden werden, die den hohen
Performanceanforderungen gerecht wurde.
Für ein kleines Innsbrucker Software-Unternehmen und meine Firma
GLOOO mobile communities GmbH,
Projekte im Bereich Handy-Anwendungen abgewickelt.
Hauptaufgaben von HaRe: Anforderungsanalyse, Projektleitung,
Qualitätssicherungsaufgaben, automatisierte Tests,
OOP-Beratung und -Softwareentwicklung.
Für die Hewlett-Packard Ges.m.b.H. wird eine bestehende Bankensoftware
weiterentwickelt.
Hauptaufgaben von HaRe: Qualitätssicherungsaufgaben, automatisierte Tests
einführen, zentrale Fehlerbehandlung, Portierung Tru64 auf Linux/gcc,
Internationalisierung, OOP-Beratung und -Softwareentwicklung.
Für Compaq Computer Austria GmbH bzw. Hewlett-Packard Gesellschaft m.b.H.
wurde ein bestehendes, in Java realisiertes Workflowsystem weiterentwickelt,
um erweiterten Vorgaben zu entsprechen.
Hauptaufgaben von HaRe: Automatisierte Tests, zentrale Basisklassen,
Message-Queues, Java-Com- bzw. Java-C++-Bridging und
Client/Server-Softwareentwicklung.
Ein bereits existierendes Archivierungssystem
sollte auf die nächste Versionstufe gehoben werden und wurde dazu vollkommen neu entwickelt.
Da das Archivierungssystem ein Internetfrontend bekommen sollte, wurde die Verarbeitung in
Servermodule verlegt und die Kommunikation mit diesen Modulen wird per XML abgewickelt.
Wir waren in der Analyse und Konzeption des Gesamtsystems, in der C++-Beratung und in der
Umsetzung tätig.
In der HypoVereinsbank wurde in Zusammenarbeit mit anderen Externen und HVB-Mitarbeitern die
Entwicklung eines Kreditkartenausstellungs-Systems vom Fachkonzept bis zum fertigen Produkt
mitentwickelt. Die Anwendung wird als N-Schichten-Anwendung realisiert, wobei die Präsentationsschicht
am Client in einer HVB-Anwendung namens INAP läuft, die Business- und Datenzugriffschicht
am Client/Server in ein HVB-Framework namens OPA/CS integriert ist und die Datenhaltung in einem
DB2-System am Host liegt.
Entwicklungszeitraum und -ort
2000 - 2001 in München
Werkzeuge
Visual C++ mit STL und ATL für die Business- und Datenzugriffschicht
Visual Basic für die Präsentationsschicht
Visual Source Safe
SQL Server 7.0
IIS 4.0 für DCOM over HTTP
MTS 2.0
ERwin für das logische und das physische Objektmodell
Rational Rose für die Use Cases, die Sequenzdiagramme
und die Klassendiagramme
Datenmengen pro Site >100GB, Datenbankanfragen pro Site > 1.000.000
pro Tag - werden per HTTP und per SMTP von verschiedenen Kundenbetriebssystemen
an die Server geschickt.
Die Sites werden per Replikation und per HTTP-, FTP- und Band-Anwendungen
abgeglichen.
Anwendungen, die den Dienst nutzen, wurden in C++, Visual Basic und Java
erstellt.
Für die Bayerische Hypo- und Vereinsbank in 2.000 Stunden einige
ActiveX Komponenten entwickelt.
Beschleunigung der bestehenden Anwendung um mehr als den Faktor 200.
Bei hohem Datenaufkommen traten manchmal Timeouts auf (mehrere Minuten).
Nach der Optimierung durch HaRe konnten die gleichen Anfragen in ca.
einer Sekunde bedient werden. Dies wurde vor allem durch genaue Analyse
der Anfragen, die passende Erstellung von Indizes, temporären Tabellen
und Stored Procedures und die Reduktion des Kommunikationsaufwands
zwischen Client und Server erreicht.
Entwicklungszeitraum und -ort
1999 in München
Werkzeuge
Visual Basic
Visual Source Safe
SQL Server 6.5
Rational Rose
ER-Win
MS Word
Spezielle notwendige Fähigkeiten
Visual Basic
SQL (viele Stored Procedures entwickelt, Skripte für
problemlose DB-Schemaänderungen erzeugt und durch Analysen
notwendige Indizes eruiert)
Mit Hilfe von NetShow wurden auf Windows NT Workstations mehrere Livevideos gleichzeitig
zur Verfügung gestellt und mit einem Internet Information Server auf Windows NT Server
als Unicast (im Internet) und als Multicast (im Intranet) verteilt.
Um keinen Besucher auszusperren, wurde ein Design ohne Frames, ohne clientseitige Anwendungslogik
und mit Symbolen wegen kurzer Übertragungszeiten und Aufbau von Neugier beim Gast gewählt.
Um bei der Wahl des Provider flexibel zu sein, wurde die serverseitige Anwendung mit ASP
(Active Server Pages) realisiert. Die statischen Seiten werden aus einer Datenbankanwendung heraus erzeugt.
Soll ein DOS-basierendes Verwaltungsprogramm ablösen.
Es wurde eine Art Explorer-Look&Feel gewählt.
Die Objekte in der TreeView kennen die Art
ihrer Kinder und ihren jeweiligen Parent. Daraus können dann alle
Datenbankoperationen z.B. per Drag&Drop oder Kontextmenü über dynamisch
erstellte SQL-Statements durchgeführt werden.
Um die bereits bestehende Adreßdatenbank in Exchange nutzen zu können,
wurde ein "MAPI - Adress Book Provider" erstellt, der die Adreßdaten mittels
ODBC holt und über MAPI in Exchange (und allen MAPI fähigen Clientanwendungen,
wie: MS Mail, Outlook, usw. ) zur Verfügung stellt.
Entwicklungszeitraum
1998
Werkzeuge
Microsoft Visual C++ 5.0
7.500 Zeilen
SQL
Spezielle notwendige Fähigkeiten
C (für die MAPI-Beispielprogramme, die vielfach noch in C sind,
allerdings C++ nachbauen - Stichwort vtable)
Das Netzwerk eines Kunden sollte über ein Wocheende von Netware 3.11 + DOS Clients auf ein durchgängiges
Windows NT (Server + Clients) mit Zugriff auf die Novell Server umgerüstet werden. Um auch noch weiterhin
dazukommende Workstations leicht zu integrieren und die PCs so einheitlich wie möglich
aufzusetzen wurde
von mir das unattended-setup von Windows NT gewählt.
Auf den PCs wurde Windows NT 4, Service Pack 3, Internet Explorer 3, Office 97, Exchange (plus Service Pack 2 und 4),
installiert, die BOOT.INI wurde verändert und es wurde automatisch diverse Einträge in die Registry
geschreiben. Während der Installation wurden mittels AutoAdminLogon mehrere Neustarts ohne Eingriff durchgeführt
jedoch am Ende diese Einstellung wieder entfernt, damit sich jeder Benutzer anmelden muß.
Teilweise mußten .INF-Dateien umgeschrieben werden, wenn diese keine Installation ohne Eingriffe unterstützten.
Entwicklungszeitraum
Mai 1998
Werkzeuge
Notepad.exe und Edit.com für diverse .BAT, .INI, .REG und .INF Dateien
SetupMgr.exe
SysDiff.exe
Office Network Installation Wizzard 2.1.exe
Knowledge Base !!!
Spezielle notwendige Fähigkeiten
.BAT, .INI, .REG und .INF Dateien lesen und schreiben können
Es wurden Datenmengen mit mehreren Gigabyte unter DOS miteinander
verknüpft und daraus Ausgabedateien erstellt.
Es handelte sich dabei vorwiegend um umfangreiches Adressmaterial,
das nach verschiedensten Kriterien kombiniert wurde.
Die bestehenden Datenbankanwendungen, die für manche Aufgaben mehr als 24
Stunden benötigten, um dann teilweise mit einem Fehler abzubrechen, wurden
um mehr als den Faktor 200 beschleunigt (verbleibende Laufzeit ca. fünf
Minuten).
Entwicklungszeitraum
1997
Werkzeuge
Microsoft Visual C++ 1.52
alle Programme zusammen ca. 60.000 Zeilen
Pharlap DOS Extender
Um die 640 KB Grenze einfach zu überschreiten
Spezielle notwendige Fähigkeiten
Alles was mit Bäumen und verschiedensten Such- und Sortier-Algorithmen zu tun hat
Die C-Libraries wie z.B. stdlib
C++
operatoren new und delete überladen, um den Speicher
selbständig und möglichst sparsam zu verwalten
(ganze Segmente)
Verschiedenste Klassen wie Baum, Liste, Feld mit unterschiedlichsten
Füll-, Ausgabe- und Traversierungsfunktionen
dBase Dateiformat lesen und schreiben (ohne spezielle Bibliothek)
und Fehler anderer Programme in diesen Dateien korrigieren
Eine Windowsanwendung um Eintrittskarten für Veranstaltung
zu erzeugen. Der Benutzer kann Sitzpläne erzeugen, Kategorien,
Preise und Veranstaltungen definieren und das Layout der
Eintrittskarten bestimmen.