Tuesday, 27 November 2007

I haven't blogged for a short while, so I thougt I better just make a quick note about a few of the things I've been up to.

OSGi ant tools

osgijc is an ant task that replaces javac for use when compiling osgi bundles created with Eclipse. This avoids having to use the PDE and makes integration with a continous integration environmet much simpler.

I should point out that there is already a tool that can do a lot more than this called bnd, but I found it complicated to use and it seemed to clash with the way I like to work in Eclipse. I also felt that it was uncessary to repeat all the information stored in the MANIFEST.MF and build.properties file in a seperate file just to be rebuilt elsewhere, but this is because of the way that you work with OSGi projects in Eclipse. bnd is no doubt highly appropriate if you don't use Eclipse to create your plugins and don't have a MANIFEST.MF throughout your development cycle.

Anyway, a minor change, but as of today osgijc now reads the source folders and destination folder from the build.properties file in the project. In the past these needed to be set in the ant task.

Also note that there is also osgijc's sister tool, osgibb, which will bundle Eclipse OSGi projects in to bundle jars.

By the way, neither tool has been tested with plugins that contribute to the Eclipse UI, but I can't see a reason why that wouldn't work either.

In summary though, I would say use osgijc and osgibb if you're wanting to use ant and your projects are Eclipse plugin projects, otherwise, use bnd.

Rapid Rich Internet Application Development

The main thing I've been up to recently, outside of regular working ours, is getting up to speed with Flex and LiveCycle Data Services.

I have to say, Flex combined with LiveCycle Data Services using db4o is absolutely the fastest way I've ever created an internet application with full data support in the back end. Flex itself makes UI development a doddle. LiveCycle Data Services make accessing data in the back end as simple as called methods on a POJO (real POJOs), then combine this with db4o so that you don't have worry about RDBMS issues and you're really flying in no time.

Flex + LCDS + db4o = truly rapid development

I finish my current employment on Thursday, with Friday left for me to sort out some stuff before I start my new role on Monday. In my new employment I will be using Flex extensively. I am hoping I will also be able to make use of db4o, but since I won't be working in a green-field environment and am most likely to be working with existing RDBMS I think this is unlikely.

I'm far from an expert with Flex at the moment, but I have done enough work to be up to speed with most of the UI side of things. I've been writing a little game to try and use as many of the different aspects as possible. If I get it finished maybe I'll put it online, but I suspect I'll probably just leave it once I start working on something real.

Things I am still unsure about are how to secure access to the backend through LiveCycle Data Services. It is possible for Flex to easily call through to WebServices as well, which I have secure examples of. Anyway, I'm sure I'll pick this up quickly enough on the job and with the training I'll be receiving. Always good to have a head-start though!

No comments: