Dipl.-Inf. Univ. Andreas Schildbach Homepage
LANGUAGE

   deutsch german
   english english

PROJECTS

 
 
 
period  01/2010 - 06/2010
description  Öffi, Dein Begleiter für den öffentlichen Nahverkehr! Anwendung für Android-Mobiltelefone.
position  Eigenverantwortlicher Softwareentwickler und Herausgeber
technologies  Android 1.5, 1.6, 2.0, 2.1, 2.2
Geolocation, sqlite3
Eclipse 3.5, Android SDK, Subversion
 
 
period  05/2010 - 06/2010
description  Kunstprojekt Blinkendroid, view blinkenlights movies in a cluster of android devices! Kostenlose Anwendung für Android-Mobiltelefone.
position  Softwareentwickler im Team
technologies  Android 1.5, 1.6, 2.0, 2.1, 2.2
Socket-Kommunikation
Eclipse 3.5, Android SDK, Subversion
 
 
period  11/2002 - 09/2009
description  3moves.net, Spiele-Platform/-Community für klassische Strategiespiele
position  Eigenverantwortlicher Softwareentwickler, Architekt, Betreiber und Administrator
activities 

3moves.net ist eine Platform für klassische Strategiespiele, der der sich jeden Tag hunderte von Benutzern treffen um sich gegeneinander in verschiedenen Schach- und Dame-Varianten zu messen.

Hierfür mussten die Spielregeln korrekt in Business-Logik abgebildet werden. Aufgrund der Menge an Transaktionen (mehrere Dutzend Spielzüge pro Sekunde) mußte eine robuste Persistenz aufgebaut werden, was mit Hilfe eines O/R-Mappers (Hibernate) geschah.

Anders als in anderen Projekten war ich hier auch fuer Betrieb und Administration verantwortlich, was mir wertvolle Erfahrungen auch für die Entwicklung brachte.

