Turning business users into software programmers
JAX keynote speaker Markus Voelter explains the workings of Language-Oriented Business Applications – a concept that describes a user-friendly programming environment where business users can program individual software solutions.
Authoring and maintaining the complex structures, calculations or rules that lie at the core of many businesses is tedious and error prone. In many cases, Word, Excel or form-based web applications are used to capture this data. This may be convenient for end users, but it is very hard to check the data for correctness.
Since the data is often not backed by a well-defined language, programmers have to manually encode the data in a programming language to make it executable, for example, as part of a calculation engine in a bank or insurance company. This removes the domain experts one step from the actual system – they always have to go through developers.
Workbenches for business applications
Many of these problems can be solved using language engineering, which refers to the practice of creating, extending and composing domain-specific languages and their IDEs. Over the last few years, language workbenches have matured to the point where they support notations as diverse as tables, mathematical formulas, box-and-line diagrams, semi-structured text as well as regular, programming language-like textual notations. This makes them very suitable for business applications that, while utilising user-friendly notations, still rely on well-defined languages and provide IDE support, constraint checking and automatic code generation.
In this video talk shot at the JAX London 2014, Markus Voelter explains what language-oriented business applications are and why they are useful. He illustrates the approach with examples from several real-world domains. The examples are based on a tool chain that uses only Open Source software: it consists of JetBrains MPS plus a few extensions built by the mbeddr project.