Peng X. Liu
SUMMARY
*+ years of professional experience of application designs and developments in J2EE environment for various commercial industries such as finance services and telecom.
Deeply understanding on GoF Design Patterns, very solid knowledge on Design Patterns, UML, OOA/OOD/OOP/SOA, IoC, Web Service(Restful/Soap) and N-tier Architecture
Excellent understanding of Core Java concepts such as Collection Framework, Exception Handling, Reflection, Multi-Threading, Generics, etc.
Expertise in open source application framework such as Spring2/3, Hibernate 3, Struts 1/2 and EJB with Strong hand-on experience in their configuration, integration and implementation.
Strong hands on experience in the implementation of Spring IoC, Spring Cache, Spring AOP, Spring MVC, Spring Security, and Spring Dao Support.
Experts in Web Service, WSDL, XML schema, SOAP/XML/DOM/XSLT and JSON.
Expertise in Database Access frameworks including JDBC, Hibernate mapping, Hibernate Annotation, Spring 3 integrated with Hibernate.
Experienced in using HTML, CSS, Java Script, Angular.js, JQuery and AJAX for web page design.
Experience in writing SQL, PL/SQL, triggers, stored procedures on database.
Experience in using assistant tools in software development such as JUnit, QUnit, Ant, and Maven, CVS, SVN, etc.
Experience in major web applications servers including, Tomcat, WebLogic and JBoss.
Understanding of Software Development Life Cycle(SDLC), Practitioner of TDD, Agile Development and Daily Scrum to provide high quality products.
Strong analytical, math, problem-solving skills
Proactive and innovative team player proven to work under tight deadlines; capable of developing multiple projects and also can work efficiently as an individual.
Technical Skills
Programming languages
Java, C/C++, SQL, HQL, JavaScript, HTML5, CSS3
J2EE Technologies
JSP, Servlet, JDBC, JMS, EJB, JPA
Frameworks
Spring 2.x/3.x, Hibernate 3.x, Struts1/2, BootStrap, Angular.js
Web Technologies
AJAX, JSON, XML, JNDI, EJB, Responsive design
Web Services
RESTful, SOAP
Application Servers
Apache Tomcat, JBoss, WebLogic
Database
Oracle, MySQL, PostgreSQL
Testing/Control Tools
JUnit, Log4j, SonarQube, SVN, CVS, GitHub
IDE
Eclipse, NetBeans, Visual Studio
PROFESSIONAL EXPERIENCES:
Client: Lazard, New York, NY March 2013 - Present
Position: Sr. J2EE/Java Developer
Project: Client Service Dashboard (CSD)
Investor has an account with the firm, their account has stock, bond, foreign currency (foreign exchange), etc, custom service representative(CSR) needs account information to serve investors better. CSD will display financial data related to investor's account, such as, corporate action data, money transfer history, trading settlement data. When an investor calls CSR, for instance, why transferred money is still not in my account, CSR will tell the investor that, your money transfer request is still waiting for approval or is rejected with some reason.
Responsibilities:
Participated in Agile development of the entire project from gathering requirements, system design, development and integration testing.
Responsible for both front-end and back-end design and development of the web application.
Extensively used Core Java features including Collection Framework, Input/Output System, Exception Handling, Multithreading and Generics in the logic tier design,
Implemented the reporting service by using RESTful web service retrieving the data in JSON format.
Worked on server side using Java, J2EE, XML, Hibernate and Spring Framework. Made used of Spring IoC, AOP, Hibernate Dao Support and Annotation features.
Involved in performance Tuning with Hibernate Caching and Spring Cache to avoid unnecessary database access and repeated calculation.
Provided authentication and authorization to secure the application access by using Spring Security.
Create SQL query to access Oracle database and implemented DAO to maintain the data layer and used stored procedures to save and get the information to/from Database.
Integrated JavaMail API to send welcome message, money transfer transaction history, user account update and investment report when user sends a request
Used JUnit to test java functions with Unit Testing and Regression Testing.
Implemented Quartz to schedule the task of this application. Configured the quartz to automatically arrange the transaction history in the CSV file to store into the database at midnight every day.
Used SonarQube to measure code coverage, code standard compliance, code duplication, and unit test results.
Used Log4j inside the application for tracking logging information.
Used Eclipse for developing the application and CVS for version control.
Environment:
JDK 1.6, J2EE, Spring 3.0, Hibernate 3.2, HTML5, CSS3, JavaScript, JQuery, Ajax, DOM, XML, JSON, Oracle, Sybase, Eclipse, JavaMail, Junit4.8, log4j 1.2, SonarQube, Apache Tomcat 7.0
Client: Monmouth Telecom, Red Bank, NJ Feb 2011 - March 2013
Role: Java/J2EE Developer
Project: Online Payment System
This system implementation will automatically send customers billing information when monthly bill statement is ready. It also enables customers to view and pay their bills over the Internet using a credit/debit/ATM card. This application has different modules, like Enrollment for Online Billing, Payment Options, Payment Schedule Options, Payment Delivery Options, Payment History Tracking, E-mail Notifications, and Integration into the SSO Framework (Single Sign-on).
Responsibilities:
Participated in a small team under Agile software development.
Involved in all the phases of (SDLC) Software Development Life Cycle including analysis, designing, coding, testing and deployment of the application.
The backend logic was mainly fulfilled using Core Java concepts such as OOP, Exception handling, Collection Framework, Generics, Input/Output System, Multi-threading and Data Structures to implement various features.
Applied the Spring Security to improve the security of the system.
Adapted various design patterns like Business Delegate, Data Access Objects, MVC.
Used Spring framework to implement MVC Architecture.
Involved in implementation of RESTful web service to retrieve the user data format of JSON.
Extensively used Spring Ioc features with Spring framework for java bean management.
Developed DAO to handle queries using Hibernate and Transfer objects.
Used PL/SQL to write Stored Procedures, Triggers and SQL queries.
Implemented the monthly report using JavaMail.
Monitored the error logs using Log4j and fixed the problem.
Adapted Eclipse IDE for writing code.
Used SonarQube to measure code coverage, code standard compliance, code duplication, and unit test results.
Developed JUnit test cases in for each unit.
Extensively Used SVN for version control and source code management.
Environment:
Java6, J2EE, Hibernate 3, Spring 3.0, XML, JSP, JSTL, CSS, JavaScript, HTML, AJAX, Spring MVC, Spring Security, Log4j, Oracle10g, JUnit, UNIX, Apache Tomcat, SVN, REST Web service.
Client : Monmouth Telecom, Red Bank, NJ Feb 2010 - Feb 2011
Role: Java/J2EE Developer
Project: Commercial VoIP Management Systems
Monmouth Telecom is an integrated communications provider delivering a broad range of communications services to business and residential customers throughout New Jersey. The services consist of VoIP, voice and internet, and they are mainly provided to schools and businesses. This system offers multiple choices of VoIP installation plans based on the customer demand. Our VoIP Phone Service allows company to extend and manage their phone network with lowest cost.
Responsibilities:
Involved in the development of various Java beans and business components for user account, transaction history and ticket portfolio module using Core Java technology
Used HTML, CSS, JavaScript and JSP to develop front end GUI.
Applied Spring framework to implement MVC Architecture, using spring security validation Framework in the presentation layer, Spring IoC for Dependency injection.
Developed Hibernate Mapping file (.hbm.xml) files for mapping declaration
Implemented Hibernate framework connected to database. Wrote Hibernate mapping files for Java Beans.
Extensive use of core Java collections, generics, exception handling, I/O, etc.
Development of PL/SQL stored procedures
Implemented JAX-RS Web Services based on RESTful.
Used Junit to test Java function with Unit Testing and Regression Testing.
Used JIRA for bug tracking, issue tracking and project management.
Environment:
Java1.5, J2EE, JavaMail, AJAX, Spring 2.0, Spring MVC, Spring Security, Log4j, Hibernate 3, Oracle, JUnit, Web Service.
Client: Fulton Bank of New Jersey, Jackson, NJ Mar 2007 - Feb 2010
Role: Java/J2EE Developer
Project: Account Management System
The project was developed for credit cards and mortgage account application, management and maintenance for both internal administrators and external clients. It consists of the standalone application used by administrators to manage customer accounts and the web application used by external customers to open an account, access account history, perform transactions and manage their account on daily basis. The customer account and transaction information are maintained in a database.
Responsibilities:
Developed application service components and configured beans using Spring IoC, creation of Hibernate mapping files and generation of database schema.
Implemented Object-relation mapping(ORM) in the persistence layer using hibernate frame work in conjunction with Spring Aspect Oriented Programming (AOP) functionality.
Expertise in MVC Architecture using JSF and Struts framework and implementing custom tag libraries.
Implement scripting with Ajax, JQuery to dynamically refresh the page contents.
Used AJAX in suggestive search and to display dialog boxes.
Involved in writing JavaScript for dynamic manipulation of the elements on the screen and to validate the input.
Extensively worked with Oracle database for writing complex queries and PL/SQL for Stored Procedures, Triggers and Events, for generating some important responses needed by the application at times.
Involved in using different design patterns like Service Proxy Pattern, Singleton Pattern.
Hibernate framework is used in persistence layer for mapping an object-oriented domain model to a relational database (Oracle).
Extensively used Java, JSP to implement the core functionality.
Used XML Web Services using SOAP to transfer the amount to transfer application.
Log4j were used to log the various debug, error and informational messages at various levels
Environment:
Java 1.5, JSP, Servlet, Hibernate 3.x, Spring 2.x, AJAX, JavaScript, Eclipse, XML, Struts 2.0, Java Script, Oracle 10g, SQL, PL/SQL, Tomcat, Junit, Log4j.
EDUCATION
Bachelor of Science in Computer Science
Rutgers University, New Brunswick, NJ