Title: Technical leader – project size: 17 engineers
Manage a PL/SQL team to develop a batch module base on data-centric Oracle technology.
I am participating in the LimSee3 project which aims at developing a new-generation open source template-based multimedia authoring tool relying on the SMIL standard. My contribution is implementing an exportation framework which translates a template-based LimSee3 document to various formats such as SMIL, XHTML+ JavaScript slideshow, MPEG4 based on Java, XML, and XSLT.
Technology & standard: Java, JavaScript, XML, XSLT, SMIL, MPEG4, template modelI am one of 630 student participants selected out of over 6000 applicants to the program. My proposal is Castor DDL (Data Description Language) script generator from Castor JDO mapping that is a tool in which generates a specific RDBMS DDL script for a set of Castor mappings. The DDL script comprises commands for creating tables, creating unique keys, adding sequences and constrains. Normally, developer creates mapping files, Java objects, and DDL script to create database. This manual creation wastes so much time, re-do everything whenever a mapping is changed, and drives many invisible bugs: inconsistency between mapping and database, hard to test. This tool aims to create automatically DDL for a mapping. Beside the Castor Source Generator, the Castor DDL script generator will make developer to be more comfortable to use Castor. In the future, it can wrap together Castor source generator and Castor DDL generator to a complete tool.
I implement this proposal and integrate it in the Castor - a middleware framework for XML binding. This implementation supports more than 10 foremost databases.
project size: 40 engineers
The OneGate product is part of the project of computerization for administrative document management process of Vietnam state. Currently, province-own systems are decentralized, non-standard document formats, non-standard process and immature. The project aims to standardize document formats, processes, inter-change between provinces, and deployable to 64 provinces in Vietnam.
The contributions of my team are proposing and designing a services framework which provides standard services for several administrative processes. Those services are used by workflow team and build upon existent systems. More than 20 adaptive interfaces are defined to integrate into existent systems. Those interfaces use to create adaptors to convert the non-standard document to service-enabled message.
I manage the 6-member team including planning, and report directly to project manager.
This is my first project after I graduated. This project aims to create a synthesis tool for generating automatically circuit RAM’s cell. I am assigned to the module “Cell-Gen” which comprises the algorithm "Cell-Gen" to clone a cell of RAM based on its structure and its neighbor relationship. After success of my implementation, I move to generation process team where I work on process improvement.
Technology: Java, Perl, Unix script
Tool: Eclipse, Subversion
• ClearPath Development, US company based in Vietnam (Jul-Sep 2006)
Title: Senior developer – project size: 7 engineers
Our customer required is a reporting services framework and pre-defined baseline reports that would be generated via accessing the CDS – Common Database Schema of a banking system. This issue frequently arises during the initial sales process and their response is that the client can access the CDS themselves and therefore they would be able to build reports as required. The product concept for CDS Reporting is to establish baseline reports that provide their mortgage clients with a diverse set of relevant production and performance-centric data that can be leveraged within their organization.
My contributions are design a flexible, efficient reporting framework and make it integrated in the existed system. Because of performance issues, we decided to retrieve majority data from DBMS, except the data in executing process. This is done by a factory design pattern which enables to gather data from different sources. The report is created through JasperReport framework. Users access them through Web services. We were also created a set of baseline reports using those services and deployed in web server Tomcat.
Technology: Java/J2EE, JasperReport, XML, SpringFramework, Hibernate, design patterns, JDBC, DB2, Oracle, SQL Server, Tomcat.
Tool: IntellJ Idea, Visual Source Safe, IReport.
• International IT Services, US company based in Vietnam (********)
Senior developer, team leader, Nov 2003 – Sep 2005
- Project Testing Automation System - TAF (Technical Leader), project size: 18 engineers
TAF is an application that drives the automation from start to end. It aims to provide GUI-enabled testing environment for Telesyn network devices of our customer Telesyn Company which support Tcl execution environment. The application comprises the high level functional components including manage testcases, manage device under test (DUT), testcase execution, and report generation.
I propose and design architecture of this system including protocol to exchange data between the application and DUT, testcase manager, testcase repository, and report framework.
Technology: Java, STAF, Perl, Python, Tcl/Expect, CORBA, XML.
- Project Common Data Schema (Senior Developer), project size: 20 engineers
Common Data Representation (CDR) is a single object model that acts as the common language for system integration, process automation, business rule enforcement, user application development, enterprise reporting, and business connectivity. The CDR uses XML and J2EE to provide a consistent, programmatic means for defining and accessing standard mortgage objects or customer-specific objects used by legacy systems, partners, processes, and new applications. The Common Database Schema (CDS) mimics the CDR object model and provides a consistent, programmatic means to easily persist standard mortgage data or customer-specific data into a relational database for temporary storage or reporting.
My contributions are work with design team to define a flexible architecture for CDS, implement the prototype of CDS.