ALEX SHPUROV
DOB: 04/10/73,
http://www.shpuroff.com
email:
alex ---- shpuroff .com (replace dashes (---- with @) please)
+1 416 857 0146
481 Rosewell ave #406
|
|
|
|
|
|
|
|
Architectural Conceptions
- PKI
infrastructure & security (SSL/TLS,
- PKI
middleware (PKCS11, DES, AES, secure communication with smart cards)
- XML
Security, Assertions, SAML, WS-Security, WS-*
-
Operational Systems and Hardware Architecture: (micro controllers, smart cards,
etc)
- IP
Networks (broadcast, multicast, unicast,
TCP sync & async)
-
Cloud/Grid system implementation (MPI), Cloud/Grid Java deployments
-
Distributed systems and large clusters, mapreduce
pattern: (HADOOP, EC2, MPI)
- Message
oriented middleware (Tibco, WAS MQ, Apache MQ, JMS/JMX/JCA
adapters impl.)
- firewall friendly applications (P2P communications and
networks)
-
-
Distributed Application performance. Java/.NET/Native
back-end and DB.
- EJB
& J2EE Containers
-
Service Oriented Architecture and Search Oriented Architecture
-
Service oriented Architecture (SOA) + security SAML, WS-Security, WS-*, Acegi
-
Extensive use of code generating tools
- Legacy
Connectivity, Protocols, Screen Scrappers, Object Mappers
(Wrappers/Adapters)
- GIS
Development (ESRI servers and clients), Google, open source servers and clients
-
Portable device development (Blackberry OS, iPhone
OS)
- Mash Software
Architecture
-
Functional programming (Lambda expressions and predicates)
- Build
process and source control, releases, labels, patches
Architectural Software Development
Conceptions
- Object
Oriented Programming (OOP), GoF and
- Model
Driven Architecture (MDA) meta-models, mapping, filters and interceptors
-
Inversion of control (IoC)
Spring, OSGi
-
Functional programming (Lambda(-like) expressions)
- UML,
modeling
- RUP,
XP, Scrum, Agile, Waterfall
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#, Flex, C/C++ , Objective-C, Ruby
Scripting: JavaScript, VBScript, Python, TCL,
AWK, YACC, Bash, CSH
Operation systems
Sun Solaris, SGI IRIX, IBM AIX, HP-UX, Linux, Mac OS (BSD),
DOS, Mainframes, All Windows
Skills:
Security:
Presentation tier:
DHTML, JavaScript,
Flash (Flex), Applets, Ajax, DWR, Prototype, Rico, DOJO, DOM, SAX, SVG, VML,
SWING, AWT, X-Windows, OpenGL, QT, KDE, Motif, ActiveX
Web tire:
Wicket, GWT, ZK,
Tapestry, JSF, Facelets, Struts, Struts 2, JSP, JSTL, Taglibs, Tiles, Opensynphony XWorks, Velocity, Microsoft ASP.NET
Middle Tier: Spring, Pico, OSGi, 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:
PKI:[CA, CRL, PKCS12, PKCS11, PKCS10], XML
Security, SSL/TLS, SSO, SAML, WS-Security, Digital Signatures, JAAS, JSSE, Acegi
Communications: MQs[ActiveMQ, Websphere MQ, TIBCO
EMS, TIBCO RDV], JMS, Win/Posix Sockets, (FTP/TFTP,
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), BIRT, Jasper, Crystal Reports, SQL Server, Access
SOA+ESB:
JAX-WS, Java6, JAX-WS, XFire->CXF,
Axis, ASP.NET, Mule ESB, Sonic ESB, Tibco Active
Matrix, WS-I basic profile, XML Security, Identity management.
GIS solutions: ERSI ArcGis
Server, OpenLayers, OGC (e.g. WFS,WMS)
Software licensing: (FlexLm, etc.)
Portals: Tibco Portal, Aqualogic, Tibco, JetSpeed, Sharepoint, LifeRay, portlets (JSR-168/268)
Databases: Oracle,
MS SQL Server, MySQL, Access, Informix, DB2, etc…
Application Containers: IIS, GlassFish, Tomcat,
Jetty, Resin, JBOSS, WebSphere, MQ-series, Weblogic,
Tibco Rendez-vous
Modeling and code
generation: UML,
XMI, EMF, Rational Unified process, Visio, AndoMDA,
Mobile Development: Blackberry,
Sony Ericsson (Java), IPhone (Objective-C)
Networking: TCP,
UDP (Unicast, Multicast, Broadcast), P2P APIs,
Content switches, GRE tunnels, VPNs, Firewalls
Development Environments
- Eclipse, Flex, JBuilder, IntellJ, JDeveloper, Websphere
- Visual studio, QtCreator, Sun
Development IDE, KDeveloper
- Rational Rose, XDE, Visio
- Borland C++,
- SUN FORTE, SGI&AIX C/C++, GNU, CVS, SCCS, SourceSafe,
Dimensions
- GDB, DBX, DDD, FORTE, TOTALVIEW, VALGRING, JAD, Reflector
- Subversion, CVS, Perforce, Merant
Dimension
- Maven,
- Mac XCode
Languages:
English and Russian fluent, working knowledge 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. (see Route1
experience)
- 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/
- JAX-WS Practice
http://shpuroff.com/jax_ws.htm
PROFESSIONAL EXPERIENCE:
Route1 Inc,
Principal Software Designer
Security PKI
solutions for the root certificate authority within a smartcard authentication.
Virtualization
network connections and other computer resources. Secured, firewall friendly peer to peer
networks.
Design
and implementing the following projects.
-
Oracle
hierarchical security custom schema with hierarchical multi-way permissions. IBaitis/Spring back – end for this
-
Implementing
LDAP server on top of it.
-
Maintaining
and implementing existing infrastructure such as Web Portal, SOA based on Websphere & Tibco RZ bus with
httpd bridges.
-
PKI:
Certificate authority, Cert issuance and CRL checks, SSLv23/TLSv1/2
-
Tokens
and smartcards, PKCS#11, OpenCS, RSA BSafe, OpenSSL
-
Qt -
based development
-
Secure
storage development with symmetric encryption streams
-
Asymmetric
encryption & sign with tokens, XML-Security extensions.
-
Virtualization
of applications (e.g. Detours)
-
Custom
Java realms for Web Sphere, Jetty, Tomcat, extending SSL protocols, SSL
handshake.
-
Web
sphere java development
-
SOA
development with Message queues, topics, JMS-HTTP bridges. Tibco,
Apache MQ.
-
JCA/JMS adapters
development for web sphere, openEJB
-
GIS development
for Blackberry and iPhone using game – engine paradigm
(unique!)
-
Flex
Development , cross domain security
-
Introduced
XSD oriented development into the company (see the article on my web site)
-
Tibco portal and LifeRay portals developemnt
-
C#
development, LINQ mapping LINQ to MS Access implementation
-
A lot of
java tools, mvn, eclipse, jaxb
code generation, etc…
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. EBI
was done based on MULE.
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.,
( 2006 - now)
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.
EBI ESB. SOAP/REST endpoints
over MULE endpoints,
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.
Eastbank technologies 2004-2006
contractor for Government of the
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