Wednesday, November 27, 2013

Latest Moqui Framework Release

Recent Releases Summary

It has been a while since I post about the latest in Moqui Framework, so here is a summary of major things in the last few releases (1.2.0, 1.3.0, 1.3.1, 1.3.2):

Moqui Framework 1.2.0 is a minor new feature release and a major quality improvement release. This release has undergone significantly more testing than previous releases because of a wider variety of functionality that has now been built and tested using the framework, and because of a unit testing effort (framework unit tests built using Spock).

The new features include popup menus (using the new jQueryUI menu widget), dynamic-options in XML Form drop-downs with dependency on other fields, automatic optimization of queries on view-entities to old select member entities necessary, support for UUID generated primary keys, expanded JCR support and an Example Content screen, and a number of small improvements that generally make the framework easier to use and more reliable.

Moqui Framework 1.3.0 is a major new feature and bug fix release. The major new features include the EntityFacade Data Document, Data Feed, and Data Search (based on ElasticSearch) features, the User Notification Message feature, and various improvements to XML Screens and Forms. This release is backward compatible with Moqui Framework release 1.2.0 with the exception that the StatusValidChange entity is deprecated by the new StatusFlowTransition entity.

Moqui Framework 1.3.2 is a minor new feature and bug fix release. The main new feature is a write-through per-transaction cache that effectively simulates the database for the scope of the transaction and does all DB updates with a single connection just before commit. This transaction cache is enabled on service definitions using the cache and force-cache options for the service.@transaction attribute. With this in place various Mantle services now run 2-3 times as fast with results validated by extensive automated tests.

Another set of new features covers internal profiling for artifact execution (entities, services, screens, transitions, etc). There are various forms of output available including a full artifact call tree with times, a consolidated tree to see own and total for artifacts in context, and a hot spot list by own or total time. This is similar to Java-level profiling tools but focuses on business level artifacts and with a low overhead gathers data always but only generates reports when needed.

OrientDB is now included in the framework by default instead of only in an addon component as before. This is useful as a general graph and document database and as an alternative through the Entity Facade for high-write entities like ArtifactHit.

Moqui Progress Commentary

While there are quite a few new features and bug fixes in Moqui Framework over the last few months, most of the work in the Moqui Ecosystem has gone into Mantle Business Artifacts and HiveMind Project Manager which are built on Moqui and are the main large scale projects based on it so far. I'll post separately about Mantle and HiveMind as both were released with a versioned release for the first time a few days ago.

The Moqui user community is expanding and the LinkedIn forum is starting to see more traffic. I am also starting to get more frequent calls and emails about new projects using them, and contracting and employment opportunities for projects based on Moqui (and often Mantle, and sometimes HiveMind).

Are you interested in getting more involved? The main thing Moqui and Mantle need now are applications built with them. These could be open source or commercial. The application should be something that benefits you, the better it is for you the better it will be for Moqui and Mantle as projects and products grow around them. Moqui and Mantle benefit from increased exposure, but also from feedback, bug reports, feature requests, patches, and so much more than existing efforts based on the projects have significantly helped with already (for around 2 years now).

What is coming next for Moqui Framework? This is often on my mind and is mostly driven by what is needed in applications that I am working on (Mantle, HiveMind, and PopCommerce now and then), technologies or features that people ask about and things that are just really cool or have huge potential to improve the flexibility and capability of enterprise automation systems.

One of these I have been researching more recently is the huge potential for rule and workflow tools in ERP apps. My interest in these goes back to the very early years of OFBiz, though neither the rule or workflow engines really worked out well and ended up being useful. Today there are extensive and very capable open source rule and workflow packages, and one (RedHat JBoss Drools and jBPM) where rules and workflow work together and share a knowledge base and such.

A couple of weeks ago I attended to Building Business Capability conference in Las Vegas and was inspired by how much progress has been made and all the great examples and case studies of applying these tools. This conference covers rules and workflow, and also requirements analysis and such that is another of my favorite topics in the enterprise software world.

I don't know when these things will show up in Moqui, but it will only be when there are real-world uses in place for them. Some early features in Mantle that I'd like to base on such tools include price calculation rules and order promotions rules (replacing the simple condition/action tables concept in OFBiz), order and invoice processing and approvals, and a more elaborate integration with HiveMind for managing the manual activities in workflow along with project tasks and such. There is potential for a lot more, but these would be good proof-of-concept sorts of features.

No comments: