Cristian Mihaila
Email: **********@******.***
Phone: 905-***-****
LANGUAGES & PROFICIENCIES
Java, C++, HTML, JavaScript, SQL, PL/SQL
OO Modeling, Rational Unified Process
ATG, WebLogic
Servlets, JSP, Struts, AJAX, EJB, WebServices
XML, XSLT, XPath
Oracle, JDBC, Oracle OCI
AREAS OF CONCENTRATION
Scalable OLTP Systems and Enterprise level Workflow solutions.
The last three phases of the Rational Unified Process methodology with
emphasis on the Elaboration(Architecture) and Construction(Prototype).
System frameworks using Java and C++.
Web applications based on EJB and WebServices backend services.
Detailed Design Documentation and Code Generation based on UML
Class/Sequence Diagrams.
Coaching application developers and facilitating communication with senior
members of the Infrastructure/Architecture team.
Translating business requirements into system design documents
EDUCATION
M.Sc. in Computer Science, Polytechnic Institute Bucharest
Java2 Certified Programmer - Sun Microsystems
Java2 Certified Developer - Sun Microsystems
WebLogicServer Enterprise Certified Developer - BEA Systems
EMPLOYMENT HISTORY
Spin Master, Toronto
February 2011 to June 2011
ATG Consultant
Spin Master e-commerce site
Implemented the global Header, Footer and Cart jsp widgets.
Implemented a generic PageLayout widget enabling significant code reuse via
widgets while achieving consistency and uniform look-and-feel for the site.
Implemented various content targeters for the Home page.
Implemented a configurable mechanism supporting the rendering of repository
based content with flash based artifacts.
Implemented the Catalog browsing pages. Developed a set of jsp widgets to
display product details as well as collections of catalog items
(categories/products). Used them to render in a systematic way all pages
supporting the catalog navigation.
Used the Faceted Search functionality to implement a 'filtering' widget
(Age, Gender, Brand, SeenOn TV) for the product list pages.
Extended the Payment Process with a custom Payment Method - CreditLine.
Technologies:
Application Servers : ATG 9.2 (Commerce + Merchandising + Search), JBoss
4.3, Apache 2.2
Open Source Frameworks : jQuery, Jsp
Database : DB2
IDE : Eclipse 3.5, SVN
OS : Windows XP, RHEL 5.5
LoyaltyOne, Toronto
April 2005 to December 2010
Senior Technical Consultant
Airmiles.ca - Re-platforming of the airmiles.ca web site.
Designed a Content Segmentation engine as a plug-in to the FatWire Content
Server. Based on a transformation of FatWire Segmentation Rules from XML to
a relational form in an Oracle database. Implemented as a set of XML SAX
parsers coupled with a JDBC data access layer exposed as an enterprise
service via stateless EJBs.
Implemented the custom Login and Profile management module.
Designed a Page Rendering Framework similar to the Struts Tiles, supporting
dynamic page generation in ATG. Unlike Struts, the configuration is defined
in the ATG SQL Repository and managed via the ACC interface. It allows
changes to the layout configuration of web pages to be done dynamically.
Engineered the splitting of the monolithic airmiles.ca web site into a set
of cooperating ATG web sites organized by functional areas - Account,
Sponsors, Rewards. Implemented the SSO functionality supporting the
integration of the different web applications behind the airmiles.ca domain
using the Apache HTTP Server Plug-in for Weblogic as a site integrator.
Designed a generic Interceptor Framework providing a configurable, dynamic,
rule based redirection mechanism. Used as the backbone for implementing
various Login scenarios and securing the access to different areas of the
web site. Leveraged the ATG Targeting Rules and Repository API.
Implemented the Airmiles Shopping Cart and the associated Check Out page
flow.
Integrated an external credit card payment system - MONERIS - into the ATG
Shopping Cart Check Out pipeline.
Implemented a Merge Tool for ATG repositories. Handles the XML files
exported by the startSQLRepository utility via a set of XSLT
transformations using the SAXON processor.
Implemented Web Services for a Kiosk application providing account and
rewards functionality related to the airmiles program.
Implemented a set of Web Services emulators for the Collector, Account and
Order Management back-end services.
Implemented the build process for the entire .ca complex using Maven2.
Created the custom maven plugin required for the integration of the ATG
Assembler task into the build pipeline.
Technologies:
Application Servers : ATG 2006, 2007.1, WebLogicServer 8.1, 10, Apache 2.1
Open Source Frameworks : Spring, Hibernate, Axis, JAX-WS, Mootools, Jsp
Database : Oracle 10g, PL/SQL
IDE : Eclipse 3.5
Performance Monitoring & Tuning : JProbe
OS : Windows XP, Solaris 9
TELUS, Toronto
August 2003
Senior Programmer Analyst
NCCS - Complex of applications implementing the National Channel
Compensation System Web Portal for TELUS.
Designed an XML/XSL based Report Generation framework. Provides a generic
solution for creating reports from data stored in an Oracle database based
on a declarative programming model via XML/XSL configuration files.
Implemented as a pipeline of XSL transformations feeding into a FOP
(Formatting Object Processor) driver to produce PDF documents on the fly.
The data access layer implemented a set of synchronous/asynchronous data
providers backed by a combination of stateless, stateful and message-driven
EJBs.
Developed the Channel Partner Info application managing the contracts and
commissions for outlets and sales representatives in the Telus directory.
Implemented with Struts and session EJBs in a WebLogicServer/Oracle
environment.
Performed modifications to the existing code base for the Online Inquiry
Tool and the Dealers Commission Reporting system - applications supporting
the process of compensations reconciliation for TELUS dealerships.
Implemented with Struts 1.1 and stateless EJBs interfacing with Oracle via
JDBC calls to Oracle Stored Procedures and Parameterized Queries.
Migrated the Online Inquiry Tool and the Dealers Commission Reporting
application from Borland App Server 4.5 to WebLogicServer 8.1 following the
development standards and practices defined for Configuration Management
and Logging.
Performed various tasks related to different stages of the system
development process : Code reviews, Unit testing, QA, System Integration,
Production Releases. Used Rational Clear Quest to support the transition of
the application through the Development, QA, Staging and Production
environments.
Technologies:
Application Servers : WebLogicServer, Borland App Server
Open Source Frameworks: Struts 1.1, Log4J, Spring, FOP, iTEXT
Database : Oracle 9i, PL/SQL
IDE : JBuilder 8, JBuilder X
UML : TogetherJ
OS : Windows 2000, Solaris 8
Wells-Fargo, Des Moines
July 2001 - July 2003
February 1998 - April 2000
Systems Analyst
Sapphire - Enterprise level OLTP system, supporting Wells-Fargo's Credit
Banking operations.
Designed and implemented a middle tier service acting as a Distributed
Iterator over persistent data stored in the Oracle database. It provided
such features as 'connection pooling', 'instance pooling', aggregation of
results sets from multiple, parallel queries, asynchronous processing,
dynamic selection of Oracle hints based on the run-time values of bound
parameters. Used Win32 threads, STL, OCI7/8, MSXML, WLS 5/Tuxedo 8.
Designed and implemented a framework for a Publish/Subscribe service with
the capability to support different types of 'transport' layers via proxy
plug-ins (DCOM, MSMQ, WL Callbacks). It provided a highly
scalable/configurable solution for the asynchronous path from the Workflow
server complex(WLE) to up to 10000 clients (VB). Implemented as a
hierarchical set of multithreaded stateful servers bridging between WLE and
COM. Used a centralized XML config file and WLE Factory Based Routing to
dispatch client 'subscription requests' to the 'terminal' nodes in the
server hierarchy. Used the Oracle database as a persistent store for client
'subscriptions' as well as 'messages'. Implemented with Win32 threads, ATL,
STL, OCI7/8, MSXML, WLE 5/Tuxedo 8.
Designed and implemented a 'Transactional Queue' server supporting the
asynchronous interaction between different server-side components of the
Workflow and Statistics services.
Implemented a library wrapping Windows encryption services used for client
authentication against WLE servers.
Implemented a Serialization framework via C++ templates wrapping user
defined data types conforming to a defined protocol. Used to marshal
arbitrary Property sets between Client and Server as well as for persisting
them to the database.
Implemented the EJB prototype for the Post Payment Use Case in order to
evaluate a Web based solution as an alternative to the existing VB/CORBA
implementation. Used JSP for the Internet Explorer based front end and
WebLogicServer 7 for hosting the server side components implemented as a
combination of Struts Actions, Session and Message Driven EJBs.
Served as a team member of the architecture, performance analysis,
framework, and server developer team. Performed extensive Code Reviews.
Participated in the design of the WLE cluster architecture.
Was responsible for analysis of business process, meeting domain experts/
business analysts, discussing business scenarios, and validation of
sequence diagrams in Rational Rose using UML.
Technologies:
Application Server : WebLogicEnterprise 5, WebLogicServer 7
Standard API : JDK1.3.x, JDBC, J2EE 1.3(EJB, Servlets, JAXP, SAX, XSLT)
ATL, STL, Win32
Open Source APIs: Struts 1.1, Log4J
Database : Oracle 8, OCI 7/8, Persistence
IDE : VisualStudio 6, JBuilder 8
UML : Rational Rose 4.0/98
OS : Windows NT 4.0, Windows 2000
Metavante, Toronto
April 2000 - June 2001
Consultant
InetBiller - Internet Billing Service
Developed an asynchronous solution to interface Metavante's InetBiller
application with a third party Bill Aggregator (Checkfree) using Mercator.
Developed a framework for Internet billing services based on the MVC
pattern. Used Java Servlets to implement the 'Controller'. Implemented the
'Model' via session beans wrapping JDBC calls to Oracle stored procedures.
The 'View' was implemented with HTML and JSP templates based on Freemarker
mark-up.
Developed a generic Biller-to-Database loader class used during the Bill
Loading process. It consisted of two steps : 1.Translating from the Biller-
specific data format to a generic XML representation using an XSL driven
process. 2.Execution of Oracle SPs that parsed the XML stream generating
'inserts' according to the internal database representation. Used xml4j and
xalan.
Developed an XSL based translator from the internal database format to an
XML format, suitable for the 'Presentation' layer, formatted as an HTML or
PDF document. Used Oracle SP, xml4j and xalan.
Worked closely with business analysts to create a detailed design for the
B2B product modeled in Rational Rose98.
Technologies:
Application Server : WebLogicServer 5.1
Standard API : JDK1.2, JDBC, J2EE1.2 (JSP, Servlets)
OpenSource API : Freemarker, xalan, xml4j
Database : Oracle, PLS/SQL
IDE : VisualCafe
UML : RationalRose 98
Elsag Bailey, Toronto
June 1997 - February 1998
Consultant
STWrapLine - Floor Tracking System for the Pulp/Paper Industry
Designed and implemented a transport independent Publisher/Subscriber
service customizable through 'plug-in' COM proxies supporting DCOM and
MSMQ. Implemented a P/S Viewer Tool providing configuration management and
traceability of the publisher/subscriber's activity based on the Observable
pattern.
Implemented a COM based framework for asynchronous message driven
processing (multithreading, message dispatching, notifications, extensible
message protocol, event logging).
Implemented a Link Interface between a PLC controlling a set of WrapLine
stations and the Floor Tracking front-end application written in VB.
Technologies:
Rose 4.0, ATL, STL, VC++ 5.0, MFC, DCOM, MSMQ, Winsock 2.0 on NT 4.0
NCR, Toronto
October 1996 - June 1997
Consultant
POS One - Point Of Sales System for the US Postal Office
Implemented an ObjectBroker for UniversalDataObjects (COM based POS
Business Objects).
Designed and implemented the AutoLoadableObject COM interface supporting
the persistence of POS Business Objects.
Implemented COM Business Objects supporting the Inventory and Cash Drawer
Use Cases.
Implemented the Session Manager for the Terminal & Accountability Use
Cases.
Technologies:
Rose 4.0, ATL, STL, VC++ 5.0, MFC, COM, on NT 4.0, Sybase
Nortel, Toronto
June 1995 - October 1996
Senior Software Engineer
ICCM - Call Center Management System
Designed and implemented the System Infrastructure library, defining the
multithreaded middleware framework for the ICCM system. Provided support
for asynchronous processing based on events and messages exchanged over
TCP/IP channels. Also implemented the different types of messages defining
the ICCM Protocol.
Publisher component and API supporting the Real Time Display feature of the
ICCM Client.
API supporting the access to the persistence layer of the ICCM Operations &
Services Management component.
Technologies:
Tools.h, DBTools, Win32 API, Winsock 2.0, Sybase
Honeywell, Toronto
March 1994 - June 1995
Senior Software Engineer
PDA100 - Plant Data Access System
Port of the SI(System Infrastructure), TDC Encapsulator and the User
Interface from POSIX, X Windows(Motif 1.2) to Windows NT(MFC).
PC Network Manager PCNM
Port of the PCNM HLLAPI library from Windows NT to UNIX and NOVELL NETWARE
using Sockets on TCP/IP & NWLink and TLI on IPX/SPX.
License/Performance Monitoring DLL based on the PerfCounter API.
Optech, Toronto
March 1993 - March 1994
Software Engineer
SHOALS - Ground Based System for post-processing LIDAR generated data.
Implemented the batch process supporting the generation of colored maps in
GPS coordinates from the LIDAR data.
Implemented the GUI for the dynamic reprocessing of colored maps and
waveforms display on selected sounding points. Used multiple background
processes to support analysis of multiple regions in parallel.
Technologies:
C, Xview, ESQL-C, HYPERSCRIPT and INFORMIX 5.0, SUN OS 4.1.3