Profil: Martin Fabiani
Zur Person:
- Name: Martin Fabiani
- Adresse: D-51103 Köln, Kösener Weg 2
- E-Mail: info@fabiani.net
- Telefon: +49 (221) 9465 7217
- Ausbildung: Software-Engineer
- Geburtstag: 11. September 1973
- Fremdsprachen: Englisch, Französisch
- Nationalität: Österreichisch
- Datum der Profilaktualisierung: 26. März 2010
- Verfügbarkeit: Unsicher, eventuell am Anfang Aprilt
- Bevorzugt in Großraum Köln (~50km), eventuell auch deutschlandweit
Fachliche Schwerpunkte:
- Software-Engineering
- Perl-Entwicklung (Datenbanken, Directories, Web, Automationen, ...)
- Planung und Implementierung von Metadirectories, Identity und Rollenmanagement, Provisionierung
- Perl-Schulungen für Anfänger, Fortgeschrittene und Profis
Tätigkeiten:
- 1980-1992: Abschluss des Bundesgymnasiums St. Johann/Tirol/Österreich mit Matura (= Abitur)
- 1988: Verkauf des ersten selbstgeschriebenen Programms
- 1993-1998 Studium Telematik (TU Graz) und Software Engineering (FHS Hagenberg)
- 1993-1996: Seminarleitung verschiedener Computerkurse (Dos, Win3.1x, Win95, MS-Office, Linux, Unix, Internet); Graz
- seit 1998: vollberuflich in der IT-Branche
- seit 1999: freiberuflicher Software-Engineer
Programmiersprachen:
- Perl: funktionale und objektorientierte Programmierung (auch Moose), Datensynchronisationen (Directory Server via LDAP oder ADSI, Datenbanken via DBI, DBIx::Class, ODBC, XML, ...), Webprogrammierung (Catalyst, CGI, mod_perl, FastCGI), Scanner, Parser, Grammatiken, Systemprogrammierung, Automationen und Fernsteuerungen (z.B. via OLE), Netzwerkprogrammierung, Tk, Modulentwicklung, generische Module, ...
- html, xhtml, CSS, JavaScript, SSI, AJAX
- Solide Kenntnisse in: C, C++, Tcl, diverse Shell-Dialekte
- Grundkenntnisse in: VisualBasic, Java, Pascal und Delphi
Produktkenntnisse:
- Apache Web Server
- Siemens DirX 6.0 + 6.5 und DirXweb
- DirX Metahub (inkl Agenten: LDAP/LDIF, CSV, SAP, ADS, LN)
- Ms Active Directory (Programmierung mit Perl)
- Datenbanken: MySql, MsSql, Sybase, PostreSQL, ein wenig Oracle, SQLite, ...
- UNIX-Standarddienste: openLDAP, SAMBA, dhcpd, bootpd, bind, ircd, inetd, routed (ipchains/iptables, masquerading), pureftpd
- MS Excel (Bedienung, Makro-Programmierung, ActiveX-Automation mit Perl, Entwicklung des Programms ExcelPerl (siehe Projekte))
- MS Outlook, MS Winword, MS Access (Bedienung, teilweise Programmierung bzw. ActiveX-Automation mit Perl)
- MS Visio, MS Project (Bedienung)
- Microsoft Internet Information Server
- 1999: Teilnahme an Patrol-Schulungen (Administrationskonsole NT/Unix, Knowledgemodulentwicklung, Oracle-Knowledgemodul) (Ordix Wiesbaden), jedoch noch wenig Erfahrungen in der Praxis.
Betriebssysteme:
- Windows: 2003 Server: verschiedene Versionen (bin Microsoft Partner), 2000 Pro und Server, XP Professional, Vista, NT 4.0
- Linux (SuSE, RedHat, Mandrake, Debian, ...)
- Solaris, HP-UX, AIX, Reliant Unix
- (Windows 95/98, 3.x, DOS)
Ich kann unter allen genannten Betriebssystemen grundlegende Administrationsaufgaben ausführen, bin jedoch kein erfahrener Administrator.
Bisherige größere Projekte:
Planung und Implementierung einer IP-Adressdatenbank
Kunde: GFD Wermelskirchen (IT-Dienstleister für OBI-Baumärkte), 2010
Meine Hauptaufgaben waren:
- Planung und Entwicklung einer Datenbank für die Verwaltung von IP-Adressen der GFD und verbundener Unternehmen inklusive Web-Frontent, XML-RPC-Schnittstelle. Verwendete Produkte/Techiken: Strawberry-Perl: Catalyst, Moose, DBIx::Class, RML-RPC, MySql, Apache unter Linux
- Erweiterung des Backups der Marktserver in den OBI-Baumärkten, das ich 2007 mal begonnen hatte (verschiedene Windows-Server-Versionen, Activestate-Perl, Robocopy, ...
Entwicklung/Erweiterung der Business Logic für ein Versicherungswebfrontend:
Kunde: ObjektKontor Köln (Juni 2009 - November 2009)
ObjektKontor entwickelt die Business Logic für den Webauftritt von AllSecur, über das man KFZ- und Rechtschutzversicherungen abschließen und verwalten kann. Dafür wurde Perl verwendet.
Meine Hauptaufgaben waren:
- Einbau einer speziellen Vertretersuche (DBIx::Class)
- Hinzufügen weiterer DBIx::Schnittstellen für Kundensonar (inkl. DB-Schema)
- Erstellung einer SOAP-Schnittstelle zu einem Webservice auf einem Host, über den ermittelt werden kann, ob bereits ein Vorvertrag vorhanden ist.
- Webservice-Schnittstellen für eine neue Tarifumstellung
- Workflow für AOS-Personen-Registrieriung via Webservice
- Bugfixing der bereits vorhandenen Funktionalität, ...
- Erstellung von Tests
Verwendete Produkte/Techniken:
- Perl: Catalyst, DBIx::Class, fortgeschrittene OOP-Techniken, agile Methoden
- Apache, PostgreSql, Debian
- Eclipse mit EPIC, SubVersion, Bugzilla
Datensynchronisierung für Broker-Geschäfte:
Kunde: DZ Bank Frankfurt (April - Juni 2009)
Für die DZ-Bank wurde eine Datensynchronisierung entwickelt, mit der Broker auf Desktop-PCs Käufe und Verkäufe tätigen können, das dann in ein weltweites Handelsnetz synchronisiert werden.
Verwendete Produkte:
- ActivestatePerl unter WinXP als Win32-Service
- Verschiedene Inhouse-Lösungen
Entwicklung/Erweiterung eines Automationsframeworks in Perl (BSHARP):
Kunde: Bayer Business Service Leverkusen - SAP on Linux Stack (November 2007 - September 2008)
Meine Hauptaufgaben waren:
- Automatisierung speziell für SAP on Linux Stack:
- Automatische Generierung eines HTML-Baumes der eingebetteten POD-Dokumentation (ähnlich der ActivestatePerl-HTML-Dokumentation) mit Funktions-/Methodenübersichten, ...
- Entwicklung eines SQL-Interfaces für Zugriffe auf verteilte Resourcenverwaltung und Konfigurationsdaten, die in verschiedenen Formaten (Datenbanken, XML-Dateien, Textdateien, Dumps, ...) vorliegen (z.B. eine Tabelle erstreckt sich über mehrere Server).
- Entwicklung von Installationsplug-ins für UniQ/EOMS.
- Entwicklung der Schnittstellen für start/stop/status von Uniq/EOMS.
- Verallgemeinerung des Frameworks auf weitere Systeme und Betriebssysteme:
- Enwicklung eines Testframeworks: Perl-ähnliche Mini-Syntax für Unit-/Scenariotests mit Sourcefiltern, damit im Bedarfsfall die volle Perl-Syntax verwendet werden kann.
- Implementierung verschiedener Tests (SAP, SAP-Usermanagement, Oracle + Usermanagement, perlcritic, ...).
- Unterstützung und Testing bei der Portierung nach AIX.
- Beratung bei der Planung der Portierung nach Windows.
- Entwicklung eines Development Concepts als Hilfe für Entwickler, die das Framework verwenden wollen.
- Verwendete Produkte: Perl und verschiedene Module, Eclipse + EPIC, CVS, Bugzilla, ...)
Backup und Datensynchronisation für Statistiken
Kunde: Gesellschaft für Datenverarbeitung Wermelskirchen; die GFD ist der IT-Dienstleister für die Baumarktkette OBI (August - September 2007)
Meine Hauptaufgaben waren:
- Strukturierung und Erweiterung des Backup-Scriptes für die OBI-Marktserver auf externe Festplatten: Perl, NT-Backup
- Planung und Implementierung einer Datenbank für (Fehler-)Statistiken, die dann mit Crystal Reports visualisiert werden sollen.
- Entwicklung eines Datensynchronisationsframeworks
- Verwendung des Frameworks zur Datensynchronisierung der Statistik-Datenbank mit verschiedenen Datenquellen (z.B. HP-Openview)
- Verwendete Produkte: ActivestatePerl (DBI, ODBC, Ties, ...), MS SQL Server
Metadirectory, Datensynchronisierungen, Identity/Role Management, Provisionierung
Kunde: Hessische Zentrale für Datenverarbeitung (Juli 2004 - 2007)
Für die Landesverwaltung Hessen wurde ein Metadirectory für etwa 160.000 Personen entwickelt
Meine Hauptaufgaben waren:
- Planung und Implementierung der Schnittstellen zu: SAP HR-PA, KIDICAP, den ActiveDirectories und LotusNotes-Systemen, LRM-ReWe (SAP CO und FI), Zeit-/Mengenerfassung im sapPortal
- Planung und Implementierung von Identity und Role Management und Provisionierung
Aufgrund der hohen Komplexität der Struktur der hessischen Landesverwaltung und der Datenmenge konnte für die Datensynchronisationen nur teilweise Standardsoftware verwendet werden. Deshalb habe ich ein Synchronisationsframework in Perl entwickelt, das diese Komplexität abbilden kann und auch schneller validiert oder synchronisiert als die mir bekannte Standardsoftware (teilweise um den Faktor 40).
Verwendete Produkte:
- Activestate Perl
- IBM Tivoli Directory Server 5.2
- Siemens DirX Extranet + DirXweb
- Siemens DirX Metahub 6.5
- Solaris
- Windows 2003
Verschiedene Perl-Schulungen:
Kunde: Hessische Zentrale für Datenverarbeitung Wiesbaden
- Perl-Programmierung Grundlagen (jeweils 3 Tage): 2003, 2004, 2005, 2006
- Perl-Programmierung Aufbau (jeweils 4 Tage): 2003, 2004, 2006
Kunde: DENIC Frankfurt
- Einführung in Perl (24 Stunden): 2004
- Fortgeschrittene Perl Programmierung (32 Stunden): 2005
FTP-Logtrigger
Kunde: IBU Frankfurt (2004-2006)
- Viele Buchgeschäfte senden Buchbestellungen per FTP an die IBU. Ich habe ein kleines Tool entwickelt, welches das Dateisystem auf neuen Dateien überwacht und je nach Dateiformat und -inhalt verschiedene Folgeaktionen startet (z.B. Weiterleitung an Verlage)
- Implementierung: Perl unter SuSE-Linux, pureftpd als FTP-Server, MySql als Datenbank, Perl/CGI auf Apache als Administration- und Auswertungstool
Datenbankprogrammierung und Perl-Framework
Kunde: DZ-Bank Frankfurt (Juni 2004)
- Entwicklung eines Frameworks auf Basis Perl/DBI, mit dem Daten einer Sybase-Datenbank einfach importiert/exportiert/aktualisiert werden können.
- Entwicklung einiger Importe/Aktualisierungen mit diesem Framework
Entwicklung einer Forensoftware
OpenSource (2003-2007)
Im Juli 2003 übernahm ich die Leitung des größten deutschsprachigen Perl-Forums von http://www.perl.de/, das nunmehr auf http://www.perl-community.de/ fortgeführt wird, und entwickle dafür in meiner Freizeit eine neue Forensoftware. Verwendete Techniken: MySql, Apache1.3 mit mod_perl (Apache::Request, Apache::Registry, Apache::DBI, HTML::Template::Compiled), xhtml, css, ein wenig Javascript.
Diverse Kleinprojekte
Zeitraum: 2003-2004
- Konvertierung von CSV-Dateien
- Webapplikationen
- Fernsteuerungen
- automatische Dateitransfers
Metadirectory, Datensynchronisierungen
Kunde: Dresdner Bank Frankfurt, Software-Technologie und -Architektur, Referat Directory (2000-2002)
Entwicklung eines Global Directory Service für etwa 60.000 Personen
Meine Hauptaufgaben waren:
- Synchronisierung von Daten aus weltweit verteilten Datenbanken mit dem Inhhouse-Directory und der Allianz Versicherung
- Optimierung der ConnectEngine der Version 2
- Neuentwicklung der ConnectEngine in der Version 3 mit automatischer Codegenerierung
- Diverse Directoryexporte
- Automatische Generierung von Exchange-Verteilerlisten nach verschiedensten Kriterien
- Entwicklung verschiedener Überwachungstools
- Entwicklung eines Tools für die automatische DirX-Schemagenerierung aus Excel-Dateien
Verwendete Produkte:
- Perl
- MS Windows 2000 Server
- Solaris
- MS SQL 7 (automatisierte Verwaltung)
- ActiveDirectory
- Siemens DirX
Excel-Makros:
- 2001: Credit Suisse in Frankfurt als Unterstützung der Rechnungserfassung
- 2000: Fabiani - Ihr Reinigungspartner in Kössen/Österreich zur halbautomatischen Erstellung von Reinigungsexpertisen
Schichtprotokollverwaltung
Kunde: Frankfurter Allgemeine Zeitung (2000)
Entwicklung einer Schichtprotokollverwaltung mit eingebautem Messaging-System
- Schichtprotokolle des Rechenzentrums sollen in elektronischer Weise ausgefüllt und bearbeitet werden und dann nach beliebigen Kriterien visualisiert werden. Dazu sollen Problemfälle und Nachrichten an irgendeine Folgeschicht oder den Rechenzentrumsleiter geschickt werden, damit weitere Schritte unternommen werden können. Weiters sollen Schichtpläne in elektronischer Form erstellt werden können und Nachsätze hinzugefügt werden können
- Realisierung als Web-Applikation mit Perl/CGI, ASP mit VBScript und PerlScript, Cascading Style Sheets und JavaScript; MS Sql 7 als Datenbank. Schnittstellen zu: bind4/8 (DNS), WindowsNT4-Domäne, SMTP&POP3 (Mail), MsExcel97, MsAccess97.
Abrechnungssystem für IT-Dienstleistungen
Kunde: Frankfurter Allgemeine Zeitung (1999-2000)
Planung und Entwicklung eines Abrechnungssystems für IT-Dienstleitungen (mein erstes Mini-Metadirectory)
- Dieses Abrechnungssystem sammelt Daten (z.B. von NT-Benutzermanager), bietet Visualisierung und Editiermöglichkeit via Web, und Export nach SAP-R/3 sowie grafisch aufbereitet für Controlling. Dabei können Rabatte für Kostenstellen oder Teilbereiche vergeben werden. Steuerung und Wartung via Webschnittstelle
- Aufgabenstellung: Ziel des Abrechnungssystems ist es, die zur Verfügung gestellten Dienstleistungen der EDV-Abteilung ZOD nach Anzahl und Kostenstelle zeitgerecht (einmal im Monat bis spätestens zum 7. des Folgemonats) zu ermitteln und dem Controlling als formatierte ANSI-Text-Datei sowie in Form einer maschinellen Übernahme dem SAP R/3 System in einem speziellen Format zur Verfügung zu stellen. Zusätzlich sollen die Informationen archiviert werden, um bei Bedarf auch später noch Informationen zu den einzelnen Abrechnungen zu bekommen bzw. die Abrechnungsdaten auch noch in anderer Weise weiterverarbeiten zu können. Auch ein Rückfluß der Daten aus dem Directory zu den Quellen zwecks Synchronisation erfolgte. Das Abrechnungssystem wurde komplett als Webapplikation implementiert.
- Realisierung: Perl, JScript, C, VisualBasic, MsSQL 7, Excel, Access
- Techniken: ODBC, DBI, OLE, ActiveX-Automation, HTML/CGI, PerlScript
Diverse Administrationsskripte:
Kunde: Frankfurter Allgemeine Zeitung (1998-2000)
- Wartung und Troubleshooting des heterogenen Intranet der FAZ (WinNT, HP-UX, Linux, Sinix)
- Planung und Programmierung von Tools zur Netzwerk- und Systemverwaltung (Hicom-Telefonanlage, Automatisierung von Verwaltungstasks, LAN- und WAN-Security, Web, DNS, bootp, dhcp, etc.), Datensynchronisation zwischen den einzelnen Personen- und Anwendungsdatenbanken, Administration, Wartung und Troubleshooting des Inhouse-NW sowie des WANs unter Windows NT, HP-UX, Sinix; Automatisierung von Dateitransfers via ftp, idtrans, ISDN, Eurofile, smtp; Fernsteuerung einer FTP-Session ueber einen Drittserver. Realisierung: Perl, VisualBasic, C, Batchscripte (Unix, NT)
Wartung und Steuerungssoftware für weltweites Telekommunikationsnetzwerk
Kunde: Siemens München (Juni-September 1998)
Programmierung und Adaptionen von Wartungs- und Überwachungssoftware für ein weltweites Telekommunikationsnetzwerk in Perl/Solaris; Siemens München.
Aufgabenstellung: Siemens vermietet weltweit Telekomunikationsstrecken. Um diese leichter verwalten und Fehler schneller lokalisieren zu können, müssen recht große Datenmengen geparst und verarbeitet werden. Hierzu entstanden einige Tools (bzw. wurden upgedated), die meines Wissens nach noch immer weltweit im Einsatz sind (spigott, anacon, ...).
Weitere Aktivitäten:
- Leitung des Perl-Forums http://www.perl-community.de/ (Pseudonym: Strat) sowie die Entwicklung einer neuen Forensoftware, die seit Juli 2007 produktiv verwendet wird (Apache/mod_perl, HTML::Template::Compiled, MySql).
- Verfasser verschiedener Artikel für das foo-Magazin: Workshop Net::LDAP (Herbst 2007), ExcelPerl (Winter 2007), ADSI mit Win32::OLE (Winter 2007), Ties (Frühling 2008), ...
- ExcelPerl: Inhalte und Fromate von Excel-Dateien unter Windows mit Perl-Einzeilern bearbeiten (ein "perl -ane" oder "awk" für Excel-Dateien)
- Vorträge auf Perl-Workshops und -konferenzen sowie Messen rund um das Thema Perl oder OpenSource.
- Teilnahme an weiteren Webforen wie http://www.perlmonks.org/ unter dem Pseudonym "Strat"
- Module für Perl (Schach, Datenbankschnittstellen, Chatserver, LDAP/LDIF-AddOns, Tk)
- Entwicklung eines OpenSource-Frameworks zur Datensynchronisation mit Perl zwischen verschiedenen Datenhaltungssystemen (Verzeichnisdienste, Datenbanken, ActiveDirectory, verschiedene Dateiformate, ... )
- Kleinere Spielereien mit Perl wie Tk-Mines oder Tk-Käsekästchen