Tuesday, December 22, 2009

2009 WebSphere Application Server Highlights

This blog post isn't meant to "market" our app server portfolio; although I worry it may come across that way. I wanted to take a look back at 2009 and talk about some of the technologies that matter to our application server customers in case you missed the announcements. Feel free to ask questions on specific items if you don't understand the value you can derive from these technologies.

Building upon the WAS V7.0 release, three feature packs were delivered - Communication Enabled Applications (CEA), XML, and Service Component Architecture (SCA). These feature packs are free add-ons that extend the value of your application server product to support innovative and valuable programming models. CEA adds the ability to do common telecommunication scenarios without having to understand underlying SIP technologies (just add a widget to a page to get click to all for example). XML delivers XPath 2.0, XSLT 2.0, and XQuery 1.0 allowing data and document centric applications to benefit from these W3C standards resulting in simpler, more functional and reliable applications. SCA simplifies composite application assembly and management, supports OSOA standards, and allows applications to more quickly adapt to changing business requirements based upon OSOA standards.

Two other major features were delivered on top of the application server - Optimized Local Adapters (OLA) and SAML. Optimized Local Adapters offer a high speed message connection between the application server on z/OS and native language programs with full quality of service. SAML adds OASIS SAML Token Profile to standard JAX-WS web services providing for end to end security with token propagation along with a Java library that allows you to work with SAML tokens.

Two alphas of feature packs were also delivered. We shipped our Apache OpenJPA based JPA 2.0 implementation in the JPA 2.0 Feature Pack. We also delivered early support for the OSGi Blueprint specification and Apache Aries extending the value of OSGi componentization and dependency injection into WebSphere applications via the OSGi Applications Feature Pack.

Finally, four service packs were delivered for the 7.0 release (the latest being 7.0.0.7).

