Today is a remarkable day for my pet project OpenSwarm, a model-driven software development tool in Python and for Python. In MDA-style it uses UML 2.0 models (or more concrete their XML-based serialization form XMI 2.1) to generate business logic components including database layers for PostgreSQL by object-relational mapping (ORM).
I started this project in April 2006 after unsuccessfully researched for a multi-tier capable distribute component architecture based on Python and appropriate code-generators. I felt the need to be able to produce our in-house applications faster and with high quality. By a high quality I mean particularily the prevention of breaking business rules by business logic API for distributed business objects and 2-phase ACID-compliant transaction safety. I just failed to find a tool in the Python world matching my needs, so I decided to have a try and started the OpenSwarm project on SourceForge.
To be honest: I never thought I bring this project that far to a prototype. Hahaha, I even don't consider myself as a programmer. Despite this barrier it somehow worked to get a release which shows some of the core features planned, so hopefully anyone else can get a picture of what OpenSwarm is supposed to become.
Well, of course there is still a long way to go in order to get a first production-ready final release. Fortunately I already got some responses to my Help Wanted postings by talented SourceForge users with-in the last two or three weeks. Thus I had the feeling it was necessary to make some sketch of what could be part of the final release, so I made today a major update of the OpenSwarm documentation including a Discussion part with initial porposals for future development. I really appreciate their help offers and hope that we can iron out some of the bad design decisions and implementations I made in the prototype and that we can add some cool new features to OpenSwarm.
I feel really excited where this journey will take us to.