2011 © EPAM Systems
www.epam.com <epam>
Hybrid Cloud for Continuous Delivering process
<EPAM title=“OPEN CAMP” year=“2011”>
<topic>Overview</topic>
<topic>Technology stack</topic>
<topic>Specific of spring annotation usage</topic>
<topic>Public API for EPAM CLOUD</topic>
<topic>Google Closure as front-end client</topic>
<topic>Real-time profiling and custom log
appender</topic>
</EPAM>
2011 © EPAM Systems
www.epam.com <epam>
OVERVIEW
SVN
PPRD SERVER
BUG TRACKING SYSTEM
QA SERVER PROD SERVER
2011 © EPAM Systems
www.epam.com <epam>
PRODUCT OWNERQA
DEVELOPER
USERS
ADMINISTRATOR
SVN
PPRD SERVER
BUG TRACKING SYSTEM
QA SERVER
1..N0..24 hr
PROD SERVER
OVERVIEW
2011 © EPAM Systems
www.epam.com <epam>
DEVELOPER
QAPRODUCT OWNER
ADMINISTRATOR
USERS
1..N0..24 hr
1..N0..24 hr
TECHNOLOGY STACK
Maven• Eclips, IntelliJ IDEA, Far• Automatic build• Versioning of libraries• t7:run
Spring Framework• Quick start• Security
Tomcat 7• Memory usage optimization• Web application memory leak detection and prevention• Versioning
2011 © EPAM Systems
www.epam.com <epam>
SPECIFIC OF SPRING ANNOTATION USAGE
XML ANNOTATION
…<!-- Network service --><bean id="networkService" class="com.maestro.web.service.NetworkService"></bean>…
…@Controller@RequestMapping(ENTRY_POINT_WIZARD)public class WizardFrontController extends AbstractAPIController {…
2011 © EPAM Systems
www.epam.com <epam>
SPECIFIC OF SPRING ANNOTATION USAGE
XML ANNOTATION
…<!-- Network service --><bean id="networkService" class="com.maestro.web.service.NetworkService"></bean>…
…@Controller@RequestMapping(ENTRY_POINT_WIZARD)public class WizardFrontController extends AbstractAPIController {…
2011 © EPAM Systems
www.epam.com <epam>
SPECIFIC OF SPRING ANNOTATION USAGE
2011 © EPAM Systems
www.epam.com <epam>
PUBLIC API FOR EPAM CLOUD
COMPREHENSIVE COMMON
COMPACT
TEMPLATE
2011 © EPAM Systems
www.epam.com <epam>
GOOGLE CLOSURE AS FRONT-END CLIENT
2011 © EPAM Systems
www.epam.com <epam>
GOOGLE CLOSURE AS FRONT-END CLIENT
2011 © EPAM Systems
www.epam.com <epam>
REAL-TIME PROFILING AND CUSTOM LOG APPENDER
System.out.println(<log message>);
2011 © EPAM Systems
www.epam.com <epam>
System.out.println(<log message>);
log4j
REAL-TIME PROFILING AND CUSTOM LOG APPENDER
2011 © EPAM Systems
www.epam.com <epam>
System.out.println(<method execution time>);
REAL-TIME PROFILING AND CUSTOM LOG APPENDER
2011 © EPAM Systems
www.epam.com <epam>
System.out.println(<method execution time>);
perf4j
REAL-TIME PROFILING AND CUSTOM LOG APPENDER
2011 © EPAM Systems
www.epam.com <epam>
QUESTIONS:
2011 © EPAM Systems
www.epam.com <epam>