DINESH KHETARPAL
E ****************@*******.***
Summary
I have about eighteen years of software development experience and have worked on all stages of software development. In my recent projects I worked as a senior level developer for company’s core products as well as client implementations. I am a team player, responsible and enthusiastic about the work I do.
Technical Skills
Web applications FRONT END – 10 YearsStruts 1.1, 1.3 (Struts Validation, Forms, MVC patterns, Struts taglibs)Spring MVC, Spring MVC annotations, Spring ROOJava script (jquery, YUI (2.5,3), EXTJS, DOJO).Jquery table, tree, pagination, Ajax modules, highcharts.YUI used most of the UI elements.Namespaced javascript code to avoid conflictsCSS changes as well maintaining separate CSS files and design enhancement to make extensive reuse.JSP, JSTLs, freemarker, freemarker macros, JSPXHTML, HTML prototype design and presentation.Used Mozilla Firebug, modify header and debugging tools, JSlint for the javascript flaws
Web applications BACK END – 10 YearsPersistence Layer: Hibernate, JPA, EJB3, EJBs, JDO and core JDBC (Stored procedures as well SQL calling).
J2EE: Created filters for security, Spring URL/Role based Security, Single Sign on with SiteMinder, Servlets, clustering servers, used IBM Websphere’s clustered cache.
Hibernate performance enhancement, J2EE best practices, design patterns.
Web/J2EE Servers: BEA Weblogic 9/10/11, IBM WebSphere 6.5, Liferay, Tomcat, Spring Tomcat implementation, BEA Weblogic Portal 9
Enterprise Architecture, integration and web services – 13 YearsWeb services: Web services and integration implementation using Web sphere MQ Broker, Oracle Service Bus and WebMethods. Designed SOAP based services, XML schema design, Java integration with services to and fro. ESB Design and implementation. Web services security.
IBM MQSeries (8 Years, MQSeries Integrator (WMQI or Message Broker) and workflow one and half year): Worked on system integration with MQSeries and XMLConnector using MQSeries integrator v2.0 and v2.1 broker for WebSphere. Experience with clusters, MQSeries channels and transmission queues, custom coding in java for integrating the banking workflow system which uses the XML docs transformation and interact with other system level events like file change, database triggers. Prepared an MQSeries Plug in for Metaserver web based system that uses the plug-in for MQSeries JMS code generation. Codes the filters and nodes for accessing Karora’s DMS system and storing and triggering custom activities for workflow.
IBM Web sphere Integrator (or Message Broker Toolkit) and Process modeler (3 year): Creating processes on Web sphere integrator Developer for the IBM ESB. Setting up of registry for lookup.
Oracle Service Bus 11: Design and deploying of the OSB projects and coding proxy services.
Mainframe and mainframe connectivity (Total 3 years):Used JACADA, IBM’s CICS Gateway for CICS connectivity to MQSeries workflow and prepared tools for creating Metaserver CICS plugin. Experience coding CICS programs and worked with COBOL on mainframe using VSAM files and DB2 as well with MF Cobol on windows, experience with KEY 4.1 from sterling software, worked on MVS and have written JCL. Have some experience on OS/390 with recent client.
Core Java, databases, XML, Operating systems – 12 YearsCore Java: Java Thread based applications, Java design patterns, decoupled reusable module design, Spring based dependency injected applications, Java RMI and socket based applicationsXML: XML schema design, XSL parsing, XML parsing with digester and Jaxb streaming APIDatabases: Oracle 8/9/10. PL/SQL coding, SQL coding report design with extensive SQL coding, SQL joins and used Oracle Types. DB2, MySQL, SQL Server, SQL Server procedures coding. Database ERD design with ERWin, generated and maintained the database schema.Eclipse plugins design: Design the Eclipse plugin design. Design of extension points, GUI coding (SWT/JFace), design the eclipse MVC platform/abstraction. Integrated to the existing RAD plugins. Designed the persistence objects using the EMF and their graphical workflow view with GEF and creation of related APIs. Unix: Written UNIX Shell script on Solaris and AIX.Software Methodologies: Agile, RUP and Waterfall. Most recently worked with Agile development and test driven development.
Work History
Scotia Bank ITrade Mobile - Lead Mobile/Services Developer/Architect
Scotia iTrade – (May 2012 – September 2012)
J2EE, CSS, Spring 3.0, Oracle 10G, Junit, JQuery, Dojo Mobile, Hibernate, Android, iPhone, Blackberry, Kony, Facebook, linked link with spring social media.
iTrade application’s next version needed to go in production with the fund transfer, watch lists, check watch list quotes without logging in the system, security and performance improvements. Project needed help to quickly identify and fix the issues related to performance and stability. This is what I did and now application is in final phase of going in production next month.
Coded Banking Fund transfer ability to iTrade.Improved performance of iTrade mobile application. Issues with global variables, workflow cache clearing, and reduced amount of data transferred between mobile devices to the server.Fixed list of issues, improved the middleware architecture and error handling to the banking service calls.
Rogers - Lead Developer/Architect
Business Wireless Customer Billing Web Site – (May 2010 – May 2012)
J2EE, Struts 1.3, JSTL, Freemarker, CSS, Spring 3.0, Oracle 10G, Junit, JQuery, highcharts, Oracle Service Bus 11, Weblogic 9, Siteminder, Hibernate
This is the wireless business customer web site. Criticality of the application is to handle the volume and meeting the SLA for up time. So as the pressure to put the well tested code. Challenges on the UI side were defining the groups and department trees showing charges based on the grouping, handling the pagination of big result set. Web services were used to connect to different billing systems within Rogers and defined interfaces and accepting the payments using the Oracle Service Bus. Single Sign on integrate with Rogers.comCoded on both Front end, backend as well architecting the changes and optimization of integration to data feeds, performance improvement and presenting the billing grouped by custom groups.
Bank of Montreal - Sr. J2EE Developer
Customer Information and Payment Gateway – (December ‘2009 – May 2010)
J2EE, Struts 1.3, Oracle 10G, Junit, Web services related technologies (J2EE services design with WebMethods 7, Solaris)
At BMO I worked on the Customer Information and Payment Gateway (CIPG), a banking portal dealing with ACH, Wires SWIFTs and customer billing. Part that I worked on does the integration/monitoring work for the files going into different systems.This includes defining the web services using WSDL, publishing the schemas, coding the related web services in java and automating and load testing the services and maintaining the site to monitor and configure those services. Website adds visibility into the integrated systems.
Point Click Care (SAAS for Nursing Homes) - Sr. J2EE Developer
Client Care nursing module – (June ‘2009 – December’ 2009)
J2EE, Struts 1.3, Hibernate 3, Oracle 10G, Ajax, JQuery
SAAS: PointClickCare offers a complete solution to Long Term Care Providers of all types and sizes, ranging from independent skilled nursing facilities to large corporate chains and Continuing Care Retirement Communities.
System needed modification/migration/bug fixes of the old code written on Servlets and JSP to JSP/Struts. Data layer was also written in proprietary ORM layer and in process to be replaced by Hibernate layer. Challenge was to understand the current system take the new requirement and rewrite the code to use the Hibernate objects and use the Struts tag libraries/ Ajax Java script toolkit and made JSP more manageable. Reports were written using the Jasper reporting tool.
OLG (Ontario Lottery and Gaming) - Sr. J2EE Developer
Table Games and Management System – (Aug ‘2007 – June 2009)
J2EE, Web sphere 6.1, Web sphere MQ, Message Broker, LDAP authentication, struts, JSPs, hibernate and YUI java script toolkit
This system tracks the patrons playing Tables games (Black jack/ Roulette etc.) at the OLG run casinos. Coded modules for accurate tracking controls the rewards and complements patrons receive.During one and half year I was involved in initial design decisions, creating prototypes and implementing a successful web based system that is used on tablet devices as well.Heavy coding using YUI java script toolset, struts and extensive hibernate performance optimization are done by to bring this web based system up and running. I created lots of Sortable tables, client side as well as server side pagination, YUI panels, Ajax calls to submit and retrieval of some of the web panels. Created all java scripts in proper name spacing. Event based programming of some of the web pages using the YUI framework. Extensive use of struts tag library, error handlings, tiles and dyna forms were also some the highlights of project.LDAP authentication was used in a single sign on and the gaming table utilization pages fed IBM Web sphere portal. Involved in data modeling was done on ER Studio. Optimized on the heavy batch processing, clustering the Web sphere, use the cluster safe cache and Digi device integration for the card swipes are also some of the features I would like to highlight for this project.ESB Integration: Player registry, player’s rewards information from slots and table games, printing and BI databases were integrated through the ESB layer. Web sphere Integration Developer was used to create the integration processes. Integration work on this project included setting of policies for ESB, monitoring the processes, locating the services through WSRR and setting up the security
Emergis (bought by Telus) - Sr. J2EE Developer
Dental Claims Payment Processing – (April ‘2006 – Aug. 2007)
Oracle 10G, stored procedures PL/SQL, Web services and SOA using WSDL/ SOAP, Struts, JSP, webmethods 6
Dental Claim benefits system was designed using the principles of SOA. The system takes care of receiving of the claims or pre determination and complete processing including evaluation, printing checks and feeding the insurance companies with the processing details.I was responsible of maintaining the schemas for all the interfaces to the Payment system and routing of (XML and EDI) records within the Payment system. This involved creation of routing logic (ESB layer) within and outside the Payment system that route the claims received from trading partners through the adjudication, logging, payment and eventually billing. Webmethods was used to orchestrate the interaction. I coded the GUI layer that allow the users to query the payment, submit the replacements, put the notes and adjudicate the claims from the point it is received to the point where the claim is eventually paid. Weblogic was our web server and we used the Struts and Spring frameworks with data persistence using hibernate. Extensive experience with BEA WebLogic Portal, work includes implementing single sign on, potlet integration, designing the services around portlets, content management and addition of searching capability. The database was Oracle 10G. Stored procedures and triggers did most of the batch processing. System was implemented using J2EE best practices with the data layer as hibernate for dental part and EJBs for interaction to drug part of the system. FOP and Jasper for reporting.
Sircon - Sr. J2EE Developer
Product Sircon’s (Product to help hiring of insurance agents)– (October ‘2005 – April ‘2006)
Oracle 10G, stored procedures, PL/SQL,BEA Weblogic. J2EE, Front end/Back end design
Sircon is the company creating products for insurance industry, hiring of the agents following the government compliance and numerous other products relating the insurance industry compliance.This project was a web based system to complete the workflows of receiving agent lead to hiring of the agent going through the different level of approval.Lead developer/designer in integrating the system through spring framework. Extensively used the struts and Spring framework for GUI and various dependency injections through spring. Worked on designing the tag libraries, tiles, various JSP pages and velocity templates for generating letters. Used the EJBs and JDO persistence layer with Weblogic and Oracle database. Wrote various build scripts, worked on principles of extreme programming with Agile methodology and test driven development. Junit and Jmock were used to create the testing framework for unit tests. Designed the data feed in and out of the system through web services and AXIS clients. Created an ESB layer for logically routing the data between various Sircon maintained portals. Created reports with Crystal Reports, Jasper and FOP.
IBM - Sr. J2EE Developer
Jmystiq (Issues categorization and enhanced action tracing tool among IBM products) – (November ‘2003 – October 2005)
IBM Web sphere, Websphere MQ, Websphere MQ Integrator
IBM’s research based project for bug tracking and defect projections. This product uses the J2EE on the IBM WebSphere platforms. This product integrates to IBM web portal to give the clients ability to do the defect analysis. I was responsible to code the back end persistence and rules using the EJB persistence layer and client side interfaces. I also designed the web services to provide the interfaces to this application.Extensive use of complete J2EE architecture. Design and coding was done following the guidelines of Agile and extreme programming using the rational unified process (RUP).Designed the consumer and server side interfaces.Creation of ESB for the asynchronous web services implementation using Web sphere MQ. Programming with WSDL/SOAP and UDDI interfaces in RAD.
IBM - Sr. J2EE Developer (Continued )
Problem Classification plug-ins
Java, Eclipse Plugins
This project delivers the plug-ins to go in Ration Application Development (RAD) for capturing of the production problems and doing the analysis. Designed the physical plugin architecture. Analysis and design on extension points, integrating to extensions, coding the SWT/JFace and integrating to RAD’s plugins. Designed the persistence objects using the EMF and their graphical workflow view with GEF and creation of related APIs. Designed the Eclipse wizard, view, and editors for various perspectives of the plugins. Database persistence worked with hibernate using the abstract layer of Data Access Objects. JUnit for testing the modules.
Workplace and Safety Insurance Board (WS&IB) - Sr. J2EE Developer
Web based Collection system – (December ‘2002 – November 2003)
WMQI (currently called Message Broker), Java, J2EE
As part of enterprise wide integration WSIB integrated the Payment and collection system and using the People Soft and WMQI. Using Struts, EJBs, XSL and XML technologies this system was implemented on the IBM WebSphere Aix platforms. Collection operators worked on the system for the collection activities required on the account and feeding the payment system with collection information.JMS and WMQI are used to talk to People Soft Accounting system and legacy systems. Legacy system was on Mainframe/Cobol/DB2, I was responsible to analyze the system code, the extraction of data and create functional specs of the current system for the design of new collection system.Designed the WMQI interfaces to the new collection system. WMQI interfaces were created to extract the information from payment system and pass it to legacy collection system, feed the collection activities to the payment system and the interfaces available to and from the Collection system to various other mainframe systems.
Karora Technologies - Sr. J2EE Developer
Web based content management tool – (May '2001 –December ‘2002)
Java, J2EE, Web Development with Struts
I was responsible for designing and coding of web-based client for Document Management System. We used taglibs, struts for MVC design and we publish URL interface for all our pages which client can use to tightly integrate other products, the workflow integration of this product is done by using SOAP RPC, Digester was used for reading the XML files and Log4j for logging, implementation was done on WebSphere and Weblogic. This product was coded using J2EE and JMS. Implementation was done on SQLServer 7.0. I was also responsible for setting up the environment for SQLServer 7.0 and creating/ maintaining the database schema for SQLServer and MSAccess. I was also responsible in writing migration scripts for new versions of schemas.
Karora Technologies - Sr. J2EE Developer (Continued )
XML Connector – (May '2001 –December ‘2002)
Java, J2EE This was the core product of karora which was used with MQSeries and MQSeries integrator for inbound and outbound message transformation, capturing and publishing events, managing workflow and for archiving of content metadata on DocConnector, extensive coding of MQSeries with Java and with XML. Custom design wrappers and filters for workflows.
Karora Technologies - Sr. J2EE Developer (Continued )
AppConnector – (May '2001 –December ‘2002)
Java, J2EE This tool does screen scrapping from CICS and windows screen, xml maintains the mapping and GUI tool gives the point and click mapping power to grab data without cut and paste of individual fields.
Metaserver Inc. - Sr. J2EE Developer
Product Metaserver – (May '99 - May 2001)
Core Java, J2EE
Worked in a business process integration product's design and development. Please refer to http://www.metaserver.com for more detail of the product.The tools I created builds component for CICS JACADA connection, JDBC, IBM MQseries, EJBs and JSPs. These components gave user the GUI tool specifying input outputs and choosing stored procedures, mainframe screens, message queues, EJBs etc., tool then generates code for those components which can be deployed in Metaserver engine and run by Metaserver tasks. End user need not be a software engineer to create and integrate all these components and run the business processes. The technologies used were XML, XSL, Java swing, JMS, IBM MQSeries, Sonic MQ, EJBs, JDBC, JSPs, Java RMI, JNDI, Oracle, SQLServer, JACADA, CICS, and AS400. Refer to http://www.metaserver.com for detail description of these components. I was also involved in the development of Metaserver modeling environment, making wizards for building editor, macro translators, integrating browser to the tool and Java Help. I was also involved in implementing Metaserver and using its connectors of WAP, EJBs and JSPs for its customers. Client implementation (One year and four months): In the client implementation we integrated the existing EIP system to legacy system; Metaserver engine was responsible to bring data from CICS system and legacy MQSeries system to the Web. I was also responsible for setting up of the test environment of MQSeries on AIX.
Newyork state Higher Education. - Developer
Student Loan processing system – (April '98 - May'99)
Visual C++, MFC, Windows 98, Key 4.2, Visual Basic 5.0/6.0, MS ACCESS, ORACLE, CICS, MQ Series, ADO, JavaScript, Java 2.0, JDBC, Java Swing.
This was a student loan processing system for tracking and processing of loans. It keeps track of all the applications made by students, loans awarded and feedback received from the schools, budget allocation, funds details and passes loan analysis to the state and does analysis of various statistical information from other interfaces keeping information and fund allocation of other states. The primary responsibilities were interaction with users and design of the classes, creation and approval on data model, development of user interfaces, coding in Visual C++, MFC, suggesting the methods to take the objects in Key to C++ classes, supporting the Visual basic applications, writing of the reports. Worked extensively on user interface using Visual C++, MFC classes, coded some lightweight COM objects with ATL. Worked on database using ADO and ODBC. On server side I wrote some Shell script programs on SCO UNIX. Did some administrative tasks on Unix, used utilities like grep, awk and egrep. Worked on Java applets, servlets, java beans and JDBC Corba 3-tier Client system. Used JavaScript for setting the cookies, client side validation and forms creation. Worked on Java threads, AWT, java.net, sockets and utility package.
MCI - Developer
Credit and Account Receivable System – (June’ 97 - April'98)
Visual C++, Win 32, MFC, Sun Unix, Windows 95, ORACLE 8.0, Unix Solaris.
This project facilitated the credit and account collection for MCI customers. This system maintains and records the account information of residential and business customers using MCI long distance services and receives information from Local call system for billing purposes. Sends customers feedback of their dues and helps MCI analyze the distribution and collection of funds. Windows coding on C++, Visual C++, ODBC interface and coding, version control and testing, code reviews, coding of COM and DCOM objects, Active X controls, extensive use of MFC classes, data model preparation. Received Java training for Internet application development and two applets. Worked on Winsock, CDC and template collection classes. Used the ATL for lightweight COM objects and created integrated some of the COM objects in my application.Design some C++ classes from very beginning till the implementation.Wrote programs in Korn shell script.
Deutsche Bank - Sr. Developer
Credit Control Automation and Marketing System (MAY '96 - JUNE '97)
Visual C++, Win32, MFC, C, Windows NT, Windows 95, DB2/2, DB2 UDB, KEY 4.2, COBOL, and AIX.This project was developed for assessing the credit rating of borrowers expecting loans from the Bank. Based on the Deutsche Bank credit rating policies this system makes the scored groups, calculates risk scores for borrowers seeking loans from Deutsche bank. This system maintains the customer details, account information and history of their business and stock market values, takes data from various market forces and does analysis on that data, helps managers taking credit risk decisions.I was responsible in interfaces of the system to various other modules that capture the customer’s details, market standing and Deutsche bank credit analysis. Coding in visual C++ and MFC, Writing of Stored procedures and triggers, Distributed DB2 database design for a specific requirement of split updates at two different locations, worked with DB2 Transaction manager.
LEC INDIA Ltd. - Developer
Agrono Cold and Slaughter House, Denmark.– (OCT '95 - APR '96)
Unix, C, MFC, Visual C++, TCP/IP, Unix Shell Programming, Korn Shell programming, DB2, DB2/2, MVS Mainframe, JCL, COBOL II, MF COBOL, ODBC, VSAM files, CICS, MQSeries.
This project was for on-line data maintenance of slaughtering and storing of pigs, their availability in cold storage, packing and sales. Development was based on Rumbaug's Object Modeling Technique with three-tier client server technology. This project gives online pig's availability, stage in packaging and slaughtering process. As a team leader of five, was responsible for design and implementation of four classes Customer, Stock, Purchase Order and Business Unit.Windows programmer, Coded Programs in Visual C++, OLE Automation, and ODBC.Mainframe data capture, JCL coding, reengineering of some CICS screens, COBOL II and MF COBOL coding. I was also responsible for code reviews, designing and coding standards.
CMC Limited - Developer
Information system for Rock Phosphate Mines – (FEB '94 - SEP '95)
ORACLE 7.0, LBMS SYSTEM ENGINEER 6.0, PC PENTIUM CLIENT, UNIX Solaris SERVERS, Windows SDK, C, Pro*C, Visual Basic, Unix Shell script, TCP/IP.
This system had five modules production information system, marketing and sales information system, personnel information system, financial accounting system and equipment maintenance system, Collection of shifts data and analysis and reporting on that. Marketing and sales analysis and decision support. Coding of mining Graphs and extraction of information, security modules and bar coding. The Challenge of this project was that all the modules were linked. As a team member I worked for two modules production and marketing which contained lot of complexities. I designed and maintained the data model and Relational Schema of about 30 entities, wrote reports in Pro*C, worked with mining Graphical modules, designed seven classes, wrote shell script administrative procedures.
National Thermal Power Corporation - Developer
Storage and control of Generation data – (AUG '93 - FEB '94)
PC 486, SCO UNIX, Solaris, C and Windows SDKThis project consisted of two subsystems, Local monitoring system and Head office subsystem. Coding of local monitoring system at NTCP plants, display frequency and voltage of power lines from the plant. Users got the ASCII interface and we coded the system in C. All these local monitoring systems were connected to Delhi head office system. At Delhi office windows interface was given and coding was done using Windows SDK.As a member of the implementation team for local monitoring system, I was responsible for maintenance (Coding) and implementation of the system, providing software requirements, specification documents and functional design document.
Education:
B.S. in Computer Engineering, Regional Engineering College, India (1989 -1993)
Sun Certification for Java 1.4 Programming
Sun Certification for Java 1.1 Programming
Certificate Course in Financial Management, Indian Institute of Science, India