1070 Summit Drive
Deerfield, IL 60015
847.791.2500
Repeatable success in building scalable enterprise business systems through use of object oriented analysis, design, and implementation. Ability to effectively use new technology to solve complex business problems. Strong technical leadership skills and architectural vision. Project management, planning and tracking expertise.
ISTEK consulting, inc.
Principal (Sept 1998 - Present)
q Currently serving as a technical architect for a major legacy system reengineering project.
Responsible for technical architecture for a services layer which will be used by multiple applications to access
and update a multi-terabyte relational consumer database. The services layer is required to run inside Websphere,
CICS, and batch both on zOS(S/390) as well as open systems such as AIX and Linux. Detailed responsibilities
include:
q Logical and physical architecture – partitioning into subsystems and layers, design of common classes
and services, separation of business logic from application and platform specific code, reviewing designs and code
to ensure consistency and common vision with respect to standards and architecture.
q Performance management – ensuring the overall system architecture satisfies the demanding performance
requirements within the budget constraints for hardware. Designing capacity prediction models. Meeting
with key hardware and software vendors to explain our needs and get access to their key technical staff, especially
in the areas of DB2 and CICS.
q Mentoring associates and presenting architecture to both client applications and other external stakeholders.
q Productionalizing the systems – defining release/hotfix/backout processes, scripts, job definitions,
and security.
q Assisting in project planning tasks to ensure that technical and architectural risks are addressed
through the implementation of an iterative development cycle.
This
project presents unique architectural challenges due to the extreme performance requirements and high transaction
and data volume. The online systems process in excess of 5 million daily transactions with sub-second response
requirements. The batch systems perform an average of 80 million updates a day. As part of the responsibilities
of the architect I had to constantly balance design purity with performance optimizations as well as balancing
implementation in Java vs. implementation in SQL. Because our code had to run in Websphere we needed to concern
ourselves with thread safety and we implemented a clever way of handling it with the use of ThreadLocal variables.
In CICS we exploited the new features of the persistent reusable JVM technology. In DB2 we implemented such
new features as identity columns and savepoints.
The
system is being implemented in Java, with some components in C/C++ and SQL.
The
relational database is DB2 and is accessed the SQLJ and JDBC technology.
The
transactional systems are implemented in Websphere, CICS and MQSeries.
The
batch systems run under zLinux and zVM. Job management is done through CA Unicenter/AutoSys software,
with complex cross platform queing and load balancing setups.
Performance
tools: Quest JProbe, Wily
Introscope, TMON CICS/MVS/DB2.
Development
tools: Rational Suite, ClearCase and ClearQuest,
Eclipse IDE.
q Implemented a group chat/instant messaging Java applet for a Web-based educational software company.
The requirements dictated a multi-threaded implementation. Sockets were used to connect to the chat server.
The system was implemented in JDK 1.1 and 1.0(for backward compatibility)
using JBuilder 2.0 and runs on MacOS and Windows platforms.
q Led a team of 3 developers in designing and implementing a new international securities lending system
for a global custodial bank. Completed design for the automated broadcasts of asset availability and automated
receipt/filling of loan orders. Completed design for manual loan entry including: collateralization, baskets,
par/money fills, open, term, bonds-borrowed, and tri-party loans. Completed design and implementation of
cash balance feeds to the PORTIA investment management system. Completed analysis of settlement modules for
DTC, Fed, and international subcustodian security and cash movements.
The system was designed using OOAD and UML. The current implementation is with the Visibroker 3.3 CORBA ORB,
VisualCafe 2.5 Java development environment and the Sybase System 11 database
on a Sun Solaris 2.6 E10000. A migration to Persistence PowerTier Enterprise
Java Bean server is in progress.
q As part of a two person effort, implemented an interface to the BOTCC(Board of Trade Clearing Corp)
system for forwarding of futures trades from hand held devices on the trading floor. Implemented a Java GUI
editor for maintaining some of the operational parameters of the system.
The system was designed using OOAD and UML. The system was implemented in C++ with MQ Series middleware, Berkeley
sockets, and the Sybase System 11 database on a Sun Solaris 2.6 Unix server.
Metamor
Technologies, Ltd.
Senior
Consultant (Oct 1995-Sept 1998)
q Led a team of 5 developers in architecting and implementing the transaction processing component
of a billing system for one of the nation’s top three credit bureau companies. The new billing system can
process over 720,000 credit reports/hour and will eventually scale to handle 120 million a month. For each
credit report, the system performs pricing, discounting, costing, revenue distribution, and royalty calculations.
The Forte development environment was used to provide load balancing and fail-over for this mission-critical system.
The system was designed using OOAD and UML. Some of the central architectural patterns used were Visitor(GoF) and Feeder. The system
was implemented with the Forte development environment and the DB2 UDB database on an AIX 4.2 RS/6000.
q Led a team of 4 senior C++ developers in implementing the infrastructure for a business rule server
application at a large telecommunications firm. The business rule server allows the company to quickly modify
complex and volatile rules for pricing and promotions, order maintenance, and provisioning. The system as
designed would present a set of services to 2000 call center and POS desktops as well as other systems. Our
services would accept data from a client, optionally retrieve more data from a database, present the data to an
inference engine, and return a result of a rule evaluation to the client. In order to ensure 24x7 availability
and sub 2 second response, while allowing updates of business rules, we designed a solution using multiple servers
and the data dependent routing feature of Tuxedo.
The system was designed using OOAD and UML. The system was implemented in C++, Tuxedo
6.1, NeuronData inference engine,
and the Oracle 7.1 database on Solaris and Windows NT servers. SCCS and MS SourceSafe were used for
version control. RogueWave Tools.h++ was used for collection and utility classes.
q Led a team of 2 developers in implementing a Web-based prototype application for a major network
equipment manufacturer. The prototype of the remote management application for a security server was written
in Java JDK 1.0.2 and used the JDBC-ODBC bridge to communicate
with an MS-Access 7.0 database.
q Led a team of 2 developers in implementing a retroactive adjustment calculation program for a national
HMO. The application worked in conjunction with the billing system and used complex logic to navigate multiple
levels of timelines to find the correct adjustment amount. The program processes 100,000 adjustments daily.
The system was built using C++ and C
on VMS 6 and the Ingres 4.3 database.
MCI(SHL)
SystemHouse
Senior
Systems Engineer (Jun 1994 - Oct 1995)
q Designed and implemented major components of a three tier, client-server pension benefits application.
The system was designed using OMT. It was implemented
using C++, Sybase OpenServer and Sybase 10 database on HP-UX servers. Atria ClearCase was used for version control and config management. Centerline
ObjectCenter was used for the development/debugging environment. RogueWave Tools.h++ was used for collection
and utility classes.
Risetime,
Inc.
Consultant
(Sep 1992 – Jun 1994)
q Designed and implemented major components of an EDI document management system for a major retailer.
Was the senior developer throughout the complete software lifecycle from analysis through deployment to 1500 users.
The system was implemented in MS Visual C++ 2.0 and MFC and used the Raima Object
Manager persistence libraries on Windows 3.11. Intersolv PVCS was used for version control.
Merriam
Laboratory for Analytical Political Research.
Programmer
(Jan 1992 – Sep 1992)
q Ported C and C++ code for an application
modelling epidemics of infectious diseases from OS/2 to Windows 3.1. Wrote
code to graph data as various types of charts on both the screen and printer.
Member of Association for Computing Machinery
Presented papers at OOPSLA’96( Object Technology in Healthcare)
and
OOPSLA’97 ( Problems of Large Systems)
BS in Computer Engineering, University of Illinois, Urbana-Champaign,
1992.