10 tips on how to prevent business value risk
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Floyd Marinescu on Oct 03, 2006
After nearly a year since the first announcements, Spring 2 final has gone live. Soon after the release their servers became unavailable due to all the downloads, but the problem has been corrected. :) Spring 2 adds new simplified and extensible XML configuration, AOP enhancements and AspectJ integration, asynchronous JMS, first class JPA support, dynamic language support, OSGi, portlet support and MVC enhancements. A landing page for all things Spring 2 has been setup at: springframework.org/go-2.0."We believe that version 2.0 going GA is a major advance for Spring Framework users and enterprise Java overall," said Rod Johnson. Rod continued:
- Extensible XML configuration, built around XML schema, with the ability to create namespaces defining custom elements that can be reused as building blocks. This feature enables many common tasks to be simplified through custom tags shipped with Spring itself, organized into namespaces around areas such as AOP, Java EE integration and transaction management. It also provides a major benefit for the many third party products that use Spring internally, such as Mule, and is important to large enterprise users who want to define configuration extensions for use across very large projects.
- Major improvements in Spring's support for Aspect Oriented Programming (AOP). Spring 2.0 evolves Spring's AOP framework to take advantage of the powerful AspectJ pointcut expression language, which provides a sophisticated way of identifying points in the execution of an application to which aspect behavior should apply. Spring 2.0 allows Spring users to leverage the powerful and elegant AspectJ programming model with the Spring runtime, preserving the zero cost of adoption of Spring AOP. The AspectJ programming model delivers many advantages beyond interception-based programming models, such as type-safe matching, avoiding the potential for brittle assumptions regarding method arguments and return types. Through enabling key elements of the AspectJ programming model "natively" in the Spring Framework, Spring users gain the unique advantage of a single programming model for all AOP requirements, being able to use the same concepts and constructs if they choose to use AspectJ in addition to Spring. Spring 2.0 provides a complete roadmap for AOP usage, meeting the needs of all users, whether or not they simply want to use Spring’s out of the box declarative services such as transaction management, want to use Spring AOP for custom aspects or want to use AspectJ for the most demanding AOP scenarios.
- Improved functionality for JMS messaging, including a sophisticated capability for asynchronous message consumption both within and outside a J2EE environment. The latter supports local JMS transactions as well as XA transactions, and can be integrated with any kind of thread pool through Spring 2.0's new TaskExecutor abstraction.
- Numerous features designed to take advantage of language improvements in Java 5 for customers who have already updated their environments.
- The extension of the Spring component model to support dynamic languages running on the JVM, including JRuby, Groovy and BeanShell. As of Spring 2.0, the Spring component model is cross language, and any Spring bean can be coded in a choice of languages. Regardless of language, all Spring components enjoy the full range of Spring services, such as Dependency Injection and enterprise services such as declarative transaction management and JMX export.
- Improvements in Spring MVC web framework, including additional defaulting and a new JSP tag library that simplifies form authoring.
- Addition of a Portlet MVC framework that provides similar benefits to Spring MVC for developing Portlet-based web applicwations. This has been one of the most common requests from the Spring community.
- First-class integration with the Java Persistence API (JPA) standard for object-relational mapping, with Spring able to provide both the Java SE and Java EE contracts for hosting a JPA persistence provider, and processing JPA annotations such as @PersistenceContext. This extends Spring’s comprehensive architectural solution to data access to span an important new technology.
- Numerous enhancements in the core Inversion of Control container, including the addition of custom scopes for Spring beans (with HTTP session and request scopes out of the box), and further extension points for use by the growing number of third party frameworks building on Spring, including the Pitchfork project used in the next release of WebLogic Server.
The Spring Framework pioneered the concept of developing sophisticated applications from plain Java Objects (POJOs), and continues to set the benchmark for POJO development. The fact that Spring 2.0 is backward compatible confirms the power of what we call a 'non-invasive' POJO-based programming model, and the quality and flexibility of the Spring Framework's architecture. Users who have invested in applications built on Spring can rely on us for a stable upgrade path."On next steps, Keith Donald told InfoQ:
We're going to follow this up with more 2.0 examples and screencasts on www.springframework.org/go-2.0. We're working with the Maven 2 team to get the 2.0 jars in the Maven 2 repository as soon as responsibly possible. Spring Web Flow 1.0 final will follow next week, with 1.0 RC4 going out tommorrow to leave time for any lingering issues there.Congrats Spring team!
What a week, it could only be topped by Sun releasing JSE 6. Well done Rod Spring folk!
-John-
OSGi support is not in Spring 2.0, it is currently on the plan for version 2.1.
Neil,
Yes, OSGi integration will follow Spring 2.0. It is scheduled for inclusion in Spring 2.1, but a separate download should be available in the meantime. Spring 2.0 itself does contain a number of minor changes required to work well with OSGi, so some of the background work has already been done in the Spring core.
Rgds
Rod
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.
John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.
Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.
Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.
Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?
Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.
3 comments
Watch Thread Reply