Name: Alexander Shvets Blog: http://scriptlandia.blogspot.com
Phones: (609) 716-4984(h), (609) 712-2521(c) Web-site: http://home.comcast.net/~shvets
• Over ten years of experience in object-oriented analysis, design and development in Java language. Previous
knowledge of C and C++ languages.
• More than eight years of Java design and implementation experience, including:
• nine years experience of network, server-side programming, Java I/O, sockets, RMI;
• eight years specializing in design, development and performance analysis of Enterprise Java Beans,
regular Java Beans, servlets/JSPs, JINI, Web Services, WebStart, OSGi, JDBC and XML;
• more than four years of experience working with Struts framework; experience working with Spring,
Hibernate and JPA;
• seven years experience working with AWT and Swing graphical libraries;
• Experienced in working with Java byte-codes and Java file formats: class file and serialized file.
• Deep knowledge of the build process based on Ant and/or Maven2 tools; familiar with Ivy tool.
• Experience in working with various application servers and databases.
• Knowledge of all aspects of programming development, including gathering customer requirements, design,
programming, testing (JUnit) and build/installation processes (Ant).
• More than seven years of experience working on open-source projects; trying to follow requirements of XP
• Flexibility working in Windows, UNIX or Macintosh environments.
Operating Systems MS Windows NT/2000/XP/2003, MS-DOS, Linux, Solaris
Databases Oracle 8/9, MS SQL, DB2/400, PosgresQL, MySQL
Application Servers JBoss4.0.3, JRun, Tomcat, Microsoft IIS server, WebSphere5.1, Weblogic
Server 8.1, Apache, Orion (oc4j)
Source Repository StarTeam, CVS, SourceSafe, Subversion, ClearCase
Tools Ant, Maven2, XDoclet, Beanshell, JUnit, Log4J, JEE packaging process
IDE IntelliJ IDEA 6/7, Eclipse 3.1
Design Technologies/Tools Design Patterns, J2EE Design Patterns , UML, RationalRose, TogetherJ
Web Technologies Applets, Servlets/JSP, XML/XSL, DOM/SAX, JAXP, JAXB,HTML, DHTML
(CSS), Java Beans, Struts, Struts2, Tiles, Spring, JSTL, custom tag libraries,
Velocity, Freemarker, Hibernate, SOAP, UDDI, WSDL, Web Services,
Java API AWT, JFC (Swing), JDBC, RMI, EJB/JEE, JNDI, OSGi, Jini, RMI, JMS, Bean
Development Kit, JavaMail, Java Media Framework, Collections, J2ME
Network Protocols TCP/IP, FTP, HTTP, Telnet, specialized protocols
Bristol-Myers Squibb, Pennington, New Jersey March'05 to present
Role: Senior Java/JEE Developer.
Bristol-Myers Squibb is the international pharmaceutical corporation from Forbes 500 list that manufactures prescription
Integrated Regulatory Information System (IRIS). Development of IRIS application – it is global, web-based repository
that maintains BMS regulatory applications and submissions for BMS products around the world. IRIS serves as a centralized
source of information management and data distribution. Additionally, IRIS tracks and reports on approval and marketing
statuses on drug products, marketing units and manufacturing facilities. Client – www.bms.com.
Page 1 of 7
• Preparation of various documents for the project: Architecture Document, Code Style Document, Use-Case
Diagrams, Sequence Diagrams, Class Diagrams, Development Environment Setup Document, Installation
• Development of customized components based on Struts/Tiles/HTML/JS. Developed such components as
dependent combo-boxes, multi-select combo-boxes, type-ahead (suggest) control, components that could
represent matrix and tree-like structures and supporting elements. During development such features as
validation, global exception handling, localization, listeners for application and session levels were
• Development of custom tags: bread crumbs, tabbed panes and sorted tables.
• Architecture and development of security model for various levels (global, component, user, product and country
level) within the application.
• Implementation of the locking mechanism for initial applications and submissions in order to support multi-user
• Responsible for the preparation of various reports including javadocs reports, codestyle reports, findbugs reports.
• Building the prototype based on Spring framework. Writing standalone unit-tests of different parts of the
enterprise application with the help of Spring. Using Spring JDBC templates for transactional support throughout
• Development of custom objects with the help of Hibernate framework to access database tables. Preparation of
configuration files for Hibernate.
• Complete preparation of development environment based on Ant tool, including all everyday tasks plus
generation of different reports.
• Migration of build scripts from Ant to Maven2.
• Evaluating the cost and building the prototype of the system based on Spring Web/MVC for the purpose of
migrating from Struts. Evaluating the cost and building the prototype for Struts 2.
• Support of various session beans within the application.
• Participated in regular code reviews (manually and with FindBugs tool) and design meetings.
• Used Design Patterns: Visitor, Business Delegate, Value Object, Data Access Objects, Facade.
Environment: MS Window XP, Linux, JDK1.4.2/1.5.0, Rational ClearCase, JBoss4.2, WebLogic8.1, Oracle9, Ant1.7.0,
Maven2, Struts/Tiles, Hibernate, Spring, Spring Web, JDBC, EJB, JUnit, Intellij IDEA 6.0, FindBugs1.0.
Pharma News Tool (http://stratintel.bms.com/pharmanews). Maintenance and production support of Pharma news
tool. It provides the ability for regulatory news administrators to select, review, rank and redistribute articles to a select group
of readers within BMS. Articles will be delivered on a daily basis, saved and published to a website. BMS readers may access
the individual articles by clicking a link to the full story text. Lastly, readers may access a limited archive of articles
previously delivered. The tool reads RSS-feed from one source, helps the user to modify it and then generates another RSS-
feed with selected news. The resulting information is displayed on dedicated web site. Client – www.bms.com.
• Maintenance and production support including bug fixing.
• Migration of build scripts from Ant to Maven 2.
• Maintaining dedicated web site for the tool.
Environment: MS Window XP, JDK1.4.2/1.5.0, Rational ClearCase, WebLogic8.1, Ant1.7.0, Maven2, JAXB, JDBC, XML
(RSS-feed), JUnit, Intellij IDEA 6.0, FindBugs1.0.
Tangible Value, Princeton, New Jersey August’04 to February'05
Role: Java Architect.
Tangible Value is the consulting company that develops software products for various clients.
Online tax preparation system for enterprise. Responsible for the development of the online system for calculating taxes,
preparing reports. Building wizards for data retrieval from the database. Client – tyco.com.
• Analyzed and documented the System and Business Requirements. Created system Use Cases and Class
Diagrams in UML.
• Development of the core API of the system for dynamic site generation.
• Preparation of development environment based on Ant tool.
Page 2 of 7
• Preparing the integrated development environment based on Eclipse/WSAD platform.
• Used Struts/Tiles library to code JSP pages.
• Report generation in xls and pdf formats.
Environment: Red Hat Enterprise Linux, JDK1.4.2, Subversion, JBoss3.2.5, Oracle9, Apache, Ant1.6.2, Struts/Tiles,
Hibernate, JDBC, JUnit.
Report Engine. Development of the online system for generating reports. Client – jnf.org.
• Preparation of development environment based on Ant tool.
• Using Struts/Tiles library to prepare JSP pages.
Environment: Red Hat Enterprise Linux, JDK1.4.2, Subversion, Jboss3.2.5, Oracle9, Apache, Ant1.6.2, JUnit, Struts1.1.
TRADEPAQ Corp., NYC, New York March ’02 to July’04
Role: Development Group Leader.
TRADEPAQ offers document generation and collaboration software as well as web-enabling technology. TRADEPAQ's
EDM, enterprise document management, offers document generation, preparation and delivery with workflow and web-
based document management. EDM efficiently and automatically generates routes and delivers the right documents, in the
format required, to the people who need them most.
Enterprise Document Manager. It is online-based enterprise document management system. The system generates sales
documents in various formats (PDF, XML, text etc.) by template and stores them as independent collections that can
distributed by using some rules. This system was positioned as the platform to support major application servers and
database vendors. Clients: Hamilton Beach, DHL, Danzas, Otto Versand, SSA, Autobar, Jancor, JG Boswell,
• Leads the group of 7 Java developers. Analyzed and documented the System and Business Requirement
Documents. Created system use cases, component, class and interaction diagrams in UML. Organizing
software development process (source control, bug tracking system, java coding standards, home page for
the project). Preparation of development environment based on Ant tool.
• Worked on major J2EE technologies (JSP, servlets, Java Beans, JMS, etc).
• Development of the core API of the system.
• Involved in deploying code to the AS including jboss, tomcat, oc4j (orion), WebSphere, WebLogic.
• Involved in the preparation of SQL code for databases such as oracle, MS SQL server, DB2/DB400, MySQL,
• Preparation of the installation program based on InstallAnywhere product.
• Development of the search module for the system.
• Development of custom tags for the application.
• Involved into the installation and configuration of supported application servers and databases.
• Development of various command-line tools for accessing database content. Creation, retrieval, population of
SQL content. Reserve copying and duplication of database content between different databases.
• Writing servlets for uploading files to the server and retrieving binary content from the server.
• Development of the listener for the web application to analyze the content of web session.
• Used XML/DTD files to hold the configuration of the web application.
• Involved into the performance analysis and stress-testing.
• Involved into the memory leakage investigation (OprimizeIt, JProbe).
• Involved into the connection leakage investigation.
• Involved into the code review (manually and with FindBugs tool).
Environment: JDK1.4.2, MS VSS, Oracle8/9, Tomcat4, JBoss3.2.4, WebLogic8.1, WebSphere5.1, OC4J, Ant1.6.1,
Lucene library, InstallAnywhere 6, servlets/JSP, web services, XSLT, XPATH, PDF generation libraries, BeanShell.
B2B Auction Engine. The project involved development and extension of online B2B Auction Engine for working with
the Letters of Credit. In this system the participants can create/modify/destroy auctions, bids, manage users, and generate
documents. System notifies participants with the help of e-mails when important event occurred. Client – www.elcy.com.
Page 3 of 7
• Development of EJB components (session and entity beans);
• Development of JSP pages and servlets.
• Deployment of the application under JBoss application server.
• Preparation of development environment based on Ant tool.
• Preparation of SQL scripts for Oracle database.
Environment: JDK1.4, CVS, Oracle8, Jboss3.2.3, Apache, Ant1.4, XDoclet, JUnit, PDF generation libraries.
Alert-U Web Service. Development of online application Alert-U based on Web Services. It is the search engine that
looks inside the list of suspicious organizations/ships/persons based on government’s publications.
• Responsible solely for design and development of the project.
• Development of Alert-U Web Service.
• Preparation of development environment based on Ant tool.
• Developing of the client part with the help of JNLP protocol (WebStart).
• Using JAXB API to provide Xml2Java binding.
• Preparation of xsd files for compound Web Services responses.
Environment: JDK1.4, Tomcat4, Ant1.5, JUnit, BeanShell, Axis, WebStart.
Search Engine. Development of online Search Engine for the company’s intranet. The architecture is based on Struts
framework and Lucene library. Client: tradepaq.com.
• Design and development of the project. Preparation of development environment based on Ant tool.
• Generating parsers for xml and html format based on javacc.
• Implemented MVC Architecture using the basic functionality provided by Struts.
• Used Struts tag library to code JSP pages.
Environment:JDK1.4, Ant1.6.1, BeanShell, Lucene, Struts/Tiles, Jakarta POI, javacc.
Sage Consulting Group, Princeton, New Jersey March ’01 to February ’02
Role: Sr. Programmer Analyst.
Sage Consulting Group is the consulting company that develops software products for various clients.
Online system for selling airline tickets. Development of online system for selling airline tickets, ordering hotel rooms
and car rentals (similar to Expedia, Travelocity). Client – salefare.com.
• Development of EJB components for Weblogic5.1 and Oracle database (session and entity beans).
• Development of Java Beans for JSP pages.
• Experiments with Jini environment for building specialized components for the next version of the product.
• Adhered to the rules and specifications of the company and followed strict coding standards
• In the Designing and coding the front-end JSPs and also the Java beans and servlets.
Environment: JDK1.3, CVS, Weblogic5.1, Oracle8, Tomcat4, Apache, Ant, JUnit, XML, XML parsers, MMBase content
Remote script execution. Development of client-server application that executes scripts remotely for serving the
• Development of the code based on NetLib library.
• Extensive usage of Java I/O and networking API.
• Writing the Ant scripts for building whole application.
• Writing the Ant scripts for the generation and deployment of EJB and Web modules into Application server.
Environment: JDK1.3, CVS, Ant, JUnit, NetLib.
Page 4 of 7
Timesheet application. Development of online program that automate preparation of time sheets, expense reports,
simplifies manager’s work for assigning tasks in project to different team members.
• Responsible for development the server side logic that communicates over JDBC with various databases depending
on configuration file.
Environment: Servlet API 2.3, JSP, XML, JAXP, JDK1.3, JDBC, PostgreSQL database server, Tomcat4 servlet container,
Apache web server, Ant, JUnit.
Kana Communications, Princeton, New Jersey December ’99 to February ’01
Role: Software Engineer.
KANA provides the industry's leading knowledge-powered CRM applications (KANA IQ, KANA Contact Center, KANA
Response, KANA ResponseIQ, KANA Response Live, KANA Marketing, KANA iCARE Analytics) to the largest
businesses in the world, helping them to better service, market to, and understand their customers and partners, while
improving results and decreasing operational costs.
Text communication server/client. Complete design and implementation of an interactive text communication server.
The server communicates with a larger system through the HTTP-protocol and a web server. Design and development of
client side for this project. The client is represented in two forms – as applet and as standalone Swing application. For the
Swing application different gadgets were developed: customizable trees, tables, dialogs, lists, sophisticated combo boxes,
• The library for client-server communication was designed and implemented.
• Writing programs for stress-testing server under simulated hard conditions (lots of simultaneous users, bad
Internet connection etc.).
• Responsible for writing different specifications for the server and other components of proprietary business
• Integration of this server into another project as EJB component. Enterprise Java Beans are used for
communication between server and the business platform.
• Responsible for investigation/solution of performance problems with EJB applications for proprietary business
Environment: Symantec Visual Cafe, Star Team, JDK1.1.8, Swing library, Collections API, Applets, JRun 2.3-3.0, Java2,
J2EE, WebLogic 5.1-6.0.
Smile Soft, Donetsk, Ukraine February ’98 to February ’99
Role: Software Engineer.
Development of applications for computer telephony (CTI).
• Development of visual part of application (Swing library), especially for drawing charts that reflect phone number
• Implementation of a code that can interact with users over Internet and can send voice messages to e-mail address
based on JavaMail package.
Environment: JDK1.1, AWT, Dialogic hardware (Voice and fax boards).
Donetsk State Techical University, Donetsk, Ukraine August ’94 to August ’99
Roles: Senior Professor, Assistant Professor.
Participated in educational and scientific processes. As Assistant Professor I assisted professors in various disciplines
concerning Computer Science, such as Digital Automata, Theory of Digital Circuits etc.
• Writing and reading lectures for the different courses, some of them are: Object Oriented Programming,
Component Technology (JavaBeans), Design Patterns.
• Styling of web pages for department of Computer Science and internet server's administration for this department.
• Development of "Analog computer on PC" project in Java. It has a working core with integrators, amplifiers,
adders, inverters etc. User can easily create and run arbitrary models with them.
Page 5 of 7
• Participation in the university's project with the name "Silicon Compiler for Programming Logic Devices". This
project has a compiler and assembler for representation of finite automaton' states as a graph and the tools for their
conversion into inner contents for PLA, ROM and other programmable logic devices.
Environment: JDK1.0.2, JDK1.1, C, Pascal, Modula-2, Assembler PC.
Open source projects
JLaunchPad project http://jlaunchpad.sourceforge.net
JLaunchPad (java launcher) is the set of Java classes and shell scripts for simplifying installation/launching of Java
applications. Once the launcher is installed, it can be reused for starting different Java applications. For your application you
have to specify required dependencies on other Java libraries. When application is getting executed first time, all
dependencies will be downloaded and installed automatically into your local repository. For all consequent executions of the
application download process is not required and the only one responsibility of the launcher is to build correct "classpath"
and launch the application.
Environment: JDK1.5.0/1.6.0, Ant1.7.0, Maven2, ClassWorlds1.1.
Scriptlandia project http://scriptlandia.sourceforge.net (blog: http://scriptlandia.blogspot.com)
Scriptlandia is the Launching Pad (it uses JLaunchPad for starting and executing scripts) for running various scripts (Ant,
The idea is to build an environment that facilitates not only script execution, but also gives the ability for the scripts to be
aware of each other.
JScheme, Jython, Velocity, Freemarker.
CafeBabe project http://cafebabe.sourceforge.net
CafeBabe is the Editor/Viewer for Java bytecodes and serialized files. The program reads specialized format from the file
and represents it in form of hierarchical tree. Underlying byte-code can be disassembled and represented in form of
Assembler program for Java Virtual Machine. This project also supports presentation of serialized format (*.ser) in form of
hierarchical tree. In this project custom graphical components were developed like hierarchical combo box, trees and
tables with custom renderers, various dialog boxes, menu system. The application uses multi-document interface
library for representing inner windows. It also has built-in help system, based on HTML files and Java classes.
The NetLib library could be used for building various client-server applications, such as web servers, chat servers etc. Servers
could be easily converted into Jini service. This library extensively uses classes from Java IO and network API.
Environment: Swing Library, Java Development Kit, CVS.
Plugins for IntelliJ IDEA IDE http://code.google.com/p/google-translate-idea-plugin
• Google-Translate plugin – performs translations in Editor Window from one language to another. It uses
"translate.google.com" service behind the scene. The translation is done behind the scene by the public web service.
• CheckStyle plugin - checks the style of your Java source inside IDEA's editor. It is based on CheckStyle.3.4
Environment: JDK1.4.2, Ant1.6.1, IDEA open API, Swing, CheckStyle3.4.
Development of the big set of examples for distributed Jini environment. It includes 17 basic and advanced examples:
RMI and activation examples; example for administrable service; service as servlet; service UI example; JavaSpace example,
listening and generating events, Jini basic services: Mercury, Norm, Fiddler; Jini and 3-rd party libraries (NetLib and
ClassFile); Ray Trace & Book Store examples from Jini distribution.
Environment: JDK1.4.2, Ant1.6.1, Jini1.1.
Page 6 of 7
M.S. in System Design Engineering, Donetsk State Technical University, Donetsk, Ukraine.
Ph.D. in Computer Science, Donetsk State Technical University, Donetsk, Ukraine.
Page 7 of 7