Sunday, November 6, 2011

WebSphere Application Server 8.5 alpa overview session at ApacheCon 2011 in Vancouver BC Thursday November 10

If you are in Vancouver  on Thursday November 10 and interested in listening about the new faster and lighter weight footprint version of WebSphere Application Server 8.5 alpha,  please come to MacKenzie Room (1st Floor) at 7PM at theThe Westin Bayshore Vancouver 1601 Bayshore Drive, Vancouver, BC, V6G 2V4.
 
Please note that this session is open to ALL users and customers not just ApacheCon attendees.
See announcement here
http://na11.apachecon.com/posts/32726152
https://twitter.com/#!/ApacheCon/status/131098166429892609

This will be a presentation and hands-on demo followed by a Q&A session by Eric Covener and Rohit Kelapure.

Monday, October 10, 2011

Java EE 6 and the Spring Framework

Recently two sessions at JavaOne 2011 covered the relationship between Java EE 6 and the Spring Framework. 

Java EE vs Spring Framework Shootout - This session compares the Spring and Java EE stacks in terms of Web frameworks. It re-examines the motivations behind the Spring framework and explores the emergence of the Java EE programming model to meet the challenges posed. The presentation provides insight into when Spring and/or Java EE is appropriate for a building Web applications and if they can coexist.

Best Practices for Migrating Spring Applications to Java EE 6 - The Spring Framework has no doubt played a major role in evolving how we write enterprise applications on the Java platform today, but it is still a proprietary framework owned by a single company. The age of having to rely on such proprietary frameworks in order to develop decent enterprise applications is now over, and using Java EE 6 has become an even easier way to develop enterprise applications based on standards, which makes it the best choice for any enterprise application. In this session, you will experience how to migrate a typical full-stack Spring application to a standards-based, completely portable Java EE 6 application, including integration tests. 

Both these presentations bring forth Java EE as a standards based, easier and better alternative to the proprietary Spring Framework. They also cover scenarios of migrating and co-existence with Spring. Please go through these presentations for re-evaluating the usage of Spring Framework in your application stack.

For best practices on integrating the Spring Framework with the WebSphere Application Server please look at the following whitepaper.

Friday, October 7, 2011

Announcing the WebSphere Application Server V8.5 Alpha

The year was 1911. While most were trying to understand how to create accounting machines and punch card readers, one man had a vision. He created a company with the sole intent of constructing a lightweight, fast, consumable application server that was so fast and easy to use, a developer could run it on even the slowest of punch card readers. "The server must start within 5 seconds" he exclaimed! "The server footprint cannot be bigger than 50 megabytes!" he mandated. While some of his more forward-thinking colleagues questioned how a production-ready server with such strong enterprise qualities of services could run in just 50 MB of space, others were puzzled by what an application server was and baffled by this talk of a "megabyte". They called him a dreamer and questioned whether this was even possible. "I want this application server technology to be available, even if it takes a hundred years!" he replied.

The rest is a history that is very much left out of the IBM Centenary literature. However, WebSphere Application Server V8.5 Alpha provides all this and more, using the new Liberty profile. Want to know more? Why not take a look round this new development community, WASdev. You can download the alpha server and tooling. We'd love you to let us know what you think on our forums, and to collaborate with us to help create a next generation development platform that works for you.

Modularity - the next generation of programming

One of the issues that the industry has been wrestling with for quite a while has been integration. Application servers are big and integrate lots of code to provide the right set of functionality. Applications are growing in size and are integrating third party code to do the same thing. Sometimes there are conflicts. The application server may have integrated one version of Apache Commons Logging and the application needs another because the third party code they need to use requires it. This can even happen within the application itself.

The only way we're going solve this kind of problem is to remove the hierarchical classloader structure in Java and replace it with a managed classloader tree that allows versioning and control resolving dependencies. In other words, we desperately need a modular programming model.

The Java EE platform has known about this issue for some time (since before Java EE 6). It was not addressed in EE 6, but was supposed to be part of the EE 7 discussion. However, as of this month, the Java EE 7 Expert Group has dropped the ball once again on delivering modularity, citing a need for modularity in Java SE first.

