Project RMR, you are go!

After 6 months of concepts, estimating, planning, prototyping, designing and hiring, one project is put on the shelf for 6 months, while the other, RMR, has just ramped up to full development.

I’ve spent three weeks setting up the development environment, build scripts, source control, as well as written guide lines for the new project members. I’ve also spend time implementing some stubs for the services which our client will call, to allow the GUI part of the team to get moving, so they don’t wait for us to finish the DB and service implementation.

Today the first features were assigned, and very importantly, the integration token was built! Here it is:

We’re developing using something akin to Feature Driven Development, which is an agile methodology. To enable this, we create branches in our source control and each develop a feature at a time, independently of others in the team. The integration token is used to ensure that only one person merges their branch back into the trunk/head at a time. If you have the token on your desk you can merge. If you don’t have it and you do a merge, you run the risk of having to do merges for a whole week as a lesson not to do it again!

If your’e wondering what happend to "manager", well it’s still being developed, and were actually using it on the project to manage the feature allocation.

One nice feature that I built last week is the service locator. Its configurable to load a stub implementation of the service interface, the real service (a stateless session EJB), or indeed the EJB remote interface which is a proxy to an instance of the bean running in the service locators JVM (i.e. the client) – which involved partially implementing an embedded app server! OK, it only handles programmatic security, but thats still quite cool in my books… Here’s the UML (click to make them big):

click for a larger image

click for a larger image