We also delivered the application server in Hypervisor Edition (doing things you'd want a virtualized image to do correctly). Fixpacks delivered throughout the year added support for VMware and AIX/PowerVM. We also delivered the WebSphere Cloudburst Appliance which allows you to securely and reliably manage your virtualized environment in your own private cloud.

We also allowed WAS to be consumed in two different ways. We announced an easy to download and free WebSphere Application Server for Developers. We also provided Amazon EC2 images to allow you to consume WAS in the public cloud.

We also provided for easy migration of applications from competitive application servers via the Migration Toolkit.

What a year 2009 was. I'm sure 2010 will be just as fruitful.

Monday, December 21, 2009

IBM brings the power of OSGi to WebSphere

Back in 2006 we rebased WebSphere Application Server on OSGi in order to help us deliver a better application server. In 2009 we are bringing the power of OSGi to help you build better applications.

The IBM WebSphere Application Server V7 OSGi Applications Open Alpha program introduces to the application server the ability to build, deploy and run applications running on OSGi. Building on the work done in the OSGi Alliance Enterprise Expert Group (EEG) and in the Apache Aries incubator the alpha allows you to build modular applications that make use of familiar JEE technologies such as Servlets, JSPs and JPA.

There are many advantages to the support we are delivering in this alpha, some highlights include:
  • The ability to deploy a WAR file into the OSGi environment
  • Blueprint Container - A Spring-like Dependency Injection based container integrated with the OSGi service registry and standardized by the OSGi Alliance
  • The ability to share libraries between applications
  • Application composition by reference
  • The ability to provision an application based on the application dependencies and the content of an OSGi bundle repository
The alpha is available and includes some samples to get you going. We have also shipped the product documentation as a PDF and the Apache Aries site includes some information on the application model.

There has already been some coverage on the web about what we are doing in the alpha and I wanted to highlight two in particular. The first is a blog post by Kirk Knoernschild, who is giving a keynote at OSGi DevCon London in February. The other is an article on dzone where Ian Robinson is interviewed about the alpha.

Since I have mentioned it if you are in London in February some of my team are going to be at OSGi DevCon London running a tutorial on using Blueprint. In addition David Bosschaert one of the OSGi Alliance EEG co-chairs will be talking about the OSGi 4.2 Enterprise Release and we will be talking about the Apache Aries incubator.

Alasdair

Friday, December 18, 2009

RAD 7.5.5 adds support for XPath 2.0 and XSLT 2.0

Today, RAD 7.5.5 became available. Of interest to WebSphere XML customers, you'll see major new function in the XML areas to complement the features provided by the Feature Pack for XML.

IBM Rational Application Developer 7.5.5 provides enhancements to the existing XSLT 1.0 and XPath 1.0 authoring tools to support XSLT 2.0 and XPath 2.0, as well as the ability to program against the new IBM XML API and invoke the XML runtime provided by the WAS Feature Pack for XML. Developer benefits include: the ability to work seamlessly with XSLT 1.0 and 2.0 artifacts using a consistent set of tools, the ability to author - create, edit, validate - XSLT 2.0 artifacts, the ability to invoke the XSLT 1.0 or 2.0 processor with ease using the enhanced XSLT launch configuration and the ability to easily configure a project's classpath to program against the new XML Application Programming Interface.

There is more info on what's new here.


- You can now compile and integrate XSL 1.0 and 2.0 stylesheet documents into Java projects. This new functionality automatically handles classpath and runtime configurations. Also, a new option is available to incorporate a Java utility class is offered so that you can integrate compiled stylesheets.
- The Expression Builder tool in the XSL Editor now supports as-you-type evaluation for XPath 1.0 and 2.0.
- The XSL Editor now supports grammars for XSL versions 1.0 and 2.0. Content assist has been enhanced to incorporate better prefix handling, customized icons and detailed descriptions for all XSL element suggestions. Version sensitive file decorations are now available for XSL documents.
- You can now run XSLT 2.0 transformations.
- Content assist for XPath 2.0 and XSLT 2.0 functions in the XSL editor and XPath Expression Builder is now available.
- The XSLT validator now supports both XSLT 1.0 and XSLT 2.0, and provides build, manual and as-you-type validation. The validator helps you ensure that your XSLT documents are correct according to the XSLT 1.0 or 2.0 specifications.
- XSL templates are now available that can be added to new XSL files from the New XSL wizard. The templates can also be inserted into XSL files through the content-assist feature in the XSL editor.
You can modify the XSL templates through XML preferences page (Window > Preferences > XML > XSL> Editor > Templates).
- A new XSLT 2.0 sample is available that demonstrates the XSLT 2.0 transformation using context menu and Java code.


There are many other improvements and new features in RAD 7.5.5 and I expect Tim or I will blog about them in an upcoming blog post.

Wednesday, December 16, 2009

New Application Migration Tool

Ideally, one of your J2EE applications deployed on one certified application server can be taken as-is and moved to another certified application server. However, that is almost never the reality. Whether it is caused by developers taking advantage of a certain vendor’s conveniences/optimizations or application artifacts generated by the container (web services stubs, compiled JSPs, etc.), there is usually something that ties your J2EE application to a particular platform. In WebSphere, we’ve acknowledged this problem and we are doing something to make it easier to move applications from competitive application servers to the WebSphere Application Server.

The Application Migration Tool is part of the IBM WebSphere Application Server Migration Toolkit which provides assistance in moving your J2EE applications from competitive application server products to the WebSphere Application Server. This new tool is built on the IBM Rational Software Analyzer and uses its scanning capabilities to look for data specific to competitive application servers. It then provides a way to change and review this data so it can run on the WebSphere Application Server. In support of migrating applications to our server, changes can be made to java source code, JSPs, and deployment descriptors within an application.

The current version of the Application Migration Tool supports migrating J2EE 1.4 (and prior versions) applications from the Oracle WebLogic Server to the WebSphere Application Server. The tool focuses on several aspects of the application migration process including setting up the application classpath, converting WebLogic-specific classes, refactoring non-portable JNDI lookups, converting JSPs, deployment descriptors, and java package references to support industry standards, and creating the necessary artifacts for web services deployment (WSDL, service endpoint interface, mapping files, etc.). Additional manual steps may be required when migrating your application, but the tool will handle the most common migration actions. In short, the toolkit provides you with a fast path to move your applications to the WebSphere Application Server platform.

The Application Migration Tool is free and you can find download and installation instructions on the toolkit’s web page. The only prerequisite for the toolkit is an Eclipse IDE (3.4.2 or higher), which is also available for free. In addition, if you have an existing Rational Application Developer environment, you can install the toolkit into that environment. The toolkit is supported by IBM through either your existing support entitlement, or through a completely free forum.

If you are currently running J2EE applications in an Oracle WebLogic environment, I would encourage you to try out this migration toolkit to find out just how easy it is to move those applications over to the WebSphere Application Server platform. If you don’t currently have access to our application server, don’t let that stop you. Download the fully-functional WebSphere Application Server trial version or WebSphere Application Server for Developers edition and then begin the migration process.

Monday, December 14, 2009

WebSphere Application Server trial version

A while back Andrew mentioned the WebSphere Application Server for Developers product. This offering is essentially the WebSphere Application Server Base product licensed for free use in development environments.

To complement this offering, we also recently announced a trial version of the WebSphere Application Server. Like the above mentioned version of our application server, the trial version provides the WebSphere Application Server Base product, but the included license allows you to run the server in a production environment during the 60 day trial period.

If you are interested in getting a free look at the WebSphere Application Server but are worried your usage would not adhere to the license agreements in the WebSphere Application Server for Developers offering, give this new trial version a try.

Thursday, November 26, 2009

WebSphere XML Feature Pack V1.0 Released

I'd proud to announce that we released the XML Feature Pack which means it's ready for production deployment in WebSphere Application Server 7.0 environments.

The WebSphere Application Server V7.0 Feature Pack for XML 1.0.0.0 provides an XML programming model that has support of the W3C XML standards of XSLT 2.0, XPath 2.0, and XQuery 1.0. These newer standards provide developers with innovative capabilities for simplified development of XML-based and document-centric applications. The programming model consists of two parts:

- The new XML Transform and Query (XPath 2.0, XSLT 2.0, and XQuery 1.0) runtime which has been optimized for performance, runs under Java 2 security, has an thread-safe model appropriate for server environments, and provides for reliability, availability, and serviceability.

- A new API to invoke all three languages that allows applications to navigate, transform or query XML from a single consistent Java API. This API also allows the XML runtime to incorporate existing Java business logic and data.

Other important parts of this feature pack are:

- The IBM Thin Client for XML with WebSphere Application Server provides all the same functionality in J2SE clients that are used in WebSphere Application Server environments.

- The samples (with easy to browse source code) which show over 40 different aspects of the new XPath 2.0, XSLT 2.0, and XQuery technologies, three end to end web applications that show how to use these technologies to navigate, transform, and query XML atom blog feeds, and an end to end web application that shows how to integrate data from databases that support XML natively with other XML data sources in the most simple and performant way.

- Command line and ANT tools for pre-compiling XML artifacts for optimal performance

- Command line tools for simple execution of XML artifacts

- The Information Center for complete documentation of the XML Feature Pack

I will be posting all links to public information on the XML Feature on this blog post. Already, there is a video that shows how to get the XML Feature Pack installed (including the samples), so you can get started easily.

Update 2009-01-18: Rational Application Developer 7.5.5 tools add support for XPath 2.0 and XSLT 2.0.

Wednesday, November 25, 2009

More Web Services Performance Improvements in WAS 7.0.0.7

Back in WAS 7.0, I blogged about impressive web services performance improvements.

We have continued that improvement in fixpack 7 (7.0.0.7). Given this is a fix pack, we decided to make the new functional optional (until 8.0). You can learn about how to turn it on in PK94109. Basically you enable it by setting a system property on your application server instance.

This improvement is on the JAXB to XML marshalling (serialization) side. On the server, this would be important when responses are large (the typical case is responses are larger than requests). On the client, this would be important on requests.

As before, this not only helps web services using JAXB, but also anyone using JAXB directly in the application server.

In our tests in the labs we see approximately 20% increase in performance for some representative web services. If you are using JAX-WS JAXB based web services, turn this one with 7.0.0.7 and let me know what you see.

Tuesday, November 24, 2009

WebSphere Application Server Feature Pack for XML Links

As I talk to folks about the WAS Feature Pack for XML, I usually need a single link to all public information. There was a open beta link like this but now the open beta is closed. This blog post will be updated over time to include all links that are important for the XML Feature Pack.

- Main links
-- XML Feature Pack website
--- Great place to start
-- The IBM Installation Manager for WebSphere
--- This is the easiest way to install when network connected
-- XML FEP Repository zipped up
--- This is the easiest way to install when behind a firewall or not connected
-- XML Feature Pack Infocenter
--- All the documentation
--- Javadoc for XML Feature API

- Tools
-- Rational Application Developer 7.5.5

- Video demos
-- How to install and get running with XML Feature Pack samples

- Announce Letter
-- General Availability Release Data Announcement

- W3C Specifications
-- XPath 2.0
-- XSLT 2.0
-- XQuery 1.0

- Great books on the standards
-- XSLT 2.0 and XPath 2.0 Programmer's Reference (Programmer to Programmer)
-- XQuery

You can expect this post to be updated early next week with pointers to more information.

Last updated: 2009-12-18 (added RAD 7.5.5 information)

Wednesday, November 18, 2009

WebSphere Hypervisor Edition for AIX gets a date

Yesterday, IBM announced the dates for the WebSphere Application Server Hypervisor Edition for AIX.

Borrowing from the announce letter:



  • Adds support for PowerVM hypervisor

  • Optimizes WebSphere Application Server for virtualized environments enabling higher hardware utilization, while allowing you to spend less time on installation and configuration, and more time on strategic initiatives

  • Manages installation and deployment of WebSphere Application Server and associated operating system in conjunction with WebSphere CloudBurst





The WebSphere Hyper Visor Edition for AIX will be available November 25th. The WebSphere Cloudburst appliance will ship preloaded with this support on January 29th, 2010.

We haven't talked much about Hypervisor Edition or Cloudburst on this blog. Anyone interested in us talking more about the benefits and typical uses of this technology? The net, net of Hypervisor Edition is its a packaging vehicle of the application server environments for virtualized environments (doing the things you'd want a virtualized image to do correctly) that works with (or without) the CloudBurst appliance that deploys such environments to your private clouds used in testing and production.

