Java EE Architecture with the Spring Framework Peter Thomas

Similar documents
Beginning POJOs. From Novice to Professional. Brian Sam-Bodden

Rapid Application Development. and Application Generation Tools. Walter Knesel

Enterprise Application Development In Java with AJAX and ORM

JAVA/J2EE DEVELOPER RESUME

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

OUR COURSES 19 November All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan Göteborg Sweden

Welcome to Spring Forward September 26, 2006 Penn State Great Valley

OpenShift is FanPaaStic For Java EE. By Shekhar Gulati Promo Code JUDCON.IN

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

Java EE 7: Back-End Server Application Development

Aspect-oriented Refactoring of a J2EE Framework for Security and Validation Concerns

Grails: Accelerating J2EE Application Development

Education Institute Year Graduated

Mastering Tomcat Development

<Insert Picture Here> Building a Complex Web Application Using ADF and Siebel

Spring 3.1 to 3.2 in a Nutshell. Sam Brannen Senior Software Consultant

Jenkins User Conference Herzelia, July #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP

Portals, Portlets & Liferay Platform

ActiveVOS Server Architecture. March 2009

This training is targeted at System Administrators and developers wanting to understand more about administering a WebLogic instance.

COMPARISON BETWEEN SPRING AND ASP.NET FRAMEWORKS

Net-WMS FP Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT. Networked Businesses. D.8.1 Networked architecture J2EE compliant

Agile Best Practices and Patterns for Success on an Agile Software development project.

Resume of Victor Kachan (Web developer, Java developer)

UNIVERSITY OF ILLINOIS AT CHICAGO University of Illinois Ready

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions

the first thing that comes to mind when you think about unit testing? If you re a Java developer, it s probably JUnit, since the

Operations and Monitoring with Spring

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

Framework Adoption for Java Enterprise Application Development

The Oracle Fusion Development Platform

Java EE 6 development with Eclipse, Netbeans, IntelliJ and GlassFish. Ludovic Champenois Oracle Corporation

Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

Customer Bank Account Management System Technical Specification Document

APAC WebLogic Suite Workshop Oracle Parcel Service Overview. Jeffrey West Application Grid Product Management

Research Article. ISSN (Print) *Corresponding author Lili Wang

CrownPeak Java Web Hosting. Version 0.20

JEE Web Applications Jeff Zhuk

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

Open For Business in a Nutshell

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

A Comparison of Open Source Application Development Frameworks for the Enterprise

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

CloudCERT (Testbed framework to exercise critical infrastructure protection)

Complete Java Web Development

Nicholas S. Williams. wrox. A Wiley Brand

The Spring Framework: An Open Source Java Platform for Developing Robust Java Applications

Architecture Rules Enforcement and Governance Using Aspects

How To Write A Web Framework In Java

A Guide to Migrating Enterprise Applications to Spring

Developing modular Java applications

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

Curriculum Vitae. Samuel H. Brannen, Jr. Auf der Grueb Meilen Switzerland sam [at] sambrannen [dot] com

OXAGILE RESUMES SUMMARY OF QUALIFICATIONS TECHNICAL SKILLS SENIOR JAVA SOFTWARE ENGINEER

ENGINEER - DEVELOPER ADVANCED JAVA. 28 years old - 7 years of experience

Building Web Services with Apache Axis2

Running and Testing Java EE Applications in Embedded Mode with JupEEter Framework

Rapid Server Side Java Development Using Spring Roo. Christian Tzolov Technical Lead, TTSD, TomTom BV 12/05/2010

Programma corso di formazione J2EE

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

Architecture Guide Jahia EE v6.1

Research into Testing Service Oriented Architectures: Preliminary Report, November 2006

Migration and Developer Productivity Solutions Retargeting IT for Emerging Business Needs

SpagoBI exo Tomcat Installation Manual

JBoss JEE5 with EJB3.0 on NonStop. JAVA SIG, San Jose

SSC - Web development Model-View-Controller for Java web application development

Core Java+ J2EE+Struts+Hibernate+Spring

Web and Enterprise Applications Developer Track

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Das Spring Framework - Einführung in leichtgewichtige J2EE Architektur. Jürgen Höller. Organized by:

Performance Optimization For Operational Risk Management Application On Azure Platform

Java Platform, Enterprise Edition (Java EE) From Yes-M Systems LLC Length: Approx 3 weeks/30 hours Audience: Students with experience in Java SE

Design Approaches of Web Application with Efficient Performance in JAVA

Case Study. Web Application for Financial & Economic Data Analysis Brainvire Infotech Pvt. Ltd Page 1 of 1

UBS Training Course Catalog

Creating Web Services Applications with IntelliJ IDEA

Coding in Industry. David Berry Director of Engineering Qualcomm Cambridge Ltd

XQuery Web Apps. for Java Developers

Karthikeyan Sadayamuthu Senior Java Developer Mobile: (470)

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

