Tuesday, 23 June 2009

Microgen Aptitude®

Having worked with Microgen Aptitude® development tool whilst employed by Microgen® I naturally included it on my CV. However, every time I go to an interview for a new contract I get asked “What is Microgen Aptitude?” and have to explain exactly what it is and why it's relevant to my work as a developer.

Microgen® is a Software Consultancy & Supply organisation focussing mainly on, but not limited to, the financial sector.

Aptitude® is described as "The Enterprise Class Business Process Management Suite" essentially a piece of software that allows you to define the data in your business and your organisations rules for processing that data. You can use the rules you create to generate business processes based on those rules and run those processes in an ordered manner. Including all the tools & facilities you've come to expect from an enterprise level development environment.

Data exists within an organisation in a number of forms Databases, files, message feeds etc. Aptitude® caters for all the common formats and has facilities for transforming these sources to Data Objects which can then be used to create rules.

This is interesting but nothing new. I can model my business objects in Java and map those objects to a Database schema using a ORM (Object Relational Mapping) tool like Hibernate Aptitude®, however, does this using a graphical development environment, which allows you to drag and drop entities around the development environment.

fig. 1 An example rule

fig. 2 An example of a business process designed with a source, rule, and target entities.

Graphically representing the elements of a business process gives a visual representation of the rules involved in a business process which, in turn, contributes to a better understanding of the rules and processes required to make business decisions. Not only this but there is no need to learn a complex 3rd generation programming language. Microgen® suggest that this tool can be used by a Business Analyst, however I, personally wouldn't go that far. You still need to have a strong technical understanding of software development to use Aptitude® efficiently. Not least because you'll more than likely be using it in conjunction with a database of some sort and that means an understanding of the Relational Model at least. Then there's understanding XML, messaging, SOA, Transactions processing, file formats.

The next most significant part of the Aptitude® suite is the ability to then use the it's built in Web interface designer. I'm not going into much detail in this article, but at a high level you can design a web page and deploy it to IIS or Tomcat in the more recent incarnations.
Looking a little like a Visual Basic style form designer, the design interface lets you drag and drop web widgets onto a 'page' and connect them to your Business Processes or Reference Objects. Once deployed you have a working web interface that can deliver functionality around your organisation based on a common set of business rules.

Pros: Graphical development environment, wizards to rapidly model existing objects from table/file specification, security model, test/debug environment,
Cons: Single vendor, fixed device interfaces, limited after market consultant base, slow costly development cycle, maturity.


Conclusion
If you've got the money, Aptitude® is a nice tool. Out of reach to all but the most well off organisations, however, as technologies like this become more popular and competition in the market place increases this may change.

Wednesday, 3 June 2009

B49

Attended a new networking organisation B49 (before Nine!) run by Nick Lofthouse keyfins.co.uk and his business partner. The group is a support and referral organisation and I've already benefited from help with invoicing, office space and contacts.

The group is located at Welwyn Garden City Golf Club and meets on a Tuesday from Seven Am until Nine

I met Matt from 3internet, great chap, even if he is a .NET guy ;)

They have a nice site, and do all sorts of MS based Web Applications including design and content management.

Back to the Blog

Wow it's been ages since I updated the Blog. I've been working hard for Microgen on a new Billing portal for Virgin Media (ntl:Telewest Business). It was an awesome project. In Four months we re-wrote the online billing application that they'd inherited through an acquisition.

Now it's leaner and meaner. User admin functionality, self sign-up, still with full integration with Microgen's eBilling architecture only now the load process is more maintainable and leveraging JSF, Spring, JPA & Hibernate, we managed to produce a lovely RIA. Only draw back is the configuration nightmare that was the project inception. So what next?

There's a phase II that I may or may not be involved in because I've got other projects to work on, although I'd love it if I could be part of it but Microgen is back up to strength in that department so maybe consultancy only.

I've been investigating other alternatives in the RIA market place. Currently I'm messing with Google's App Engine which I love, with GWT. I played with flex but there are issues there with page ranking, and forcing customers to use Flash - not a bad thing in itself but some people registered protests about moving away from vanilla web (silverlight? JavaFX?)