Wednesday, November 11, 2009

XML Feature Pack, SCA Refresh, and SAML get a date

Yesterday, IBM announced the dates for the XML Feature Pack, a major update to the Service Component Architecture Feature Pack, and SAML support in the WebSphere Application Server.

Borrowing from the announce letter:


New WebSphere® Application Server V7 capabilities promote application innovation and efficient development and management through updated Service Component Architecture (SCA) support, new XML programming model standards, and support for secure, interoperable Web services using SAML1 Token:


  • Key updates to SCA programming model support for composite application assembly and service deployment through the WebSphere Application Server V7 Feature Pack for SCA V1.0.1 Refresh

  • Support for the XSLT 2.0, XPath 2.0, and XQuery 1.0 programming model standards to benefit XML application development scenarios through the WebSphere Application Server Feature Pack for XML

  • Support for OASIS Web Services Security SAML Token Security Profile 1.1 standard delivered in the WebSphere Application Server V7 Fix Pack 7 (7.0.0.7)




XML and SCA will be generally available on November 20th, and SAML will be available on November 13th. Hopefully you can try these out over the holiday season and be ready for deployment next year.

Monday, November 9, 2009

Introducing Feature Packs and the CEA Feature Pack

Here is a quick video I had missed the opportunity to blog about when it first came out talking about our WebSphere Application Server Feature Packs and the Communications Enabled Applications (CEA) Feature Pack.



We have a lot more about the CEA Feature Pack on our blog dedicated to it: http://ibmcea.blogspot.com/

Thursday, October 29, 2009

IBM WebSphere JPA 2.0 Open Alpha

Hi,
The WebSphere JPA team is proud to announce the availability of the IBM WebSphere Application Server V7 Java Persistence API (JPA) 2.0 Open Alpha. Details can be found here...

https://www14.software.ibm.com/iwm/web/cc/earlyprograms/websphere/wsasjpaoa/

This JPA 2.0 Open Alpha is based off the Public Final Draft #2 of the JPA 2.0 specification, which can be found here...

http://jcp.org/en/jsr/detail?id=317

If you are looking for something a bit more readable that highlights the new JPA 2.0 features, you could also reference the following two articles...

http://www.ibm.com/developerworks/websphere/techjournal/0909_col_sutter/0909_col_sutter.html
http://www.ibm.com/developerworks/java/library/j-typesafejpa/

Since the WebSphere JPA solution is built on top of the Apache OpenJPA project, you can always follow our progress via these URLs...

http://openjpa.apache.org/
http://openjpa.apache.org/jpa-20-roadmap.html

Enjoy!
Kevin

Monday, October 26, 2009

Cannot start a new UOW. A LocalTransactionContainment is already active with work

I found out recently that one of the most common search terms used by people who end up at this blog is:
"Cannot start a new UOW. A LocalTransactionContainment is already active with work."

I thought it might be a good idea to write here about why you could come across this message and what you can do about it.

The most likely place you'd see this is in the text of an IllegalStateException thrown from UserTransaction.begin().

Let's have a look at the message and see what it could mean.

