VIRON DADALA
***********@*****.***
SUMMARY
Over 9 Years of experience as an Java/J2EE Programmer in Object Oriented Analysis and Design, developing, testing and maintenance of transactional, distributed and Client Server Java applications, database development on Oracle, DB2, MySQL.
Experienced in deploying and maintaining J2EE applications in WebSphere, WebLogic, Jboss, Tomcat, TcServer servers.
Experience with developing web applications using Grails Framework.
Developed applications using Python for Natural Language Processing and Machine Learning Systems.
Developed standalone applications using Swings.
Diversified skill set in J2EE Enterprise technologies like Servlets 3.0, JSP, EJB, AJAX, HTML, JavaScript and JSTL using services like JDBC, JNDI, JMS, JAXP, JAXB over protocols like HTTP, RMI-IIOP, LDAP and SSL.
Experienced in UI development using swings, JSP, HTML5, CSS and JavaScript.
Experienced in UI development using AngularJS.
Proficient in Frameworks like Struts, Spring, Hibernate.
Over 7 years of experience using Spring framework, used several modules like MVC, AOP and AspectJ, spring JDBC, ORM, OXM, JMS, Transactions, Caching, Spring Integration, Spring Security, Spring Data, Spring Batch, Spring Boot.
Proficient with Persistent technologies like JPA 2.0, Native Hibernate, JPA2.0 over Hibernate.
Experienced in using caching libraries like Ehcache, MemCached, Terracotta (Clustering object state across multiple JVM’s).
Experienced in using document store (NoSQL) like MongoDB, HBase and Elasticsearch.
Experienced in using key value store like Redis.
Experienced in using Graph Data store like Neo4j, Giraph.
Experienced in developing REST services with Spring and Jersey
Excellent understanding of SOA and extensively used Web Services (SOAP, WSDL, REST), building high volume, and high traffic e-commerce applications.
Developed SOAP web services (JAX-WS) using Apache CXF and Spring–WS.
Experience with XML, DTD and XSD using DOM and SAX parsers.
Experienced in using cloud platform Google App Engine, Google cloud SQL, Google Datastore.
Familiarity with AWS Cloud Services like Amazon EC2, AWS BeanStalk, Amazon RDS, Amazon DynamoDB.
Excellent Knowledge in understanding Big Data architecture, distributed file systems–HDFS, parallel processing – Map Reduce framework and complete Hadoop ecosystem.
Proficient with Java 8 Lambda Expressions and Streams.
Very Good knowledge about java memory model and GC, proficient in using various memory analyzing, profiling and debugging tools like Jconsole, VisualVM, JMC(including flight recording), eclipse MAT, Yourkit java profiler.
Very good understanding of class loading mechanism used by Websphere, Tomcat.
Experienced in managing and monitoring java applications using JMX.
Proficient in using GOF Java and J2EE design patterns like Singleton, Front Controller, Business Delegate, Service Locator, DAO etc.
Proficient with build tools like Ant, Maven and Jenkins for Continuous Integration.
Experience with using testing frameworks like Junit and TestNG.
Experience in using Jmeter for load testing.
Experienced in using IDEs such as Eclipse, STS, RAD and NetBeans.
Strong knowledge in Database development including Normalization, Tables, Views, Stored Procedures and Triggers, and Query optimization techniques.
Experience with Oracle, SQL, PL/SQL. Developed several packages, writing SQL queries, stored procedures, triggers and Exposure to Oracle SQL Developer, DB2 and SQL Server.
Proficient in UNIX shell scripting.
Involved in the study, design and development of Business Applications as well as internal frameworks.
Have sound technical, analytical and good programming skills.
Ability to learn and adapt quickly to the emerging new technologies
Have good communication and inter-personal skills.
EDUCATION
BS in Information Technology, Bharathidasan university, India.
MS in Computer Engineering, Illinois Institute of technology, Chicago.
TECHNICAL SKILLS
JAVA/ J2EE Technologies
Jdk1.8, J2EE1.6, JSP, Servlet, EJB, JTA, JDBC, Swings, JNDI, JMS, JSF, Web Services, JavaMail.
Frameworks
Struts, Spring, Hibernate.
Application & Web Servers
WebLogic, WebSphere, Apache Tomcat, JBoss, TcServer
Database Environment
Oracle, DB2, MySQL.
Application IDEs
RAD, Eclipse, STS, NetBeans, Flex Builder 3.
Design Patterns
Singleton, MVC, DAO, Front Controller, Session, Façade
Version Control Systems
CVS, SVN, Git.
Distributed Systems
RMI, EHcache (Distribute Cache over RMI), Terracotta.
Other Technologies
XML, JDOM, SAX, JAXP, JAXB, XSLT, DHTML, XHTML, CSS, JavaScript, Log4J, POI, iText, Ant Build Script, Maven, Junit, TestNG.
WORK EXPERIENCE
H&R Block Inc. Aug’13 – Current
Sr. Java/J2EE Developer
Project: HRBlock.com Redesign
Description: HRBlock.com is used to book appointments with tax professionals or find an office online based on location(Geospatial search), tax pro ratings, prior year tax pro, etc. Ability to browse the profiles of each tax pro and pay close attention to specialized training and areas of expertise to help customers to make a decision.
Responsibilities:
Involved in Requirements gathering, Design, Analysis and code development.
Developed Application using Java, J2EE, Spring framework and JPA2.0.
Designed the Web application implementing the Spring framework for Model-View –Controller (MVC) pattern to make it extensible and flexible.
The Spring framework is used for all core functionalities
Developed WebPages using AngularJS, JSP, Tiles, HTML, and CSS.
Designed and developed reusable Java utility classes for the business logic functionalities using services like, Spring REST, Spring JDBC, and JNDI.
Java scripting was used to manage some client side verifications and validations.
Developed classes implementing Apache CXF(SOAP) service methods for Web Services to handle the business requirements.
Designed web application that’s deployed on Google App Engine connecting to Google Cloud SQL for Geospatial queries.
Implemented caching solutions for database and web service query results and web page fragment caching using Ehcache(Distributed caching over RMI).
Implemented 2 legged Oauth2.0 to protect web services.
Implemented email sending module using spring email service and velocity template.
Developed java utility classes using Apache POI to generate Excel files using collections and parsed XML documents.
Used Oracle as database to get the data.
Responsible for writing SQL queries.
Used SVN for Version control and Jenkins for continuous integration.
Used TestNG framework to test the java classes and accuracy of the data fetched from the DB.
Used Log4J logging system to track the application log messages.
Maven was used for entire build process.
Deployed Application on JBOSS Server.
Environment: J2EE, JSP, AJAX, spring, XML, JAXP, JBOSS, Maven, Log4j, Oracle.
Project: ACA Tax Calculator
Description: ACA Tax Calculator is used to find how the ACA will impact customer’s taxes, just by answering a few simple questions, customer will be provide with a printable summary report. Customers will learn if there are any tax penalties this year and if so, how much, customers will also know whether they could qualify for an exemption and if so, how that will affect your penalty and Calculator could tell how the ACA could potentially impact your taxes next year.
Responsibilities:
Involved in Requirements gathering, Design, Analysis and code development.
Developed Application using Java, J2EE, Spring framework.
Designed the Web application implementing the Spring framework for Model-View –Controller (MVC) pattern to make it extensible and flexible.
The Spring framework is used for all core functionalities.
Developed WebPages using AngularJS, JSP, Tiles, HTML, and CSS.
Designed and developed reusable Java utility classes for the business logic functionalities using services like, Spring REST, Spring JDBC, and JNDI.
Java scripting was used to manage some client side verifications and validations
Developed java utility classes using Spring Jackson to create and parse JSON for processing requests and response.
Used Oracle as database to get the data.
Responsible for writing SQL queries.
Used SVN for Version control and Jenkins for continuous integration.
Used TestNG framework to test the java classes and accuracy of the data fetched from the DB.
Used Log4J logging system to track the application log messages.
Maven was used for entire build process.
Deployed Application on JBOSS Server.
Environment: J2EE, JSP, AJAX, spring, XML, JAXP, JBOSS, Maven, Log4j, Oracle.
Vanguard Group Inc, Aug’09 – Aug’13
Sr. Java/J2EE Developer
Project: Passive Foreign Investment Companies(PFIC)
Description: Fund Tax Services is required to calculate mark to market adjustments and gain reclasses for any fund that holds an international security that has been identified as PFIC. Mark to market adjustments can be calculated for given funds and date range. The output reports will be one of the four formats i.e. PDF, XLS, CSV, HTML.
Responsibilities:
Involved in Requirements gathering, Design, Analysis and code development.
Developed Application using Java, J2EE, Spring framework.
Designed the Web application implementing the Spring framework for Model-View –Controller (MVC) pattern to make it extensible and flexible.
The Spring framework is used for all core functionalities
Developed WebPages using JSP, Tiles, HTML, and CSS.
Developed JSP’s for various views of application system.
Designed and developed reusable Java utility classes for the business logic functionalities using services like Spring JDBC, and JNDI
Java scripting was used to manage some client side verifications and validations.
Used JMS and Websphere MQ to send messages to queues to generate reports.
Developed classes implementing service methods for Web Services to handle the business requirements
Developed java utility classes using JAXP to create and parse XML documents for processing the reports.
Developed java utility classes using Apache POI and APOSE to generate Excel files using collections and parsed XML documents.
Used Filenet using DIA to save Excel files.
Used DB2 as database to get the data.
Responsible for writing SQL queries and PL/SQL stored procedures.
Developed Unix shell scripts for File I/O and work package installations.
Optimized the database SQL queries with the profiler and optimizer.
Used AJAX to refresh part of panel components to get the list of dynamic entries.
Used SVN for Version control.
Used Junit to test the accuracy of the data fetched from the DB.
Used Log4J logging system to track the application log messages.
Maven was used for entire build process.
Deployed Application on Websphere Application Server.
Environment: J2EE, JSP, AJAX, spring, XML, JAXP, Websphere Application Server 6.0, Maven, Log4j, DB2 8.1
Project: Acquired Fund and Fee Expenses (AFFE)
Description: AFFE is used to calculate Acquired Fund and Fee Expenses for the given funds for a reporting period. AFFE is used by the clients to get the transaction, holdings and Summary of all the transactions. This Project involved the development of web based application for the users. The user can get the report for given account and data range and have the reports automatically saved to Filenet. The output Report will be in one of the four formats i.e. PDF, XLS, CSV, HTML
Responsibilities:
Involved in Requirements gathering, Design, Analysis and code development.
Developed Application using Java, J2EE, Spring framework.
Designed the Web application implementing the Spring framework for Model-View –Controller (MVC) pattern to make it extensible and flexible.
The Spring framework is used for all core functionalities
Developed WebPages using JSP, Tiles, HTML, and CSS.
Developed JSP’s for various views of application system.
Designed and developed reusable Java utility classes for the business logic functionalities using services like Spring JDBC, and JNDI
Java scripting was used to manage some client side verifications and validations.
Developed java utility classes using JAXP to create and parse XML documents for processing the reports.
Developed java utility classes using Apache POI and APOSE to generate Excel files using collections and parsed XML documents.
Used Filenet using DIA to save Excel files.
Used DB2 as database to get the data.
Responsible for writing SQL queries and PL/SQL stored procedures.
Optimized the database SQL queries with the profiler and optimizer.
Developed XML applications using XSLT transformations.
Used AJAX to refresh part of panel components to get the list of dynamic entries.
Used SVN for Version control.
Used Junit to test the accuracy of the data fetched from the DB.
Used Log4J logging system to track the application log messages.
Maven was used for entire build process.
Used Pl/SQL stored procedures for applications that needed to execute as part of a scheduling mechanisms.
Deployed Application on Websphere Application Server.
Environment: J2EE, JSP, AJAX, spring, XML, JAXP, Websphere Application Server 6.0, Maven, Log4j, DB2 8.1
Hilton World Wide, Memphis, TN Sep’08 – Aug’09
Java/J2EE Developer
Project: Customer Contact Tool (CCT)
Description: Customer contact tool is business critical application, which will be used to search the world wide Hilton hotel information and availability, and make reservations for the customers. The users will be able to enter the search details, the result obtained can be sorted according to the user requirement, which can be seen directly on browser or he can save it for future reference.
Responsibilities:
Involved in Design, Analysis and code development.
Developed Application using Java, J2EE, Spring.
Designed the Web application implementing the Spring framework for Model-View –Controller (MVC) pattern to make it extensible and flexible.
The Spring framework is used for all core functionalities.
Developed WebPages using JSP, Tiles, HTML, CSS.
Responsible for design and development of hibernate inheritance hierarchy
Implemented the persistence classes, persistence service classes and the persistence test classes for the Hibernate layer
Java scripting was used to manage some client side verifications and validations.
Involved in developing authorization processors using synchronous and asynchronous flow that validate the incoming authorization using spring framework’s dependency injection, Hibernate.
Used Oracle 10g as database to get the data.
Responsible for writing SQL queries and PL/SQL stored procedures and Optimized the database SQL queries with the profiler and optimizer.
Used Perforce for version control.
Used AJAX to refresh part of panel components to get list of dynamic entries.
Used Jasper Reports to generate the reports.
Developed XML applications using XSLT transformations.
Used Junit to test the accuracy of the data fetched from the DB.
Used Log4J logging system to track the application log messages.
Apache Ant was used for entire build process.
Used Pl/SQL stored procedures for applications that needed to execute as part of a scheduling mechanisms.
Used SAX XML API to parse the XML and populate the values for a bean.
Used Jasper to generate rich content reports.
Deployed Application on Weblogic Application Server.
Environment: J2EE, JSP, XML, Weblogic Application Server 9.0, Ant, Log4j, DB2 8.1, spring, Hibernate3.0
Hewlett Packard GlobalSoft Pvt. Ltd., Bangalore India. Aug ‘04 to May ‘07
Role – Java/J2EE Developer
Description: Developed an application to automate the Sales Order Transactions of our company. This application keeps track of the information pertaining to the sales transactions such as Customer details, Product or Item description and their Pricing Schedule, Purchase Order details and View and Enquiry of the Order Screens. Designed and developed the Order Processing Module. Involved in the design and coding of this module. The system checks the database for availability and an invoice is prepared.
Responsibilities:
System Study- Understand the legacy system and the requirements for Developing the Consolidated Application
Played key role in the design for the implementation of this application.
Preparing the documentation for High Level design, Low Level design of the application and Process Flow of control for the entire application.
Designed the Web application implementing the Struts framework for Model-View –Controller (MVC) pattern to make it extensible and flexible
Implemented the architecture with Struts-Config, Action Form classes and Action classes.
Implemented the Consolidated applications front-end pages using JSP’s, JSTL, and Struts Tag Libraries.
Used Spring Framework for Dependency injection and integrated with the Struts Framework and Hibernate.
Developed the helper classes used by most of the components in this application.
Configured connection caches for JDBC connections.
Written the Shell Scripts in UNIX for running the cron jobs.
Deployed the application in UNIX box for Production Environment.
Used extensive JavaScript for creating the Global templates that can be used across the JSP Pages
Developed code for generating the XML requests required for calling the web services.
Developed code for processing the web service response obtained in XML as a String after calling the web Services using SAX parser
Configured Logger, appender and layout using log4j.
Used Hibernate for Object Relational Mapping.
Used Ant 1.6.5 for building JAR s and WAR.
Rational Clear Case was used as Source and version control for rebasing and delivering the code
Prepared Unit test cases as well performed Unit Testing and Integration testing.
Responsible for deploying the war in the QA box for QA to be carried out and fix the issues if any reported by the QA team
Environment: Servlet, JSP, EJB, Struts, Hibernate, LDAP, JNDI, HTML, XML, DOM, SAX, ANT, Weblogic Server 8.1, Oracle9i
Project
Call audit module is standalone application (intranet-based module), which helps in recording the feedback of the audited calls by the team leaders and supervisors. It now acts as a tool in Call Center to give valuable feedback to the agents on the various aspects of handling calls. It also generates three different kinds of reports. The monthly report gives the overall scores of the agent. The overall performance report gives the details of all the calls audited by the auditors sorted on the basis of agent name. The individual performance report gives the details of the areas of improvement agent wise. This module is now effectively used by the Call Center supervisors to track & manage the agent performance for the past two months.
Roles & Responsibilities
Involved in gathering and analyzing system requirements.
Played key role in the high-level design for the implementation of this application.
Developed the Training and Appraisal modules using Java, JSP, Servlets and JavaScript.
Involved in Designing the Database Schema and writing the complex SQL queries.
Designed frontend using swings.
Involved in Code reviews for other modules developed by peers.
Implemented Enterprise Java Beans (EJBs) to interact with the database to update, retrieve, insert and delete values effectively, building, and optimizing J2EE applications
Designing and establishing the process and mapping the functional requirement to the workflow process.
Accessed stored procedures and functions using JDBC Callable statements.
Executed and coordinated the installation for the project
Worked on web-based reporting system with HTML, JavaScript and JSP.
Involved in Maintenance and Enhancement of the project
Environment
JDK 1.3, J2EE 1.3, Servlets, JDBC, Tomcat, oracle, HTML, DHTML, SQL and JUnit.
Academic Projects at Illinois Institute Of Technology
Airlines reservation system
Java/J2ee
This is an applet, servlet, JSP, RMI, JDBC, technologies implementation.
The goal of the Project is to create a website for online reservation system. Applet is Presentation tier in the three tier architecture, the presentation tier is designed using Swings. Implementation of servlets installed on the Tomcat to handle requests from the client (applet). Implementation of RMI code within the servlet (servlets act as RMI client), they do invocations on the RMI server(s), do lookups on the registry and accepts the RMI over server Responses. The RMI server uses JDBC to submit queries to the database based on requests received from the servlets. The RMI server(s) receive the result set from the DB and transfer it to the servlets. The servlets in turn sends it to the applet to be displayed by the browser. Certificate issuance is required to ensure proper communication. Multiple sessions can be opened simultaneously for different users.
Minix Operating System
Language: C
Goal of this project was to learn system calls and modify the drivers in the operating system. Minix was a test ground to learn how an operating system communicates, how it executes a program, how to create our own hot keys.
Client Server Communication
Java
Objective of this project was to understand how a client and server communicate in a distributed network and using logs. Upon providing the server IP and port number, client application has to connect and communicate. On specific commands from client
server has to create or read or delete contents of a file. All the communication has to be
logged on to a file both on client and server.
Database Engine
Language: C++
The goal of the project is to design a system that allows a user to create tables and store and access them efficiently on disk by implementing indexing, joins and query manager to improve performance. User will be provided with a command prompt line. Each query will be checked for correct syntax and its named data objects (i.e., tables and attributes) will be checked with the system catalog for existence. The user will be able to create tables that store data. and will be able to enter and retrieve data from the tables. Buffers are used to improve performance, the system will support a variable number of memory buffers. Indexing is implemented using B+ trees There are two types of B+trees to support, one allows duplicates and one does not allow duplicates. Joins are implemented using equi-joins and cross-products with optional selection clauses. Two join algorithms should be supported block nested loop, index nested loop. The query optimization part comes when you decide which join algorithm to use based on estimated costs.