28
What’s new in Stack 3.2 What’s new in Stack 3.2 Michael Youngstrom

What’s new in Stack 3.2 Michael Youngstrom. Disclaimer This IS a presentation – So sit back and relax Please ask questions

Embed Size (px)

Citation preview

What’s new in Stack 3.2What’s new in Stack 3.2Michael Youngstrom

Disclaimer

• This IS a presentation– So sit back and relax

• Please ask questions

• Upgrade Libraries• Backwards Compatibility Improvements• New and improved Tools• Simplify build process and Improve build

promotion orchestration

• Upgrade Libraries• Backwards Compatibility Improvements• New and improved Tools• Simplify build process and Improve build

promotion orchestration

Library Upgrades

• JDK 7 Support– JDK 6 required if using Interscope

• Tomcat 7• Spring 3.1• Hibernate 4.1• CXF 2.5

JDK 7

• Try with resources• Multi catch• Nio 2• Fork Join Framework• Better Dynamic Language Support• Diamond ‘<>’ Operator• Strings in ‘switch’

Tomcat 7

• Servlet 3 support– Standard File Upload API– Java configuration– Improved servlet and filter patterns– Serve files out of jar– Async request handling– Many more!

• New lite JDBC Connection Pooler

Spring 3.1

• Servlet 3 Improvements– Standard File Upload– Java configuration

• Spring MVC improvements– produce/consume– Flash Scope

• Configuration Profile Support• Improved Java Config• Cache abstraction

Hibernate 4.1 and CXF 2.5

• Hibernate 4.1– Internals significantly redone– Bugs have been fixed

• CXF 2.5– Minor improvements

• Upgrade Libraries• Backwards Compatibility Improvements• New and improved Tools• Simplify build process and Improve build

promotion orchestration

Merger of Stack 2 and Stack 3

• Stack 2.x apps can be upgraded to Stack 3.2• Little or no code change

• Acegi replaced with Spring Security

• Develop and deploy on Tomcat• Same libraries as Stack 3.2• Looks and feels like Stack 2• Supports all Stack 3 features and bug fixes

How to Upgrade 2.x app?

• Schedule time with member of Stack team• Acquire Linux/Tomcat 7 environments• Reserve:– 2-3 days for migration– X weeks for:• New Environment setup• Full QA regression test

• Several projects upgraded already!

What about Stack 2.x?

• Stack 2.3 is last planned 2.x release• Websphere support is deprecated– No plans to support Websphere 8

• Stack team will support 2.x forever• Don’t expect new features• Expect our condolences

• Upgrade Libraries• Backwards Compatibility Improvements• New and improved Tools• Simplify build process and Improve build

promotion orchestration

DB Migrator 4.0

• Support for timestamp based Migrations– No more arbitrary version number– Out of order Script Execution– Support for Feature/Release Branches

• Inherited db properties• New Status Goal• 11g Syntax Support• Many other minor improvements• Expect a Migrator 4.0 training in the future

DB Migrator 4 DemoDB Migrator 4 Demo

Distributed Cache Support

• What is a Distributed Cache?– Maintenance of cache state across a cluster

Node 1

Node 2

DB

Request 1 Name

Change Name

Node 1 Cache:Name: Mike

Request Name

Got Mike

Got Mike

Changed to Fred

Distributed Cache Solution

• EhCache is the winner!– Simple library– Targets Caching– Pluggable cache transport

• Use Oracle Streams AQ (Buffered Msg)– Simple to set up• Infrastructure doesn’t support Multicast• Secure

– Decent Speed (2 ms)

Distributed Cache Notes

• Works with Spring Cache Abstraction• No Distributed Locking– Stable– No guaranteed cluster consistency– Upgrade to Ehcache+Terracotta if requirement

• No additional failure risk• EhCache supports easy memory tuning– Tune by Heap % or MB

LDS Account Integration Refactor

• Support for Pure Java WAM client– No Spring Security dependency (Client Lib

replacement)

• More Spring Security Friendly• Support for user proxy feature• Groundwork for future SAML support• Many more minor tweaks and enhancements

Open Web Maven Plugin

• Plugin to support Open Web Stack team build• Simple to integrate into build system• Tested to be Eclipse and Intellij friendly• Supports debugging of processed output• Note: Requires Node.JS

Test Runner

• Simplifies management of application Functional Tests

• We have a ‘qa’ module isn’t that enough?– Only runs as part of build not post build– Difficult to match app build with matching tests

Test Runner

• Creates QA Test bundle• Bundle is re-runnable– GUI, Maven, commandline, etc.

• Run functional tests against each environment• Currently uses TestNG• Works for Web UI and Service invocation tests• Future: Support for updating Test Cases

• Upgrade Libraries• Backwards Compatibility Improvements• New and improved Tools• Simplify build process and Improve build

promotion orchestration

Build Improvements

• Removed all deploy and functional test plugins from default maven build– mvn install– builds artifacts and runs unit/integration tests

• Add new ‘alm’ module for post build task orchestration– New concept of ‘Build Promotion’– Execute DB Migration->Deploy Application->Run

Functional tests in one step– Project team has control of process

Build Promotion in Anthill DemoBuild Promotion in Anthill Demo

Upgrade Notes

• Moderate risk upgrade from 3.1• Environments must be upgraded to Tomcat 7– Scripts for ASEs available

• Use Upgrade Notes:– http://code.lds.org/maven-sites/stack/upgrade-

notes.html

• LDS Account Integration may require some work• Simple upgrade won’t give you new build system

Summary

• Stack 3.2 builds on 3.1• New Features• Upgraded Libraries• Improved builds• Schedule an Upgrade!