technologies  Java5 (JDK 1.5, Generics, Enumerations, Annotations), Groovy,
J2EE 1.4, Servlets 2.4,
Spring 2.0, Spring WebFlow 1.0,
JSP 2.0, JSTL 1.1, Hibernate 3.2, Smack 2.0,
JUnit 4.4, Easymock 2.2,
Debian GNU/Linux 5.0, MySQL 5.0, Tomcat 5.5,
XHTML 1.0, CSS2, AJAX, ATOM, Widgets,
Eclipse 3.5, Web Tools Project 2.0, Maven2, Subversion 1.5
 
 
period  11/2008 - 01/2009
description  Adapter für eine künstliche Intelligenz eines Multiplayer-Spiels
employer  ein marktführender Anbieter für Browserspiele
position  Berater und Software-Engineer im Team
activities  Ein JNI-Adapter für eine in C++ geschriebene KI-Komponente wurde entwickelt. Ein umfangreiches Remoting-Protokoll für das Multiplayer-Spiel "Skat" wurde nachdokumentiert, erweitert sowie adapterseitig implementiert.
technologies  Java6 (JDK 1.6), C, JNI,
MINA 2.0, Spring 2.5, JMS,
Eclipse 3.5, Maven2, Hudson
 
 
period  05/2008 - 10/2008
description  Serverkomponente für ein System zum Erstellen eines Avatars (Spielerbild)
employer  ein marktführender Anbieter für Browserspiele
position  Berater und Software-Engineer im Team
activities  Eine schlanke Serverkomponente wurde entwickelt, die vom Frontend Requests über eine REST-Schnittstelle entgegennimmt und die Daten via O/R-Mapper in der Datenbank speichert. Erwähnenswert ist auch der bildverarbeitende Teil, der Bilder dekodiert, skaliert und wieder kodiert.
technologies  Java6 (JDK 1.6), Servlet 2.5, Spring 2.5, Hibernate 3.3, REST,
Tomcat 6, Postgresql 8.3,
Eclipse 3.5, Maven2, Hudson
 
 
period  01/2007 - 02/2008
description  Implementation neuer Features im Kundenportal
employer  Mobilfunk-Unternehmen
position  Berater und Software-Engineer im Team
activities  Für das bestehende Kundenportal wurden diverse neue Features implementiert. Dabei wurde die Gelegenheit genutzt, die ganze Software Unit-Test-freundlicher zu gestalten, den Build- Prozeß von einer Eigenentwicklung auf Maven2 umzustellen und einen Continuous-Integration-Prozeß aufzusetzen.
technologies  Java5 (JDK 1.5, Generics, Enumerations, Annotations),
J2EE 1.4, Servlets 2.4, JSP 2.0, JSTL 1.1,
Spring 1.2/2.0, Hibernate 3.2, JUnit 3,
Tomcat 5.5,
Eclipse 3.3, Web Tools Project 2.0, Maven2,
ClearCase
 
 
period  03/2006 - 12/2006
description  Anpassung eines Kundenportals an neues Backend-System
employer  Mobilfunk-Unternehmen
position  Berater und Software-Engineer im Team
activities  Das Backend-System für das Kundenportal wurde umgestellt. Dafür wurde ein Adapter mit dynamischem Dispatcher erstellt, um beide Backends gleichzeitig - und ohne Modifikationen am Frontend - ansprechen zu können.
technologies  Java5 (JDK 1.5, Generics, Enumerations, Annotations),
J2EE 1.4, Servlets 2.4, JSP 2.0, JSTL 1.1,
Spring 1.2/2.0, Hibernate 3.2, JUnit 3,
JBoss 4,
Eclipse 3.2, Web Tools Project 1.5, Maven2,
ClearCase
 
 
period  10/2005 - 12/2005
description  Entwurf und Implementierung eines Workflow-Systems zum Verwalten von Symbolen
employer  Ein mittelständisches Unternehmen in München
position  Berater, Software-Architekt und -Entwickler im Team
activities  Entwurf der Gesamtarchitektur,
Briefing der anderen Teammitglieder,
Entwurf des Objektmodells und des Mappings aufs Datenmodell,
Komplette Implementierung der Anbindung der Legacy-Systeme,
Tests
technologies  Hibernate 3.0,
Spring 1.2,
Struts 1.2,
J2SE 1.4,
J2EE 1.4 (Servlets 2.3),
Tomcat 4.1, BEA Weblogic 8.1,
Oracle,
Eclipse 3.1, Web Tools Project 0.7
 
 
period  06/2005 - 08/2005
description  Entwurf und Implementierung für ein Workflow-System zum Verwalten von Texten
employer  Ein mittelständisches Unternehmen in München
position  Berater, Software-Architekt und -Entwickler im Team
activities  Entwurf der Gesamtarchitektur,
Briefing der anderen Teammitglieder,
Komplette Implementierung eines Teilmoduls für Text-Operationen,
Tests
technologies  Hibernate 3.0,
Spring 1.2,
Struts 1.2,
J2SE 1.4,
J2EE 1.4 (Servlets 2.3),
Tomcat 4.1, BEA Weblogic 8.1,
Oracle,
Eclipse 3.1, Web Tools Project 0.7
 
 
period  01/2005 - 06/2005
description  Entwurf und Implementierung eines Workflow-Systems zum Aushandeln von Konditionen
employer  Ein mittelständisches Unternehmen in München
position  Berater, Software-Architekt und -Entwickler
activities  Entwurf der Gesamtarchitektur
Entwurf des Datenmodells
Entwurf des Objektmodells und des Mappings aufs Datenmodell
Komplette Implementierung von der GUI über den Business Layer bis zur Persistenz
Erstellung der Dokumentation
Tests und Betreuung der Abnahme
technologies  Hibernate 2.1,
Spring 1.2 (+Spring-Web),
Freemarker 2.3,
iText 1.3,
J2SE 1.4,
J2EE 1.4 (Servlets 2.3, JavaMail 1.2),
Tomcat 4.1,
Microsoft SQL Server 2000
 
 
period  11/2003 - 05/2004
description  Entwurf und Prototyp einer hoch-performanten Systemarchitektur für eine Dating-Platform
employer  Eine im deutschen Markt führende Internet-Partnerbörse
position  Berater, Software-Engineer im Team
activities 