The UOW mentioned in the first part of the message is the unit of work you're trying to begin. In the case where the exception is thrown from UserTransaction.begin(), this is saying that it has not been possible to start the UserTransaction.

The second part of the message is the reason the UOW could not be started. LocalTransactionContainment (LTC) is the mechanism used in WebSphere Application Server to handle the unspecified transaction context defined in the EJB specification. You can read about LTC in the WebSphere infocenter here.

In a nutshell, LTC provides a way for an application deployer to specify how transacted work can be automatically completed when it's performed outside of a global transaction. For example LTC can be used to automatically commit all the work done on JDBC connections used outside of a global transaction. The important thing to bear in mind is that pretty much whenever there is no global transaction context on a thread, WebSphere Application Server will have established an LTC.

Our error message is saying that some transacted work (e.g. using a JDBC connection) has been performed and has not yet been committed or rolled back at the time that UserTransaction.begin() is called. The LTC established before UserTransaction.begin() is called is said to be active with work under these circumstances and it is illegal to start a new UOW until that work is completed.

Assuming the intention really is to have the work done outside of the global transaction, the solution to the problem is to explicity commit or roll back the transacted work before the call to UserTransaction.begin().

Wednesday, October 21, 2009

Speaking at RTP WUG Next Week

If you're in the Raleigh/Durham area come to hear about the XML Feature Pack at the RTP WebSphere User's Group (WUG) on Tuesday. I'll be speaking through dinner to talk about what XPath 2.0, XSLT 2.0, and XQuery 1.0 bring to the table for JEE programmers, what features are in the XML Feature Pack Beta and how to get started. After that there will be a hands on session with WebSphere sMash.

Ryan Boyles from the WebSphere sMash team wrote up a great article that tells you how to get registered and maps to the location, etc here. Hope to see all my "local" people there.

Tuesday, October 20, 2009

WebSphere Application Server 7.0 Administration Guide

I recently had the opportunity to review the recently published WebSphere Application Server 7.0 Administration Guide from Packt Publishing and thought I would share my opinions on this book. In the spirit of full disclosure, I was provided a copy of the book to review at no cost to myself.

This book is a great introduction to the world of WebSphere Application Server for people that are new to J2EE and/or WebSphere Application. In fact, I am recommending this book to all of the new developers, testers, and documentation specialists that work with me. The book does an excellent job of describing how to perform a number of the different tasks that a WebSphere Administrator will face. The book is filled with plenty of examples, sample code, and visuals.

The author does a nice job of describing the different activities from product installation to fixpack and patch installation, application deployment, securing the WebSphere environment, and managing the WebSphere configuration. The reader is introduced to the different administration tools - the WebSphere Admin Console, wsadmin, Tivoli Performance Viewer, and the administrative utilities (dumpNameSpace, manageProfiles, etc...) - as well as messaging and the new Admin Agent. Additionally, this book introduces customers to the idea of automation as a part of the WebSphere Application Server administrative process, something I feel is extremely valuable to WebSphere customers.

If you are an extremely experienced WebSphere Application Server administrator who is just looking for the very technical details of new version 7.0 features only, this is not the book for you but it might be a good book to share with your colleagues that do not have the knowledge and experience you do.

I found it to be an enjoyable read with useful information but not so technical that I felt like I was reading a specification. All in all, I recommend this as a great book to get users started with WebSphere Application Server.

David Brauneis
Chief Architect, Rational Automation Framework for WebSphere

Saturday, October 17, 2009

WebSphere Application Server V7.0 New Features

I've noticed that alot of folks are coming to this blog looking for a high level overview of WebSphere Application Server V7.0 (searching for things like websphere 7 features, websphere v7) and finding somewhat related articles, but never a quick overview of the major new functional areas. So, on the first birthday of V7.0, here is a quick overview.

Our themes for the release were Simplification for Developers, Intelligent Management, High Performance Foundation for SOA, and Innovation that Matters.

Simplification for Developers


V7.0 supports the important new standards for JDK 6.0 including JDBC 4.0, Java EE 5, EJB 3.0 and JPA, Web Services, new SIP RFC's, messaging, and Portlets (JSR 286). While many of these annotation driven ease of use enhancements have been available for some time as V6.1 feature packs, V7.0 ships all of the Java EE 5 standard fully certified. The ease of use comes from two things. First, annotations allow you to easily configure EJB's and web services within the application code. Second, most configuration is defaulted which means you only have to configure exceptional cases. Rational Application Developer (RAD) Assembly and Deploy tooling comes in the box which is a subset of RAD for WebSphere which is first class tooling for all of these new features.

Intelligent Management


In addition to the existing WAS 6.1 management infrastructure, WAS 7.0 adds two new topology options via Administrative Agent and Flexible Management. An administrative agent allows management of multiple standalone application servers on the same machine reducing runtime footprint and start-up cost of administration. Flexible management supports the Job Manager which can handle asynchronous administration job queuing across multiple WebSphere cells which allows scaling to very large and complex environments especially geographically distributed environments. WAS V7.0 introduces the concept of Business Level Applications (BLA) which defines multi-component applications allowing administration of applications that have a scope larger than a single war or ear. Also included is the Centralized Install Manager (CIM) which allows centralized installation of fix packs, refresh packs, and interim fixes from the deployment manager to all nodes in the cell. Update Installer and Install Factory where also updated.

High Performance Foundation for SOA


I have blogged about the performance improvements in general, on web services, on EJB 3.0/JPA, and 64-bit. With runtime provisioning based on OSGi, we also now start components selectively helping with start-up time and footprint. Our Dynacache engine has been updated and is explained here. Security is always important in the foundation and with V7.0 -- you'll see more fine grained security domains, security auditing, and a DMZ hardened proxy. We also continue to protect investments in WAS with supporting mixed older versions of the application server across a cell providing support for applications running on version of Java EE as old as 1.2.

