Tuesday, November 30, 2010

Java EE 6

Lets talk about some of the major new features from JEE6, like profile, pruning, extensibility and ease of development. Web profile is targeted bundle of technology or other words stack of technology, profile can be sub set, super set or overlapping. here's stack from first web profile under JEE 6.

Servlet 3.0
JSP2.2
EL2.2
JSP Tag Library 1.2
JSF 2.0
EJB 3.1
Common Annotation for Java 1.1
Java Transaction API 1.1
JPA 2.0

While JEE6 provide you some new features, they are taking out some out dated feature sets, like JAX-RPC, EJB - Entity Bean and JAX-R.

Under Extensibility, JEE6 embrace Open Source Library and frameworks. Also, servlet, servlet filter and context get discovered and register for you. Provide zero configuration and scripting language can be used in some cases.
And of course, java CDI is answer for Spring DI and provide similar functionality to developers.

Overall JEE6 looks interesting and you might want to take a look at full stack from Sun, oops from Oracle :-)

Friday, November 19, 2010

What's new in Spring 3.1 - Part II

As you can see from my previous post, that I love talking about Spring Framework and recently in Spring 2GX, they have announced how Spring 3.1 will lay out. It surely looking promising as Spring team puts lots of thought behind each Spring framework milestone. Here are most of the features that you are going to see in Spring 3.1 world.

Scheduler Enhancement - you can schedule cron job to call from java bean, similar to timer bean..
Improve and support JEE6 - Continue to provide more feature enhancement for JEE6
Environment profiles for bean- I think this will be widlt used as this allow to have a profile for different environment, like development, test and production. In other words grouping bean definition for activation in specific environments.
Java based application configuration- I think this will help developers who does not want to deal with XML configuration and want to configure using annotation in java class.

@Configuration
Public class applicationConfiguration
{
@AutoWired
private DataSource ds;
@bean
public OrderDetail OrderDetail(){
return new OrderDetailImpl(ds);
....

}

}

Cache Abstraction- provide support for distributed caching that is specially useful for caching solution in cloud . Also will have common adopter for cache solution provider like EHCache. they have support for convenient caching annotation "@Cacheable", they have cache manager API for EHCacheCacheManager, GemFireCacheManager

Conversation Management - provide abstraction for conversational sessions, you should be able to identify conversational state by may be passing around ID for conversational states, I think you might be able to externalize session information and use as distributed caching. Also this theme will provide foundation for Web Flow 3.0

Servlet 3.0, JSF 2.0, Groovy - Automatic deployment of framework listeners. which I think might have drawback as you don't want to deploy everything (as you might be using all ths listeners), they will have support for JSF2.0 and will have more support. They might have template classes for Groovy support.