Um dem rasanten Wachstum im Bereich Online-Dating standzuhalten, war es nötig die Architektur der schon bestehenden Dating-Platform neu zu entwerfen. Ziele waren unter anderen 10.000 gleichzeitige Benutzer mit Zugriff auf einige Millionen Datensätze der anderen Benutzer (Profile) und eine Dienste-Verfügbarkeit von 99,7%.

Es wurden zwei Alternativen entworfen: Eine konventionelle Dreischicht-Architektur auf Basis von EJB sowie eine schlanke Zweischicht-Architektur mit Spring als Komponenten-Framework und dem O/R-Mapper Hibernate zum Zugriff auf die Datenbank.

Für jede Architektur wurde ein Prototyp erstellt, der sich zur Abschätzung des Aufwands sowie zur Evaluierung von Performance und Stabilität eignete. Mittels dieser Prototypen war es dem Arbeitgeber schließlich möglich, eine technisch und wirtschaftlich fundierte Entscheidung zu treffen.

technologies  J2SE 1.4, J2EE 1.3, Hibernate, Spring, EJB
Eclipse, CVS
Oracle, MySQL
 
 
period  09/2003 - 10/2003
description  Configuration and system-administration of a linux server for professional hosting of web applications
position  Berater und Administrator im Team
activities 

Das in diesem Projekt erreichte Ziel ist ein zuverlässiger und performanter Server, auf dem Web-Applikationen professionell gehostet werden. Dazu wurde - nach einer umfangreichen Evaluierungsphase - die konservative Grundinstallation eines Linux-Systems inkl. der minimal benötigten Basisdienste gewählt. Besonderes Augenmerk wurde aus Sicherheitsgründen darauf gerichtet, die Kommunikationswege zum Internet möglichst genau auf die tatsächlichen Bedürfnisse der genutzen Dienste zu beschränken.

Auf dieser soliden Basis entstand ein Application Server/Web Server, ein Datenbank-Server, ein Mailserver und ein Instant Messaging Server. Um Kosten zu sparen, wurde ausschließlich Open Source Software verwendet. Unter den zur Verfügung stehenden Versionen wurden diejenigen ausgesucht, die ihre Zuverlässigkeit in weltweit hunderttausenden von Installationen unter Beweis gestellt haben und die im Fall von entdeckten Sicherheitsproblemen innerhalb weniger Stunden aktualisiert werden.

