Tuesday, December 22, 2009
2009 WebSphere Application Server Highlights
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
- 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
Friday, December 18, 2009
RAD 7.5.5 adds support for XPath 2.0 and XSLT 2.0
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
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
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
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
Main Links
- Quick Blog Overview of XML Feature Pack
- New Features Added in XML Feature Pack 1.0.0.3 (XQuery Schema Awareness, XSLT 2.0 Debugging Support)
- New Features in XML Feature Pack 1.0.0.9 Tech Preview (XQuery Modules, easier to bind Java functions, better error messages)
- XML Feature Pack website
Installing on the application server
- Install WebSphere Application Server for Developers
- The If network connected, install IBM Installation Manager for WebSphere and update
- If behind firewall, download repository and install locally
Obtaining the simple Thin Client
- Download the thin client
- Download tech preview of latest thin client
Documentation
- XML Feature Pack Infocenter
- Javadoc for XML Feature API
Tools
- Rational Application Developer 7.5.5 XSLT 2.0 support
- Simple XQuery execution with XQDT
Video demos
- How to install and get running with XML Feature Pack samples
- Using the thin client to get up and running in five minutes
- IBM Education Assistant video on the XML Feature Pack 1.0
- Using the XML Feature Pack with an XML Database
Industry Coverage
- InfoQ article that overviews the XML Feature Pack contents and makes comparisons to other related technologies
Developerworks Articles
- Programming XML across the multiple tiers: Use XML in the middle tier for performance, fidelity, and development ease
- Programming XML across the multiple tiers, Part 2: Write efficient Java EE applications that exploit an XML database server
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
Last updated: 2009-02-23 (added XQuery tools and thin client information)
Wednesday, November 18, 2009
WebSphere Hypervisor Edition for AIX gets a date
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
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
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
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
"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
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
Saturday, October 17, 2009
WebSphere Application Server V7.0 New Features
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
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
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
Friday, October 2, 2009
XML-In-Practice Day #2 Summary
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 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
- 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.
XML Feature Pack Beta 4 - Now With Thin Client
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 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
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
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
Take a look...
Tuesday, August 25, 2009
On Twitter?
Monday, August 24, 2009
Information Center for XML Feature Pack Beta Posted
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?
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.
Tuesday, August 18, 2009
Other XML Feature Pack Beta 3 Highlights
- Spec complete on XPath 2.0, XSLT 2.0, and XQuery
- Changes to the XML Feature Pack API to adjust for new features and results of usability studies
- Focus on development and deployment issues with full command line support to pre-compile XML artifacts for performance, ANT commands to do the same, and support for running with Java 2 Security enabled.
- As always, more samples. In addition to the end to end sample of XQuery I demoed yesterday, we have over 40 samples that show the new features of the new standards.
Here is the video that overviews these features:
Demo 6 - XML Feature Pack Beta 3 Highlights
Direct Link (HD Version)
For more information on the WAS V7.0 XML Feature Pack Beta, please go here to download the code, samples, documentation as well as see other demos.
Monday, August 17, 2009
XQuery End to End Sample for XML Feature Pack (Demo #5)
Demo 5 - End to End XQuery 1.0 (Part 1)
Direct Link (HD Version)
Demo 5 - End to End XQuery 1.0 (Part 2)
Direct Link (HD Version)
Saturday, August 15, 2009
Download Stats Extreme Makeover - The Value of XSLT 2.0 and XQuery 1.0
For our Beta programs, we get a weekly report of how many downloads have occurred. Over time we have asked for more and more breakdowns of the data (how many were from IBM'ers vs. non-IBM'ers, how many were from non gmail/hotmail/etc email addresses, how many for code vs. how many for documentation, how many unique users have downloaded, etc.). We use these reports to gauge the interest in our betas and the effectiveness of our beta programs.
Currently the process for doing these reports is:
1. Load a webpage somewhere on the intranet that returns in either HTML or space and newline separated text the download records (and I don't have the time nor contacts to change this "service").
2. Import these download records into Excel
3. Write VBScript that processes the rows into summary tables, but not all summaries have VBScript written for them due to the fact that VBScript can get quite complicated.
4. Read the summary tables and hand compute some summaries and transpose them into emails and presentations to beta teams.
This process can take a few hours and is error prone.
I asked for the raw data for the service as I knew there had to be an easier way.
First I started with the HTML as its pretty much XML and I figured I could just write some simple XQuery summaries. This failed as HTML isn't XML (if its not XHTML). Don't get me started on that rant (in this case, we had things like width=-1 with no quotes)! So I restarted with the text file version of the data.
XSLT 2.0 has a new function - unparsed-text() that lets you load from text files. This allows you to load any data into XSLT 2.0, but only as a string. As the XSLT 2.0 specification shows the real power of this function is magnified by XPath 2.0's support of regular expressions. Combining the unparsed-text() with regex tokenize() with newline as the separator allowed me to for-each across every line in the file. Adding another new XSLT 2.0 function into the mix - analyze-string() with a regular expression that did capturing of each of the fields allowed me to transform each line into a well formed XML element with sub-elements for each of the fields (download element with elements for filename, email address, etc). Ah, now I have data in a well formed structured XML format. Life is good.
Once I had this transformation of the input data, I returned to the task of creating the summaries. With XQuery, any query I want is just moments away. To prove the point, I decided to write a simple query that would break down the downloads for IBM'ers and non-IBM'ers separately. I would also group each unique user and list all the downloads that user had done with summaries at all levels of how many code vs. how many documentation downloads had occured. I want to put this in XML format, so others could query my summaries or I could put the summaries into HTML or load back into Excel (if you really really want to).
It took me approximately 30 minutes to create all of the above queries. The code is approximately 20 lines long and is well designed into re-usable functions that could be customized later. The code is easy for most of my peer Java developers to understand as XQuery looks alot like an imperative language with SQL like queries mixed into templating of output.
My next step is to move this to a web application (what I did so far was prototyped it with sample data) that connects directly to the service. The web application could easily offer up web forms that allowed the user to specify search criteria supported by the back end service (date range for example) along with what XQuery/summary view was required.
There are still some items that can't be automated and need human intervention. As an example, the process of deciding what constitutes an IBM'er is complex as some IBM'ers have "ibm.com" email address and some do not. Also, IBM could be "IBM, International Business Machines, or mistyped". It would take a bit of time to create some services that approximate what a human eye could spot manually. Adding a human facing pop-up that allowed visual inspection of the automated data analysis steps would be valuable. Also, I admit that I didn't create the charts and graphs - just the raw data that could be loaded into Excel to create charts and graphs.
But in the end I have converted a manual error prone data processing scenario into an automated approach (for data query and summaries) that creates all the same valuable raw data for reports with the potential to add more reports much more quickly. All of this was made possible using well documented W3C standards that have all the needed features (some new with XPath/XSLT 2.0 and XQuery 1.0) that make this scenario possible.
Thursday, August 13, 2009
Specification complete on XPath 2.0, XSLT 2.0, XQuery 1.0 - Beta 3 of XML Feature Pack Released
Once we're not in beta, we'll post final numbers on the W3C website on the XML Query Test Suite conformance. Currently we're at 96.8% on minimal conformance and we have support for the optional full axis and serialization features. As for XPath 2.0, and XSLT 2.0, we consider this beta release to support all of the specifications with minor restrictions as listed in the getting started guide. This means that we now have support for all for the W3C recommended standards for Querying, Transforming, and Accessing XML data (except the less popular XQuery/X).
We have expanded the XML Feature Pack API to handle feedback from usability studies and to handle new features required by the standards.
We have focused on items that make the feature pack easier to use. We have made changes to allow the feature pack runtime to run under Java 2 Security, without requiring an application to enable any more security than minimally needed. We have expanded the options for the command line tools for pre-compiling xml artifacts. We have also added ANT tasks for integrating this pre-compilation support into your build scripts.
With the full standards support, updated API, and runtime and development time improvements, this feature pack release should be quite useful. In the next few days, I'll post some videos to demonstrate the new capabilities on YouTube. In the meantime, you can download the feature pack beta and join the web forums to ask questions.
Monday, August 10, 2009
Another reason for DataPower SOA appliances - XML Threat Protection
I wanted to post about it here to make sure this wasn't an unknown concept to our customers. Rich talks about "defense in depth", which is what most of our WebSphere customers are doing today. To quote Keys Botzum (one of our lead security consultants for WebSphere, "Anyone that is exposing services to untrusted sources absolutely needs to be running a XML firewall, like DataPower)". In my world, defense in depth means putting a WebSphere DataPower XML Security Gateway XS40 in front of any services that could be called by untrusted sources. Also, given the performance characteristics of the DataPower devices (basically no latency impact), you likely want to do this on all services (as sometimes hacks aren't intention and sometimes hacks come from internal sources).
If you haven't heard of XML firewalls or XML threat protection, think about network firewalls. Network firewalls are great for protecting us from threats that can be detected at the network level (like the recent Twitter and FaceBook distributed denial of service attacks), but they don't help you with threats that are in the payloads of messages themselves. XML Firewalls help you with such application level threats by turning away bad messages before they enter your enterprise applications.
If you have any questions on the concept, feel free to pop over to Rich's blog and ask.
Wednesday, August 5, 2009
Interviews of WebSphere architects
There are two playlists which can help you view all the videos. This playlist of WebSphere vs JBoss Developer Discussions walks through the specifics around how development is getting better and easier. This playlist covers WebSphere vs JBoss Operations discussions and covers more of the systems management side of the product.
Here is one of the videos (you'll note I didn't include one of mine ;-) ) on developer efficiency.
Friday, July 31, 2009
CEA Feature Pack available for download!
Additionally, the new documentation (aka InfoCenter) is available here: http://www-01.ibm.com/software/webservers/appserv/was/library/v70/fp-cv/index.html.
Finally, here are the support pages: http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg27016107.
You can learn more about CEA at its blog, http://ibmcea.blogspot.com/ (Link also in the sidebar). If you need a refresher on some of the cool features, here is a YouTube video showing the widgets helping solve problems in the contact center.
Tuesday, July 28, 2009
Quick summary of Summer XML Conference
I was a little worried, given the crowd, about how well the "what's new" presentation would go as a) I'm knowledgeable with the new standards, but don't use the standards in very large programs every day (some of the crowd were deeply knowledged XSLT 1.0 users) and b) it was the first time I've given the presentation. I did get two points of good feedback from the attendees, so I guess it better than I had hoped. I'm going to look to post the slides as they were information packed and other conference attendees said they would be useful for other members of their companies.
I, along with two of my team members, attended sessions on XSLT patterns, XML Schema 1.1, Schematron, HTML 5, XForms, SVG/Canvas, Testing XML Documents, and many presentations related to XML based document publishing for books and electronic help. The conference seemed to be 1/3 focused on XML technologies, 1/2 on document publishing with the rest being focused on data/application programming. Hopefully my talk on how these technologies are being used in middleware helps the group keep focus on XML scenarios outside of the document publishing space.
On the document publishing front, I learned even more than I ever imagined about what our documentation teams deal with on a daily basis. I also got great insight to the challenges of companies or parts of companies that deal entirely in products centered about content management and document re-use.
Summary: Great conference. Thanks to Kay and all the other conference presenters and attendees.
Friday, July 24, 2009
Two years of blogging, now tweeting, what is next?
I started using Twitter on May 6th, 2009 and usually do, on average, at least an update a day.
I showed up on Youtube for the first time in February of 2008. I started my own Youtube channel for education on technology I work on three months ago. I was recently interviews on YouTube about performance as it relates to IT operations.
I started using Facebook well before blogging/tweeting, but still keep that social network separated from work. Unless you know me outside of work, don't try to friend me. Nothing personal, but need some part of the internet that is work free.
I started using Linkedin well before blogging/tweeting. I try to connect on Linkedin with as many folks there as possible as I believe above all else, this community represents real users of technology I work on. Feel free to link to me there if you are using IBM technology or if you're interested in XML, SOA and/or performance.
What social network will we all need to support next? I personally hope it's one that unifies all of the above social networks and respects work vs. personal boundaries.
Thursday, July 16, 2009
XForms hooked up to earlier prototype of (-)RX with XML Feature Pack
Today I crossed that final gap. Didn't end up using Ubiquity XForms for this first try - just used the XForms plug-in for Firefox. What took the longest in this was ensuring that I set the appropriate @Provides in JAX-RS to ensure the APPLICATION_XHTML_XML headers were sent to the browser, so the XForms runtime knew to do its magic.
I had to write alot of system code around the XML Feature Pack to get this to work, but now that that system code is written the amount of configuration needed to get new interesting samples is very small (as compared to doing the same with a bunch of API layers and objects in J2EE and JavaScript). Quite excitingly small.
Time to make a more complicated example.