Profileimage by Gavin Selvaratnam senior java engineer from

Gavin Selvaratnam

available

Last update: 01.04.2017

senior java engineer

Graduation: Information Technology
Hourly-/Daily rates: show
Languages: English (Native or Bilingual)

Skills

Java, Spring-Boot, Apache Camel, J2EE, SQL, OSB XQuery and Linux shell scripts, Apache Camel, Spring, Hibernate, Spring-WS, Apache
CXF, Spring-MVC, AXIS, ActiveMQ, Qpid, JSON, Jackson, JAX-WS, JAX-RS, JPA, SOAP, WSDL, StAX,
XML, DOM, SAX, XPath, Servlet, JSP, JMS, AMQP, Maven, Check-style, Find-bugs, Cobertura, Jenkins, SVN, Git,
Junit, Mockito, JMeter, soapUI, Oracle WebLogic, JBoss, Tomcat, Oracle Service Bus, Oracle 10g, MySQL
5, PostgreSQL.

Project history

Developed the MRI Settlements API. The system would receive generator output information
based on a SOAP API and a File API. Customers would submit to the API from their internal
systems or use the UI to upload files to be processed by the system. The SOAP API was an attachments
based API. The system used JMS queues to manage the throughput of the system.
A quartz job was available to handle unforeseen system shutdowns. The validation service was
developed to be multi-threaded so that parallel validations could be done on a single file. The
service was built on top of Spring Boot, JPA, Hibernate, SOAP and Oracle 11g. Extensive Junit
test cases were provided to simulate various validation scenarios.

Enhanced the CIRA service which assisted in energy capacity management. The service was
developed using Groovy and Grails with Oracle 11g data base. I developed various calculation
services and test cases for those calculations.

Developed the ECIC calculation module which calculates various energy market prices. This was
done by integrating with different XML feeds from multiple systems using Apache Camel as the main integration
component. Apache camel was wired on top of a Spring-WS project. The
project also used JPA, Hibernate for persistence with a mixture of Spring JDBC Template when required. I
wrote complex Apache Camel test cases to make sure the routes performed
appropriately. The test cases used a mixture of Junit, Mockito and custom camel mock routes to simulate
behavior.

Enhanced and developed the Optus code generator tool. The tool was a Swing based code
generator that will generate Spring WS projects based on a UML diagram that was designed on the tool. The
generated code contained JPA entities, Spring WS webservices, JMS message
driven beans, Junit test cases and JBoss 7 deployment artifacts. The tool was based on the eclipse Juno
version.

Developed a SOAP message router using Spring 3.2, Spring-ws, JPA 2, Hibernate 4 and JMS. The
router transformed messages between different WSDL formats using XSLT. The router needed to have a high
throughput to support the National Broadband Network integration. ActiveMQ and JMS message driven beans
were used to manage throughput. The router also had a
component for state transition, management and validation. This was developed using XStream and the rules
were written using XML. The application was deployed on a JBoss application
server. As the lead developer I designed the application from the ground up while consulting the
Architect and BA. I also carried out code reviews, daily standups and made sure proper coding
standards were followed.

Used Junit, PowerMock and Mokito to develop a test suite for a legacy application that had only
minimal testing and many static methods. Thereby wrote end to end test cases to fix an urgent
telecom regulatory issue.

Wrote an XML parsing utility component using XOM, Xpath and Woodstox. This was a great help for
developers as it reduced the amount of steps required to work with XML documents. XOM and Xpath for
smaller XML documents and Woodstox for larger documents.

Developed an order management system for the OTT project. The application was a workflow
engine that had standard components that could be stringed together to achieve certain
activities. The system was developed using Spring 3.2, Hibernate 3.5, Weblogic JAX-WS
webservices and JMS. The final product was deployed on to a WebLogic application server. As the lead
developer I conducted meetings and discussions with business users to gather
requirements. I prepared UML based application design documents. I also carried out code
reviews and design reviews and made sure proper coding standards were followed.

I also carried out the following non project based activities: - Wrote ad-hoc SQL reports on an
Oracle 10g data base. Wrote custom java code (spring, hibernate, JDBC) and SQL reports to run
billing reconciliations. Installed Linux (Linux Mint) and configured development environments with Eclipse,
Oracle OSB, Oracle SqlDevloper, SoapUI, Weblogic Server, Tomcat, JBoss EAP etc.
Converted several legacy Java services running on Java 6, AXIS2 and ANT into Java 7 and Maven
3 enabled Spring WS services. Setup continuous integration builds on Jenkins. Setup Sonar on
Jenkins using JaCoCo and Cobertura.

Local Availability

Only available in these countries: USA
Remote, California USA.

Other

A highly skilled Java Developer with over 15 years of development experience. Extensive enterprise
application development experience pertaining to the power distribution, telecommunications and
airline industries. Extensive experience with J2EE application development with a particular emphasis on
Spring Boot, JPA, Hibernate, Apache Camel, SOA and Web Services. Extensive experience in server
products such as Tomcat, Active MQ, JBoss, Weblogic Server and Weblogic ESB, MySQL and Oracle.
Extensive experience with protocols such as SOAP and REST. Experienced in XML manipulation especially
very large XML files. Highly capable at application performance tuning such as query plan evaluation,
parallel processing and "for" loop optimization. Adequate experience with JSP, HTML and Java Script.
Incredibly experienced at writing testable code using Junit, Mockito and Spring Test. Well versed in
producing UML based documentation and writing Run Books, User Guidelines etc. Hands on experience
working with large teams in dynamic environments with critical deadlines.
Profileimage by Gavin Selvaratnam senior java engineer from senior java engineer
Register