Innovation that Matters


We continue to innovate beyond V7.0 through the use of feature packs. Feature packs allow you to absorb innovative enhancements before the next version of the application server. Web 2.0 (through the Web 2.0 Feature Pack) support includes Web 2.0 to SOA connectivity, Ajax messaging and the Ajax development toolkit. Service Component Architecture - SCA (through the SCA Feature Pack) support includes service composition and service deployment/assembly that allow binding existing web, EJB, and native SCA services into a composite SOA application. Communication Enabled Applications - CEA (through the CEA Feature Pack) allows you to add access communication services without expertise in communication technologies - such as web widgets for Click to Call and Call Notifications. XML applications (through the XML Feature Pack Beta) that use XPath 2.0, XSLT 2.0, and XQuery 1.0 allow you to unleash the power of declarative XML data programming and improve the functionality/ease of use over XPath 1.0 and XSLT 1.0.

Want to try WebSphere Application Server V7.0 as a developer for free? If so, go here and download it today.

It's hard to cover such a large release in a short blog entry. I'm sure I missed some major features. If you spot one, let me know and I'll update this post.

Friday, October 16, 2009

SIP/Converged Apps and WebSphere eXtreme Scale Performance Papers

Last week we published two performance papers that talk about the great performance we have demonstrated on two interesting features of WebSphere.

First, the SIP and HTTP Converged Services Performance using the WebSphere Application Server paper talks about the performance of a sample web voice mail application. The paper talks about how we support not only the functionality required for such applications, but also performance that is measured to be "carrier grade". This paper is a very good example of how SIP and HTTP traffic can be handled in our converged web container to provide for communication enabled applications.

Second, the Scalable Caching in a Java Enterprise Environment with WebSphere eXtreme Scale paper talks about the performance of an application that uses our JPA persistence API's along with WebSphere eXtreme Scale to provide in-line caching between a typical web application and the back end database. It shows how, with minimal application updates, you can decrease the load on your back end databases while allowing your front end application to scale in an elastic fashion.

You can find both on our WebSphere Application Server performance site. Have a look and if you have any questions -- let me know and I can get them answered.

Monday, October 12, 2009

In the news .. SPEC SOA benchmark effort

I wanted to shared some press coverage of the effort I mentioned back in September.

The original SPEC press release press release talked about how the work group was looking for participation, what the initial focus was on, and the unique challenges of producing a SOA benchmark.

In coverage by SearchSOA and TechTarget, the working group has been asked very interesting questions. The SearchSOA article talks about how SPEC is a good organization to take on the challenge of a SOA benchmark given its past track record in JEE middleware benchmarking and talks about the challenges of benchmarking typical implications of a service oriented architectures. The TechWorld article talks adds discussion of how the benchmark is focused on some core aspects of SOA but will likely grow over time and discusses how the benchmark will need to consider both IT and business requirements on typical SOA applications.

Also, the effort has been covered by TheServerSide and InfoQ.

As mentioned in the original press release, if your organization can contribute to the effort, contact info@spec.org

Also, kind of fun to see your quotes translated into various languages - Japanese, German for example. I do think this level of coverage indicates the value this benchmark will deliver to both technical and business communities.

Thursday, October 8, 2009

Update on JPA 2.0 and Apache OpenJPA

Developerworks just posted an article from Kevin Sutter, our lead for Java persistence, on JPA 2.0 and the work at Apache on OpenJPA. Click here to learn about the new features that are coming in JPA 2.0 and get an early preview via early access drivers at Apache here.

Friday, October 2, 2009

XML-In-Practice Day #2 Summary

Keynote - XML and Web 3.0 - Mills David


This keynote was presented in a very interesting style. Very visual, very content packed. Not only did he talk about Web 3.0 - the semantic web, he talked about Web 4.0 and work that he believed was already being done to support it. For Web 4.0, he defined it as ubiquitous (image of computer implanted in back of skull) where everything (not just everyone) is connected and has some level of intelligence. For Web 3.0, he talked about representing the meaning of content and using that meaning to improve the way we work with the web to make the internet more relevant, usable, and enjoyable. A basic example is today, we may expose the contents of a database to the web without giving away the schema. If we instead exposed both the content and the schema, computers could find ways to link this data to another similar web repository or service and create new value based on what the data meant.

The eXtensible Business Reporting Language, XBRL - Evan Lenz


This session started with an excellent overview of XBRL (a XML usage required for US financial reporting by the SEC), then showed the issues, and then proposed a new approach.

Among the issues he cited:

a) all concepts are global (no namespaces, no hierarchy) which meant (as shown in one real world example that required 12,000 concepts) there would be no way to work with the data except in tools, no adhoc queries, and names of concepts ended up being on average 49 characters in length (hierarchy being built into the name).

b) the use of schemas and XLink really required too much plumbing for little value.

c) high noise to signal ratio meaning that with the linkages being so verbose and separate, it becomes very hard to work with XBRL without tools (not human readable, not ad hoc queriable).

In general his proposal was to use XML to represent the structure of reports. Even though XBRL is based upon many XML concepts, Evan suggested the use of XML, currently, for XBRL is incidental.

Work Flows, Standards, and Innovations Panel


Along with two other vendors, I participated in this panel. I again demonstrated the WebSphere XML Feature Pack (mostly this time focusing on XSLT 2.0). I went over some slides that show Rational tooling for XML, XSD, DTD, XPath 1.0 and XSLT 2.0 including editors, validators, wizards, debuggers, executors, etc. I then showed a live demo of some future Rational Application Developer work we're considering in the XML space.

Tools from NIST Created to Support the Development of XML-Based Content Standards Through the Application of Naming and Design Rules (NDR) - KC Morris


