Everything Java Apache Geospatial Open Source. Hello Shinning Stars!!! Vincent Massol, Raphael Luta, Santiago Gala, Carsten Z.

Monday, January 10, 2005

RESUME - PHILIP MARK DONAGHY - Professional consultant for the following (open source) technologies. PostgreSQL MySQL Oracle and IBM DB2 DBMS. Apache AXIS Geronimo LDAP Samba and Tomcat servers. GML JDOM JAXP SAX and XERCES XML specifications. AndroMDA Velocity and XDoclet code generators. Linux Solaris and Win OS. Struts MVC II design pattern. JSP Struts Tiles Struts Validator and DisplayTag presentation layers. J2EE EJB JDBC JMS JMX JNDI JSSE JSTL JTA JTX Java Thread Java beans Java IO Java Lang Java Net Java RMI Java Security Java SQL Java Text Java Util Javax Naming Javax SQL Javax XML w3c DOM XML SAX and JavaMail Java 2 SDK APIs. J2SDK Ant Maven Eclipse JBuilder Log4J Apache Jakarta Commons Clay DBCP Taglibs DisplayTag Easy Struts Lomboz Oxygen and CVS development platforms. ArcIMS GRASS PostGIS and MapServer GIS. OpenSSL SSH SSL HTTP SOAP and DNS BIND protocols. I use object-oriented analysis & design (OOAD), l'Unified Modeling Language (UML), Enterprise JavaBeans (EJBs), JavaServer Pages (JSPs), Java Server Faces (JSFs), Data Access Objects (DAOs). I support open source and the Java Community Process (JCP).

159 rue du Fbg Poissonniàre
75009 Paris France
Tel. : +33 (0)1 48 74 23 80
Mobile : +33 (0)6 20 83 22 62
Email : philipmarkdonaghy 0 yahoo 0 com
Website : donaghy.blogspot.com
Born the 8th of August 1972
Nationality : American
French Resident
( working permit )


1996. San Diego State University. Bachelors of Science in General Geology and Bachelors of Science in Computer Science.


English : Mother tongue
French : Read, written, and spoken


May 2004. GISIG. Paris (75). Apache Architect

  • Responsabilities

    • Produce an Apache compile farm

  • Application Functionalities

    • Compile Ant 1.6.1, Junit 3.8.1, MX4J 2.0.1, Apache Commons Lang

  • Technolgies

    • Linux 2.4.20, CVS 1.11.2

October 2003 to April 2004. Acadomia. Alten SI. Paris (75). Web Application Architect.

  • Responsabilities

    • Establish a framework for a mission critical web application

    • Define a security mechanism for user authentification and authorization

    • Determine the data acess requirements and create a code generator from JDBC connection which provides acces to a persitant data layer

    • Separate the data access layer from the business logic layer and the java bean and presentation layers

    • Establish an error mechanism using the Java exception technology

    • Train eight engineers to use the Struts actions, form beans, validator, tiles, and controller technologies

    • Assure the sychronisation of data using web services

    • Integrate common paging and tab panes tag libraries into the presentation layer

  • Application Functionalities

    • Intranet used for the managment of the Acadomia organisation and their client database

    • User interfaces permiting the creation of agencies, families, students, and tutors

    • Application controled security customized using the application back office administrator

  • References

February 2003 to September 2003. AirportSmart. Alten SI. LGS France. IBM Global Services. Paris (92). Web Application Architect.

  • Responsabilities

    • Responsable for the architecture and development of a intranet whos space is dedicated to buyers and suppliers of the airport industry.

    • Perform system administration for developer, preproduction, and production servers.

    • Install and configure Linux, Samba, Apache, Tomcat, IBM DB2, J2SDK, Struts, Ant, JBuilder, Log4J, OpenSSL, LDAP, PHP, CVS, JNDI, JDBC, JavaMail, TagLibs (JSTL), Apache Commons, Tiles, Velocity templates, Email Servers.

    • Train and provide assistance to eight other engineers.

    • The application is executed using multiple servers installed with the Linux Red Hat distribution.

    • The servers use the Java 2 Enterprise Platform to communicate between data sources most of which are based on Open Source products. LDAP Secureway and IBM DB2

  • Application Functionalities

    • The functionalities of the web application are supported in any language.

    • Internationalization is at the core of the application, which includes graphical interfaces for activating new languages, and for translating data.

  • References

December 2002 to May 2003. ATEC. Cachan (94). Project Manager Internet.

  • Responsabilities

    • Produce a web application for an office of Construction Economists.

  • References

August 2001 to July 2002. Egencia. Paris, France. Lead Java Developer.

  • Responsabilities

    • Development of travel portal using Java technology.

    • Responsible for implementing J2EE ( Java 2 Platform Enterprise Edition ) architecture on n-tier heterogeneous platform.

    • Creation and design of Web tier using JavaBeans constructed from Data Access Objects ( DAO ).

    • Data sources include XML ( Extensible Markup Language ), Oracle, and HTTP protocol over SSL using the Java Secure Socket Extension ( JSSE ).

    • Integrated platform with the SNCF Train Reservation System for Online Travel Agencies ( RAVEL, Système de Réservation SNCF pour les Agences de Voyages En Ligne ), the KIX XML API for KDS Wave Server, and Business Objects.

  • References

January 2001 to August 2001. MapImage. Paris, France. Internet Application Developer.

  • Responsabilities

    • Development of Web portal software using Java technology.

    • Responsible for designing and writing a Web application using Servlet technology on Internet Information Server ( IIS ) platform.

    • Utilisation of MS Java SDK and virtual machine.

  • References