Department of Elementary and Secondary Education Role: Sr. Java Developer

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Core J2EE Patterns, Frameworks and Micro Architectures

2016 TRAINING CALENDAR

Learning GlassFish for Tomcat Users

SPRING INTERVIEW QUESTIONS

Chapter -5 SCALABILITY AND AVAILABILITY

Introduction to Apache Roller. Matt Raible Apache Roller Committer June 2007

Lessons learned from a large scale OSGi web app. Jago de Vreede Paul Bakker

Ruby on Rails in GlassFish Sun Microsystems

What is new for HP LoadRunner and Performance Center 11.52

ORM IN WEB PROGRAMMING. Course project report for 6WW Erik Wang

Web-JISIS 10 March 2016 Reference Manual

This presentation is for informational purposes only and may not be incorporated into a contract or agreement.

HPC PORTAL DEVELOPMENT PLATFORM

Converting Java EE Applications into OSGi Applications

Course Name: Course in JSP Course Code: P5

Database Application Design and Development. What You Should Know by Now

Open Source SOA with Service Component Architecture and Apache Tuscany. Jean-Sebastien Delfino Mario Antollini Raymond Feng

Transcription:

Java EE Architecture with the Spring Framework Peter Thomas Peter Thomas Satyam Computer Services Ltd. 1

Overview Spring: quick intro JTrac a real-life Spring web-app Architecture DI / IoC Spring DAO / Hibernate support Spring AOP / Declarative TX Spring MVC / Webflow Acegi Security Framework Spring Modules Spring implications Selected best practices 2

Spring History Feb 2003: SourceForge Project founded Nov 2002 Aug 2003: 1.0 M1 Jul 2004 Mar 2004: 1.0 3

JTrac http://jtrac.info JTrac: highly customizable issue tracking 4

JTrac Architecture JSP / JSTL Presentation Spring MVC Service Spring Security (Acegi) Spring WebFlow POJO POJO POJO Spring AOP Spring Context (DI / IoC container) Spring TX Spring DAO / Hibernate Support Persistence Hibernate 3 Database 5

Dependency Injection JtracImpl.java 6

Dependency Injection (2) Controllers Service Interface Service Implementation DAO Interface DAO Implementation 7

Hibernate with Spring One liners Template pattern No need to deal with TX, Session etc. 8

Spring DAO Exception Hierarchy 9

Spring AOP / Declarative TX Mgmt. Controllers Service Interface jtrac TX Proxy jtractarget Service Implementation DAO Interface DAO Implementation 10

Spring AOP (contd ) MVC Action Spring TX Proxy (AOP) Service Layer Method call DAO method 11

Spring Web Flow Logical View Name State Transitions backend logic call (normal Java method) Flow Decision Re-usable Flow invocation submit userform Handler Space == null? yes user Allocate Flow userform no cancel userlist View 12

Security with Acegi Any other request has to be allowed only for authenticated users any URL request within the /admin/ directory or path can only be allowed for ROLE_ADMIN 13

Spring Modules example: Lucene 14

JTrac: Spring implications Application deployed as a WAR file Portable: Tomcat, Jetty, JBoss or any Java EE app server Easily unit-testable Faster build-deploy-test cycles Clean OO design, designed to interfaces No EJBs No Singletons No Service Locator / JNDI lookup No custom Factory Pattern implementation No DTOs / VOs No Annotations (optional) JSTL / JSP 15

Why not RoR :) Spring Hibernate Lazy Loading HSQLDB Jetty Embedded database Small footprint Embedded app-server + web server! Libraries i18n JavaSVN, JFreeChart, Lucene, Apache POI 16

Notable in Spring 2.0 Async task execution Portlet MVC Use Groovy, JRuby etc. for config MVC: Custom taglib for form controls (like Struts) Message driven POJOs JPA support Simplified XML config option AspectJ integration 17

Agile Development with Spring + Hibernate Spring No need of container JUnit support classes POJOs inherently easy to test Hibernate Completely abstracts DB HSQLDB can be used for testing Unit tests can assume that DB exists, no mocks reqd. clean compile db-start db-create test db-stop reports Delete all previous build artifacts / database files from file system Compile all code and unit tests Boot a fresh instance of the HSQLDB database server Connect to the database and forward-generate the schema from the mapping files using Hibernate. Run unit-tests. Shutdown database. Generate Reports 18

DEMO Unit + Integration Testing 19

Watij [ http://watij.com/ ] A new class of web test automation tools Watir Web Application Testing in Ruby Selenium Watij Web Application Testing in Java Focus on using a real browser, not simulating one Especially important when lots of Javascript / AJAX 20

Watij Features Write tests in pure Java Interactively script tests using BeanShell Possible to drive tests using JUnit No setup required on the Server Under Test Support for nested tables, frames Good popup and multi-window support And also brute-force keystroke support 21

Watij in conjunction with JUnit 22

DEMO Watij Driving functional tests with JUnit 23

Thank you http://jtrac.info 24