technologies  Internet-Sicherheit/Protokolle: HTTP(S), SMTP, SSH/SCP, DNS, NTP
Firewall: netfilter, iptables, stateful packet filter
Datenbank: MySQL 3.23
Application Server: Tomcat 4.1, Apache HTTP Server
Mail-Server: postfix, procmail
Instant Messaging: jabberd 1.4.2 (Jabber/XMPP)
Linux
 
 
period  02/2003 - 06/2003
description  Distributed system for scheduling train staff
employer  a big german railway company
position  Consultant in a team
activities  implementation of a prototype
design and implementation of the server system
design and implementation of the client application
development and rollout of process models
technologies  Borland JBuilder, Eclipse, Rational Rose, Apache Ant, ClearCase
J2SE 1.4, J2EE 1.3, Swing, EJB
Oracle, BEA WebLogic Server, Toplink
 
 
period  01/2003 - 02/2003
description  Tool for printing and formatting of catalogs
employer  a munich authority
position  Consultant in a team
activities  design of a filter architecture (input, output)
implementation of some filters
design and implementation of the data model
technologies  Java2 (J2SE 1.4)
Eclipse
Jakarta POI
 
 
period  10/2002 - 12/2002
description  Special interest webpage for a lifestyle-community
position  sole responsible software engineer
activities  implementation of a content management system for articles, picture galleries and comments of a user community
implementation of a templating system
implementation of a portal system
implementation of a single sign on, based on server managed authentication and authorization
design of the data model/database tables
website design
technologies  Java2 (J2SE 1.4), Enterprise Java (J2EE 1.3)
Java Servlets 2.3, Java Server Pages (JSP 1.2), Java Standard Tag Library (JSTL)
Java Advanced Imaging (JAI 1.1.1)
MySQL 3.23
Windows Server 2003
Jakarta Tomcat 4.1
XML, XSLT, XPath, HTML+CSS
 
 
period  09/2002 - 10/2002
description  Website migration, sophisticated data transformations
employer  a large financial newspaper
position  consultant and software engineer in a team
activities  analysis
object design
implementation
technologies  Java2 (J2SE 1.4)
Oracle SQL Server
regular expressions
Windows 2000
 
 
period  07/2002 - 09/2002
description  Connection to the data feeds of three leading financial news providers
employer  a medium-sized enterprise
position  responsible software engineer and programmer in a team
activities  analysis of the vendor proprietary protocols
design of a fail-safe and performant architecture (redundant servers)
implementation using Java and C++
technologies  Microsoft Visual C++
Microsoft Message Queues (MSMQ)
Java2 (J2SE 1.4)
Java Native Interface (JNI)
Oracle SQL Server
SSL API (Reuters), CEF API (dt. Börse)
XML
Windows NT/XP
 
 
period  02/2002 - 06/2002
description  JavaBean-based middleware for financial data
employer  a medium-sized enterprise
position  responsible software engineer in a team
activities  analysis of the requirements for print and electronic publishing
object design based on an existing data model
implementation using standard J2SE and J2EE apis
release management
technologies  Java2 (J2SE 1.3), Enterprise Java (J2EE 1.3)
JDBC 2.1
Oracle SQL Server
SUN Solaris
 
 
period  11/2001 - 02/2002
description  Financial information portal for investors
employer  a large direct bank
position  responsible software engineer in a team
activities  analysis of the existing application and the new requirements
refactoring of the existing implementation
maintenance (performance tuning and bug fixing)
technologies  Java2 (J2SE 1.2), Enterprise Java (J2EE 1.3)
Java Servlets 2.3, Java Server Pages (JSP 1.2)
JDBC 2.1
Oracle SQL Server
SUN Solaris
 
 
period  05/2001 - 11/2001
description  Component based and highly extensible unit testing framework
(see my diploma thesis, grade 1.3)
employer  Technical University of Munich
position  sole responsible software architect and developer
activities  requirements elicitation
requirements analysis
object design
implementation
technologies  Java2 (J2SE 1.3, 1.4)
Java Reflection
TeX, LaTeX
Mac OS X, Windows 2000/XP
XML
 
 
period  05/2001
description  Prototype of a middleware for financial data using Enterprise Java Beans
employer  a medium-sized enterprise
position  sole responsible software architect and developer
activities  object design
implementation
performance tests
technologies  Java2 (J2SE 1.3)
Enterprise Java (J2EE 1.3)
Enterprise Java Beans (EJB 2.0)
SUN J2EE Reference Implementation 1.3
Apache Tomcat 3.3
Windows 2000
 
 
period  08/2000 - 09/2001
description  All-in-one financial information portal (fundamental data, chart analyser, news and analysts opinions)
employer  online spin-off of a large german media company
position  responsible software engineer in a team
activities  framework extensions
application of the framework in a servlets environment
technologies  Java2 (J2SE, J2EE)
Java Servlets, Model2 Architecture
Java Server Pages (JSP)
Microsoft SQL Server 7.0
HTML+CSS, XML
 
 
period  12/1999 - 11/2000
description  Framework for investor relations projects
(displays for stock market quotes, stock market charts, etc.)
employer  a medium-sized enterprise
position  responsible software engineer in a team of five
activities  design and implementation of a framework for diagrams (line charts, bar charts)
design and implementation of a library for image generation/processing (GIF encoder)
design and implementation of the data access objects
design and implementation of an advanced exception handling (watchdog process, email-notification)
technologies  Perl 5.0
Java2 (J2SE, J2EE)
Java Advanced Imaging
JavaMail
Microsoft SQL Server 7.0
 
 
period  09/1998 - 11/1998
description  Configuration and system-administration of an NT server for professional hosting of a stock market game
employer  a medium-sized enterprise
position  responsible system administrator in a team of five
activities 

