Daniel Dee
Senior Software Engineer
Technical Skills
Design: UML, ERD.
Languages: Java, HTML, JavaScript/VBScript,
Python/Jython,
C/C++, Visual Basic, SQL, Various Unix scripting
languages.
Technologies: J2SE, J2EE, AWT/Swing, EJB, JDBC,
JSP/Applet/Servlet, Spring, XML, XSLT.
Databases: Oracle, DB2, MySQL MS SQL
Server, PostgreSQL.
Graphics/GUI: X Window System, Java AWT/Swing,
Motif.
Development Tools: Eclipse, WSAD, Visual Café,
Forté, Emacs/JSwat, Rational Rose, Together/J, reView.
Web and Application Servers: WebLogic, WebSphere,
JBoss, Tomcat, Apache, MS IIS.
LDAP Servers: Oracle Internet Directory (OID),
Netscape Directory Server (NDS)
Deployment Platforms: Unix (including Mac OS X, Linux,
Solaris and most other flavors) and Windows
95/98/NT/2000/XP.
Selected Clients
Microwave Networks (USA), Aetna (USA),
ING (USA), Pitney-Bowes (USA), Alysis Technologies
(USA), ISO New England (USA), GE Fanuc (formerly
DataViews) (USA), HappyMD.com (USA), UMass Legal
Department (USA), Industrial Technology Research
Institute (Taiwan), Marubun (Japan), Kee-Lung Port
(Taiwan), NTT Data (Japan), Mitsubishi Heavy Industry
(Japan), Daewoo Telecom (Korea), Posco Steel (Korea), Sq
D (USA), AT&T (USA)
Selected Project Titles
- Model Driven Framework for Generating J2EE Applications
- Web-based Electronic Bill Presentment and Payment
(EBPP)
- N-tiered Scalable Web Portal
- Financial Data Exchange Client/Server System
- Energy Exchange Market System
- Graphical User Interface Builder for Dynamic Data Visualization
- On-line Mediation Software System
- Internationalization Projects for Multibyte Languages (Japanese, Chinese and Korean)
- Graphical User Interface (GUI) Editor for Programming Telephone Exchange
System
- Air Traffic Control System
Project Summaries
Product: Radio Configurator
Client: Microwave Networks (2006)
Role: Senior Software Consultant
Industry: Radio/Telecom
- Developed graphical front-end for
configuring microwave radios. Requires communicating with
radio using SNMP and serial protocols. Used Jython
for rapid prototyping. Investigated
various Swing testing technologies.
- Designed and implemented using Swing.
- Technologies: Swing, SNMP, Serial
- Tools: Eclipse, Java Communications API, SerialIO,
CVS, SwingDesigner, FormLayout, Marathon
Product: HSA Funding
Client: Aetna (2006)
Role: Senior Software Consultant
Industry: Insurance
- This backend application exchanges data
with the bank to properly process and fund
a Health Savings Account claim.
- Designed and implemented on WebSphere using Spring.
- Technologies: J2EE, Java, Spring
WebSphere, DB2
- Tools: WSAD, JUnit, Rational Rose, Rational Clearcase
Product: Model Driven Framework for Generating J2EE Applications
Client: ING (2004-2005)
Role: Senior Software Consultant
Industry: Financial
- The internally developed tool enables
ING developers to quickly generate a framework for
their J2EE applications from a UML model
that already embody all the best J2EE practices. Model can
be updated and code regenerated without losing manually
modified code.
Ant script is written to package the code for WebLogic,
WebSphere and SunOne application servers. UDB, Oracle,
MS SQL and MySQL are all supported.
- Designed, implemented and deployed automated build and test
system using JUnit, Cactus, StrutsTest, HTMLParser and HttpUnit.
- Investigating use of JellySWT, SWT, JFace and JLisa to
revamp current code generator GUI with an eye for making
future feature enhancement easier and less error prone.
- Technologies: J2EE, Java, EJB, XML, XSLT, JSP, WebService,
WSDL, WSIF, Struts, WebLogic
and WebSphere, Oracle and DB2, Jelly, SWT, JFace
- Tools: Eclipse, Emacs/JDK/JSwat, WSAD,
JUnit, Cactus, HttpUnit, HTMLParser, StrutsTest,
Rational Rose, PVCS, Classcycle, OptimizeIt
Product: Web-based Electronic Bill Presentment and
Payment (EBPP)
Client: Pitney-Bowes docSense (2000-2002,2003-2004)
Role: Senior Software Architect
Industry: Financial
- The product helps companies quickly
build branded web sites for presenting bills and
processing payments online. It uses J2EE technologies
and is designed to be portable across application
servers (WebLogic 6.1/WebSphere) and databases (Oracle
8i/IBM DB2). Authentication is handled via LDAP
(OID/NDS) for added security and
flexibility.
- Participated in the design of the
system. Taking its cue from Struts, but with a
completely new design, the product uses an MVC
(model-view-controller) model. The design allows EBPP
web site builders to customize the display layout, menu
actions and certain other behaviors by simply editing
XML-defined view and action files without programming.
All business logic resides in the EJB backend. Wrote
specifications utilizing UML use cases, class diagrams,
sequence diagrams and database ERD for the project (UML
tool used is Together/J). Implemented the first-cut of
the EJB framework for the
system.
- Designed configuration management system to manage
source code.
- Designed and developed automatic
system for nightly builds, unit tests (JUnit) and
release using makefiles and scheduled tasks.
Automatically builds EAR files for WebLogic and
WebSphere. Automatically generates SQL scripts and JDBC
code for Oracle and DB2 from schema defined in XML and
transformed using
XSLT.
- Wrote a Java parser that generates
EJB remote interfaces from beans. Wrote make script for
packaging the EJBs either individually or as one giant
JAR file (automatically consolidating all deployment
descriptors). Wrote program to setup LDAP directories
and attributes from an LDIF file that works for both
OID and NDS, and for tearing it down
recursively.
- Helped managed overall development
process to ensure quality by reviewing and analyzing
code regularly for threading issues, memory leak,
redundancy, obsolescence, and circular dependencies,
while mentoring junior programmers about such issues,
and advising the project leader of any such issue if
the situation requires
it.
- Technologies: Java, EJB, XML, XSLT, JSP, WebLogic
and WebSphere, Oracle and DB2
- Tools: Emacs/JDK/JSwat, Symantec, Visual Age for
Java, JUnit, Together/J, reView, OptimizeIt
Project: N-tiered Scalable Web Portal
Client: HappyMD (2000-2001)
Role: Senior Software Architect
Industry: Healthcare
- HappyMD.com is a health information
web portal designed for the Chinese market. It uses
open source J2EE technologies (Tomcat, JBoss) and is
designed to be language neutral (I18n,
internationalization), so the site can be switched
between languages
seamlessly.
- Co-designed and supervised its
overall development using open source n-tier
architecture: Apache (web server), Tomcat (servlet
engine), JBoss (EJB app server) and Oracle (database).
Designed the database schema. Designed and implemented
reflection-based layer to assist JSPs in accessing the
EJBs. Wrote specification using UML use cases, class
diagrams, sequence diagrams and ERDs for client and
developers.
- Managed overseas and local
developers, while ensuring quality by reviewing and
analyzing code
regularly.
- Design issues include how to upload
Chinese Word documents into the database and how to
display them on the web site. Have to ensure that
multibyte documents are not mangled when getting them
into and out of the system. Ensured Oracle is installed
correctly to support mutlibyte characters. Ensured that
language encoding in the JSPs and HTMLs are appropriate
for the language being
displayed.
- Technologies: Java, EJB, XML, XSLT, JSP, WebLogic,
jBoss, Apache, Tomcat, Oracle
Project: Financial Data Exchange Client/Server
System
Client: Alysis Technologies (now Pitney Bowes
docSense, 2000)
Role: Senior Software Engineer
Industry: Financial
- Designed and developed a system for exchanging OFX
(Open Financial Exchange) financial data
- Technologies: Java, Servlet, JCup, JLex
Project: Energy Exchange Market System
Client: ISO New England (1999-2000)
Role: Technical Manager
Industry: Utilities - Power
- Worked with a team of Java
developers and DBAs to revamp the Billing Subsystem.
Used UML use cases, class diagrams, sequence diagrams
and ERD to design and model the subsystem. Implemented
the invoicing wizard
applet.
- Managed a team to enhance the Market
System (moving it to version
2).
- Analyzed and recommended backup and archiving
strategy.
- Developed the invoicing sub-system.
- Technologies: Java, CORBA, WebLogic, Oracle
Project: ViviGraphics
Client: Wigitek Corporation (1997-99)
Role: President
Industry: Data Visualization
- ViviGraphics is a visual programming
editor for building JavaBean-encapsulated interactive
graphical application. It uses Java AWT and Swing for
its GUI and JDBC to interact with the data
source.
- Conceived, co-designed, and oversaw
development, licensing, production and marketing.
ViviGraphics uses an MVC architecture. The visual
programming editor uses a dataflow model. The generated
output is a JavaBean that can be incorporated into an
IDE, or ViviGraphics itself. Used UML use cases, design patterns,
class diagrams and sequence diagrams to design and
model the
subsystem.
- Technologies: Java, AWT/Swing, JDBC
Project: On-line Mediation Software System
Client: UMass Legal Department (1998)
Role: Consultant
Industry: Legal
- Designed and supervised development of an on-line
mediation system
- Created interactive graphics for expressing and
analyzing disputes
- Technologies: Java, Servlets, MS SQL Server
Project: Internationalization Projects for Multibyte Languages (Japanese,
Chinese and Korean
Clients: Various (1993-2000)
Role: Consultant
Industry: Various
- Assisted in the development of technologies to
enable multibyte text input and output in Japanese,
Chinese and Korean.
- Technologies: C, X/Motif
Project: Graphical Editor for Programming
Telephone Exchange System
Client: Prism Systems (1991-93)
Role: Senior Software Engineer
Industry: Various
- Developed of a graph layout library using X and Xt
for programming a telephone exchange system.
- Resolved problems in displaying graphs containing
nodes with loopback arcs, whose subgraphs may be
reduced or expanded to optimize the use of display real
estate. Visited customer on-site.
- Technologies: C, X/Motif
Project: Air Traffic Control System
Client: Air Canada (1990)
Role: Senior Software Engineer
Industry: Various
- Developed as part of a team a flight monitoring
system
- Solved problem involving the repair
of graphics of overlapping objects (such as airplanes
and waystations).
- Technologies: C, DataViews
Education
M.S. Computer Systems Engineering, University of
Massachusetts, Amherst. (5/87)
M.S. Electrical Engineering, University of the
Philippines, Diliman. (5/85)
B.S. Electrical Engineering, University of the
Philippines. Cum Laude. GPA 3.4/4.0. (5/83)
Foreign Languages
Chinese: Mandarin, Fukienese, Taiwanese, Understands
Cantonese (HongKong)
Filipino: Tagalog
Publications
- Dee, Daniel (1998) Implementing Callback-Style Support
for Java's AWT, Java Developer's
Journal, Vol 3, No 4
- Dee, Daniel (1998) Widget-izing Java's Graphical User
Interface Components, Java Developer's
Journal, Vol 3, No 6
- Dee, Daniel (1998) Linux
on the Compaq Presario 1000 Series, Linux on
Laptops
(http://www.cs.utexas.edu/users/kharker/linux-laptop),
Sep 1998
- Dee, Daniel (1999) HotSync-ing the Palm III and the
Notebook PC Via the Infrared Link, Oct 1999
- Dee, Daniel (1998) Implementing a Grid Layout Manager
with Positionable Components, Java Developer's
Journal, Vol 3, No 12
- Dee, Daniel (1999) Building a Tree Viewer, Java
Developer's Journal, Vol 4, N4
- Nielsen, Dale and Dee, Daniel (1999)
Upgrading Linux Over the Internet, Linux
Journal, May 1999