This presentation showed a very interesting demo of tools NIST has created to validate schemas and instance documents. This validation is centered on rules defined by an organization that ensure all applications of XML technology use consistent naming and definition patterns for data and metadata. My guess is it might have flagged XBRL instances as in error (if the format wasn't required by the SEC). Also of interest was that there were rules for OAGi BOD which is heavily used in automotive manufacturing.

The use of XML in the Irish Government's eCabinent Initiative - Michael Boses


This presentation talked about moving the old process for distributing data across the Irish government (large volumes of paper delivered by military personnel) to electronic form stored in an XML content repository and accessed through personalized portals. In the end, they showed the tablet PC's built into the cabinet table meaning that all the way to the top, there was the ability to stay entirely digital. Some interesting points where a) even though XML (DITA) made this possible, they avoided talking in XML terms in implementing the project as XML is totally behind the scenes and doesn't "sell" - instead they just used terms of like "smart documents" and b) they piloted the program with stakeholders to work out the bugs and purposely avoided turning the solution live until it was totally ready (they for a few months used electronic right up to the main cabinet meeting and then printed the documents for the meeting). Also, they avoided XML being seen by the users by using XSLT to web and Quark's tool for editing of XML content in Microsoft Word.

XML Tools Summit


As somewhat of an extension of the panel done earlier in the day, this was a session to have all participants catalog what tools they are using in the XML space, what tools they need but can't find, and exchange information with each other about what tools work well. This tools summit will be carried forward after the conference online as IDEAlliance hopes to create an "Angie's list of tools". It was very interesting to see how many tools people used (I counted over 30) and how critical these tools are to the publishing, standards, data scenarios.

Wednesday, September 30, 2009

XML-In-Practice Day #1 Summary

I'm at IDEAlliance XML-In-Practice 2009 in DC this week talking about IBM WebSphere XML and learning about other XML products and technologies. There are four tracks -- Publishing and Media, Applications, Foundation and Interoperability AKA the technology track, Electronic Medical Records and President Obama's Economic Plan, and e-Government. Based on my totally unscientific head count, the attendance to each track is 50%, 25%, 12% and 13%.

I attended the following sessions today -

Keynote - XML Enabled Medical Records - Dr. Clement McDonald


I learned a) how technology is used to create repositories of information within hospitals/caregivers b) how much workload these systems exchange in the form of HL7 messages c) how distributed systems share data within a localized region for decision making, consistency of care d) how Web 2.0 is helping replace very complicated forms based desktop apps that are trusted currently e) how Dr's are happy to have a wealth of electronic information to help, but see putting new data into the system as something they cannot afford to do given already limited time with patient (call for smarter devices/speech to text) f) how different data is across the various medical interactions all the way from very structured to very narrative. The best two parts of the talk was the 0.5 seconds he showed an XML document which stressed the business aspect of this is key - the technology just has to exist behind the scenes to make it possible and seeing a Dr. throw stuffed pings to the audience (joke on how LOINC standards sounds like OINK).

Overview of President Obama's Electronic Medical Records Plan and Health Information Technology Architecture - John Quinn


I a) learned how much money is set aside to rewards providers that move to standardized medical health records and what timelines exist to get these rewards b) learned how these timelines are aggressive based on time to implementation of typical systems c) learned how the rewards are based upon a certified system which is challenging to guarantee for valuable use. I really took away a deeper appreciation for not only the complexity inside of a single hospital, but also how challenging a national mandate will be (especially to individual physicians).

XSLT Stylesheets from Version 1.0 to 2.0 - Priscilla Walmsley


I didn't take alot of notes in this session as I'm rather knowledgeable about this topic. However, I'd say it was a great presentation given the example (before and after) based approach.

Customer Use Case: How IBM Simplifies Complex Content Developing and Publishing Across the Enterprise. - Daniel Dionne


Great presentation that didn't go into just what DITA for content development/publishing is, but showed the entire lifecycle and processes needed to make a wide adoption work. Went into some rather impressive use cases of the technology, along with challenges, within the IBM company.

Technical Overview of Relax-NG - Bob Ducharme


Can't say I was a huge supporter of this talk, but that is likely due to the fact that I'm a data-oriented XML guy and I'm working on standards, customer situations that are very dependent on XML Schema. Bob discussed areas where Relax-NG was better than XML schema for mostly document oriented scenarios. I would have liked to see more mention of XML Schema 1.1 and how that changed the story. I did get some good value out of understanding why some document-centric customers are still using DTD's.

HL7's use of XML - Paul Knapp


Learned how HL7 V3 XML isn't really yet used in US e-healthcare apps (every hospital is exchanging internal messages in HL7 V2). Abroad, new projects that are less than three years old are very likely to be HL7 V3. We should be seeing more of this in the states with new projects, especially as we start to consider the need to share information outside of a single hospital, etc. Paul did mention binary XML and how that would help many of the HL7 V3 current issues.

MarkLogic Beer and Demo Jam


I did a 4 minute demo along with nine others during the reception. You get 5 minutes to do a demo with no preparation and the best demos win free stuff. I demoed the XML Feature Pack and the 40 samples we have along with the end to end blog checker sample written in XPath 2.0, XSLT 2.0, and XQuery 1.0. The samples I showed had a nice CSS and dashboard we've added since Beta 4 and that visual skinning over the XML technologies drew positive comments from the crowd. Didn't win anything in the end. Oh well.

After hours


Finally, I was able to do dinner with about 15 folks who regularly attend these conferences. Some great conversation with people from all parts of the industry.

Sunday, September 20, 2009

WebSphere eXtreme Scale cache provider for Dynacache






























The dynamic cache engine is the default cache provider for the Dynacache APIs and frameworks. Starting WebSphere Application Server 7.0.0.5 and 6.1.0.27 Dynacache allows WebSphere eXtreme Scale to act as the core caching engine for Dynacache.