Ziel dieses Projekts war die Schaffung einer zuverlässigen Platform für Börsenspiele über das Internet. Dazu wurde jeweils ein Windows NT-Server mit einem Internet Information Server und einem Microsoft SQL Server ausgestattet. Der Webserver wurde so konfiguriert, daß er in Perl realisierte CGI-Skripte ausführen konnte.

Auf Basis dieser Software-Installation wurde die Datenbank eingerichtet und über die Dauer eines Börsenspiels (3 Monate) administriert. Dabei fielen über eine Millionen Transaktionen an, die im Laufe des Spiels auch einige Male zurückgerollt und mit korregierten Daten neu ausgeführt werden mussten (z.B. wenn vom Kurslieferant ein falscher Kurs ins System kam).

technologies  Windows NT 4.0
Microsoft SQL Server 6.5
Microsoft Internet Information Server
Perl 5.0
 
 
period  11/2000 - 12/2000
05/2000 - 06/2000
08/1999 - 09/1999
05/1999 - 07/1999
12/1998 - 03/1999
09/1998 - 10/1998
description  Various stock market games featuring simulation in realtime
employer  german investor periodicals, newspapers and tv shows
position  responsible software engineer in a team of 10
activities  implementation of simulated real-time stock market transactions
implementation of a web based user front-end
implementation of various scorings
implementation of the maintenance tools
technologies  Perl 5.0
HTML+CSS
SQL Transactions
Microsoft SQL Server 6.5
Microsoft Internet Information Server
 
 
period  1999
description  Middleware for financial data
employer  a medium-sized enterprise
position  sole responsible software architect and developer
activities  The goal of this project was the separation of the already developing applications for financial data into three tiers: presentation, business logic and persistence. This middleware delivered classes from all three tiers that could be re-used in many projects. Just to name a few: generation of diagrams/charts (presentation), financial calculations (business logic) and data access objects (persistence). The project was rounded up by a clean developer documentation.
technologies  Perl 5.0
Microsoft SQL Server 6.5
 
 
period  02/1999 - 05/1999
description  Depot service for amateur and semi-professional investors
employer  a renowned german periodical for investors
position  sole responsible software architect and developer
activities  The idea behind this project is a depot for stocks that is maintained by its owner by buying and selling of stocks. The depot always displays the actual quotes and calculates the performance of positions and of the depot as a whole. This project was extended in order to map stocks transactions of a stock market game.
technologies  Perl 5.0
HTML+CSS
Microsoft SQL Server 6.5
 
 
period  12/1998 - 01/1999
description  Quote query tool for amateur and semi-professional investors
employer  a renowned german periodical for investors
position  sole responsible software architect and developer
activities  The goal was a query tool for realtime stock quotes of all kinds. In addition to the quotes, financial ratios were calculated, as well as charts generated from historical quotes with indices.
technologies  Perl 5.0
HTML+CSS
Microsoft SQL Server 6.5
 
 
period  03/2000 - 09/2000
description  Timetable planner for students at the Technical University of Munich
employer  Technical University of Munich
technologies  Java 2 Platform
Java Servlets
HTML
MySQL
 
 
period  11/1998
description  Web front-end for DaProMas, an SMS based authentication solution
employer  Data Protect GmbH
position  responsible software engineer in a team of two
activities  The task was to design a front-end for sending one-time-keys to the mobile phone of a user. After entering the key into the front-end the user will be authenticated.
In order to implement this design a CGI-script was written in Perl that could run under Windows NT or Unix, on Internet Information Server or Apache HTTPd.
technologies  Perl 5.0
Cryptography
SMS (mobile phone short message)
Unix
 
 
period  1991 - 1992
description  Travel expense report for employees
employer  munich university of applied sciences
position  sole responsible software architect and developer
activities  conversations with the client (requirements elicitation)
requirements analysis
design of a data model (object design)
design and implementation of the application.
design and implementation of a module for writing money transfer records on floppy disk
technologies  Microsoft Visual Basic
Microsoft Access
 
 
period  1990
description  ISDN telephony software
employer  own marketing and distribution
position  sole responsible software architect and developer
technologies  C
ISDN, CAPI
Amiga-OS, Magic User Interface
 
 
period  1988 - 1989
description  Tutorial software for learning to use the graphical user interface of the Commodore Amiga computer
employer  small-scale enterprise
position  sole responsible software architect and developer
activities  GUI implementation
design and implementation of a hyperlink-architecture based on graphical and textual elements
technologies  C
Amiga-OS
 
 
period  1988 - 1993
description  Configuration und system-administration of a networked multiline BBS
employer  Amiga Unlimited
position  eigenverantwortlicher System-Administrator
activities 

