Category ArchiveHabanero
Habanero & Software development 31 Mar 2010 03:47 pm
Habanero 2.3.2 released
We’ve just recently released to the world version 2.3.2 of the Habanero Enterprise Application Framework. The download is available on the Habanero download page. This is the most stable version of the framework yet - the new version contains over 1000 new tests and has lots of bug fixes and enhancements over 2.3.1. Here is a description of some of the bigger ones:
- Added Support for MSAccess2007
- Dramatically improved the performance of loading collections.
- Added the IN operator to loading BusinessObjectCollections. This uses a very similar to notation to SQL where clauses. I will hopefully do a separate post on this on my Habanero blog
- Created a DataAccessorMultiSource, which can switch between DataAccessors based on the type loaded or saved.
Have a look at the change log page for a full list of the changes. We’re also busy restructuring the project and will soon be releasing a whole slew of related libraries which we’ve been developing the past few months. Stay tuned!
Habanero 12 Jun 2009 10:43 pm
Habanero 2.3.0 is out!
Habanero version 2.3.0 is the most stable and powerful version of Habanero available and the development team believes this version is going to knock the competition off the shelves. On top of a range of performance improvements, bug fixes, dependency inversions and extended test coverage, you’ll get new features like serialisation of BusinessObjects and a bunch of nifty UI tools.
What’s the Big Deal?
What sets Habanero apart from other data or ORM frameworks?
Continue Reading »
Habanero & Software development 15 May 2009 12:00 pm
Guji in Habanero Land #3: Using Use Cases to Drive Development
UI? BO? Huh? I think the other developers enjoy watching the colour drain from my face when I’m given a task, and pick my assignments accordingly. I’m just starting out in enterprise development; the only challenges I’ve tackled at university were algorithmic ones. So I approach each new task with terror rather than confidence.
Habanero 15 Apr 2009 10:31 am
Guji in Habanero Land #2: Diving into Code and Saving
The stage has been set and now its time to code… or is it? Habanero comes with Firestarter, a tool that will allow me to set up the Business objects and their relationships before generating code, user interfaces and tests. How cool is that?! Using the Firestarter tutorial as a guide I added Use Case Step, Use Case, Package and Project.
Habanero 06 Mar 2009 11:00 am
Guji in Habanero Land #1: The Use Case Manager
Hi I’m Deerasha more commonly known as Dee or, if you work at Chillisoft, Guji Dev.
Having recently graduated from university I’ve been thrust into the weird wonderful crazy world of custom enterprise software development. You can tell I have little idea of what I’m in for; I can’t even settle on an adjective to describe it.
While wading through a number of books and articles that are required reading for the field, I fell into my first project. Quite a disorienting experience, since commercial software development is so far flung from the cushy university purview. Suddenly terms like ‘Test Driven Development’, ‘Domain Driven Design’, ‘Habanero Enterprise Application Framework’, ‘Business Object Layer’, ‘Agile Software Development’ and ‘Inversion of Control’ began bouncing around in my head.
Databases & Habanero 20 Feb 2009 06:14 pm
Hell is testing without an in-memory database
Application maintenance tends to be a cumulative experience. Each new bug report, however inconsequential, comes attached with increasing levels of resentment from the development. You fix, you create patch, you launch live, you accidentally break something else, you get phone call. Customer unhappy, developer burnt out. Developer changes jobs, application is passed around like a hot potato, and the next developer is even more likely to break things than the first, given their lack of knowledge of the application’s “unique problem solving strategies”.
Continue Reading »
Habanero 17 Feb 2009 04:34 pm
Habanero v2.2 alpha is Live
A look at the new features list could make the v2.2 release look relatively minor. This is far from the truth. The relationship level has been almost completely rewritten, now supporting three variants of relationships: association, composition and aggregation.
The rewrite was born out of a continual conflict between expectation and implementation. Let’s look at an example to clarify where the confusion comes in. You have an Order and its OrderItems. It’s easy to understand that there’s no reason for an order item to exist if there is no order. Effectively, they’re one complete unit - you’d even imagine that an Order is useless without order items as well. The trouble with coding this kind of relationship is that your mind tells you you’re working with one conceptual unit, but you’re effectively coding for two.
Continue Reading »
Habanero & Humour 27 Jan 2009 09:53 am
Habanero Book(s) on the way
About a year ago we sent around a joke email about Habanero’s international adoption, which I thought would be nice to have on record. The joke gets reversed, however, because we are well into the middle of the first Habanero book. We’ve designed it as a reference tool for programmers wanting to enhance their skills by learning agile development techniques, including several software foundations like n-tier architecture, security, de-coupling and other critical concepts. These concepts are illustrated using Habanero, with hands-on examples of their implementation. Look out for a free draft copy released on the Habanero website this year.
Continue Reading »
Habanero 09 Jan 2009 06:17 pm
A mad week in the Habanero labs
Chillisoft have been stepping up their commitment to the Habanero project over the last few months. The concept of where the framework is going has been thrown back and forth with keen conversations over coffee, over pizza, overtime and overcrowded. Well it gets that way sometimes! There’s a bubbling enthusiasm, and the general sense of the staff at Chillisoft is that we want to be part of a project that is revolutionary.
Continue Reading »
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.
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 »
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 »
Habanero 27 Nov 2008 09:43 am
Habanero on CodeProject: Understanding Habanero’s UI Generation
The Habanero framework has been stirring considerable interest with its innovative approach to UI generation. Unlike the once-off code generation strategies of tools like CodeSmith, Habanero provides a flexible runtime generation that can build a user interface from a set of extensible and flexible definitions. Apart from defining structure and control types, this equips the user interfaces to enforce validation and property rules.
We’ve begun a series of articles on CodeProject which explain how this methodology works both in theory and practice. Check out the first in the series at: Dynamically Generated, User Defined Interfaces (Part 1).
Update
Part 2 is now live - you can access it here: Part 2.
Habanero 20 Nov 2008 06:47 pm
Habanero Under Construction: Bye-Bye PanelFactory
If you have any experience trying to find a suitable open source framework or application for what you’re trying to do, you’ll know that scanning a site like SourceForge will show up all kinds of open source projects that haven’t been touched for 5 years. For all the enthusiasm about open source, there’s an equal concern that a project’s support might dry up in a year’s time due to lack of interest or lack of funds.
The good news is that Chillisoft are very much committed to the Habanero project, and you may be excited to know that we have a number of great developments in the pipeline. We’ll explore our reasons for committing to a project that is available for free in another blog post, but for now it’s worth mentioning that the kind of work we’re doing will save real developers real money by chopping hefty sections out of your development and maintenance time. And don’t forget the coolness factor.
Continue Reading »
Habanero 12 Nov 2008 04:33 pm
Habanero’s Firestarter now supports Firebird
If you’re familiar with Habanero, a free open source Enterprise Application Framework, you’ll know that it supports Object Relational Mapping (ORM). A set of class definitions describe how to persist data between object oriented code and a relational database backend. Firestarter is a modelling tool included with the Habanero download that manages the class definitions and allows you to reverse engineer the class definitions from an existing database.
Habanero currently supports data persistence to MySQL, Access, Sql Server, Oracle, SQLite, PostGreSQL, and more recently, Firebird. Due to popular demand, the Firestarter modeller has now been enhanced with the ability to reverse engineer from Firebird as well.
Initial development was done with a Firebird Embedded database in mind. The reverse engineering process reads tables, properties, primary keys and foreign keys, and the user is then able to make further customisations within Firestarter. The Habanero development team looks forward to hearing feedback from users who have experienced success or difficulty with the reverse engineering process from a Firebird database.
For more information on the Habanero Framework, including downloads, tutorials and videos, visit the official Habanero website at: www.chillisoft.co.za/habanero
Habanero 17 Oct 2008 05:14 pm
Habanero and VWG: Sample project now available
Habanero’s 2.0.1b release includes a sample project with the full download, illustrating one application developed for both desktop and web.
Habanero’s approach to enterprise application development provides streamlined design from the backend data layer through to the user interface. Supporting Visual WebGUI’s Forms-like controls, Habanero’s unique angle on designing common user interfaces can now be taken to the web.
Key to this release is support for a manager pattern (business creational pattern) that provides for one library to generate the user interfaces for both release environments. IControlManager stores the control internally rather than requiring inheritance, so that a developer need only pass through the correct ControlFactory and have the correct controls and behaviours generated for the release environment.
There has been considerable interest in Habanero 2, including requests for more sample code, and we look forward to hearing feedback from you.
Chillisoft & Habanero 26 Sep 2008 09:54 am
So What’s Next?
This seems to be the most inevitable question after the release of a project. With Habanero V2 being in beta, the most obvious answer should be that we stabilize Habanero and release it “RTM”. However we still asked the question, among the team.
The result was a list of over 30 mini-projects as we refer to them, even though there are some major ones like the re-write of FireStarter which could take up to 3 months. Once the list was put together, we all sat down and started to debate which of the mini-projects was the highest priority and would hence be done over the next 3 months.
And the winners are…
- Generate Simple Forms i.e. Basic Grids and CRUD forms can be generated using FireStarter.
- Refactor Panel Factory.
- Serialisable Business Objects and Collections.
- Email Error Messages.
We figured that would keep us going for the next 3 months or so including the FireStarter re-write and production projects, as well as sorting out bugs that may crop up in Habanero and getting it ready for it “RTM” release. However we would like feedback on the projects we chose from the community, as well as suggestions of things that should be on the list, things that you would like to see put into Habanero, improvements that should be made, things that annoy you and you would like fixed. Anything really, we really want Habanero to have as much influence from users as possible, whether it be in the form of suggestions made to us or code snippets that you have added to your copy of Habanero that you would like to share with others or have added the Framework itself.
We look forward to any and all responses…
Habanero 18 Sep 2008 12:15 pm
Press Release: Create One Application for Desktop & Web
Having established itself as a reputable ORM framework, Habanero’s version 2 beta release by Chillisoft Solutions sees it launch as a full Enterprise Application Framework that provides free open source tools to produce an agile application from the data layer through to the front-end, supporting ORM, code generation and runtime UI generation.
Version two’s key new feature is the integration of a ControlFactory structure in its runtime UI generation layer, allowing the development of an application whose user interface knows little about its release environment. With little more than the switch of a configuration, the application can be released either on the desktop or the web. This has been made possible by the integration of Visual WebGUI by Gizmox, which successfully simulates the rich controls of Windows Forms and hugely enhances bandwidth use for data-rich web applications.
Continue Reading »
Habanero & Software development 18 Sep 2008 10:28 am
A Development Success Story with Habanero
It could be regarded as a nightmare scenario: fixed short-term deadline with a daily late-production penalty, new technologies, incomplete requirements. However, if you’re a hardcore developer, it’s the kind of oppportunity you couldn’t turn down, and we certainly didn’t.
Chillisoft took advantage of this unique web-based project by introducing the new Visual WebGUI technology from Gizmox and incorporating it into the well-established Habanero framework. The new addition took Habanero to new levels by allowing a developer to produce one application to run on either desktop or web, with little more than the change of a configuration.
Continue Reading »


