Jun 21

Forbes: Fighting talk on Open Source

Java, Open Source, Tech No Comments »

So, I am incommunicado for a week, and the world didn’t explode. I start trying to get through the mountain of email/rss that I now have as a gift for taking time out from the real world, and I instantly run across the Forbes.com article by Daniel Lyons.

Man he doesn’t hold back as most analysts do. He must have been shouted at by his wife or something, as he comes out with exactly what he thinks, in no uncertain terms. Kinda nice to see actually.

Cosby says IBM is just responding to customer needs. He says he hasn’t thought much about what IBM’s acquisition of Gluecode means for JBoss.

What is particularly cool about the Gluecode acquisition is:

Gluecode used to make money by selling some “closed source” programs that ran on top of its free open source stuff. No more, says IBM, which intends to release the source code for all of Gluecode’s programs and distribute them for free

A free cup of JOE huh. Nice.

May 12

IBM Project Harmony?

Java, Open Source, Tech 4 Comments »

So, the Project Harmony effort has a lot of supporters.

Interestingly, it seems like it was lead by good ‘ole Geir Magnusson.

Maybe nothing was read into that when the proposal came out. But now, Geir is an IBMer.

The whole Project Harmony could take on a new level of importance. I think a lot of sentiment out there was:

We have seen the troubles of having an opensource JVM/libraries a la GNU Classpath and co. Do they really think they can pull it off?

Maybe they can with the IBM VM team (as well as with help from other folks).

Imagine this world….

  • Apache has a leading opensource JVM
  • Developers start to go to use that JVM rather than going to java.sun.com
  • IBM has another level of control over Java, making Sun more and more of a fringe player
  • BEA JRockit folks join in, offering their own JIT and tools that work in this world

It is a very ambitious project, but there is a lot to be gained. Who has their hand up for writing the Swing implementation :/

Stallman is also at it again, talking about OpenOffice.org’s use of Java, and his rampage for a free Java.

IBM developerWorks has an interview with Jeremy Boynes, CTO of Gluecode where he talks about “Building a better J2EE server, the open source way”.

Marc Fleury also came out firing, with IBM Turns the Guns on Professional Open Source.

Apr 12

OpenSource: If you pay $15

Open Source, Tech 5 Comments »

If a product opensource if you have to pay $15 to get it? Maui X-Stream plans to opensource Cherry OS a Mac OS emulator on May 1st.

Why are they doing this? They have been under attack by PearPC developers, who allege that some of their code was stolen. Maui is going to try to use OpenSource as a way to proove that they haven’t stolen anything.

What was interesting was the quote:

The company is waiting until 1 May to release the source code to allow time to prepare for the “onslaught of response” that it expects. It will charge $14.95 (

Apr 08

Apache Beehive PageFlows vs. Spring WebFlow

Java, Lightweight Containers, Open Source, Tech, Web Frameworks 5 Comments »

Way back in time I worked on early releases of BEA’s Portal server. At the time they had their own MVC framework webflow, and it was a little painful to use (Remember the Rational ROSE tools for the Commerce product?).

However, that was many many years ago, and it has gotten better each release.

Now a lot of the same learning, is in place with Apache Beehive NetUI and PageFlows frameworks.

The Spring guys came out with a WebFlow component, which covers some of the same ground. How do they compare? At a high level their pro’s are:

Spring WebFlow:

WebFlow, although immature, does have an interesting goal in that it works on top of ANY web framework, and isn

Apr 07

Lingo: Indigo for Java without WS-*

Java, Lightweight Containers, Microsoft, Open Source, Tech 1 Comment »

Lingo is a new lightweight remoting / messaging library that smells a lot like Indigo in simple ways. The main difference is that the model isn’t baked in with WS-* XML blah.

It is cool that you have control over the messaging exchange patterns, and can do things like JMX over JMS very easily.

About Lingo

Lingo is a lightweight POJO based remoting and messaging library based on Spring’s Remoting which extends it to support JMS and support a wide range of message exchange patterns including both synchronous and asynchronous message exchange.

Current supported message exchange patterns include:

  • synchronous request-response (like RMI)
  • one way messaging (asynchronous invocation – like a JMS publish)
  • asynchronous consumption (like a JMS subscribe)
  • asynchronous request-reply (allowing the server side to asynchronously send one or more replies as the data becomes available).

You can think of Lingo as being conceptually similar to both Microsoft Indigo and JSR 181 in that it allows asynchrnous method execution, remoting and asynchronous messaging to be bound to existing POJOs (classes or interfaces) though it has no particular dependency on Web
Services infrastructure.

Lingo supports pluggable messaging bindings; the first binding is an efficient JMS implementation. Over time we’ll be adding other bindings to web services frameworks and other transports.

For more details of how Lingo works and what features it offers, see the Overview or try out the Example

Read more about the new: Lingo

Apr 06

O’Reilly CodeZoo: Trying to pen in the wilds of opensource

Java, Open Source, Tech 6 Comments »

O’Reilly has released a CodeZoo which is meant to wrangle in the wild of opensource, and let us search through and grab components that we need.

At the moment there isn’t a huge amount of data in there, but if it grows it could be quite useful.

Where I would want this site to help is in a scenario such as:

I need a Java based CMS engine that works with X, and has feature A, B, and C

I would like to then go to CodeZoo, and have information there that would help me validate my scenario. Show me what users have said about it (especially those who have implemented something on it!) and then link me to good resources.

Mar 18

Google Code: Open Source

Google, Open Source, Tech 1 Comment »

Remember the big argument over Adam Bosworth talking about open source databases? At the time some people came out swinging saying that “Google doesn’t do open source, so why should they ask others to do work for them! They just use others”.

Google came back saying:

  • We do contribute to open source
  • We do GIVE YOU GOOGLE FOR FREE!

Now, they announce http://code.google.com which has open source projects from Google.

Cedric: Where is Test NG? :)