You can configure the dynamic cache service to use WebSphere eXtreme Scale as your cache provider instead of the default dynamic cache engine.

This provides customers the ability to leverage transactional support, improved scalability, high availability and other XTP features without making changes to their existing Dynacache caching code.


This capability can also be enabled on WAS service packs 6.1.0.23, 6.1.0.25 and 7.0.0.3 via APAR PK85622.

Links:

Tuesday, September 15, 2009

XML Feature Pack Thin Client Demo - Zero to running in 6 minutes

As we announced, the latest beta release of the XML Feature Pack contains the Thin Client for XML. As well as allowing you to use this in your client applications to WebSphere Application Servers, the thin client allows for quick and easily evaluation of the technology. Here I show a quick demo of using the following simple XML, XPath, XSLT and XQuery files along with Java files to invoke them.

Demo 7 - XML Feature Pack Beta 4 Thin Client for XML


Direct Link (HD Version)


Here are the files for the demo:

thinclientdemo.zip


Which contains (HelloXSLT.java, HelloXQuery.java, HelloXPath.java, simple.xsl, simple.xq, locations.xml)

Monday, September 14, 2009

Rational Automation Framework for WebSphere

Leigh and David spent the better part of 8 years working on the WebSphere Foundation Architecture and WebSphere Application Server - specifically in the areas of administration, configuration, systems management, and performance tooling. In mid-2007 both David and Leigh took the opportunity to expand their horizons and explore new options in IBM, though never really moving too far away from WebSphere systems management. Since leaving the WebSphere Architecture and Development organization in 2007, we have been working in the IBM Rational brand focusing on software delivery automation. We are excited to announce that the result of that effort is the announcement and delivery of the Rational Automation Framework for WebSphere - available as of May 15, 2009.

IBM Rational Automation Framework for WebSphere is an optional feature that extends and enhances IBM Rational Build Forge around WebSphere Application Server and WebSphere Portal environments. This customizable management framework is designed specifically to automate installation, patching, configuration management, and application deployments for IBM WebSphere Application Server and IBM WebSphere Portal.

Rational Automation Framework for WebSphere reduces the complexity of managing your IBM WebSphere Application Server and IBM WebSphere Portal environment due to common pains, such as:
  • The lack of consistency and/or repeatability in the installation, configuration, and application deployments in IBM WebSphere Application Server and IBM WebSphere Portal environments as a part of the Software Delivery Lifecycle.
  • The challenge of connecting disparate application development, test, and operations groups into a single traceable and enforceable process for the Software Delivery Lifecycle.
  • The inability to manage IBM WebSphere Application Server and IBM WebSphere Portal environments across multiple Software Delivery Lifecycle environments and/or beyond the cell scope leading to the development of costly, difficult to support, homegrown solutions.
  • The lack of change history, auditability, and governance around the changes to the IBM WebSphere Application Server and IBM WebSphere Portal environment configurations.
  • The need to be able to quickly reproduce IBM WebSphere Application Server and IBM WebSphere Portal environments in the case of a disaster.

For those companies facing IBM WebSphere Application Server and IBM WebSphere Portal infrastructure management challenges, the key to delivering greater operational productivity with quality is automation. By eliminating manual and complex tasks when managing IBM WebSphere Application Server and IBM WebSphere Portal environments, Rational Automation Framework for WebSphere can provide accuracy, reliability, repeatability, and consistency to help cut costs and improve productivity and quality.


David Brauneis
Chief Architect, Rational Automation Framework for WebSphere

Leigh Williamson
Distinguished Engineer & Chief Architect, Rational Software Delivery Automation

XML Feature Pack Beta 4 - Now With Thin Client

A month ago, we announced the Beta 3 refresh which was specification complete on XPath 2.0, XSLT 2.0, and XQuery 1.0. On Friday we released a Beta 4 refresh which continues to remove any remaining restrictions as well as adds one new major feature - The Thin Client for XML with WebSphere Application Server.

As noted on the open beta download page,

The beta includes the IBM Thin Client for XML with WebSphere Application Server. The thin client allows access to the same Feature Pack API and runtime functionality (XPath 2.0, XSLT 2.0, XQuery 1.0) available in the WebSphere Application Server Feature Pack for XML. The thin client can be copied to multiple clients running Java SE 1.6 in support of a WebSphere Application Server V7.0 installation.


This means if you have client applications to WebSphere Application Servers you can copy the XML Feature Pack thin client file to these clients and get the same XML programming model support in your clients.

We also believe this thin client support will help "new to WebSphere" folks evaluate this technology. As such, we have added a download link to the jar file on the open beta website. Click on that link and then click on "Local install using Download Director or HTTP" and follow through to download "IBM Thin Client for XML with WebSphere Application Server
com.ibm.xml.thinclient_1.0.0.jar". I hope to show a demo of how fast you can get up and going with the thin client in the next day or so.

Saturday, September 12, 2009

Hidden nodes in XPath - fail on namespaces by me

I was working on a sample with the XML Feature Pack last week to show good integration between the XML Feature Pack Beta and databases that support XML columns, such as DB2 pureXML.

I ran into an issue that stumped me for a while and wanted to write about it so maybe others won't be slowed down as long as I. I was writing a XCollectionResolver and XResultsResolver that connected to the database. For some reason, while these resolvers returned data that looked valid, they couldn't be navigated by XPath 2.0. I saw things like this is XQuery:

let $a := trace($domainSpammers/spammers/spammer/email, "email =")

Traced nothing, while

let $a := trace(node-name($domainSpammers/*/*/*), "threestars = ")

Traced email, uri, and name. I even put domainSpammers into the output of the XQuery and could see the spammers/spammer/email tree:

<spammers xmlns="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <spammer>
    <name>Joe Smith</name>
    <email>jsmith@email.com</email>
    <uri>http://joe.uri.com</uri>
  </spammer>
</spammers>

