- METHODOLOGIES SOA, REST, RUP, XP, Agile Mike Cohn, Scott Ambler , Software Patterns SOA,J2EE, Gof , Data Analysis, Data Modeling Logical and Physical Data Base Design
- OPERATING SYSTEMS SOLARIS 7/8/9,HP/UX, AlX, LINUX, RHEL 4.x/5.x VmWare ESX v3.5, NOVELL, WINDOWS 95/98/NT/2000/XP/VISTA, UBUNTU Azure Server Virtualization/VMWare Local Virtualizaton
- DATABASE ORACLE 7/8/8i/,9i,10g/10.2 DB2 UDB 7.1/8.1/9.1/9.5 z/OS 9.1, SYBASE 7/10/11, SQL SERVER 2000/2005/2008, NOSQL REDIS/Jedis , hsqldb 1.7.x,2.2.x,2.3.x, PostgresDB 9.3 software PGAdmin,
- QMF, TOAD, SQL , SQUIRREL, ERWIN, SQL Developer 1.1, Oracle Client 10.2, Oracle Express 10.2, IBM Data Studio 10.2, Microsoft SQL Server Management Studio 2008 , UUID, SQL Developer 3.2.x
- APPLICATION SERVERS IBM WEBSPHERE 3.5/5.0/5.1/6.0/6.1/7.0/8.5 MQ/ESB, WPS , BEA WEBLOGIC 4.3/4.5/5.1/6.1/7.1/8.1/9.2, JBOSS 3.2/4.0/4.3.2GA/7.2 SUN APPLICATION SERVER 8.1, GLASSFISH
- SERVLET CONTAINERS WEB SERVERS TOMCAT 4.1/5.5/6.0/7.0, JETTY 6/7 ,iPLANET, APACHE 2.2.x
- IDES ECLIPSE 2.0/2.1/3.0/3.1/3.2/3,3,Helios,Kepler RSA 7, RAD 6/7.0/7.5, WID, WSAD 5.0/5.1, INTELLIJ 3.0/4.3/4.5, NETNEANS 6.1/6,8, JBUILDER 2/3/3.5/4/5/6, VISUAL AGE 3.5, TOGETHERJ 5.2/5.5, WEBLOGIC WORKSHOP 8.1/9.2, Spring Tool Suite 2.6.1/3.2.0/3.4.0
LANGUAGES Java 1.1/1.2/1.3/1.4/1.5/1.6/1.7, Python 2.7/3/3, PL/SQL, T-SQL,HTML CSS ,XML XSD,XSL ,
UNIX SCRIPT C SHELL, KORNE, BORNE, BASH , APEX
- OPEN SOURCE SPRING 2.x/3.x, HIBERNATE 2.x/3.x,4.x STRUTS 1.0/1.1/1.2, TILES, ANT 1.4/1.5/1.6, MAVEN 1.x/2.x/3.x TOMCAT 4.x/5.x,7.x CACTUS, XERCES, XALAN, LOG4J, COMMONS LOGGING, JUNIT, iTEXT, jGRINDER, JMETER, CASTOR, xSTREAM, JAXB, DROOLS 5.1
- VERSION CONTROL AND SOURCE MANAGEMENT RATIONAL CLEAR CASE/CLEAR QUEST, CVS, SUBVERSION, VISUAL SOURCESAFE, MERCURIAL 2.7.1, GITHUB, BITBUCKET
- J2EE TECHNOLOGY EJB 1.x/2.x/3.x, J2EE 1.x/5, JSP custom tags , JSTL, JSF 1.1 ajax4jsf AJAX , /1.2 IceFaces, MyFaces, Rich Faces AJAX /2.0, Pretty Faces bookmarking , AJAX Dojo, Prototype , EJB, JPF, JNDI, JDBC, JMS, JNI, JAVAMAIL, JAF, JAXB, JAXP, XSLT, XPATH, XQUERY,JCA, LDAP, SWING
- WEB SERVICE TECHNOLOGY JAX-WS, JAX-RPC, RESTFUL WS, JSON, SWA/MTOM, WS-BUSINESS ACTIVITY, WS-COORDINATION, WS-SECURITY, WS-POLICY, SOAP, WSDL, UDDI, JAXR, JAXB, XML XSD . WS-EVENTING, RestEasy JBoss , Apache Jersey/HttpClient
- OTHER TECHNOLOGY IBM WPS/WESB, SONIC MQ/ESB, MULE ESB, WSO2 ESB, ILOG/Jrule 4.5/6.0/6.1, Drools 5.1, IBM MQ 6, ActiveMQ 5.9, WEBMETHODS, PEGA, TOPLINK, NET APP, BEA AQUALOGIC, SDO, Salesforce, DynamicPDF
- Lead Developer/Architect for a Technology Platform POC that would host weather and other event related alerts. Customers will purchase subscriptions to the alerts in the future system.
- Responsibilities included integrating ActiveMQ into the architecture, and researching and implementing the use of ActiveMQ Virtual Topics, Developed prototype and functional restful services to be deployed in Tomcat, and WSO2. Developed and deployed in the CGI BIN Apache Directory, Python scripts that functioned as restful services. Developed PostgresDB tables that would host the relational data for the project.
- This project used an Agile methodology that included daily stand up scrums, 2-3 week sprints, and demos that occurred once a quarter, and were presented to higher management for funding approval.
- Lead Developer implementing paperless correspondence functionality to an existing Borrower Portal. In addition to the functionality, the application is being redesigned to a layered architecture. This would allow eventual replacement of the existing Struts presentation layer with later technology HTML5, CSS3 . The functionality is being implemented in a JAR that will be wrapped in restful web services. These services will initially be used by the existing Struts web application. All of the persistence logic is being removed from the web application and put in the JAR. TestNG is being used for unit testing. The unit tests use an in memory hsqldb database that is created from Hibernate DTOs on the fly. Hibernate Annotations are used instead of XML mapping files. The Hibernate DTOs are reversed engineered from the Oracle data base and tweaked as necessary to make them fully functional. DynamicPDF is used to handle the PDF processing for the PDFs that will support the paperless correspondence functionality.
- Lead Developer/Architect for a Storm system that populates Redis file stores hash, set, list, etc with data fed from MQ fed streams that feed tuples into bolts that eventually populate Redis file stores. These data are used by a Spring MVC web app that uses Ajax through jQuery to refresh data on the web pages. Restful web services returned JSON responses. My duties were mainly on the backend developing topologies, streams, and bolts that not only implemented business rules but also populated Redis file stores, mostly key values and hashes. A robust Agile/Scrum methodology was used for the entire development. This methodology utilized was driven by Epics/Stories/Tasks in 3 week sprints. Every day we has a stand up meeting where we maintained the tasks as we told what we accomplished yesterday, what we planned to do today, and if we came across any impediments. A scrum master managed the metrics that were used to define the content of the sprint as a set of tasks and calculate the burn down rate based on story points. All development was done on Spring Tool Suite.
- Lead Developer/Architect to implement customer registration that was needed for the above mentioned project. This was a legacy pre-Struts web application that was maintained on RAD 7.5 to produce an EAR that would be migrated to Integration, QA, and eventually production. This was done in the context of the above mentioned agile methodology.
- Lead Developer/Architect for a card maintenance system that would replace a legacy web application similar to the one mentioned above. All development work was done on Spring Tool Suite. My main duties were to design and develop services for the cache loader that would initially populate Redis file stores with card data, and provide services for the Spring MVC web app that would be used to populate Redis user data from DB2 that would remain for a Login session. Essentially, this would replace the traditional functioning of the HTTPSession. This was done in the context of the above mentioned methodology but was based on different epics and stories.
- Applications architect for the Click2 functionality on the claims integration team. Duties included working with business owners and business analysts to evolve requirements, as well as working with the technical architects to ensure that the requirements were feasible with the technology stack. The Click2 technical architects were engaged in POCs to select what software would support click to chat, click to email, etc State Farm was evolving a Tomcat/Spring infrastructure that also used Mule, DataPower, and the IBM Repository to support the SOA architecture. Worked part time on the loss reporting system as an applications architect. On both teams worked with business analysts and technical architects to develop the SOA architecture and record it in MEGA.
- Technical lead for large web based systems that manage vendor contracts and invoicing for CVS drugs and prescriptions. Business functionality includes complex rebate calculations that take into account real time market share. Responsibilities included analysis and coding of the most complex modules, participating in and conducting code reviews, mentoring both local and off shore developers with coding practices and troubleshooting, and documentation. The system interacts with Actuate through web services REST/JSON.
- Applications architect for a customer registration system. Business functionality includes adding new corporations to the system and segregating the data so that a corporation can only view and edit its own data. The first corporation to go on-line is Aetna.
- Technical architect to design and implement upgrade from Spring 2.0.5 to Spring 3.1.0 to enhance the Spring Security to use SPEL Spring Expression Language that was required for multiple corporation data separation.
- Java Project Architect for a couple of small projects involving policy agreements in the financial division. Duties included acting as an ancillary agile scrum member for the project team to provide the project solution architecture and initial high resource estimates. This was done in an agile environment epics, stories, paired programming, test driven development etc
- Java Applications Architect for SIC. Scottsdale Insurance Company SIC , a subsidiary of Nationwide hosts AMS, the policy management system for Freedom Specialty, FS , a subsidiary of SIC. Duties included acting as an ancillary agile scrum member for the AMS project team to provide such artifacts such as a class diagram that will be refined through the iterations. This team is involved with the redesign and rewriting of the existing AMS project developed by Coverall. SIC develops applications using an agile methodology developed by Mike Cohn. Completed POCs for Aspose.Words and Drools. Attended meetings with Coverall, the vendor of the existing AMS solution, to negotiate the turnover deliverables. Developed the first iteration of the logical and physical data base. This new data base would replace the existing AMS data base.
- Java Architect Enterprise Architect for the American Express Technical Excellence Group. Duties included developing and maintaining American Express standards for distributed processing, as well as third party vendors. Conducted Joint Applications Development Reviews, JADRs, to ensure that java applications satisfied corporate standards and best practices. Developed and published prescribed coding requirements and best practices for Hibernate 3.2 and Spring 2.5. Sample eclipse projects implementing these prescriptions were presented to AMEX employees and consultants in lunch and learn sessions. Conducted evaluations of Websphere 6.1 and Glassfish that were presented to top management for a decision of which one would be chosen to be on the technology stack. Before this the direction had been to use Sun application servers evolving away from IBM application servers. Management decided to go with the WAS 6.1 in the future and eventually convert Sun 8.1 and WAS 3.5/4/5.1 applications to WAS 6.1. Designed and implemented a web service framework standardizing security. Designed and delivered the WAS 6.1 ABB, applications building block. This artifact for defines the WAS 6.1 stack that will become part of the referential architecture supporting the prescriptive architecture. WAS 6.1 Feature Pack for Web Service was included in the stack. WAS 6.1 Feature Pack for EJB 3.0 was not included. Spring 2.5 would handle transactions and use the JDBC and Hibernate templates. The new architecture is for the most part POJO based but relies on Spring and Hibernate instead of EJB 3.0 enterprise beans session and message driven , EJB 2.1 message drive beans would be used in the architecture where appropriate because they have most of the advantages of EJB 3.0 message driven beans, Session beans would be used sparingly, possibly for upgrades from previous versions of WAS. Developed standard configurations for WAS 6.1 for 2 and 3 tiered architectures. Obtained performance metrics for in memory session replication using JMETER and Unix utilities i.e. TOP. Completed performance evaluation of in-memory session replication using JMETER and TOP. Developed training sessions for the new RA, and conducted training sessions. Developed prescriptions for a JSF 1.2 MVC framework that would replace the existing JPF MVC framework that extends the Struts 1.2 MVC framework. Participated in a POC that contrasted Websphere Process Server with Mule ESB for services integration. Presented JSF along with a POC to replace the existing WAS 6.1 Struts framework for WAS 7.0. Developed installation and user guide for JSF. The JSF library definitions include My Faces, Rich Faces, and Pretty Faces to support AJAX and Bookmarking. The user guide also includes how to use the following AMEX invest AJAX libraries: Dojo, Prototype in case the Rich Faces AJAX capabilities do not satisfy the requirements in the optimal way.
- As Technical Lead and Applications Architect for a project that manages and configures AMEX owned inventory applications, servers, licenses, etc , as well as that licensed from IBM, HP, and other vendors, developed and maintained java code to support these business processes. Originally the persistence was kept on an Oracle database designed to support web services metadata, a repository. XML was used to keep the custom application data, so part of my programming effort was in translating XML into java objects using and extension of the SAX Default handler, and creating XML from java objects.
- Because of performance and scalability issues it was decided to convert the data to a traditional relational database and migrate it to a z OS DB2 9.1 database on the mainframe. Having extensive experience coding stored procedures for several relational databases, participated in the development of the stored procedures that would support the persistence layer, as well as the java development required for the conversion effort. Even though the XML data type was not used in the conversion effort, the DB2 XML capabilities were used to join XML input data to relational tables.
- Applications Architect for the Blue2 Platform, which would be the platform for all inter-plan messaging for all the Blue Cross Blue Shield plans. Present use of this platform includes providing the message for inter-plan claims. Duties included presenting the architecture to the plans, the enterprise architecture groups, business analysis groups, the SAG steering committee, and the CIO for review, and refining it in an iterative process. Other duties included defining the requirements for proof of concepts that would either prove or disprove the use of particular technologies to be used in the implementation of the technologies. The Blue Cross Blue Shield Association has an implementation of the RUP that defines requirements as business use cases, evolves system use cases and supplementary specification including a domain model, and drives into design and construction based on the outputs of the business and systems analysis. As an architect I participated in business analysis through design. The architecture evolved based on enterprise vision and requirements. He was responsible for evolving the technical roadmap to support the architecture. Some of the recommendations that were implemented after proving out in proof of concepts were the use of XML columns in the data base that were schema verified and allowed the evolution of new types of messages without changing the database schema, the use of SDO technology for XML binding that would use schemas derived from the domain model produced in systems analysis to actually create the transfer objects and automatically have them marshaled to XML for web service processing. Also participated in the data analysis to ensure the as the platform evolved there would only be minimal changes to the data base schema. He successfully completed a POC for JSF 1.1 running on a WAS 6.1 server. AJAX instrumentation of JSF components was a requirement for this POC. JSF was a candidate MVC framework for the new version of the Blue 2. In order to instrument JSF components ajax4jsf was used. The ajax4jsf library was the predecessor to Rich Faces. He was responsible for developing and maintaining the SAD Systems Architecture Diagrams for the Blue2 platform. This artifact was and is one of the main presentation forms that are available on-line for both the plans and BCBSA internal use. It contains not only the existing implementation but also the platform vision supported by the CIO and the enterprise architecture group.