Monthly ArchiveDecember 2008



Habanero 29 Dec 2008 12:53 pm

Habanero v2.1.2 - Generate BO Test Classes

As part of our efforts to develop a comprehensive code generation toolkit for Habanero, version 2.1.2 has been released with the next phase: generation of NUnit test classes for Business Objects.

Business Object Testing
The goal with this release has been to generate a set of standard tests for Business Objects that help to guard against several potential application-breakers. A developer could inadvertently change the code files or the class definitions file, causing a runtime crash at the client’s site. Furthermore, the database may be missing required fields or include unexpected constraints that prevent valid objects from being persisted.

While tests have been included to validate a variety of BusinessObject features, including primary keys, properties, relationships, inheritance and persistence, test generation also creates a platform for developers to add their own tests by providing utility methods to generate test class instances with random values. The developer can also choose to run tests using an in-memory database in order to improve test performance.

Obviously this is work in progress and further customisation may be needed to support non-standard scenarios that arise in real-world applications. We would appreciate any feedback, which you can send through the online forums.

The Code Generation Roadmap
The current phase of work on code generation has a simple end goal: to help a developer get as close as possible to a final working application. While several code generation tools are available on the market, Habanero’s current code generation support comes free of charge and is specifically designed for applications built on Habanero, taking advantage of its streamlined data access and runtime UI generation.

The next phase will focus on switching the entire generation process to the new “action templates”. The final target is to provide the developer with the option to customise or switch the templates, which will create the platform for a community library of templates.

Downloading 2.1.2
The latest download is available at the Habanero Download page.

Microsoft 15 Dec 2008 10:25 am

Getting the Current Directory of your Application

With the .Net framework, there seem to be a number of ways of accessing current directories, and sometimes the tendency has been to use trial and error until you get the one that works for you. The danger of course is that you could be using an incorrect approach that works while you’re testing and then bombs out in the live environment, hence the infamous saying: “But it works on my machine!”

Directory.GetCurrentDirectory() is a changing value. It begins as the working directory of your application and gets modified as you go. In my case, it was being modified when I opened a file dialog. Getting the working directory of an application is a different property call:

Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)

Habanero 11 Dec 2008 12:26 pm

Habanero v2.1 Live with Form Generation

The Habanero team have been very busy for the last two months, focusing heavily on a rewrite of Firestarter as we enhance Habanero as a framework for rapid agile development of enterprise applications.

Code Generation
The groundwork has now been laid for a full code generation toolkit to complement Habanero application development. Version 2.1 includes the first phase of this release, the once-off code generation of standard forms from templates. While Habanero generates much of the grid and form content at runtime, these templates will assist in laying out the controls for a working application and also in illustrating how to take advantage of Habanero UI construction.

Impress Your Clients
One great advantage of this new feature is that you could take your laptop to a client interview and generate a working application with data access and visual screens in minutes. What is also impressive is the ability to generate for both desktop and web in the same application.
Continue Reading »

Habanero 09 Dec 2008 06:32 pm

Habanero on the Move: Lines of Code Graph

In a recent blog post, we discussed the demise of Subsonic, an ORM platform that specialised in web generation.  The clearest sign that the Subsonic project was running out of steam was that their lines of code graph had levelled off at 80,000 over the last 6 months.  While this could be attributed to devoting time to minor bug fixes, it also serves as a clear indication that the project team are not chasing new features.

In contrast, it is fascinating to see Habanero’s lines of code graph over a similar period.  The graph is attached below:
Continue Reading »

ASP.Net 09 Dec 2008 03:02 pm

ASP.NET Error in Global.asax

We were experiencing an error trying to compile an application using ASP.Net and Visual WebGui (which builds on top of ASP).  The global.asax file was being marked as erroneous, with the following error:

“Keyword, identifier, or string expected after verbatim specifier: @”

It turns out that the build action setting was wrong on the global.asax file.  Changing from “compile” to “content” cleared the error.

Habanero 09 Dec 2008 10:51 am

Another Habanero Competitor Falls Away?

When we were launching the marketing for Habanero way back in June 2007 (well, 16 months is a long time in IT), it was interesting to see who we were up against.  Of course there was a reasonable amount of competition in the strict object relational realm, although very little rivaled Habanero in the area of runtime UI generation as an extension of the ORM support.

Interestingly, Subsonic launched at almost the same time.  Focusing primarily on generating web front-ends, Subsonic did much of what Habanero did, but focused on web while Habanero originally focused on desktop.
Continue Reading »

Philosophy & Software development 05 Dec 2008 10:33 am

Will Lean Software Replace Open Source?

At a recent Spring developers conference in Hollywood, researcher John Rymer was, er, promoting Spring.  He made some fairly bold comments, as he seems to do on a regular basis, and perhaps this is a worthy moment to give his opinions due attention (there’s a link to the press release at the bottom).  His suggestion that open source would “move over” for lean software is a bold one, especially given that he was talking up open source only a year ago.  A year is a long time in IT, but not that long!
Continue Reading »