Andre Spiegel -- Profile
Profile

Home    Development    Training    Support    Projects    Profile    Contact

Personal Information

Name Dr. André Spiegel
Date of Birth 1969
Residence Berlin, Germany
Job Title Free Software Consultant
Professional
Experience
since 1996
Contact
e-mail spiegel@gnu.org
phone +49 30 95 99 77 62
(see my Contact page for full addressing information)

Education

1988 — 1996 Master's Degree in Computer Science and Philosophy
at the Universities of Stuttgart and Tübingen
1997 — 2002 PhD in Computer Science at the Free University of Berlin
Subject: Automatic Distribution of Object-Oriented Programs

Skills

General Focus
  • Object-oriented software development, especially in a Java/J2EE context, focusing on free software (open source) solutions.

  • Training and coaching in the associated technologies, especially the high-profile use of object-oriented methodologies using design patterns and frameworks.

Programming Languages
Java    JavaScript    C    C++    Perl    Python/Jython
Ada 83/95    Smalltalk    Lisp    Prolog
Unix-Shells: sh ksh bash   SQL
Technologies & Standards
J2EE: Servlets, JSP, JSF, JNDI, EJB, JDBC, JMS, RMI
CORBA    HTML/DHTML    XML
TCP/IP    TN3270   
Products & Tools
Eclipse    Tomcat    Ant    Struts    JUnit    JacORB
CVS    Subversion    RCS
WebSphere Application Server (WAS 4.0/5.0/6.0/6.1)
WebSphere Application Developer (WSAD 5.0)
Rational Application Developer (iRAD 6.0)
WebSphere MQ (MQSeries)    MySQL    Oracle

Projects

This is a list of my project activities in reverse-chronological order. I'm not including individual seminars and workshops that I deliver almost every month (unless it's a first seminar about a new, noteworthy topic).
For more information on the projects themselves, see my Projects page.
2007/04 —
Solaris 10 Migration
I am helping a bank in Luxemburg to migrate their IT infrastructure to the Solaris 10 operating system. In the course of this, many services and components are upgraded to new product versions, such as WebSphere Application Server 6.1. I am responsible for scripting WebSphere installation, configuration, and deployment, and also for the use of Solaris Role-Based Access Control (RBAC) for various security-related issues.
Position in Project: Consultant, Developer
Technologies Used: Python, Perl, Java, ksh, RBAC
2006/10
JacORB IDL Compiler
For an industrial partner, I implemented attribute exceptions in the JacORB IDL compiler, and also added further regression tests.
Position in Project: Core Developer
Technologies Used: Java, CORBA, Eclipse, JUnit, Emma
2006/09
Enhancements to the JacORB Regression Suite
I was further commissioned to improve the regression test framework of JacORB. Many more test cases were added, to increase the test coverage in some critical packages to over 80%.
Position in Project: Core Developer
Technologies Used: Java, CORBA, Eclipse, JUnit, Emma
2006/04
Configuration Management, Banking
I developed a configuration management infrastructure based on CVS at a bank in Luxemburg.
Position in Project: Consultant, Developer
Technologies Used: Perl, Scripting, CVS
2005/12
Transactions in JacORB
For a company that uses JacORB in a critical client/server application, I investigated scenarios to integrate their application with XA-based distributed transactions. Various prototypes were produced.
Position in Project: Consultant
Technologies Used: Java, Eclipse, JacORB
2005/04 – 2006/04
Design and Implementation of Security Policies, Banking
As part of my ongoing services for a bank in Luxemburg, I am helping to design and implement security-related facilities now. This involves encryption of sensitive data, as well as access control and monitoring of critical systems.
Position in Project: Consultant, Developer
Technologies Used: Perl, Scripting, C, Java
2005/03 – 2005/05
Enhancements to the JacORB Regression Suite
Commissioned by an industrial partner, I enhanced the JUnit regression test framework of JacORB. Coverage analysis, backward compatibility testing, and TAO interoperability testing were added.
Position in Project: Core Developer
Technologies Used: Java, CORBA, Eclipse, JUnit, Emma
2004/11
2004/04
Java/CORBA Consulting
A programming group in a pharmaceutical company in the U.S. asked me to give them assistance for maintaining a CORBA-based service. I was invited to give a seminar on general CORBA technology, and to have a closer look at the system in question. I was able to suggest some improvements, and implemented several changes in JacORB to help this particular customer.
Position in Project: Trainer, Technical Consultant
Technologies Used: Java, CORBA, Eclipse
From the Reference