I looked at this for a few hours. Luckily one of my team members saw the issue. You can see by the title of this post and the above xml, the issue was the elements are in the XHTML namespace.

It turns out I was writing to the document from XSLT 2.0 using the new feature of multiple result documents. While I wanted my browser returned page to be in the default namespace of XHTML, I didn't want the data written to the database to be in the XHTML namespace. However, since I didn't clarify this, it mistakenly was written to that namespace.

Next time, and maybe this will help you, I'll add namespace-uri() to my debugging arsenal:

let $a := trace(
  (node-name($domainSpammers/*/*/*),
  namespace-uri($domainSpammers/*/*/*)), "threestars = ")

Which would clearly have shown that email was in the XHTML space:

a = email http://www.w3.org/1999/xhtml;

Which would have saved me a few hours of pulling my hair out.

Friday, September 11, 2009

SCA 1.0.1 Beta Refresh Available

The SCA team in WebSphere has revved the 1.0.1 Beta yet again and it utilizes the Rational Install Manager (IM) software which allows the 1.0.1 to be laid down on a vanilla WAS w/o having to install the 4Q08 GA (1.0.0) level of code.

Rather than go into detail about additional capability, I'll tease you to go look at the official early program website for our beta.

Enjoy.

Wednesday, September 9, 2009

SPEC working on standard SOA Benchmark

I continue to be interested in helping customers understand the performance of Service Oriented Architect (SOA) applications. As you can see here, I'm working (as the chair) in this SPEC working group, along with considerable input from Oracle and VMware on pushing forward on a standard benchmark for SOA based applications and the middleware infrastructure on which they run.

The interesting parts (in my opinion) of this press release are:

The benchmark will be developed by a trusted benchmarking organization with input from all SPEC members. Also, as mentioned in the press release, we're looking for participation by other interested parties. If you're interested in joining SPEC or providing input, let Bob Cramblitt know. I'm truly excited to see a SOA benchmark come from SPEC as they have a proven track record in creating industry trusted benchmarks for middleware performance.

While the initial focus is Web Services, Enterprise Service Buses, and Business Process Management (BPEL), the group realizes these technologies are only part of the entire SOA picture. It's good to see the group start with a sensible core and grow the effort over time.

The group is working to stay flexible on its support of multiple approaches to implementing these technologies. This is key, as SOA is an architectural approach and there are multiple ways to implement such technologies. However, in an industry standard benchmark it's important to audit and standardize common implementations to confirm they would be used in typical customer implementations.

I'll continue to post publically shareable information as the work group makes progress. If you have any quick questions, post them here and I'll ask them at the working group.

Thursday, August 27, 2009

Apache Wink and JAX-RS

I've received a number of questions from customers on IBM and JAX-RS support. I wanted to mention to interested parties that IBM started an Apache Incubator project (Apache Wink) with HP and others on building an open source JAX-RS implementation. JAX-RS (if you aren't aware) is JSR 311 - the JCP defined standard programming model for building REST-based services. You can check out the original proposal (here) and the project site (here) and lastly, the project Wiki (more useful) (here). Lastly, we've started a "WebSphere Web Services" specific blog (here) where we will be discussing features, capabilities, and other items going forward... This post (here) talks about some of the capabilities in their first (and fairly complete) release of the incubator project that was just formalized today.

Take a look...

Tuesday, August 25, 2009

On Twitter?

A couple of us have an active presence on twitter if you use it. Andrew Spyker (@aspyker) and I (@burckart) are both pretty active as are some of our product managers like Savio Rodrigues (@SavioRodrigues) and Erik Kristiansen(@erikkristiansen). Another great person to follow is Billy Newport, (@billynewport), our WebSphere eXtreme Scale architect. Feel free to reach out to any of us on twitter.

Monday, August 24, 2009

Information Center for XML Feature Pack Beta Posted

In software development, it's not just about creating the runtimes and API's and install images. As a customer, information to help understand how to use the features of any product is as important or more important than the product itself. This is why we've spent so much time on creating samples for the XML Feature Pack. Today we go a big step further by releasing the XML Feature Pack Information Center.

The Feature Pack for XML Information Center is comprehensive documentation on the XML Feature Pack. The content of this documentation is live and can change as we get more information articles. If there are features you have questions on, please let me know and I'll ensure we consider updates for future updates. Also note that we have moved the Javadoc for the API to this information center.

Friday, August 21, 2009

What's going on with Communications Enabled Applications?

We have had a lot of activity on the WebSphere Communications Enabled Applications blog. I have had several blogs highlighting scenarios from retail to finance to inventory management. I even came up with another one of my non-award winning videos here describing the customer experience the CEA Feature Pack can bring to a website.

Beyond that, there has been a whole bunch of information presented and I wanted to give you all a quick summary and reference to some of those blogs.

First, Roger wrote a great and verbose cheat sheet in PDF format on how to get up and running with the CEA Feature Pack and Plants by WebSphere sample. If you are looking to try it out, his document is a great place to start.

James has written some specific details on which version of vendor systems we tested our CEA Feature Pack against. He also wrote a more in depth piece on how to configure the feature pack to work with Avaya AES.

Andy wrote some getting started and advanced usage blogs on the Web 2.0 widget capabilities in the CEA Feature Pack. To get started, he wrote a blog on embedding the telephony widgets like click to call and embedding the peer to peer cobrowsing (aka coshopping) widget. He also wrote several more advanced blogs on how to create a two way form, how to handle personalized content and actions in cobrowsing scenarios, and how to add CEA widgets to a page already using another version of dojo.

Finally, we had our first guest blogger. Dustin Amrhein tried out the feature pack for the first time this week and found good ways to easily extend the Web 2.0 widgets included. He wrote his first blog showing how you can customize the click to call widget to add the ability to select a specialist. We are looking forward to him writing several more blogs on the other scenarios he tried out.