Resume


Portrait of the Programmer as a Young Man

John Birchfield




Work Interests

My job interests include (but are not limited to) delivering internet/intranet applications. My primary development platform has been Windows NT/2000 for the last 6 years. But I have had extensive (if not recent) Unix experience and my most recent experience was developing on Windows and deploying on Linux.

My primary focus for the last 18 months or so that I was employed has been in various aspects of converting from an existing IIS/ASP web application (using a COM based business logic server) to a Java Servlet based web application accessing a Java JNI based business logic server running as a separate process.

I mainly worked on implementing a transport layer between the Web Application and the business logic server. My first implementation was using JMS as the transport layer, I subsequently replaced the JMS with RMI while maintaining API compatibility. The new transport layer was a "drop in" and required minimal programming changes (mainly configuration settings).

My most recent work was in reimplementing existing functionality in the new application that was available in the original application (web pages). This involved applying XSLT stylesheets to XML data returned by the business logic server.

I would prefer working in a "smaller" environment (Say not more than 25 people). I enjoy the freedom and the chance to have greater impact on projects.

Projects / Work Experience

  • Rational Software - I became part of the ClearQuest team when Rational Software acquired Pure Atria Software.
    • Servlet/XSLT web development - I was primarily involved in reimplementing existing ASP functionality using XSLT in an Apache/Tomcat environment.
    • Server Transport Layer - I first implemented the server transport layer using JMS. This was somewhat complex - It used JMS Topics for server location and identification and JMS Queues for RPC styled server calls. I eventually replaced the underlying transport with Java RMI thus picking up speed and losing the requirement of running in an Application Server.
    • CORBA Server Project - I worked on a CORBA C++ backend and middle tier federated server infrastructure consisting of at least three interoperating servers. These servers provided cross platform business service interfaces to the ClearQuest database backend. Ultimately these servers were to run on WinNT, Win9x, and various Unix platforms but current development was on WinNT. Initial development used the Visibroker ORB (BOA) but was later moved to Orbix 3.0.1 (BOA) and eventually to Orbix 2000 before the project was cancelled.
    • ClearQuest Web - I took over as lead programmer for the Web implementation of ClearQuest in December, '97 through December '98. ClearQuest Web was implemented with IIS, ASP on the server side that renders fairly basic HTML with some Java Applets and JavaScript on the client side. The target browsers were Netscape Navigator (versions 3.04 and above) and Internet Explorer (versions 3.02 and above). I accessed the ClearQuest business logic using VBScript and the ClearQuest Automation, and ADO Objects.
    • ClearQuest Specific Projects
      • DB Conversion Tool - I wrote a conversion tool in VisualBasic and DAO to convert ClearQuest DB schemas and meta schemas between MS Access and SQL Server. This let us ship an initially populated database as a single .MDB file and then, at installation time, run a relativly simple program to initialize a SQL Server database, letting DAO handle the complexities of converting data types and transfering BLOB data.
      • Reporting - I wrote a reporting module to generate reports from the defect tracking database. The reporting module processed a report definition file and a query object associated with the database to generate an intermediate RTF file. The file was then rendered using MSWord, either as an external program or as an Embedded Automation Server. When it was determined that we needed a WEB reporting interface the original reporting engine was replaced with Crystal Reports reporting engine. I initially wrote the integration to Crystal Reports 5.0, then converted to Crystal Reports 6.0 (which has an OLE Automation interface). The report definitions are stored in the defect tracker's internal database in BLOBs and temporarily stored on disk to render or edit the report.
      • ConfigurationManagement - I set up the project CM environment twice (Just once wasn't good enough).
        • The first CM environment was done with RCS with the repository being served on a Samba share. A collection of perl scripts were written to check out/in individual files as well as scripts to check out the entire repository to a local disk for development. This was then moved to a Windows NT Share when the requirement to build the product on unix was deprecated.

        • The project was then put under ClearCase using ClearCase 3.1 on Windows NT as the Vob server. The major effort on this was to convert the existing software base from RCS to ClearCase and make the cut-over happen quickly when it happened.
  • Pure Software - when QualTrak was acquired by Pure Software, a team was formed to implement DDTs on the Win32 platform - I was a member of that team. My primary task was to explore different methodologies and technologies that could be used by that implementation.
    • OLE wrapper interface for ODBC classes - I wrote an initial implementation of OLE Automation wrapper classes for "proof of concept". These classes were never implemented but demonstrated the minimal capabilities to export the ODBC api as OLE Automation objects.
    • ODBC database interface - I wrote Object Level wrapper Classes for an ODBC based repository for a Win32 based Defect Tracking System.
    • Implemented VT100 emulator as an MFC Document/View architecture window/control as part of investigation of minimal port of Unix XDDTS to Win32.
    • Initial investigation of cross platform ui for the DDTS Defect Tracking System. Created a ui rendering engine to display dialogs on both Win32 and Unix from user authorable schemas.
  • QualTrak I was one of the original employees at QualTrak and was the primary DDTs developer.
    • qualtrak's little heart
      QualTrak DDTS - I wrote the original xddts X11/Motif interface program for the DDTS system. This application ran on SunOS4.x, Solaris2.x, Ultrix, HPUX8.x, HPUX9.x, AIX, and Dec Alpha using the Motif1.1.4 and Motif1.2.x libraries.
    • TestExpert - I wrote the admintool and exectool portions of TestExpert. This version of TestExpert was built on top of the TET test toolkit harness. Both of these tools had an X11/Motif user interface. This product evolved into Pure Test Expert when QualTrak was acquired by Pure Software.

Languages/Tools/APIs/Libraries


Document Date: Tue Mar 28, 2006
john AT JohnBirchfield DOT COM

-jb