The consultant's knowledge of the product was first hand. [...] He played a big part in the current stability of our software. He was also very willing to answer questions after he returned to Germany from the U.S., as well as after he was paid for his services. The consultant is one of those rare computer scientists that excels because he invests time to truly understand the things he passes. This includes but is not limited to, tools, methodology and what I like to call Computer Science philosophy.

2004/08
Eclipse Training
Delivered a three-day workshop on Eclipse Plugin-development for a major IT company. The course was held in one of the customer's development labs in Ireland.
Position in Project: Trainer
Technologies Used: Java, Eclipse
From the Course Evaluation Forms

"Very well presented, overall a pleasure to attend the course"

2003/10 – 2005/04
Transition of a core banking system to UNIX
A bank in Luxemburg is migrating their core banking system from VAX/VMS to Unix. My task was to hold a number of seminars to introduce the developers and administrators to the Unix operating system (Solaris), to define coding conventions for shell programming (ksh), to set up an infrastructure for configuration management (CVS), and to migrate existing batch processing scripts to Unix.
Position in Project: Trainer, Coach, Developer
Technologies Used: Solaris, ksh, Perl, CVS
2003/07 –
h3270, a web-to-host adapter
Many customers need to integrate legacy mainframe applications with more recent, web-based systems. For a partner company in Berlin, I develop and maintain h3270, a web-to-host adapter that can be integrated into portal servers.
Position in Project: Lead Developer
Technologies Used: Java, HTML, Javascript, JSP, Portals, TN3270, Eclipse
2003/04 – 2003/06
Implementation of the Extensible Transport Framework in JacORB
The Extensible Transport Framework (ETF) is a new CORBA standard that allows ORBs to use other transport protocols besides TCP/IP. For an industrial partner, I refactored the transport layer in JacORB to support this new standard. At the time of the implementation, ETF was still a draft standard, and we provided feedback to the OMG that helped in the finalization process.
Position in Project: Core Developer
Technologies Used: Java, CORBA, JUnit, Eclipse
2003/01 – 2003/02
Portal Server Consulting
A telecommunications company evaluated portal technology to integrate some of their existing information systems. We were able to point them to Jakarta/Jetspeed, as an alternative to the proprietary system they were evaluating. Not only did this save them a lot of license costs, they also chose the technology that was soon to become the reference implementation for the new Portlet API standard. A prototype that showed the integration of some of their existing systems was developed.
Position in Project: Consultant
Technologies Used: Java, Jetspeed, Tomcat, Eclipse
2002/09 – 2003/04
Implementation of Asynchronous Method Invocation in JacORB
Sponsored by an industrial partner, I implemented Asynchronous Method Invocation (AMI) in JacORB, plus Quality of Service (QoS) policies for timing individual requests. These are recent additions to the CORBA standard, and JacORB was actually the first Java ORB to have an implementation for them. In the course of this project, I also extended the JUnit regression test framework for JacORB, so that it became possible to run end-to-end client/server tests.
Position in Project: Core Developer
Technologies Used: Java, CORBA, JUnit, Eclipse
Reference

The consultant did a great job with adding AMI and connection management to JacORB for us. The quality of the work was high and he was a pleasure to work with. His knowledge of JacORB and integrity helped to keep the concern for the project to a minimum. We will definitely work with the consultant again in future projects.

2002/09
Backport of JacORB to J2ME
For a customer in the logistics business, JacORB was backported to JDK 1.1 to make it usable with J2ME.
Position in Project: Single Developer
Technologies Used: Java, CORBA, Eclipse
2001/12 – 2002/04
Web Application Development, Banking
For a bank in Berlin, a browser-based front-end to a database for credit risk management was created. Since this was the first use of Java technology in this particular bank, our consulting team created a number of generic frameworks that allowed rapid application development, following the bank's user interface styleguide.
Position in Project: Technical Consultant, Coach
Technologies Used: Java, HTML, JavaScript, JSP, WebSphere, Visual Age
2001/08 – 2001/11
Implementation of Objects-by-Value in JacORB
Objects-by-Value (valuetypes, OBV) is the CORBA equivalent to object serialization in Java. It is a fairly recent addition to the CORBA standard. Sponsored by the Free University of Berlin, I implemented the OBV subsystem in JacORB, the free Java ORB.
Position in Project: Core Developer
Technologies Used: Java, CORBA
since 2000
Java/J2EE Training
I teach seminars on Java, J2EE, and any associated technologies.
1997 – 2002
Automatic Distribution of Object-Oriented Programs
This is my PhD project, also known under the name Pangaea. Since it involves source code analysis, I developed a very thorough understanding of the Java programming language during this project.
Position in Project: PhD Student
Technologies Used: Java, RMI, CORBA, Swing