ALEX SHPUROV
Software solutions engineer
DOB: 04/10/73
http://www.shpuroff.com
email:
alex----shpuroff .com (replace dashes please)
+1
416 857 0146
15 years experience in building comprehensive enterprise software development and integration.
Architectural Conceptions
- Aspect
Oriented Programming (AOP)
-
Inversion of control programming (IoC)
- Object
Oriented Programming (OOP), GoF and
- Model
Driven Architecture (MDA) meta-models, mapping, filters and interceptors
- Legacy
Connectivity, Protocols, Screen Scrappers, Object Mappers
(Wrappers)
-
-
Service oriented Architecture and Web Services (SOA), SAML, WS-Security
- EJB
& EJB Containers, SOA over EJB
- Search
oriented architecture
-
Distributed systems and large clusters, Round Robin, Reverse Proxy, parallel
processing
-
-
-
Extensive use of code generating tools: Velocity, XDoclet,
AppFuse, EMF
-
Security: PKI, XML – security, assertions
- GIS
applications and modules: Google – like java script maps over ESRI and other
map servers.
Certifications:
1. SUN CERTIFIED J2EE Enterprise Architect (part I) SCEA
2. SUN CERTIFIED JAVA developer/architect SCJD
3. SUN CERTIFIED Web Services SOA Developer SCDJWS
4. SUN CERTIFIED J2EE Web Components Developer SCWCD
5. SUN CERTIFIED JAVA programmer SCJP
6. BrainBench: C/ C++, Java, Linux programming, Unix
programming, WinAPI,
Visual C++, SQL, JavaScript,
DHTML,XML, design patterns,
Programming
Languages:
Java, C#, C/C++, Objective-C, Ruby, Python, PHP, Perl, Python
Scripting: JavaScript, VBScript, TCL, AWK,
YACC, Unix shells(Born, C, Korn..)
Operation systems
Sun Solaris, SGI IRIX, IBM AIX, HP-UX, Linux, MacOS, DOS, Mainframes, All Windows
Skills:
Presentation tier:
DHTML, JavaScript,
Applets,
Web tire:
Wicket, GWT, ZK,
Tapestry, JSF, Facelets, Struts, Struts 2, JSP, JSTL, Taglibs,
Tiles, Opensynphony XWorks,
Velocity, Microsoft ASP.NET
Middle Tier: Spring, AspectJ, Web Services, JMS, JAXP, JAXB, JTA, JAXR, JAX-RPC,
JNDI, JCA, WSDL, Scripting over Java (Java 6, Bean Shell), BSF, XML, XSD, XPath, XQuery, XSLT, EMF, MFC, OWL
Persistence: JPA, Hibernate, IBaitis, JDBC, ODBC, SQL, OLEDB, XA-transactions
Security:
XML Security, SSL, SSO, SAML, XKMS, WS-Security, XML Digital Signature, JAAS, JSSE, Acegi
Communications: MQs, JMS, TCPs(HTTP(S), FTP, IMAP, POP3,etc), UDP, RMI, IIOP, Corba, COM+, MPI, X-Windows, LDAP, MIME, SOAP, POSIX RPC,
clustering and cluster dispatchers, lock managers, performance, POSIX and Windows
native threads and native processes
Reporting: PDFs APIs (iText,
etc), Crystal Reports, SQL Server, Access
SOA+ESB: XFire,
Axis, ASP.NET, Mule ESB, Sonic ESB
GIS solutions: ERSI ArcGis
Server, OpenLayers, OGC (e.g. WFS,WMS)
Software licensing: (FlexLm, etc.)
Portals: Aqualogic, JetSpeed, Sharepoint, LifeRay, portlets (JSR-168/268)
Databases: Oracle,
MS SQL Server, MySQL, Access, Informix, DB2, etc…
Application Containers: IIS, Apache, Tomcat, Jetty, Resin,
JBOSS, WebSphere, MQ-series, Weblogic
Modeling and code
generation: UML,
XMI, EMF, Rational Unified process, Visio, AndoMDA, Appfuse
Development Environments
- Eclipse Europa, JBuilder, IntellJ, JDeveloper, Websphere, JAD
- Visual studio.NET
- Rational Rose, XDE, Visio
- Borland C++,
- SUN FORTE, SGI&AIX C/C++, GNU, CVS, SCCS, SourceSafe,
Dimensions
- GDB, DBX, DDD, FORTE, TOTALVIEW, VALGRING
- Subversion, CVS, Perforce, Merant
Dimension
- Maven, Cruise Control, Ant, JUnit, NUnit, JMeter, Emma Code Coverage
Languages:
English and Russian fluent, almost fluent in French
Cover letter
- Solid skills in the software architecture for
heterogeneous systems, UML, designing software to be implemented big team of
programmers at different locations.
- Tiers and applications for integration different platform
independent software solutions in a solid software system. Legacy connectivity.
- Service oriented architecture (SOA), Methodology,
Utilities, Implementations. XML Security, interoperability.
- Aspect oriented programming, AspectJ
- Distributed web application: J2EE, .NET, SOA products.
Performance, interoperability, integrity, scalability, security
- Deep understanding all the software designs. UML, Design
Patterns (GoF and J2EE).
- Deep knowledge of existing web portals, their software
design and customization. Plumtree, Sharepoint, JetSpeed, portlets, JSR-168
- Security and applying roles for the data tier. Single
single-on.
- Data models and mapping. Metamodels,
XSD, EMF, XML and transformations, abstract data models, data sources,
authorization, data tunnels, data buses
- Experienced in cluster distributes processing software and
methods. Clusters, Grids.
- Distributed system design and development. Clustering,
balancing, heterogeneous integration.
- Databases and mapping to classes. Hibernate, Sonic
- Experienced and trained in design the appearance of
software, intuitive interface developing, porting/remaking old software.
Usability.
- Search Engines and API. Methodology, implementations (e.g.
FAST, Google)
- Compilers, interpreters and parsers. BNF, AST
- Very high skilled in bug fixing, effective debugging in
distributed/embedded systems in one/several nodes for different machine types
using cpu/memory emulators, memory leaks.
- Signal processing, Fourier transform, wavelets,
convolutions, spectra, digital signal filters, wire and wireless data
transmission, RSA and SSL data coding
- ESRI ArcGis map server and ESRI
products, Google – like integration of maps and interoperability based on java
script.
- Video/Audio processing and streaming. Wavelets, Filters
- Hardware architecture of modern computers
- Operation systems and their foundation, design and
implementation, multi-CPU systems
- Legacy software: integration, support, porting
-
Experienced in oil production area, oil predictions, efficient calculations,
oil production business data processing, and UI tier
- Understanding geophysics, geologic and oil production
approaches and applying math methods
- Well-organized, friendly, efficient, quick learner and
performer, self-motivated, strong ability to plan, to organize and prioritize
the work; and met the deadlines on time
Education:
Trainings:
- March 2006, Sonic SOA integration,
- June 2005 IBM Webservices
approach, Single sign on,
- April 2005 Portals, Plumtree
portal development,
- October 2004 Replacing TCL
applications by JAVA. Connection to JAVA and C through TCL and scripts. XUI
(XML User Interface) prototype.
- June 2003 Clusters architecture,
heterogeneous clusters, APIs for Clusters, Clusters scriptwriting, MPI Clusters
- Jan 2003, Seismic matching and
parallel processing on MPI Clusters
- May 2002 Machine-independent
patterns programming, Frameworks
- April 2002 Internal
co-ordination seminar on parallel signal processing technologies and software
development
- November 2001 Training on signal
processing and software development
- May 2001 Training on development
of CASE technologies-based software
Publications:
Need to have maps on your Web page? It's simple!
http://freshmeat.net/articles/view/3104/
http://sourceforge.net/projects/enterprisemaps/
PROFESSIONAL EXPERIENCE:
Route1 Inc,
Sr. Java Developer
Security PKI
solutions for the root certificate authority. Implementing front end and back –
end for the root CA. SOA (+ XML security), Wicket for the front–end, spring
annotations + JPA over IBaitis for the back end.
Implementing security for DB layer based on hierarchical SQL queries over java
mapping.
Remote access to the
client’s desktop and secure TCP connections, certificates, digital signature,
synchronous and asynchronous encryptions. Portlets
security, Server side scripts, Rhino, Groovy, Lua.
Parallel server – side processing including server –side scripts parallel
execution. Pipes and other communication tunnels via threads, their
synchronizations. Asynchronous and synchronous message/data delivery, late
notification dispatchers. Implementing and using final automats and state
machine.
Issuance a pair of
public/private key, certificates and validation against CA.
CRI Solutions,
Lead developer, Sr. GIS Developer
Project for US Department of
Agriculture. Identify, quarantine, and treat infected areas.
My main challenge is Appfuse development, Enterprise Service Bus (ESB) and GIS
maps with a possibility to edit it and make spatial queries from the map.
Appfuse allows to auto generate application components, it
uses XDoclet, Velocity to do this. Application is
based on the following: Struts 2, Velocity, Spring, XWorks,
JPA and hibernate as its implementation.
ESB is a solution to expose
most of business internal and external components to unified data format and
make all component data model independent. The components are DBs, Gis systems, ASP.NET and XFire and Axis
web services and some functional components.
Client is auto generated j2ee
component also exposed to ESB. The code generating tool is Appfuse.
Presentation tier is classes of
javascript and Openlayers
and Prototype are main frameworks. Eventually project has similar look and feel
and performance as Google maps.
JavaScript is generated based
on templates using Sun Java 6 scripting engine. Map server is ArcGis 9.2 map server.
Featuers are included: add/edit a GIS objects,
spatial search, spatial select. To provide these features project has Prototype
AJAX calls based on Java 6 scripting engine.
Razavi Applications Development tech.,
( 2005 - 2007)
contractor for Government of the
Architecting and development
enterprise GPS systems: EJB, SOAP, Spring, Xa
transaction, XFIRE, JSF
Developing high available GPS
tracking system where cars (clients) send SOAP requests to central processing
unit by one – way SOAP. N-Tire solution consisting of thin client, cluster of web servers and cluster of
application servers. Clients were done as a black box having custom Linux
inside and a java program to send SOAP. Portal is JSF Application having a
reference to app servers thru business
delegate to session facades.
---
Architecting and development
enterprise systems within SOA ESB. ASP.NET, JAVA, AXIS, XFIRE, Spring, JSF, AspectJ, MS Access, Orcale and MS
SQL are involved.
Development the connectivity
between new systems and old ones. Exposing legacy systems as web services,
making SOA interactions. Adopting aspect oriented programming for existing and
new Java solutions. Creating secured web applications for public for distributed
and firewall protected front-end and back-end systems. Back-end systems are
mostly facades and they are exposed to front-end as web services. XML Security
and Single sign-on.
contractor for Government of
2006
(5 month)
Architecting the SOA system for
the department of licensing of natural resources. Estimating of risks of
adopting different solutions, low cost and effective systems development.
Legacy connectivity in heterogeneous environment. Re-using the existing solutions
within ESB. Security and restricted access.
contractor for Natural Conservancy 2006
(7 month)
ERSI ArcMap
extensions. C++/Java/VB, Oracle, Access
ERSI Spatial software development. Spatial
operations on different data. ArcMap Extensions programming.
USA Nature Conservancy project. Operations on spatial polygons, creating
reports on demand.
Implementing legacy software
through Service oriented architecture (SOA). Sonic workbench integration. Java
and XML mapping, JNDI access.
J2EE, XSD,XML,XSL, SOAP,WDSL,
UDDI,WS Security
Java/ .NET Portals expert.
I’m in charge of two projecs: GIS department, Open GIS standard developer based
on ArcGIS, and its integration to Portal, including
single sign-on, security, web service security.
Portal Development. Sharepoint and Plumtree portal
customization. Global project for DC government to set up intranet portal. It
consists of customized Plumtree portal itself,
different web services providing various content both portlets
and portal and single sign-on. My mission is customization the portal by adding
new implementation, Federated Search Engines development (Plumtree
engine, FAST and Google), WS development, WDSL specifications and
implementations, global data tunnel implementation, filters for data tunnel, filters
for J2EE. Various frameworks development like custom enterprise tags, etc. Both
.NET and Java approach. Hi-tech development process includes Model driven
architecture and Webservice oriented architecture as
well as patterns decoupling.
General
Project Manager
Java, J2EE, C/C++, TCL GUI Applications development in
Unix environment (Solaris 8, AIX 3.4, Linux RH, IRIX 6.5), Forte C++, GNU C++,
FORTAN, shell programming, daemons programming, cluster programming.
Xwindows, Motif, Qt, sockets, TCP/IP, Oracle, Corba
Working
for CGG, I have been dealing with a number of mainstream projects supporting Stratavisata Software and GeoCluster
Software. Most of the applications are based on Core (the actual framework.) At
first, I was involved in creating and developing Core, written both in C++ and
JAVA. The goal of the Core is to make the software both unified and
cross–platform and to provide communication via different machines and
different languages, native and script-based (TCL, shells, etc). That means
that we have our own patterns to make OS/machine- independent systems,
including communication (drug & drop, data flows, message system, etc) and
interface systems.
GeoCluster
software performs complex geophysical computations but it is very slow. To
improve performance, I used Cluster Technologies to develop software based on
the MPI Cluster, which is available on SGI, SUN and Linux. So far I have done
some of the MPI and other cluster-based implementations for heterogeneous
networks of workstations and symmetric multiprocessors for Unix. Projects I
lead and work on currently are as follows:
MATCALC
–a full drag & drop GUI interactive signal processing application. It has
many 2D visualisation facilities and some in 3D, as
well. It was written in C++ and JAVA and is now within the Core. Project uses stdlib and XWindows with Motif.
The multi-process drag and drop feature is also available. (C++, Motif, Xlib, Xtoolkit, Oracle, sockets,
MPI Cluster)
As
previously noted, I am involved in the interactive part of the GeoCluster project, with responsibility for several
modules. One of them is XJOB, an interactive visual module (tool) for visually
generating Jobs (algorithms or tasks, for example), which are then processed by
other modules (BATCH). It was designed
for less technical users who can’t create the jobs themselves. The program was
improved in accordance with CASE-technology.
All
the projects are written to be deployed on various UNIX operating systems
simultaneously (i.e., Solaris, Linux, Irix, AIX) and
on different hardware platforms, such as SUN, IBM, Silicon Graphics, PCs, etc.
The next project is XPS. It is an Internet-based interactive part of GeoCluster for the purpose of getting access from/to the
Oracle database. It consists of both Server and Client modules. The Client is
an interactive socket- based application that carries out the functions of
quality control and input/output/correcting the sets of given data. The Server
is responsible for providing access to an Oracle database for each part of the Geovector project (processing modules), including batch
modules and XPS client. Actually it’s a daemon and the connection between XPS
server and any client goes via sockets. (C, Motif, Xlib,
Xtoolkit, Oracle, sockets)
My
workstation is SUN with Solaris 8.0, but I always test software on all required
platforms. I have been using a C&C++ compiler with STL and Qt, Xlib, Motif libraries to provide the visual and interactive
part of the modules I am responsible for. On a daily basis, I solve a number of
problems from processing data to user visual interface and optimizing and
adding new facilities.
PRIORITET Financial
Company September
2000 to 2001 Senior Web Developer
Intel platforms with Windows NT tech systems
MSVC, WinApi,
MFC, COM/DCOM, Java, JavaScrips, DHTML, ASP,
TAPI, Oracle
Created several software applications
based on Internet Technologies. One of them is an Internet store - http://www.ivitrina.ru. I designed and developed this site in
ASP (JavaScript & COM) using MSVC and ISAPI technologies. The goal of the
site is to provide an information system for goods and services in the Tyumen Region. Later on the site was ported on PHP due to
requirements of hosting.
Created a web site for Prioritet, which is a part of Siberian Oil Innovation Corporation, http://www.priorit.ru
.
Designed and coded this information system for their clients to provide online
quotes, indexes and services, so it functions as an information portal for
financials in the
September 1993 to September 2001
Siberian Oil Innovation Corporation
Position:
Senior Analytical Programmer/Assistant Chief of the Programming Department)
Served in Russian Army, military unit is 6774,
NOVOSIBISRK, RUSSIA