However, do not despair. It's extremely unfortunate that EE 7 is not addressing industry concerns, but vendors are providing modular support today in most every app server and OSGi seems to be the predominant form. WebSphere Application Server V8.0 supports building and deploying modular apps and the WebSphere Application Server V8.5 Alpha has a Liberty Profile that shows just how much modular programming is going to change how we program. Think about WebSphere, but with roughly the size and startup speed of Tomcat and an even simpler config model than Tomcat. Best of all, it's OSGi based and gives you the control to resolve dependencies the way you want.

If you want to learn more, see http://www.ibm.com/wasdev and if you want to voice your displeasure in not addressing modular applications in Java EE 7, then send email to the spec leads (found at http://jcp.org/en/egc/view?id=342) or the public comment mailing list, users@javaee-spec.java.net.

Tuesday, June 28, 2011

Great overview of WebSphere Application Server V8.0

Tom Alcott put together a great overview of version 8.0 of the WebSphere Application Server. Take a spin through his article on developerWorks.

He covers the Java EE 6 standards, additional integrated programming models (OSGi, Service Component Architecture, Java Batch, Communications Enabled, and XQuery/XSLT 2.0), additional feature packs (Web 2.0, dynamic scriptiong), system management improvements including installation, high availability, logging, recovery, security and migration.

Well worth the read.

Monday, June 27, 2011

I'm not dead yet

From time to time, I see posts asking whether or not Java EE is dead. To paraphrase with a Java EE twist, "The reports of my demise have been greatly exaggerated." It takes a lot of effort to build and deliver a Java EE release and it should be no surprise that it takes a while for vendors to get support out the door, but WebSphere Application Server V8.0 is now out and Java EE 6 support is one of the major pieces of it.

I've been prepping education material for various groups, but I thought I'd take a moment to reflect just how far we've come in improving the platform.

Once UI frameworks start taking advantage of Servlet 3.0 web fragments, it will be a snap to drop a UI framework into a web app and have it auto configured. JSF Facelets are a great improvement on UI composition and reuse. JSF Managed Beans have been split out into their own basic component model that will serve as the core for the platform's future evolution. This means a lean and mean component model that developers can easily grasp and use. The annotated POJO programming model is used everywhere and makes developing and describing components easy. Managed Beans and EJBs now form a graduated component programming model that starts simple and lets you add capabilities as needed with nothing more than an annotation. You can now package your EJBs in your WARs and Contexts and Dependency Injection for EE (CDI) will let you use them as Managed Beans. That means you can start with Managed Beans in your web app today and easily switch to EJBs as needed without repackaging or changing coding patterns. EJBs can be used anywhere a Manage Bean is used and just as easily.

Need to provide access to resources over the web? JAX-RS provides a simple POJO pattern for RESTful services.

Want to stop writing validation logic throughout your application to ensure data integrity? Try Bean Validation and have it done automatically for you.

Lastly, there's a new set of scoped JNDI namespaces that extend beyond java:comp into java:module, java:app, and java:global scopes. These allow a developer to share resources and refs at each of their respective scopes without having to replicate resource declarations in numerous places. It also makes it easier on admins, who only have to bind the shared resources once, instead of everywhere they are used.

I'd have to say that EE 5 and EE 6 have been some of the most productive releases from a developers point of view. This is about as far from being dead as a platform can get. If you haven't tried it yet, pick up a developer or trial edition of WebSphere Application Server v8.0 for free and give it a shot.

Thursday, June 23, 2011

WebSphere ... going Mobile and the Cloud

In my recent travels, two topics have come up over and over again. The first is mobile and the second is cloud. I'll see if we can get some content on mobile, but for now here is a great overview by Chris Mitchell.

On cloud, I wanted to point folks to some excellent sources of information on cloud that are by my WebSphere colleagues, but not on this blog.

Jason McGee has alot of demos on his blog that show how the IBM Workload Deployer help you leverage your middleware in the private cloud.

Dustin Amrhein reflects on how these technologies relate to real world deployments on his blog.

Matt Hogstrom has talked about his views of the cloud based as well on his blog.

Last, but not least, Jerry Cuomo has talked about our strategy around cloud and IBM's views on what private cloud means and how to consider performance around cloud (something I'm personally involved with at this point) on his blog.

Please take some time to spin through these blogs and let me know if there are additional aspects of cloud and mobile you'd like to hear from WebSphere folks.

Saturday, June 18, 2011

WAS V8 is Here

Its been in Beta for over a year - a program in which 9000 individual companies participated, 3 time more than any previous WebSphere early program. Now, in the week that IBM turns 100, WebSphere becomes a teenager (yes, we started in 1998) and WebSphere Application Server V8 is here.

First and foremost WAS V8 is a production-ready, fully certified Java EE 6 platform. Some of the primary component technologies, such as JPA 2.0 for persistence and JAX-RS for RESTful Web Services, have been available on WAS V7 through the additive WAS V7 feature packs, and now WAS V8 brings them together as part of our complete Java EE 6 platform support. Building web applications from composable framework technologies is significantly simpler using Servlet 3.0, with the introduction of web fragments. EJB modules can now be packaged directly in WAR archives to simplify the assembly of web applications. The embeddable EJB container continues the simplification of application development, providing a lightweight standalone container for testing EJBs. A common theme here is " development simplification", something further enhanced in WAS V8 with the new monitored directory support for faster compile-edit-debug cycles - drag your new or modified app to the monitored directory and WAS will automatically update or deploy it. Comprehensive Java EE 6 productivity tools are included in RAD v8.0.3, which is also now generally available. Of course, its not all just about Java EE 6. WAS V8 and RAD V8.0.3 support a broad range of programming models to address a wide spectrum of business problems:
  • Web applications can be assembled, deployed and managed as OSGi applications to dramatically reduce the size of EARs, increase the reuse of common libraries used by multiple enterprise applications, eliminate version conflicts between applications and enable in-place managed updates of modules of running applications.
  • Service Component Architecture (SCA) enables SOA assets to be assembled into coarse-grained composites and to be exposed over a variety of protocol bindings which can be decorated with declarative policies for security, reliability and transactional integrity.
  • The Web 2.0 and Mobile feature pack extends the reach of enterprise assets and provides a rich client experience for popular mobile devices including iPhone, Android and Blackberry.
  • Communication enabled applications (CEA) simplifies the application use of IP telephony through a catalog of customizable and extensible Web 2.0 widgets.
  • Support for batch workloads, alongside standard OLTP workloads, is provided directly in WAS V8 via the POJO-based Java Batch programming model and batch container, consolidating into WAS V8 the core batch support from WebSphere XD Compute Grid. At the same time, a new V8 release of Compute Grid provides enhanced support for massive batch jobs through management of job parallelization as well as managing end-to-end jobs across disparate execution environments such as WAS and CICS.
  • Processing large XML documents using XPATH 2.0, XSLT 2.0 and XQuery, exploiting a highly-optimized XML processor and Java XML API for navigating XML data in the most efficient manner.
Operationally V8 has seen a significant investment in reducing cost through improved performance and greater efficiency in common operational tasks. We haven't wasted any time in publishing our first SpecJEnterprise2010 results for WAS V8, which immediately takes first place on EjOPS/Core to add to WebSphere's lead for overall EjOPS/AppServer.

And its not just raw throughput that is faster in WAS V8. Product installation simplification through use of the IBM Installation Manager (IM) and new template-driven cell creation has reduced product installation time by 15%, large-topology server creation time by 69% and large-topology cluster-creation time by 31%.

Look out for more WAS V8.0 posts soon from the WAS team.

Tuesday, May 3, 2011

Tuning for idleness -- Server Consolidation

Over the years, WebSphere has come to leverage server whitespace to keep our runtime hot to service the next new request as fast as possible. This has served us well in the past as our performance metrics have demonstrated over the years.

With the transition of workloads from dedicated server footprints to big machines which are logically partitioned or hosting hundreds of virtual guests, idle times in one guest or JVM may not necessarily translate to low-utilization of the entire platform. A typical development machine hosting hundreds of developer's guests may have many guests active, but idle. It is important that the idling machines impact overall system performance minimally.

