Daniel Dee
Avacoda, LLC, #201, Suite 206, 6 University Drive, Amherst, MA 01002
Work# (413) 256-4665, Fax# (413) 256-6443, Web: http://www.avacoda.com
Highlights
Software Design/Development (19 years)
- Broad understanding of the principles and interrelationship of various technologies.
- In-depth knowledge of specific key technologies.
- Ability to articulate and document design decisions and development process.
International Software Design/Development (10 years)
- Led software teams and completed projects in and between US, Japan, Taiwan and Korea.
- Capable of dealing with international customers on both technical and social level.
- In-depth understanding of software internationalization issues.
Selected Clients:
EZTakes (USA),
Optical Image Technologies (USA), Financial Solutions (USA), Pepperweed
(USA), Group 1 (USA), Microwave Networks (USA), ING
(USA), Blue Cross Blue Shield of Arizona (USA), Pitney Bowes (USA),
DataViews (USA), Marubun (Japan), NTT Data (Japan), Mitsubishi (Japan),
Daewoo (Korea), Posco (Korea).
Technologies
Areas
- Web and Enterprise (N-tier) Application Design and Development (7 years)
Frameworks: Spring/Hibernate, J2EE (EJB, JSP, Servlet, JAAS, JDBC, JNDI), JBPM
WebServices/XML: Axis/SOAP, XML/XSLT/Schema/DTD, JAXB/JAXP, SAX/DOM
Related Technologies: Ajax, Struts, Java Cryptography Enhancement
(JCE), JavaMail, CORBA, HTML, JavaScript, LDAP, SQL, JBoss Rules
- Object-Oriented Design and Development (11 years)
Design Patterns, UML (Use Cases, Class/Sequence Diagrams),
Entity-Relationship Diagrams (ERD), eXtreme Programming (XP),
Test-driven development
- Model Driven Development (1 year)
XMI, AndroMDA
- GUI Application and HMI Tools Design and Development (15 years)
J2SE, Applet, Swing, AWT, X/Motif
Languages
Java, C/C++, HTML, CSS, SQL, Velocity, Jython and various Unix scripting languages
OS/Platforms
Unix (Linux, Solaris, Mac OSX, HP-UX, IBM AIX and others), Windows 9x/NT/2000/XP
Apache/Tomcat/JBoss, WebLogic, WebSphere (WAS), MS IIS, Oracle Internet
Directory (OID), Netscape Directory Server (NDS), HP OpenView Service
Desk
Databases
Oracle, IBM UDB/DB2, MS SQL Server, MySQL, Hypersonic SQL.
Tools
Eclipse/WSAD, Ant, JUnit, Poseidon, Magic Draw, Rational Rose,
Together/J, OptimizeIt, Continuus, CVS, Subversion, PVCS, Rational
ClearCase, JNI, Izpack, JFreeChart, etc.
Work History
EZTakes (9/22/08 � )
Senior Developer
StreamBurner 3 Project
StreamBurner is a J2EE application that provide service for downloading DVD and other media contents. It is also a Swing-based Java cross-platform application that offers a user friendly front end for downloading and managing media contents as well as burning them to DVDs and CDs. The StreamBurner application will run on Windows XP, Vista, Mac OS X and Linux Ubuntu platforms.
My role in this project is to help re-architect the entire system from front end application to back end services. I also help setup a framework for unit testing and for quickly creating a new application server project in Eclipse.
This project utilizes the following technologies: Servlet, JSP, Hibernate, JDBC, MySQL. Jetty, Swing, JUnit, Install4j, ProGuard (Obfuscator), Ant. Maven to pull open-source projects. Development enironment is Eclipse. Researched Amazon S3 Cloud Storage technology.
Optical Image Technologies (3/5/07 � 9/19/08)
Architect and Senior Developer
Business Process Execution System (Docfinity 10)
The project is to design and develop a workflow system that executes a business process model created by an interactive designer. The system must work with OIT's document management system and is designed to flow documents and other objects appropriately to the right person. Personally designed the web service API used by the Flex-based interactive front ends such as the BPM designer, defined the XML schema for describing the BPM for the execution engine, and designed and develop the engine layer on top of JBPM to handle OIT specific requirements. The implementation runs within a Spring Framework using typical setter injections and some aspect oriented programming, and also utilizes some standard design patterns such as transfer objects, access objects, assemblers, managers and others.
Technologies used in this project includes: Spring/Hibernate, JBPM, Java Annotation, Quartz scheduler, Axis, Ant, JUnit, CruiseControl for continuous integration. The project is run using a variation of Agile Programming methodology.
Financial Solutions (2/1/07 � 2/28/07)
Architect and Senior Developer
Financial Planner
The project is to design and
develop a first-class financial planning application within a limited
budget and time constraint. The application is for use by financial
planners in non-profit organizations servicing the low-income
community. Projecting client's financial position is done using a rules
engine. Reporting and MS Word document generation is processed and
generated using the combined technologies of JAXB, XSLT, HTML, FOP and
JFor. Data are stored in a Hypersonic SQL database. O/R mapping is done
using Hibernate. This project integrates the following open-source
technologies: Swing, JBoss Rules (Drools), Hibernate, Hypersonic SQL,
JAXB/XSLT, FOP/JFor.
Pepperweed Consulting (10/1/06 � 1/31/07)
Senior Software Engineer
SIV is a web application that
enables a user to graphically visualize the impact of the loss of an IT
asset in an organization. The graphics depicts data stored in HP
OpenView (Configuration Management server) via interconnected nodes
that can be filtered, collapsed and trimmed. Ajax is deployed in other
situations requiring dynamic data update but not intense graphics. The
system is a 3-tier J2EE application utilizing JBoss 4, Struts, Ajax,
Hibernate and Hypersonic SQL. Authentication and authorization is
handled using JAAS. The graphical portion is developed using Applet
with ILOG Diagrammer.
Microwave Networks (3/1/06 � 10/1/06)
Senior Software Engineer
JEM is a Swing-based configuration
application for controlling and configuring microwave radios. It has
scriptable capabilities using Jython that enables automation and
enhancements to be written very quickly. It communicates to the radio
via SNMP over Ethernet or the serial port. It must support several GUI
styles (e.g., Swing Metal, Windows XP/Classic, Mac Aqua) on several OS
platforms (e.g., Windows � all versions since 95, Linux � various
versions using GNOME or KDE, Mac OS X).
Aetna � Funds Group (1/17/06 � 2/28/06)
Senior Software Engineer
Funds Transfer Module Project
The FTM project is intended to
support enhanced services to Aetna's Health Saving Accounts (HSA) web
product. This system is a pilot project using the Spring Framework at
Aetna. My responsibilities are to design and implement the class level
implementation, determine the stored procedure requirements and create
unit test cases to support auto-debit from HSA bank accounts. Uses:
Spring (particular its Inversion of Control aspects) and EJB.
ING Technology Management Office � Component Services (12/04 � 12/30/05)
Testing Infrastructure Architect and Senior Software Engineer
ia3 is an MDA framework for quickly
delivering an initial implementation from a UML model using a
combination of model-generated code and a library of open-source
reusable components. The ia3 Framework reduces internal development
cost and time. The framework supports J2EE and WebServices using Apache
Axis and is portable on WebLogic and WebSphere. Uses XMI 1.1 generated
by Rational Rose, Poseidon, MagicDraw, and others. My contributions
include:
- Architected and
implemented a complementary quality-control framework that supports
Test Driven Development. Uses: JUnit, Cactus, StrutsTest, and Doclet
technologies.
- Automated ia3 Framework building, testing, release and notification.
- Researched
the use of AndroMDA to replace/augment ia3 to satisfy increasing
requests for support of Spring and Hibernate, as well as traditional
J2EE.
Legacy Framework Support
Maintained and enhanced legacy Java
web applications for channeling bidirectional messages between
disparate client applications and the appropriate MQ queues for
processing via JMS and from disparate client applications to IBM's
OnDemand server via OnDemand Web Enablement Kit (ODWEK).
SCON Project Management/App Focal and MSL Point Person
ING
was consolidating and relocating all their hardware/software to CO. My
task was to shepherd Component Services applications through the Server
CONsolidation design and project planning processes.
Group 1/Pitney-Bowes Document Messaging Technologies (11/02 � 10/04)
Senior Software Consultant
Electronic Bill Presentment and Payment (EBPP)
Blue Cross Blue Shields of Arizona (BCBS-AZ) SSO Project
Designed and implemented
Single-SignOn (SSO) solution from BCBS-AZ web application to D3A/e2.
BCBS-AZ web application is a .NET application. D3A/e2 is
Pitney-Bowes/Group 1's J2EE-based EBPP framework. Uses JCE.
Italian Banking Association � MPS (Monte dei Paschi di Siena) SSO and WebServices Project
Designed and implemented SSO
framework to D3A for redirecting payment to client bank. Negotiated
solutions to interfacing issues with Italian counterpart. Also,
designed D3A Web Services (SOAP) for payment messages.
Italian Banking Association EBPP Project
Designed and implemented the interoperability architecture and XML protocol using JAXB/JAXP.
SOAP-based Web Services Siebel Integration Project
Designed and implemented web services using SOAP protocol with JAXM.
D3 Advantage (D3A) Internationalization
Designed and restructured
D3Advantage to support internationalization. This includes redesigning
logging (using customized Log4j), modifying database schema to support
linguistic indices, updating file I/O (including XML) to support
Unicode, and updating html to support a multilingual EBPP website.
Pitney-Bowes docSense/Alysis Technologies (4/00 � 3/02)
Senior Software Engineer/Assisting Architect/Build Manager
D3 Advantage Build Manager, and Assistant to the Chief Architect and Project Leader
D3Advantage is an EBPP framework
that helps companies quickly build branded web sites for displaying
online bills and processing online payments. Developed using J2EE and
is designed to be portable across application servers
(WebLogic/WebSphere) and databases (Oracle/IBM DB2). Integrates with
LDAP (OID/NDS) for authentication. (April 2001-March 2002)
Product Design. Participated in the
design of the system. One technical achievement is a proprietary MVC
(model-view-controller) model similar to Struts but allows on-the-fly
model update without taking down the server. Views and actions can both
be implemented by configuring XML files without altering application
logic. Another technical achievement is the XSLT-based generation of
cross-platform DAO code. 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 end-to-end
J2EE skeleton framework for the system.
Configuration Management. Designed
and setup configuration management system using Continuus, tailored
specifically to the D3Advantage development workflow, to manage source
code.
Build Management. Designed and
developed automatic system for nightly builds, unit tests (JUnit) and
release. 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. Automatically
creates InstallAnywhere setup program for the entire system.
Developer Tools. 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.
General Management. 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.
WorkOut 2.0 Implementation Team Lead
WorkOut 2.0 (now known as
D3Advantage/e2) upgrades WorkOut's middleware from CORBA to J2EE
(JSP/ASP, servlets and EJBs on WebLogic 5 and WebSphere 3.5). (June
2000 � April 2001)
Team Lead. Managed a team to upgrade WorkOut from CORBA to J2EE.
Configuration Management. Designed
and setup configuration management system using Continuus, tailored
specifically to the Alysis' development workflow, to manage source code.
Technical Training. Conducted training session for WorkOut 2.0 for customers.
OFX/IFX Parser
Wrote parser for OFX/IFX. OFX (Open
Financial eXchange) and IFX (Interactive Financial Exchange) are
standard protocols for exchanging financial data. (April-May 2000)
ISO New England (4/99 � 3/00)
Senior Software Engineer/Team Lead
Energy Exchange Market System
Market System is an online bid and
contract management system for the purchase and sale of electrical
energy among electric utility companies. It uses Java applet and AWT
for its front-end, CORBA for the middleware and Oracle for data.
Various tools: Visual Café, Together/J, etc.
Market System Invoice Subsystem
Rebuild. Worked with a team of Java developers and DBAs to revamp the
Billing Subsystem. Access to the database is via JDBC. Used UML use
cases, class diagrams, sequence diagrams and ERD to design and model
the subsystem. Implemented the invoicing wizard applet.
Team Lead. Managed a team to enhance the Market System (moving it to version 2).
Early Contracts (1994�1999)
University of Massachusetts Legal Studies Department, Architect/Co-developer
LegalSpace - On-line Mediation
Software System (Multiple contracts 1997�99)
LegalSpace is a web-based
interactive graphical system used to assist mediators to resolve
conflicts between two parties. The interactive graphical tools are
deployed using Java spplets. Processing is done with Java Servlets
deployed on MS IIS, and data are stored in MS SQL Server and accessed
via JDBC. Product Design. Conceived, co-designed, and co-developed the
system.
DataViews Corporation, MA, Consultant (Multiple contracts 1994�99)
Provide on-site and porting support
of DataViews product to Far East Asian Languages. DataViews is
developed and ported to X/Motif on various Unixes and Windows 95/NT.
Marubun Corporation, Tokyo, Consultant (Multiple contracts 1994�99)
Provide on-site and porting support
to Japanese and other languages of US software products to Marubun and
their clients on various Unixes (including Japanese hardware from NEC
and Hitachi) and Windows 95/NT.
Pohang Steel Company (POSCO), South Korea, Consultant (1996)
Provide on-site and porting support
to Korean of US software products for use in their steel manufacturing
process on VAX/VMS. POSCO is one of the largest steel producer in the
world.
Mitsubishi Heavy Industry, Tokyo, Consultant (1996)
Provide Spanish port of customized
version of DataViews to Mitsubishi for their Spanish customer.
NTT Data (Nippon Telephone & Telegraph), Tokyo, Consultant (1996)
Implemented Japanese language
driver for large format HP plotter to print DataViews graphics
(NEC/Unix SVR4).
Daewoo Telecom, Seoul, Consultant (1995)
Provide on-site and porting support
of DataViews to Korean on native mainframe: DTC9000/SVR4.
Square D, OH, Consultant (1994)
Provide porting support of CRISP to
Korean on DEC OpenVMS 5. CRISP is based on DataViews and customized for
used in designing electrical networks.
AT&T, GA, Consultant (1994)
Developed Japanese GUI for telecom
problem-tracking database on Sun Solaris.
Senior Software Engineer, DataViews Corporation (formerly V.I. Corporation). (7/87�10/93)
DataViews Graph Widgets and DynaGraphX
Conceived and prototyped DataViews
Graph Widgets (1/89). Convinced management of its viability (1990). Led
a team to complete its development (1991). Integrated into various IDEs
(DynaGraphX, 1991). Product released June 1991. The Graph Widgets is a
set of automatically updating graphs displaying data from user-defined
external data sources. The architecture is object-oriented after the X
Toolkit patterns. (1989-1993)
DataViews Internationalization
Worked with DataViews' Japanese,
Korean, Hong Kong and Taiwanese distributors to internationalized the
DataViews product. Dealt with issues of input text processing of
multibyte strings, output of multibyte strings, various code sets, and
localization. Subsequently assisted DataViews' General International
Area department in updating the core code to handle the three main
Asian languages: Chinese, Japanese and Korean (1989-91). Completed a
follow-up trip to further understand the Asian market and
internationalization issues. (1993)
Prism Systems Project
Developed a graph layout library
using X Toolkit for Prism Systems (part of Northern Telecom). Solved
problems in displaying graphs containing nodes with loopback arcs,
whose subgraphs may be collapsed or expanded. (1991-93)
Air Canada Project � Developed
portions of a flight monitoring system. Solved problem involving the
repair of graphics of overlapping objects (such as airplanes and
waystations). (1990)
DataViews for X Windows
Co-implemented DataViews' graphics
driver under the X Window System using the X11 library (1988-91).
Re-implemented using the X Toolkit. (1991). Integrated OSF/Motif and
OPEN LOOK widget toolkits into DV-Draw, DataViews' graphics editor for
designing user-interface for real-time data monitoring. This involved
encapsulating the widget programming model inside the DataViews' own
Input Object programming model (1991).
DataViews C++ Project
Created prototype implementation of
DataViews in Objective C and C++. DataViews is originally written in C.
The prototypes encapsulates key structures as self-aware objects
(reflection) (1988). Evaluated NeXTSTEP as a platform (1989).
Investigated various object-oriented methodologies and analysis tools
(particularly OMTool) as a member of the advanced research group
(1993). (1988-93)
Technical Support � Provided customers with technical phone support for DataViews. (1988)
DataViews Hershey Vector Font Project
Implemented text processing and
drawing routines for vector text in DataViews. The vector text fonts
are based on the Hershey fonts. Issues dealt include: cursor advancing
and backspacing of non-proportional fonts, drawing of rotated texts,
dealing with character sets larger than ASCII such as Cyrillic and
various smaller issues. (1987)
GKS Programmer, Video Instructional Program, National Technological University. (Summer '86)
Developed C, FORTRAN and Pascal
demonstration programs on VAX and IBM PC on Graphical Kernel System for
a live video course. The instructor for the course is Prof. Francis S.
Hill.
Computer Graphics Teaching
Assistant, Electrical & Computer Engineering, UMass-Amherst.
(1985�1990)
Wrote graphics drivers for graphics
devices. Developed graphics package to support course projects. Also
assisted Professor Francis S. Hill with his book entitled Computer
Graphics, published in Summer 1990.
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
Fluent in Mandarin, Fukienese and
Taiwanese. Understands Cantonese (Hong Kong). Also fluent in Filipino
(Tagalog).