I got a chance to see a pre-release demonstration of WorkXpress 2.0, announced today, some weeks back. WorkXpress are focused on customized business application software for large and small businesses. About 7 years ago they started building out what we would now call a Platform-as-a-Service or PaaS offering and have had customers for about 5 years. Release 2.0, announced today, has been in use by customers since last year. Here’s a quotes from the press release:
WorkXpress 2.0 is the world’s most functional PaaS (Platform as a Service) without programming.
The platform offers non-programmers the ability to create limitless sophisticated business applications using five building blocks in an intuitive, drag and drop, point-and-click, secure, web-based environment.
WorkXpress has 5 building blocks designed to let a power user – a strong Excel user for instance – to build applications. Applications are defined in terms of files / specifications not code – a more declarative approach that allows merging and extraction of components. The basic building block is a Project and the platform has support for development projects, testing and production deployment. Projects can be released to production, either hosted or locally (an interesting twist on the PaaS approach). Production applications have monitoring of hardware and software, back up tools and configuration of monitoring, repair etc. A user creates a new project by filing out some basic information that creates a virtual machine on the hosted environment. This then creates a new application that can then be managed or edited.
WorkXpress is designed to be WYSIWYG and easy to use. It has items, fields, relation types, layouts and actions – the basic building blocks of applications. They have focused on ensuring the applications developed have a nice UI, making it easy to do things like picking icons to represent items as they are created. Creating an Item creates a Search building block and a New Instance building block. A user can then easily add fields of various types and these are added to the item, all built through drag and drop, and a user can immediately add an instance. Fields can also be other items and the user can then create Relations and label them. Initially this builds a layout but you can have items that are not on the layout (calculated fields, for instance). This process allows the creation of basic Create-Read-Update-Delete applications.
Where the system gets more interesting is in how they specify logic. An action tree presents the layout and a series of events for each item (everything from the creation of an item to the editing of a field to focus events) and then allows actions to be specified against those events. These can call web services (including decision services deployed to the cloud using Zementis say) or do various things like send emails etc. But critically users can build expressions.
The Expression builder allows logic to be specified around the data being manipulated. It has the basic data but it also has a nice feature to allow all the data in the system to be navigated and to allow a query to be specified (including filters, Ors, Excel-like functions) etc that brings back some subset of the data in the system. This query / filter is built graphically and specifies a data structure making it easy to process even quite complex subsets of the data in the system using actions.
Actions can be calculations, database actions, field actions etc and can trigger each other. For instance, an action might create a new instance of an item and this would trigger the action specified for a new instance of that type as well as an action on a relationship change etc. This allows the logic to be specified on an object that makes sense while still allowing quite long “chains” of logic to be triggered by events. Users can expand the whole chain of events as they trigger each other allowing them to do some impact analysis and to see the whole chain of logic without having to write it in one place.
I spoke to one of WorkXpress’ clients about the product too. This particular client handles disability cases and needed a disability case management system for workers comp and auto claims. The system had to manage cases, bill time, log notes about cases etc. They had many years of experience developing their own approach and wanted to build their own application to support this approach. They looked at other PaaS products but found that these products did not fit the way they worked so they started to work with WorkXpress. They have been using WorkXpress for about 3 years and have two departments now have a case management system across all their lines of business and they are building a third. The system matches their establish process, is simple for their users and takes away a lot of the manual work previously required. It handles case management, billing, AP/AR etc.
From my perspective the interesting thing is that billing in particular has lots of contractual rules and regulations – this kind of situation allows this many hours to be billed at this rate for instance or these are the expense rules for billing and they are different from the expense reimbursement for employees. Each customer for whom they work has different rules and these are defined as part of the contractual negotiation and must then be entered into the system.
Using WorkXpress they are able to add a customer and their “rules” easily and quickly – it is a very small amount of work to prepare for a new contract once it is approved. They use a database-table driven approach with an item type that contains pricing schedule entries. At the point where a price is needed, an action simply checks the current schedule to determine the proper pricing. They are also able to come back and change guidelines or rules quickly as the contracts change all the time. They are now implementing an approach that will allow them to keep the old rules in the system so that they can reproduce decisions they made on past cases when asked (something that comes up when cases are reviewed or bills disputed long after the rules in force have changed).
While WorkXpress make the changes to logic the customer says that business users are able to review the logic with them. This particular customer is not at the point where business users are managing the logic themselves but they are clearly very comfortable with the products ability to manage and update complex decision making logic.
I liked the overall approach WorkXpress took – very declarative – and the way you can use actions to change things and have those changes ripple through the system. While WorkXpress don’t have the kind of business rules capability I think is necessary for building decision-heavy applications I felt they had more logic management capability than other PaaS solutions I have seen. Given their focus on the non-core applications between large scale Enterprise Applications and the desktop this might well be enough.