jWidgets to make it easier to develop Eclipse based components for composite applications

Perusing the the Composite Application Wiki I discovered a technology IBM calls jWidgets. Basically they are for Composite Application Java component development what iWidgets are to websites that is a widget framework for easily and more quickly doing stuff. Developing Java components for composite applications is a little hard as you have to manage wires etc. yourself. A framework would make that a lot easier and that’s exactly what jWidgets are.

Having the technology available to Lotus Notes (and not just Lotus Expeditor) would be really cool. From an IBM’er I however learned that they haven’t been formally tested in Notes, but the technical capability is there. They have only been tested formally in Lotus Expeditor 6.2.2.

jWidgets – Easy Creation of Java Composite Application Components

IBM Developer Kit-In-A-Box – Composite Application

I want to bring your attention to a blog entry by Bob Balfe called Labs for “Eclipse, extensions, composites and XPages!” are now available! The site he points to is really cool and has some very nice hands-on exercises on how to do composite applications incl. XPage components and Eclipse components. If you’re new to Composite Applications or want to brush up this is for you.

CompApp wiki: Advanced Page Properties

The documentation for Notes 8 is starting to tickle online at the developerWorks CompApp wiki. Now some documentation on some of the Advanced Pages Properties has appeared at the wiki. Now we just need type-ahead and/or a dropdown selection for the available properties in the UI rather than having to remember and type the property names our selves. Typos in the property names are a major cause of CompApp behavior problems IMHO.

New CompApp url type (cai:///)

Niklas Heidloff is being very productive today on the CompApp wiki. He just uploaded another page called Pass Context to Components when opening Composite Applications. On this page he explains a new url type (cai:///):

“Opening a connection to a CAI URL will cause the corresponding application to be projected to the client or updated if already on the client, and then opened in the user interface to the specified page. If no page is specified, the first page in the application is opened.”

Besides being, as Nathan describes it, “hideous”, it’s never going to work IMHO. This approach fails the number one test for URL’s – they should be easily computable and/or written by users. How something with an appInstanceID of 63 characters (example: CFB7535080ECD4C270FDD126C5DD9E27_11_5JMPDRH1000980269G784H2GO4) came through QA I don’t know.

The page refers to M5 (probably milestone 5 for 8.5) and says that “we might publish [the url type] in Lotus Notes 8.0.1”. Let’s hope not!

Article: Designing composite applications: Writing an Eclipse component for IBM Lotus Notes

“This article introduces some helper classes so you can quickly build and deploy feature-rich, reusable, Eclipse-based components for IBM Lotus Notes. You also learn how to create a foundation upon which other components can be created quickly and easily.”

Designing composite applications: Writing an Eclipse component for IBM Lotus Notes by Craig Wolpert and Jo Grant from IBM @ IBM developerWorks.

Preemptive support from Atlassian

As you can see from the comments to my post on Watching wikis, the support team from Atlassian found my blog post on the problems I was having with the RSS feeds for the IBM Composite Application wiki. How cool is that the support team goes looking from issues to solve?

Does anyone know how to get in contact with the guys at IBM who run the wikis so the issue can be resolved? As you can see Atlassian already created the support ticket to get you guys going.

Watch wikis

Bob Balfe just blogged about how you can access the underlying data model for Composite Applications and how he wrote up a page on the Composite Application wiki. This is great but did you know that you can subscribe to the wikis and be notified when new content is added? Also without Bob blogging about it. One option is RSS and another is by e-mail. While I prefer RSS the wikis doesn’t allow that since the wiki (Atlassian Confluence) throws an exception due to a missing class.

caused by: java.lang.NoClassDefFoundError:
 at com.atlassian.xwork.results.RssResult.doExecute(RssResult.java:41)

My guess is that the wiki is run on an IBM JVM and hence doesn’t have the referenced com.sun class. Any way it’s really bad form relying on classes in the com.sun namespace as they are not part of the official API so shame on Atlassian in this case.

Any ways for now e-mail notification is the way to go.

IBM Tivoli Composite Application Management

Anyone who have tried this piece of software? Is it a server install, does it have client agents (most errors would probably be generated locally), does it support Notes 8? Below is the description from IBM.com.

“Application management is difficult because code has been written by various sources (outsourced, consultant or internal development). Composite applications further complicate management because applications are created by linking various pieces together (web servers, databases, web services, etc.). When there is a problem with the application, you may have an indication of the problem, but it is very difficult to pin point where the problem is without end to end composite application monitoring software.”

Direct link: IBM Tivoli Composite Application Management

developerWorks article – Designing composite applications: Unit testing

Craig Wolpert and Jo Grant from the composite application team at IBM are on a roll. They have just published their fourth article on developerWorks on developing composite applications:

“The ease with which users can assemble composite applications from components increases the need to unit test your components before users use them. This article, fourth in our series on composite applications, describes how to test your components prior to assembling composite applications.”

Designing composite applications: Unit testing