Bob: Where is dynAop? :)

Mar 07

GeronoSpring: Developers can use Spring and claim EJB 3

EJB, Java, Open Source, Tech 11 Comments »

One of the controversial points of EJB 3, is whether it should be backwards compatible. The programming model is so different, that it hardly seems right to force 2.1 compliance, but rather, make that an option.

In fact, one of the instant poll questions at TheServerSide Symposium backed this up:

How do you think the EJB 3 spec should handle backwards compatibility (e.g. to allow for a Spring compliant version)

1) Make EJB 2.1 support and below MANDATORY
2) Make EJB 2.1 support and below OPTIONAL (a check box for vendors to compete)

The results came back as ~80% of the crowd wanting this to be optional. Linda DeMichiel mentioned on the panel that she did hear the community here, although I do realise that she has other groups wanting other things. Kudos to her for being the spec lead ;)

Many people at the show laid their point down:

Tim Dawson: Vendors don’t care that the spec enforces backwards compatibility, they care about which server vendors do!

Hear, hear,

We also know that many dev groups need to be able to say “I am using EJB compliant software”. This is from vendors to ISVs to large IT organizations. It is a reality. And, although a couple of vendors told me at the show:

Spring can support the EJB 3 annotations, so they will be source-code compliant…

I think this is short sited. You can’t say “Oh, well we aren’t EJB 3 certified, but we do grok it. Promise”.

So, what if the EJB spec does continue to enforce EJB 2.1 compatibility?

I am not as worried about this anymore. Of course, I would love to see the likes of Spring able to support EJB 3, but there is a good solution if it isn’t the case. Geronimo/Spring integration.

What if Geronimo had first class integration with Spring? Spring Beans/modules could automatically be loaded up with no need for anything else. There are many, many ways in which the two could integrate, and I have heard of some very exciting possibilities from the teams.

What this does, is that it changes the game. We can get the best of all worlds.

If you work in a place that requires “application servers” and the like, you can just use Geronimo for that need… which will be a fully compliant EJB 3, J2EE 5, server.

So, I predict that:

Geronimo will become the server to run the Spring framework within.

Imagine it! EJB 3 view on your Spring modules! No need for Spring to have to implement the spec at all!

Mar 03

Selenium: javascript test tool for web applications

JavaScript, Open Source, Tech, Web Frameworks 3 Comments »

ThoughtWorkers have released a test tool for web applications named Selinium.

Selenium tests run directly in a browsers, just as real users do. And they run in Internet Explorer, Mozilla and Firefox on Windows, Linux and Macintosh. No other test tool covers such a wide array of platforms.

  • Browser compatability testing.

    Test your application to see if it works correctly on different
    browsers and operating systems. The same script can run on any Selenium
    platform.

  • System functional testing.
    Create regression tests to verify application functionality and user
    acceptance.

Selenium uses a unique mechanism which allows it to run on so multiple
platforms. Installed with your application webserver, Selenium automatically deploys it’s JavaScript automation engine — the Browser Bot — to your browser when you point it at the Selenium install point on your webserver. Thus, you must have write access to the machine your web application server is running on to install Selenium.

To get a quick feel, checkout an example TestRunner and run all of the tests. You will graphically be walked through the tests, with changing content letting you know what is passing and failing.

How does Selenium work?

Selenium uses JavaScript and Iframes to embed a test automation engine in your browser. This technique should work with any JavaScript-enabled browser. Because different browsers handle JavaScript somewhat differently, we usually have to tweak the engine to support new browsers.

Mar 03

Adobe Open Source

Open Source, Tech No Comments »

It is great to see more companies come along with open source contributions a la http://opensource.adobe.com.

The main seed release revolves around Adam and Eve:

Adam is a modeling engine and declarative language for describing constraints and relationships on a collection of value, typically the parameters to an application command. When bound to a human interface (HI) Adam provides the logic that controls the HI behavior. Adam is similar in concept to a spreadsheet or a forms manager. Values are set and dependent values are recalculated. Adam provides facilities to resolve interrelated dependencies and to track those dependencies, beyond what a spreadsheet provides.

Eve consists of a declarative language and layout engine for constructing an HI. The layout engine in Eve takes into account a rich description of UI elements to achieve a high quality layout – rivaling what can be achieved with manual placement. A single HI description in Eve suffices for multiple OS platforms and languages. This document describes Eve2, the latest version of Eve. Eve2 was developed to work with Adam and to incorporate many improvements that have been requested since Eve1 was written.

It is important to note that Adam and Eve do not constitute a traditional application framework. They are component libraries which can be incorporated into a number of environments. They can be used together, or independently, but must be combined with other facilities to construct an application. Nearly all of the components which comprise Adam and Eve can also be used independently and are documented as part of ASL.

ASL is being developed in C++, and relies heavily on the Boost libraries http://www.boost.org which are required for building ASL.

It seems like companies are coming out with two forms of community news:

  1. New Open Source Contribution!
  2. New Web Services APIs To Our Services

There are some interesting differences between the two :)