Technology

WorkwareOne™ offers rich capability to build collaborative workflow applications and manage huge amounts of data. We use this platform to extend our OEM partners’ solutions and build our own customer workflow management systems around dynamic, changing tasks in mobile and fixed environments  We integrate and seamlessly mesh with existing information systems, architectures, data warehouses, and our specialty… unstructured data.

WorkwareOne can reside in the Cloud, on an appliance, or virtualized in a data center, depending on our OEM partner or customers’ preferences. We have incorporated highly-scalable and very efficient open source technologies including Hazelcast, Hadoop, HBase and Mahout, in addition to our own open object-relational mapping technology, access controls, comprehensive workflow engine, and unstructured data search.

WorkwareOne provides:

    • Secure, shared repository. No data model required; fast time to deployment.
    • Workflow and automation based on use case, and dynamically change as cases change.
    • Dashboards and reports.
    • Workflow specific forms, processes, metrics, and reports which can be incrementally added and extended, as required.
    • Collaboration to move work efficiently between users.
    • Audit logs and hash reports to provide detailed history.
    • Automated (“push”) reminders.
    • Cross-referencing of information. Discover non-obvious connections.
    • Keyword search of structured and unstructured data.
    • Complete geospatial and link analysis on People, Objects, Locations and Events.
    • Instance specific access controls.
    • Searchable document repository.
    • Integration with other systems to avoid redundant data entry and to automatically keep interested users informed of status and activity.
    • Automated collection of background information from the web and other sources.
    • Integration with a variety of analytical tools.

We designed WorkwareOne with a few very compelling design goals:

1.  Incremental scalability. It is a challenge to foresee where the market will lead you and it is not always possible to buy your way out of performance problems with faster hardware. Our design goal was to be able to run our platform on everything… Starting with a laptop and scaling nearly linearly to clusters of 100s of machines. This same design goal is also an enabler for cloud deployment.

2.  Inherent redundancy. Complex schemes involving database and file synchronization are always a source of worry. Many times in the past, our CTO has walked in and surprised development teams by pulling the plug on servers during a QA pass. In spite of thorough design and testing, it usually takes heroics from the development team to recover failed systems.  We couldn’t have this condition in our customer environments. Our market requires mission ready systems performance and functionality.

3.  Schema resilience. This is especially critical when products are customized by each customer (e.g. Case Management, Incident Management, Personnel Security). The expense and risk associated with writing SQL conversion scripts, on a per installation basis, quickly becomes one of the largest obstacles to agile, iterative development with conventional technology.  We needed the utmost level of agility since our customers typically work in changing policy environments and varying approaches to professional practice.

Language.  WorkwareOne is written in fast, stable Java except for scripting, which is written in Groovy.

Persistence.  We store everything in a Apache HBase data store, the leading NoSQL platform behind Facebook, Netflix and LinkedIn. We fully embrace open Hadoop environments and we have built two layers over the basic HBase data store. The first is to support the management of large sets / vectors, and the second provides object mapping including both a Java Persistence API style object notation.
System management is very friendly.

Unstructured Search.  We have implemented extremely fast, system-wide search functionality.

Geospatial and Link Analysis.  Full POLE (people, objects, locations, and events) model linking and geospatial analysis are pervasive across the data store.

Access Management.  Role and user access control on objects, object types, functions, and collections was designed into the persistence tier and exploits some Hadoop characteristics to provide optimal performance.

Workflow.  Our implementation supports added behavior to forms, objects, and collections. We’ve coupled this with reliable event management which doesn’t lose events during restarts.  This has proven to be critical in our customer environments.

Clustering.  Hadoop is designed to be clustered and has well developed distribution capabilities. Clustering the web servers, services, and workflow engine requires sharing data between the JVMs and synchronization locking. We are using Hazelcast for shared data and locking. This has proven to be very straight forward and performs well.

Web-based UI.  HTML5 is our foundation and we support smart phone-based client apps when needed.  In addition, we have adopted Google DART in our user interface framework for maximum functionality across a range of devices. We use Apache Tomcat as our standard web server, but many other web servers can also be used.  We can fit into any customer scenario.

License Model.  We utilize a straight-forward license model. No third-party costs or use limitations.  A typical end-user license is for a cluster of any number of nodes and tiered for the number of active users (or unlimited users). The base platform includes our entire stack and can be configured to meet customer requirements. We also have a SaaS model and co-development partnership models.