June 2000 to January 2001. ESRI France. Meudon, France. Development Engineer.

  • Responsabilities

    • Development of GIS ( Geographic Information Systems ) project in the field of wireless telecommunications.

    • Responsible for developing a Web client to ArcIMS ( Arc Internet Map Server ) for a leading telecommunications company.

    • Product destinated for French Justice Department for use in criminal investigations notably for the positioning of mobile phone calls.

    • Designed a multi user environment used to display cartography based on dates, phone numbers, and/or locations.

    • Developed search engine tool to assist user in the research.

    • Developed reporting tool to log usage.

  • References

    • http://www.esrifrance.fr

June 1998 to April 2000. ESRI Inc. Redlands, CA, USA. Software Release Manager.

  • Responsabilities

    • Development of automated test suites for GIS software package called ArcIMS ( Arc Internet Map Server ).

    • Tests were written in Java and JavaScript to send multiple requests to the ArcIMS clients and servers to perform load, api, and regression tests.

    • Responsible for the quality of the software release for the Sun Solaris platform.

January 1996 to March 1998. Scripps Institution of Oceanography. San Diego, CA, USA. Research Assistant.

  • Responsabilities

    • Studying the climate of the San Francisco Bay area. Development of real-time weather website and tools to forecast weather based on statistics. Performed analysis of weather patterns using Matlab mathematical application. Graphs and models where created by developing programs using Matlab scripting language.


Knowledge of diverse IT systems and programming methods.
Research : Scientific Method, Mineralogy, Petrology, Structural Geology, Oceanography and Statistics
Programming : Java, JavaScript, C, C++, SQL, HTML, ASP, JSP, Taglibs, UNIX : bash, sh, csh, ksh, perl, php
Technologies : Tomcat, Struts, Servlet, JSP, XML, DTD, XSLT, JASP, EJB, JavaBeans, JavaMail, JDBC, JSSE, MVC, JDOM, Taglibs, TLD, NetBeans, Linux
Web Servers : Apache, IIS, iPlanet.

ArcIMS 3.0 Knowledge and Experience

Client, Middleware, and Server Architecture.
AXL Communication between components.
Administration of Map Services and multiple machine configurations.
Customization using HTML client and Servlet Connector.
Design and development of the test harness for the Java Viewer API.
Development of a debug and trace tool for the ArcIMS Viewers.
Configuration of the Cold Fusion Connector.
Experience developing custom AXL requests.

Developement Tools

Eight years experience using Sun Microsystems Java Development Kit
Five years experience using JBuilder for Java development.
Four years experience using Cold Fusion Studio/Server for HTML development.
Two years experience using Oracle 8, Toad, and sqlplus.
Six months experience using IBM DB2 datastore.
Six months experience using MS SQLServer.

Open Source Software Development for Service Oriented Projects

By Philip Mark Donaghy

There is no doubt that Open Source methods are becoming the norm used by service agencies everywhere. These are the guidelines I recommend when developing using open source software. These principals will guarantee an effective development process.

Communication with Mailing Lists

A large percentage of projects fail due to poor communications. It is very important that communication is traced so that managers, developers, and clients can have the correct information at the right time.

The solution to this problem :

Use internal mailing lists to notify people of news, events and or changes that are important to the end users as well as managers, clients, and developers. Three lists should be sufficient. The client list, a developers list, and a managers list. In addition the use of public mailing lists to effectively monitor software limitations and benefits.

Modeled Architecture using UML, Object, Exchange, and Database models

Problems arise from ineffectively copying and pasting source code.

The solution to this problem :

Use models to define the architecture of the application. Model driven architecture is the most modern method of developing service oriented software. A large portion of the application can be automatically generated using Velocity or AndroMDA.

Client Workflow

A third difficulty comes from poor client specifications. The solution is to monitor the clients needs and expectations.

The solution to this problem :

Architects and developers can not effectively create service oriented applications without the technical and functional contacts with the client.

Developer Workflow

Developers are curious animals. The all have their habits and methods of contributing to a project. The most important characteristics necessary to identify a responsible developer are his or her "bonne volonté", the desire to contribute ones maximum potential toward a projects success, and his or her professional attitude. These aside, here are some simple steps all developers should follow.

  • Verify the stability of the source code

  • Notify project directors when source code is unstable

  • Debug

  • Find the person responsible for the error

  • Work with them to estimate the

  • Run regression tests

  • Notify project directors when regression tests fail

  • Debug

  • Find the person responsible for the error

  • Work with them to estimate the correction

  • Evaluate remaining development

  • Meet with project directors to discuss solutions


The software documentation must use a consistent language.

The solution to this problem :

A development team often consists of many nationalities. In such a case documentation communication should be written in English.

French can be the dominant language if the clients, managers, and staff are all French nationals or master French as a second language.

Development Platforms

A final and frequent problem arises with the network services used during the development process and the cost to maintain them.

The solution to this problem :

The development platform must be composed of all elements to run the application independently of network connections. Therefore the database must be installed on the development machine. Traditional Windows machines are not practical, secure or fast enough for this scenario therefore Linux is recommended.

Source Control

Problems arise when source code is locked by other developers.

The solution to this problem :

Use the most common open source source control. At the time of this writing this is CVS, although Subversion has be recently adopted by most new and cutting edge development efforts.

Build Scripts

Problems arise when build scripts are platform dependent.

The solution to this problem :

Use the most common open source build system. At the time of this writing this is Ant, although Maven is making great strides.

As with development build scripts should modular. Meaning that one central build script calls other scripts.


Delays can be avoided only by synchronizing the efforts made by the client, managers, third parties, and developers. In order to master the planning of a project all the technical, functional, and management aspects must be mastered. At our company we strive to make this our mission. Our contracts describe the exact solution and its implementation along with the time to delivery and the cost.