- Around 7 years of experience in Object Oriented Programming, design and development of Multi - Tier distributed, Enterprise application using Java & J2EE technologies.
- Experience in Full life cycle using various methodologies like Waterfall, Agile, Scrum, Test Driven development.
- Proficient in implementing various Java design patterns like MVC, Session Facade, Data Access Object (DAO), Factory, Singleton, Data Transfer Object, and Front Controller.
- Good Experience on functional styles of Java 8 Lambda Expressions, Functional Interfaces and Method References.
- Strong background in Java, Restful Web Service, JPA, Hibernate, Spring, enterprise database platform.
- Experience in implementing and integrating various Spring framework modules like Spring MVC, Spring IOC, Spring ORM, Spring JDBC, Spring Web Services, Spring JMS, Spring AOP and Spring Boot.
- Extensive Experience developing robust and highly scalable applications based on Microservice architecture.
- Good experience in developing the Microservices using Spring Boot and REST API’s
- Expertise in implementing and consuming REST web services using JAX-RS.
- Good exposure to Service Oriented Architecture (SOA) and expert level working knowledge in developing Java Web services using REST, XML and JSON.
- Good Experience working with (AWS) Amazon Web Services (Amazon EC2, Amazon S3, Amazon Simple DB, Amazon RDS, Amazon Elastic Load Balancing, Amazon SQS, AWS Identity and access management, AWS Cloud Watch, Amazon EBS and Amazon Cloud Front), using the Elastic Search APIs (Document, Search, Indices, Cluster, etc.), High Availability Practices and deploying backup/restore infrastructure.
- Experienced in setting up Amazon EC2 instances, Virtual Private Cloud (VPCs), and security groups.
- Experience in developing web applications using Microservices and RESTful based Web Services.
- Good experience in deployment using Application Servers like Apache Tomcat, JBoss, WebSphere and WebLogic.
- Expertise in relational databases like Oracle 11g, MySQL, PL/SQL and NOSQL as Cassandra, MongoDB.
- Established Continuous Integration (CI/CD) practices using Docker, Jenkins, GitHub and AWS.
- Enhanced experience in using different IDEs like Eclipse, IBM RAD, IntelliJ, STS.
- Extensive experience on version control tools like SVN, GIT, CVS.
- Experience in writing MAVEN scripts and using Ant for build and release management during the project life cycle.
- Experience working with Jira to track the status of the application.
- Experience JUnit, Mockito, Log4j in developing test cases and determining application functionality
Languages: Java (JDK 1.4/1.5/ 1.6/1.7/1.8 )
Web Services: RESTful web service
Frameworks: Spring2.x/3.x/4.x, Hibernate 2.x/3.x/4.x/5.x
Application/Web Servers: Tomcat 6.0, Web Logic 8/9/10, Web Sphere 6/7/8
IDE Tools: Eclipse and Net Beans 6.9,6.8
Databases/API: Oracle 9/10/ 11g, MySQL 7.1.9.
Cloud: AWS (Ec2, S3, AMI), Spring cloud
Methodology: Agile, Waterfall, OOAD, UML.
Confidential, Pittsburgh, PA
- Involved in requirement gathering, analysis, design, and development and testing of application using Agile methodology.
- Worked on Java1.8 and utilized the new feature of Java1.8 in developing the code like Lambda expressions, creating resource classes, fetching documents from database.
- Involved in the design and development of RESTful Web Services using JERSEY.
- Used Spring for Dependency Injection for plugging in the Hibernate DAO objects for the business layer.
- Implemented Hibernate Object Relational Mapping (ORM) for mapping java classes and database tables.
- Used Java Persistence API(JPA) along with Hibernate Framework to implement Test classes.
- Designed and developed various modules of the application with J2EE design architecture and frameworks like Spring MVC architecture and Spring Bean Factory using IOC, AOP concepts
- Used Spring Framework with Spring Boot configuration.
- Used complete annotation driven approach to develop the application using Spring Boot and was also involved in setting up the Spring bean profiling.
- Using Spring Boot to provide 'starter' POMs to simplify the Maven configuration.
- Implemented Java Collection API, multithreading and design patterns.
- Used Microservice architecture with Spring Boot based service through REST.
- Provided events notifications and messaging capabilities using AWS SNS and SQS.
- Designed and developed the framework to consume the web services in Amazon EC2 instances.
- Used Amazon RDS to host Oracle 11g as a database for the application.
- Developed API for using Amazon Lambda to run the code in AWS.
- Used Amazon S3 to store and retrieve the media files related to the application.
- Used Amazon SQS and SNS to implement asynchronous workflow.
- Used Amazon Cloud Watch to monitor resources such as EC2, Amazon RDS, Dynamo DB and EBS volumes.
- Configured AWS Identity and Access Management (IAM) Group and users for improved login authentication.
- Written Maven scripts for compiling, building, packaging and deploying WAR files and used Jenkins for continuous Integration and Deployment (CI/CD).
- Used Apache Tomcat as an application server to deploy the code.
- Developed and implemented several test cases using JUnit framework.
- Used Log4j to capture the log that includes runtime exception and for logging information which is useful for debugging.
- Worked on GitHub for configuration management.
- Involved in code reviews and responsible for fixing bugs.
Environment: Java1.8, J2EE, Spring 4.3, Spring Boot, Hibernate 5.x, Microservice, JPA, RESTful, Amazon (EC2, RDS, Lambda, IAM, Cloud Watch, SQS, SNS), Tomcat, Maven, Jenkins, Log4J, GitHub, JUnit, Oracle 11g, Eclipse.
Confidential, St. Louis, MO
- Involved in SDLC requirements gathering, analysis, design, development and testing of application developed using Agile methodology.
- Used Spring MVC and Dependency Injection for handling presentation and business logic and Spring Boot to implement the Controller and Service layers.
- To maintain loose coupling between layers published the business layer as services and injected the necessary dependent components using Spring IOC and published cross cutting concerns like Logging, User Interface exceptions, Transactions using Spring AOP.
- Integrated Spring DAO for data access using Hibernate and Used Spring Security for Authentication and Authorization of the application.
- Implemented persistence framework using Hibernate& handled Transaction Management using the provided data.
- Integrated Spring and Hibernate together and worked on developing backend components and services.
- Extensively used Hibernate ORM in data access layer to write DAOs for Hibernate Mapping files.
- Extensively used JSON to parse the data from server side to satisfy the business requirement.
- Responsible for designing Hibernate mapping files based on business logic and Object relationships.
- Developed Message Driven Bean for asynchronous sending Messages using JMS.
- Extensively worked on REST based Web services.
- Created REST web services to send data in JSON format to different systems using Spring boot.
- Implemented and maintained monitoring and alerting of production and corporate servers such as EC2 and storage such as S3 buckets using AWS.
- Used Amazon S3 to backup database instances periodically to save snapshots of data.
- Implemented AWS IAM for managing the credentials of applications that run on EC2 instances.
- Implemented service methods and SQL queries, PL/SQL to interact with the Oracle 10g DBM.
- Extensively used JMS API for asynchronous communication by putting the messages in the Message queue.
- Configured and used Log4J for logging all the debugging and error information.
- Used LDAP Authentication for single sign and authentication, logging and Validating User Credentials.
- Used JIRA extensively to log all issues and track development status.
- Developed unit testing framework using JUnit test cases for continuous integration testing.
- Developed the build scripts using Maven.
- Used GIT Version Controller to maintain the version of the files and took the responsibility to do the code merges from branch to trunk and creating new branch when new feature implementation starts.
- Involved in the analysis, design, and development and testing phases of the Software Development Lifecycle (SDLC) and used Agile methodology for developing the application .
- Upgraded existing UI with HTML5, CSS3, jQuery, BootStrap and AngularJS interaction.
- Used Java/J2EE patterns like Model View Controller (MVC), Factory pattern and abstract factory pattern.
- Developed an application using Spring MVC, JSP, JSTL and AJAX on the presentation layer, the business layer is built using spring and the persistent layer uses Hibernate.
- Implemented Spring Framework AOP module to implement logging in the application to know the application status.
- Used Spring Framework and Hibernate as persistence provider to interact with the database.
- Involved in developing an application using SPRING frameworks like Spring ORM and Spring IOC.
- Implemented object-relational mapping using Spring and used Hibernate (ORM tool) in the business layer to create DAOs.
- Created Stored procedures using PL/SQL for data modification (Using DML insert, update, delete) in Oracle.
- Used AngularJS for creating controllers, directives, models for different modules in the frontend.
- Deployed presentation components, web components and business components in WebLogic Application Server.
- Involved in consuming web services using Spring Restful Template development.
- Wrote Web Services using SOAP for sending and getting data from the external interface.
- Involved in implementing the JMS (Java messaging service) for asynchronous communication.
- Involved in using JMS Queues and JMS Topics for one-to-one and one-to-many communication in the application.
- Involved in preparing Ant builds scripts (XML based), deployments and integration and configuration management of the entire application modules.
- Used JUnit for integration testing and unit testing.
- Used JIRA to track, report, assign and audit the issues in the application.
- Customized and Configured logs using Log4J.
- Used Git to maintain the version of the files.