We’re now several weeks into the implementation phase of CODA 2go and have really started to get into the depths of the Force.com platform.
CODA has a strong investment in web technologies mainly based around Java and .NET and the move to a on-demand solution built on a new platform is both an exciting opportunity but also a technical challenge.
The technical focus of the project started with a trip to salesforce.com which gave us an insight into the architecture of Force.com and provided valuable connections to the key figures in their development team. The visit also allowed us to promote the needs of an enterprise level ISV to salesforce.com.
The platform gives us a massive head-start by providing key features like security, licensing, deployment and multi-tenancy and allows the core structure of the application to be built declaratively. This gives us a significant productivity gain and allows us to concentrate resources on implementing our domain knowledge of financial systems.
The next stage is to build the complex business logic in Apex – given the development experience here in Java and C# this has been a relatively straight forward transition. Given that we’re using pre-release versions of Force.com, there have been some issues, but we’re working closely with salesforce.com to resolve them. Having code executed on a server somewhere in North America is interesting too! We have been able to translate design patterns that have worked well in other CODA products into Apex.
We’re using the Eclipse IDE to develop the solution and are making a strong investment in unit and automated testing which fits well with our agile development methodology and means we can move forward with confidence in the quality of the code base. We maintain an offline source repository and nightly builds are scheduled using ant tasks meaning we are able to apply the same control mechanisms as for any other development project.
Over the months ahead we want to continue to work at the cutting edge of the Force.com platform and maintain our position as a key platform developer.