We've written a whitepaper which focuses on how to configure WebSphere V7 to minimize idle-time processing available here. We hope you find the paper informative and helps you reduce the load of idling WebSpheres in your environment.

Steve Kinder

Monday, April 18, 2011

XML Feature Pack Tech Preview Available

Just in time for IBM Impact, the IBM XML team cranked out an updated tech preview of the XML Feature Pack with three key new features.

First - XQuery modules is a way to break up larger XQuery based programs into modular units. This was the last optional feature of XQuery not yet supported and rounds out the XQuery 1.0 support. Not only does this feature help you break up your own XQuery programs, but it also allows you to use open source XQuery libraries such as FunctX.

Next is support for easier to bind Java functions. In previous releases you could binding to existing Java logic and data, but now binding to existing Java logic is even easier. The support is common across both XSLT 2.0 and XQuery and supports invocation of both instance and static methods. Here is an example that I showed at Impact:


package org.company;

public class Calculator {
public static int sqrt(int val) {
return (int)Math.sqrt(val);
}
}



<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xltxe="http://www.ibm.com/xmlns/prod/xltxe-j"
xmlns:calc="http://com.example/myApp/calculator">

<xltxe:java-extension prefix="calc“ class="org.company.Calculator"/>

<xsl:template match="/">
<xsl:value-of select=“calc:sqrt(64) "/>
</xsl:template>

</xsl:stylesheet>


You can see in the XSLT that using our extention, we were able to map any functions starting with calc to Java calls to org.company.Calculator. Specifically the function sqrt was called in this example. With this support, no Java code is needed to link existing Java logic to an XSLT or XQuery program.

Finally, we spent alot of time on runtime error messages. We have made sure that error messages now include line and column numbers that help you track back to the error that caused execution to fail.

You can read more about these features on developerWorks and download the tech preview from the IBM download site.

Announcing the IBM WebSphere Application Server Migration Toolkit V3.0 Beta

The IBM WebSphere Application Server development team is pleased to announce the availability of the IBM WebSphere Application Server Migration Toolkit V3.0 Beta.

The V3.0 Beta builds upon the capabilities delivered in the V2.1 release, expanding support for migrating your Java Enterprise Edition applications to WebSphere Application Server. 
The V3.0 Beta continues to enhance the developer's migration experience with new support for migration to WebSphere Application Server V8.0 Beta. Simple remediation tools utilize Rational® source code scanning technology to identify and resolve known application migration issues. This enables developers to quickly identify changes required to migrate from previous product versions or from competitor's Application Server platforms. 

More details on the new features and beta program can be found on the IBM WebSphere Application Server V8.0 Beta home page. Just look under Integrated tooling
You can directly Download IBM® WebSphere® Application Server Migration Toolkit v3.0 Beta. 

We're excited to continue learning about your experiences with the Beta in the WebSphere Application Server 8 beta forum


Tuesday, April 5, 2011

WebSphere Application Server V8 Announced

Planned availability date
Bottom rule

  • June 17, 2011 - electronic delivery
  • July 22, 2011 - media packs

The formal announcement letter is available here.

V8 contains, as you may recall from previous blog posts, integrated versions of SCA, OSGi, XML, and CEA feature packs.

Please continue to enjoy the beta in the meantime!

--> updated link to remove mid-page jump. :-)

Saturday, March 19, 2011

WebSphere Application Server v8.0 Beta, March refresh

IBM have released a WAS v8.0 Beta refresh which includes some great new OSGi Applications functionality, including: In-place application update, a feature that allows administrators to manage and migrate their OSGi bundles at runtime, without application restart. Application extensions allow administrators to extend their applications at runtime with a Composite Bundle Archive (CBA), again with no application restart. There are also performance monitoring, security, session management, servlet 3.0 support for OSGi applications/components.

For more information on OSGi in the Beta, why not check out this short video on the Enterprise OSGi YouTube channel.  http://www.youtube.com/user/EnterpriseOSGi#p/a/u/0/3vRmzqHiJBY

To download the WAS v8.0 Beta and get playing with all the new features, visit the download site here ->
https://www14.software.ibm.com/iwm/web/cc/earlyprograms/websphere/wsasoa/download.shtml

Tuesday, March 8, 2011

Introducing the new Enterprise OSGi YouTube channel.

Over the last couple of weeks, I've been putting together a list of OSGi related talks that act as a useful resource for OSGi beginners.  I'm lucky enough to work in a development team full of talented people who are very happy to share their knowledge and experiences to customers and at conferences.  I wanted this youtube channel to provide a web resource so that we can share this information to a wider audience.

The short overview presentations are designed to giev the viewer a high level understanding of concepts without going into too much depth.  I'll put up links and follow up material which goes into more depth at our main OSGi home at

The new channel can be found at http://www.youtube.com/user/EnterpriseOSGi

Videos available right now on our new Enterprise OSGi channel include:

Big EARs and OSGi - Part 1, by Ian Robinson, IBM, Distinguished Engineer
Big EARs and OSGi - Part 2, by Ian Robinson, IBM, Distinguished Engineer
An Interview with Zoe Slattery, by Zoe Slattery, IBM, OSGi Technical Evangelist
JPA in OSGi, by Tim Ward, IBM, OSGi Applications developer in WAS.

More will be uploaded soon, so why not subscribe to the channel to get notification of when new videos are uploaded.  To subscribe, you'll need a YouTube account.  Click on the subscribe button on the top left of the Enterprise OSGi channel, shown below.


Friday, February 25, 2011

Great set of articles on Native Memory

I am currently helping a customer with a native memory issue causing OutOfMemory (OOM) exceptions. Most folks are familiar with Java heap memory issues (eg. too much caching eating up live memory or leaking objects), but native memory is also important especially when your application isn't so "pure" (spawning threads, lots of JNI, etc). How do you know if you have a native out of memory? You'll see that you'll get out of memory conditions when the Java heap still has plenty of room left over. In the case I'm working on now, we actually saw the out of memory well before the memory in the heap grew to the maximum size (-Xmx) of the heap. In trying to help the customer out, I found the following articles excellent. The first is a very good overview of native memory and how to diagnose. The second is our app server tech note on things to try in the case you believe you have a native memory issue.

Thanks for the memory - Understanding how the JVM uses native memory on Windows and Linux (Windows/Linux version, AIX version).

Troubleshooting native memory issues

Tuesday, February 8, 2011

ONLINE SAMPLES

The Samples section of the WAS V8 BETA Information Center is now live!!  http://publib.boulder.ibm.com/infocenter/wasinfo/beta/index.jsp

WebSphere Application Server V8 Beta samples are new and improved and now available for early testing to our WAS V8 Beta customers! Although clients will continue to find key samples installed with the product, additional samples are available online and can be accessed from a new section in the WAS V8 Beta Information Center. Now, samples, documentation, and other resources reside online, under one roof. This will increase availability and collaboration while providing samples in a time-sensitive manner.

Increasing Availability. The sample applications are now on the web, and users can browse individual samples with a direct link or find them using search engines. This is a first for WebSphere Application Server!


Adding Collaboration. As part of the new collaborative information center, users can comment on and rate samples, receive quick feedback, and sign up for updates.

Providing relevant samples in a time-sensitive manner. Online delivery allows samples to be added or updated periodically with regular updates to the information center.

The samples currently available in the Samples section of the WAS V8 Beta Information Center demonstrate the following technologies: Service Component Architecture (SCA), Communications Enabled Applications (CEA), OSGi applications, XML, and Internationalization service.

Look for more to come!

Monday, January 3, 2011

Help keep posts to this blog active in 2011

Unfortunately, none of my New Year's resolutions included blogging more often. I notice that the posts on this blog have fallen to approximately once a month. That likely isn't enough to keep all our great readers interested in repeating their visits (and Google analytics confirms this for me). The idea of this blog is to get experts across the WebSphere development labs blogging about topics across the application infrastructure set of products. I'm certain I will be blogging about XML, SOA, and performance topics this year. I'm also sure you'll hear more and more about WebSphere Application Server V8.0 (the forum is very active). However, what other topics and products/technologies would you like to see talked about here? If you tell me, I'll line up the right people to blog. That is a resolution I can keep.

Happy New Year WebSphereains!