Mission Critical IT - Technology
The ODASE™ platform is built on the following core technologies.
The Web Ontology Language, OWL, was developed by the W3C to facilitate greater machine interpretability of human knowledge by providing additional vocabulary along with formal semantics. We use OWL to model the business domain and form a “knowledge continuum” between business and IT, providing a mechanism by which the business can drive the evolution of the project by proposing concrete changes to the model.
The Semantic Web Rule Language, SWRL, is a rule language designed to integrate closely with OWL. SWRL increases the expressivity of OWL and makes it possible to model more domain knowledge than OWL alone. We use SWRL to model parts of the business domain that are not easily or naturally modelled with OWL.
The SWRL rules can be used in a production rule style where they are used to compute outputs, or they can be used for validation.
SWRL builtins also provide a very natural extension mechanism whereby the modelling language can be enhanced with domain-specific builtins. For example in a bio-tech system we built, we modelled some chemical properties of genomics macro-molecules (such as DNA strain) in OWL. We then added special builtins for computing the melting temperature or the molecular weight of such bio-chemical compounds based on those properties. In another project we developed custom SWRL builtins for evaluating formulas in external Excel spreadsheets. This allowed certain business formulas to be defined in spreadsheets which were then directly executed by the system.
OWL and SWRL are build on top of RDF (Resource Description Framework). RDF is fast emerging as the standard format for describing and sharing data on the web.
Excel is an important business tool, but it is designed to be a personal productivity tool, not for use in production business systems. This is unfortunate, because many business experts are familiar with Excel and can easily and naturally specify business logic and rules in Excel.
Mission Critical IT has developed its own Excel-compatible computation engine, which has been carefully designed and engineered to be reliable, scalable, fast and suitable for use in production systems.
At modelling time business experts can use Excel as an editor for easily describing computations and business logic.
At runtime Mission Critical IT’s Excel engine does the necessary computations based on the spreadsheets designed by the business experts.
This has the advantage that business experts can contribute application logic using Excel, a system with which they are usually already familiar. There is no need to convert business knowledge already in Excel spreadsheets into computer code, a step typically done by non-business experts which increases the probability of bugs being introduced through error or misunderstanding.
Our engine also supports OpenOffice Calc spreadsheets.
The generic parts of the ODASE™ platform are written in the programming language Mercury. Using a logic programming language minimizes the impedance mismatch between the modelling language and the programming language. Another reason for using Mercury is its strong type and mode systems which make it easier to engineer complex systems that are also robust and efficient. Mercury can be compiled to Java, .NET or C. This makes it easy to integrate ODASE™ based applications with Java, .NET or native C code. We also support integration with other programming languages and systems through Google Protocol Buffers or just plain old XML.
When Java is the implementation language of choice, the formal business model is converted into a JavaBean compliant type-safe API by the ODASE™ code generators. The code generators also translate documentation in the business model into JavaDoc compliant comments in the generated Java code. Developers can then use Java to write the remaining code needed for a fully functional application using the business terminology defined by the business model. The ODASE™ platform will transparently supply the rule execution and reasoning needed to consume the model behind the generated type-safe API. All this considerably reduces the volume of hand-written code, with dramatic improvements in cost, time, flexibibility and quality. In addition to the type-safe API, ODASE™ also provides support for integration with web frameworks such as Apache Wicket. This makes developing rich internet applications easier.
When developing on top of the .NET platform, the formal business model is converted into a type-safe API by the ODASE™ code generators. The code generators also translate documentation in the business model into the XML documentation format supported by Visual Studio. Developers can then use any .NET language to develop the remaining code for a fully functional application using the business terminology defined by the business model. The ODASE™ platform will transparently supply the rule execution and reasoning needed to consume the model behind the generated type-safe API. All this considerably reduces the volume of hand-written code, with dramatic improvements in cost, time, flexibibility and quality.