1. BRADLEE JOHNSON
AUSTIN, TX
JOB@BRADLEEJOHNSON.COM
MIDDLEWARE & SOA ARCHITECT
Senior Middleware Architect
Business Domain Analyst
Project Team Lead & Mentor
Software Development Engineer
Open to travel 75% of time
$130/hr corp-to-corp
Professional Experience
Consultant (current)
Bradlee Johnson, LLC
2011-Present
Services Organization, Memphis, TN
Bootstrapped the organization new to Red Hat JBoss Fuse and mentored
developers in best practices for using CXF for REST and SOAP, routing, EIPs,
testing and creation of Maven structures to create OSGi bundles.
Implemented reference implementations for routing using standard Camel
EIPs, OSGi services, blueprint, CXF, JAAS security, and various other
elements.
Created a payment services gateway with common canonical data models
for internal applications to make calls for authorization, sales, refund and so
on for credit card and PayPal processing.
Created microservices for separate elements of payment processing with
OSGi services for cross-cutting concerns like connecting to external vendors
for processing payments.
Designed and implemented sets of canonical data models to help handle
the disparate systems in the organization. Implemented transforms from
file formats using Beanio and Dozer.
Created reference implementation and helped develop multiple
microservices to expose JDEdwards BSSVs to the organization via REST and
Architecting &
developing robust
middleware
solutions from
analysis to delivery.
Expertise
Application
Architecture &
Development
18 Years of Java
Experience
Service-Oriented
Architecture (SOA)
Enterprise Integration
Pattern (Hohpe &
Woolf)
Rules Driven Systems
Business Process
Management(BPM)
Systems
Project & Team
Leadership
Scrum Team
Leadership
Mentoring of
Software Engineers
2. SOAP web services. JDEdwards BSSV data models were transformed to and
from canonical data models via Dozer mapping.
Energy Corporation, Ann Arbor, MI
Created Camel OSGi and blueprint reference implementation for connecting
to the financial exchange using FIT protocol.
Helped train developers on best practices for using Camel, Blueprint and
CamelBlueprintTestSupport.
University of California, Irvine
Taught developers and created reference implementations using OSGi,
Camel and CXF.
Implemented security and services gateway for connecting to other
branches of the University.
Trucking Company, Arkansas
Designed and implemented KIE Drools multi-layered application using OSGi
bundles.
Designed and implemented a Drools lifecycle using agenda-groups in order
to promote a convention over configuration use of the rules engine.
Taught two-day class on OSGi bundles, service injection, KIE Drools,
CamelBlueprintTestSupport and uses in Karaf/Red Hat Fuse.
Used Blueprint to set up injection of OSGi bundles, Camel routes, and event
routing.
Designed and implemented event structure with different interfaces and
enums for use in content-based routing in Camel.
Set up Camel routes and OSGi friendly properties for route substitution to
ease testing and deployment.
Telecom Company, Texas
Designed and developed OSGi based Drools application for dynamically
creating rules in a browser-based application.
Designed domain specific language for use by client’s in setting up rules to
display feedback based on incoming client information.
The domain specific language is parsed and converted to Drools permitting
client’s to create rules for use based on their client information, for
example, billing, advertising history, technical problems, and so on.
Education
United States
International
University
MA
National-SF State
University
BTE
Certifications
Kent Beck
Xtreme Programming
UML & OO Design
Scrum Master
Business Systems
Design & Analysis
Multiple Sun Java
Multiple Java
Programming
University of Texas
Management
certification
3. Insurance Company, New Hampshire
Established SOA governance mechanisms for architectural control and
review of SOAP based services.
Created catalog and automated mechanisms for managing a new 400+ page
catalog of service contracts.
Las Vegas-based Airline
Architected and led team in implementation of RESTful and SOAP web
services. Analyzed and wrote architecture document with EIP diagrams.
Customer required REST services internally to connect to WrightExpress
SOAP services.
Used standard GoF object patterns for internal business logic and DTOs in
order to create unit tests.
Architecture was based on JBoss application server and technologies.
Major Router and Switch Manufacturer
Architected and led team in implementation of middleware system to
update and upgrade a legacy SOAP system for large network hardware
manufacturer.
Designed and implemented Maven mojos for reading Axis 1 WSDLs. The
mojos produced Spring dependency injection XML, POJOs and EIP facades
and adaptors for each port-operation. Each port-operation façade is placed
in a registry where it can be retrieved for composition into Camel routes.
Communication to the front end portal is provided via a set of JMS queues
implemented in ActiveMQ.
Ran daily stand up meetings.
Major Computer Manufacturer in Round Rock, TX
Researched, designed and implemented OSGi packaged rules engine
(Drools) with Spring binding of Camel routes. The design routes messages
through the rules engine which uses a custom DSL which provides and easy
mapping between the clients. The results are passed through a Content-
Based Router. Routing logic determined boot order and provisioning
process for rack mounted systems
Designed and implemented PoC of Java BOOTP server for use in
autodiscovery of rack mounted systems. Standard DHCP parsing
implemented in various commands in order to serve up the correct OS
kernels and final OS image during boot sequence.
4. Created Maven POMs for creating OSGi manifests and jars
Architect & Team Lead
Planview, Austin, TX
2008 –2011
Managed small group of developers in maintaining, refactoring, and
rewriting a business process management (BPM) tool.
Led story development and daily standups.
Researched and designed the next generation of Enterprise Service Bus
based on Mule to replace aging 1 servlet Tomcat solution.
Created Spring/Mule XML for separating functionality out into various
endpoints directly accessible via Http. Currently using Mule's default SEDA
implementation of the Http endpoint with Jetty transport being used for
final deployment.
Designed and implemented SOA based implementation.
Designed and implemented script plugin repository which permits custom
functionality for clients using scripts that conform to JSR-270. By default the
plugin repository uses Groovy (per Spring and Mule defaults).
Guided revamp of applet UI to create and interoperability between
JavaScript menus and the applet internals freeing up more space for
workflow contents. Guided company effort to upgrade icons from older,
low-res, low color versions.
Researched and designing domain specific scripting language for process
modeling to be implemented using ANTLR.
Implemented single sign on as a standard Mule component for LDAP,
user/password, etc. single point of logon.
Selected and researched Lucene for use in the hierarchical XML database
associated with the projects.
Researched CouchDB and JackRabbit as possibilities for future XML or JSON
databases.
Ran daily stand up meetings.
Held design meetings.
Wrote whitepapers, create diagrams, and meet with clients in order to
convey technical information.
Application Architect
Austin Logistics,Inc.
5. 2002 - 2008
Led story development and daily stand ups.
Designed and implemented multi-threaded components for use in a
distributed JMS system. Each component had a virtual input bus, output
bus, processor socket and chassis which connected to external input and
outputs. The processor socket accepted processor (state) objects and used
reflection (see below) to determine the messaging to the state. The state
could then transition to a different state by plugging a different processor
(state) into the socket. As an example, accounts could be in startup, active,
inactive, locked or illegal states and react differently to incoming messages
depending on state.
Designed and implemented reflection-based immutable linked lists for
thread safe invocation of methods on state objects. Reflection mechanism
picked up any method of a given name and stored the Method, instance
and parameter type in a node object. When messages were received via
JMS (or any other input) the message traversed the chain of nodes and if
the stored parameter class type matched the incoming message class type,
the Method was invoked on the instance with the incoming message.
Multiple methods could then be invoked on a given state object by an
incoming message.
Created Swing-based application that used JDBC to insert, update and
delete records from an Oracle database. As the application was required to
pull data from the database, I designed and implemented a timer event
listener system to get status data and update the Swing components. The
JDBC connection was encapsulated behind a singleton so that future
implementations that might use other databases or other interaction
mechanisms could be plugged in.
Created a data model generator using JDBC metadata and Velocity to
generate JavaBeans. The setters and getters on the objects used validation
chains of VetoableChangeListeners to ensure the integrity of data.
JavaBeans also implemented a clone method using reflection. The Abstract
level of the bean automatically generated UUIDs to ensure the unique
identity of the beans.
Researched and implementation serialization of Beans to XML using
XStream. The UUIDs are used as XML file names to ensure data is written
and read from the same bean. These beans might also be stored in any
database. Use of XML provides easy upgrade path for future product
revisions. XSLT was reviewed as possible mechanism.
Java Developer
Datum,Inc., Austin, TX
6. 2000 - 2002
Architected and developed the main GUI for Datum’s craft software using
Swing components such as JTree, JDialog, JMenu, and JPanels.
Designed and developed bus system using reflection to enable decoupled
messaging between UI architectural pieces and components. Message
system provided great flexibility while simultaneously optimizing
performance
Developed connection management system using a Singleton-Strategy-
State pattern to encapsulate multiple connection types.
Created communication management via State patterns allowing individual
algorithms for each communication type, e.g. TCP/IP and serial.
Created multiple threaded application communication classes.
Researched ANNs for troubleshooting of complex problem types.
Software Developer
Various
1985 - 2000
7. 2000 - 2002
Architected and developed the main GUI for Datum’s craft software using
Swing components such as JTree, JDialog, JMenu, and JPanels.
Designed and developed bus system using reflection to enable decoupled
messaging between UI architectural pieces and components. Message
system provided great flexibility while simultaneously optimizing
performance
Developed connection management system using a Singleton-Strategy-
State pattern to encapsulate multiple connection types.
Created communication management via State patterns allowing individual
algorithms for each communication type, e.g. TCP/IP and serial.
Created multiple threaded application communication classes.
Researched ANNs for troubleshooting of complex problem types.
Software Developer
Various
1985 - 2000