Die Amiga Unlimited Mailbox war ein beliebter Treffpunkt für viele Anhänger des Commodore Amiga Computer. Über sogenannte Bulletin Boards (vergleichbar mit heutigen Usenet-Newsgroups), die teilweise über das weltweite Fido-Netz ausgetauscht wurden, knüpften die User Kontakt zu Gleichgesinnten. Eine umfangreiche Sammlung an downloadbarer Public Domain-Software sowie einige Multiuser-Spiele rundeten das Angebot der Multiline-Mailbox ab.

Die Tätigkeit als Systemadministrator beinhaltete unter anderem:
- Konzeption des kostengünstigen Routings von Mail und News
- Installation und Wartung der Hardware (Amiga 4000, Modems, ISDN-Karten)
- Installation und Wartung der Mailbox-Software (Trapdoor, Traptoss, Universal Message System)
- Entwicklung einiger Tools in Rexx (File-Request-Manager, Filelisten-Generator)
technologies  AmigaOS
Fido
 
 
period  1988
description  Command line frontend for file transfer protocols using the XPR standard
employer  open source, released on Fred Fish Disk 369
position  sole responsible software architect and developer
technologies  C
Amiga-OS
X/Y/Z-Modem, Kermit
XPR Standard
 
 
period  1987 - 1988
description  Massively multiplayer online role playing game (MMORPG)
employer  operators of a multi-line bulletin board system (BBS)
position  sole responsible software architect and developer
activities  design of a communication protocol between clients and the server
design of a multiplex protocol allowing for multiple clients to share one serial line
design of the data model for all game elements
design of an artificial intelligence for npcs (non-player characters)
implementation of the server
implementation and implementation of several clients (local, serial, parallel)
design of the game content
administration
technologies  680x0 Assembler
Amiga-OS
RS-232C (Serial Port)
Parallel Port
 
 
period  1987
description  Customer relation management system
employer  small-scale manufacturer of electronic devices
position  sole responsible software architect and developer
activities  design of the data model
design and implementation of the user interface
design and implementation of the business logic
design and implementation of a module for printing money transfer records into forms
design and implementation of a module for writing money transfer records on floppy disk
technologies  dBase
Clipper
 
 
period  1987
description  Converter tool for circuit board layouts
employer  small-scale manufacturer of electronic devices
position  sole responsible software architect and developer
technologies  Clipper


Spring Framework

Hibernate

MySQL database server

Jakarta Tomcat

Subversion

Debian GNU/Linux

Ubuntu