Highly motivated architect/engineer with extensive experience in Java/J2EE/XML and web/Ajax/Flex development. Hardworking, self-starter with excellent analytical, problem-solving, and communication skills. Over fifteen years of experience in software design and development. Summary of qualifications:
- Architects solutions in agile development environments
- Deep understanding of technology with focus on delivering business solutions.
- Develops high performance Flex/web-based J2EE applications
- Externalizes configuration and business logic to ease client software implementations
- Expertise in full project life cycle development including implementation and integration.
- Leverages open-source software by implementing and extending well-known tools and frameworks
A Public Provider of Software-as-a-Service (Saas) solutions for exchanging information, Boston MA
Principal Software Architect, 2008 - Present
Lead the development of enterprise applications, responsible for design, development, performance and scalability. Details:
- Extended search capabilities by integrating Attivio Search Engine. Indexed complex security rules and permissions and pre-processed search terms so that results include only those documents visible to the current user.
- Developed web application template to speed development of new applications while enforcing consistent deployment, configuration and maintenance.
- Re-factored single large web application into multiple web applications to increase capacity and performance and therefore availability of services.
- Introduced Spring Security Framework to provide filter-based security for the web application.
- Migrated from WebLogic to Tomcat to reduce startup time, complexity and license costs.
- Migrated JMS from internal destination to external with ActiveMQ. Introduced Camel routing to extend the benefits of a rich set of published events.
- Developed flexible, event-driven mechanism to map file contents (CSV, XML, etc.) into the database to complement unstructured data (documents) with structured data (using Smooks).
- Worked with workflow (based upon JBPM) and case management development.
Guided the development of a complex, multi-module Flex application. Details:
- Introduced BlazeDS open-source AMF implementation for RemoteObject calls to Spring services.
- Introduced personalization to web application - varying the applications available to the current user. Server-side Javascript was used to configure new applications without downtime.
- Led the development of a flexible, configurable flex portal and generic data services to provide new applications by varying configuration only. Structured data could be loaded according to configuration, feeding configurable dashboard widgets with a variety of data.
- Integrated 3rd party web-forms product seamlessly with an existing application.
- Helped implement single-sign-on with Ping Identity.
- Helped separate authentication from web applications with Google Web Toolkit (GWT) and extended branding/white-label services with CSS and redirection to appropriate web applications.
A Leading Application Service Provider, Framingham MA
Software Architect, 2001 - 2008
Lead a team of developers to create a Flex-based UI for a large employee self-service application. Details:
- Introduced Granite Data Services (GDS) as open-source AMF implementation for RemoteObject calls to the JBoss server.
- Developed HiveMind and Spring services to provide Flex with data via GDS. This included a mechanism for each service to define what parts of the object model to serialize back to Flex.
- Localized Flex UI using remote resource bundles persisted as effective-dated data in the DB. This allowed the content to change over time and to vary by the user/date - with the help of server-side Javascript execution (to determine who gets what content).
- An XML configuration file (also served from a service as effective-dated data from Hibernate) defined which applications are available to a particular user as well as defining the sub-apps and flow within each application. This allows the Flex site to change over time and per-user without compiling or restarting.
- MBeans (JMX) were provided for cache monitoring and clearing when new configurations were loaded into the database.
- Developed complex UI components, Maven Flex 3 plugin, FlexUnit integration and dynamically loaded Flex modules (.swc's loaded on demand from main .swf).
Introduced Spring and Acegi to provide servlet-filter-based security for the web application. Details:
- Extended Acegi to allow permission-based security
- Developed annotations to secure service methods individually
- Provided ability of one user (admin) to impersonate another user
- Provided framework to easily configure Single-Sign-On through client portals, etc.
Introduced Maven to simplify and standardize the build process. Details:
- Replaced a tangle of Ant scripts, ClearCase scripts and Perl across many servers with convention-based Maven configurations.
- Introduced Continuum (and later CruiseControl) for continuous integration
- Introduced Maven-Proxy to quickly and safely serve third-party dependencies and to host dependencies not available on the Internet.
- Improved team communication - previously done with scattered eRoom and wiki pages - now a Maven-generated web site is built nightly providing one-stop shopping for project information
Designed/developed "Web 2.0-style" application with DHTML/Ajax/dojo/Tapestry/Tacos for maintaining a company's organizational hierarchies. Provided drag-and-drop transfers between hierarchy trees and also from search-result tables. Context menus and other desktop-like features use Ajax to sync with server data.
Developed compensation-planning application with Tapestry framework. DHTML front-end used AJAX/DWR to communicate with server, persistence done with Hibernate.
Designed and developed a service-oriented enterprise application framework. Business services, at the core of the architecture, provided XML schema based interfaces built upon the OAGIS and HR-XML schema standards. Defined schemas, schema-standards and designed supporting frameworks. Generated code with XSLT, from XMI files produced by Modeling IDEs.
Designed and developed framework that asynchronously updated external systems of record, synchronizing them with changes made to our system. Used JMS destinations and message-driven beans to push data to external systems. Framework provided guaranteed message delivery and conflict policy management.
Introduced BPM and EAI tools for event-driven processing and enterprise application integration (EAI). Led team in designing and developing data service framework capable of connecting applications with data from virtually any source. Designed servlet filter and custom JSP tag library that provided integration with applications built with Savvion Business Manager tools. Defined JSP and Java development standards.
Self-Developed, 2008
Developed an installable AIR app with a Flex front-end for collecting, maintaining and projecting home-building project expenses (for small builders). The data is persisted in a local SQLite database (essentially a file on the user's desktop).
Employee Communications Services (ECS) A Leading Application Service Provider, Natick MA
Lead - Principal Software Engineer, 1999 - 2001
As Lead Developer in team of 10, implemented a highly configurable,
componentized middle-tier on Oracle back-end. Details:
- Built framework of stateless beans, javabeans, servlets, JDBC and entity beans (course-grained)
- Used XSLT to serve multiple clients and devices (all input/output was XML), including browsers, Palm and IVR systems
- Trained team on XML, XSL and XPath
- Used rules engine to create configurable validation and eligibility rules for each client
- Implemented LDAP authentication on Netscape Directory Server and system on WebLogic initially
- Ported system to IPlanet and WebSphere application servers as well as other databases
Employee Communications Services (ECS), Natick MA
Principal Software Engineer, 1997 - 1999
Design/maintain interactive, Java-based internet applications.
As the leader of a team of web developers, take projects through requirements definition, design, development, testing & implementation.
- Enable Fortune 500 corporations to perform secure transactions on
Oracle databases over the internet.
- NetDynamics Application Server for Java-based applications
- Microsoft IIS for Active Server Page-based applications
- Developed Java applets for highly-interactive user interfaces
IBM, San Francisco CA
Graphics/Intranet, 1996 - 1997
Provide graphics support for
Northwestern Area employees. Create/maintain Western Area Intranet
(JavaScript, Java, CGI, etc.), design advertisements, brochures, posters,
logos, etc. and provide software support.
B.S. in Computer Engineering, Boston University, September 1993.
BEA WebLogic, January 1999
Blazesoft Advisor, August 2000
Mercator Software, November 2000
Sun - Java Security, April 2001
CNA (Novell NetWare Administrator), June 1997.
|
Languages:
|
|
Java v1 thru 6, J2EE
XML, XSLT, XPath, JAXP
HTML, DHTML, XHTML, Ajax
Ruby/Rails
ASP.NET
|
|
Flex / AIR
IBM Script, SGML
ActionScript, JavaScript, VBScript
C/C++
Ada
Groovy
|
|
Application Servers:
|
|
BEA WebLogic 4/5/6/7/8
JBOSS 3.2x/4
NetDynamics 3/4/5
|
|
WebSphere 4/5
TomCat
Active Server Pages (IIS)
|
|
Open Source Software:
|
|
Hibernate
Maven
Spring / Acegi
Granite Data Services
Xerces, Xalan, JDOM
Jira
|
|
Flex
Granite Data Services
Tapestry/HiveMind
Dojo/Tacos (Ajax)
Javassist
Subversion
|
|
Databases:
|
|
Oracle 7/8i/9/10
SQLite
|
|
HSQL
MySQL
|
|
IDEs:
|
|
Eclipse
Flex Builder
XML Spy
Visual Studio
Dreamweaver
JProfiler, JProbe
|
|
Rational Rose
JBuilder
Emacs
Homesite
NetBeans
WebLoad
|
Member number:2938
Additional Contact information is available on the Information Page.
The Software Contractors' Guild (www.scguild.com).
Copyright(c) 1998 Michael Waluk and The Software Contractors' Guild,
Post Office Box 257,
Nottingham, NH USA 03290-0257