Neota Logic Server 7.5
In our blog, we write mostly about the world outside the walls of the office. But from time to time, we have inside news.
We are very pleased to release today Neota Logic Server 7.5, the latest edition of our unique platform for the automation of expertise and business processes. In this version, we have focused on three themes – integration, analysis, and user experience.
In the networked world, “everything is deeply intertwingled,” as Ted Nelson wrote a long while back. Neota Logic Server (known to its friends as “NLS”) builds applications that automate expertise, improve processes, and generate documents—but apps don’t stand alone. They talk to everything—ERP, CRM, CMS, DMS, Salesforce, SharePoint, SAP, and other tigers in the IT jungle.
Sure, anyone who has a friendly programmer at hand to write custom code can program integrations among any set of systems, given enough time and money. Our goal, however, in this as in all aspects of NLS, is to enable people who are not programmers to make these links, and to do so quickly and cheaply.
NLS includes three key integration tools:
- Structured Data Editor—Big systems these days speak xml (and sometimes JSON), so we have a tool with which data from an NLS application can easily be packaged as XML (or JSON) for consumption by those systems. The Editor understands xml schemas and can also work from examples.
- Web Services Editor—Big systems speak REST. NLS does too, via the Web Services Editor, which introspects the sometimes intricate interfaces of REST web services, presents a clear view of inputs and outputs, and enables an author to map NLS application variables to those inputs and outputs. Presto! A logic-driven data connection to almost any application or system, from Google Maps to SAP.
- DB Operations Editor—Sometimes an NLS application needs to work with data directly, not through an application having a REST API. For those cases, the DB Operations Editor is the ticket. Again, no code.
The database administrator (that’s a DBA) creates a SQL Stored Procedure to provide or receive data. The app author uses the DB Operations Editor to define a connection to the database and map NLS variables to the stored procedure’s inputs or outputs. The stored procedure is responsible for all direct interaction with the database tables, which makes DBA’s happy: they don’t like people or programs messing with their carefully schema’d and permissioned DB’s.
NLS is designed to model and automate expertise—the knowledge and judgment of human experts about:
- Legal and business policy and practice—on these facts, in these circumstances, what is required, allowed, useful, harmful, optimal?
- Business process—how should the work be done, by whom, in what sequence, with what controls?
- Text—what language will best communicate the advice, reasoning, rights, obligations, and work to be done, in documents ranging from memos to contracts?
NLS is founded on a hybrid reasoning engine precisely because no one mode of analysis is sufficient for the full range of challenging problems presented by law and business. If/then rules, decision trees, decision tables, mathematics, and other reasoning tools are all at hand, and are automatically integrated in both development and deployment.
One mode of reasoning essential to effective modeling of judgment, the highest-value product of expertise, is weighing multiple factors simultaneously. Courts, legislators, regulators, and business decision-makers very often state decision criteria in this form: “when deciding about X, we consider factors A, B, and C.” With the NLS Weighted Scoring Editor, authors and subject matter experts can represent this form of reasoning correctly, and can test scenarios to confirm the validity of the results.
In Version 7.5, we have significantly enhanced the Weighted Scoring Editor. First, it’s easier to use: the interface has been remodeled. Second, and most important, key aspects of the analysis can now be dynamic, driven by the specific facts of the case at hand and by other logic in the application.
Which factors to include, the weight to be given to and the scoring scale for each factor, the score for each value of each factor, and the scoring method can all be set dynamically by application logic. In this way, fine-grained and precise representations of experts’ reasoning can be created, in a form that is transparent and testable.
As always, our work at Neota Logic is guided by two imperatives.
The policy and process problems of consequence to people and organizations:
- Require solutions that are flexible, subtle, precise, integrated, and often complex—therefore our software must deliver applications with all those qualities.
- Outnumber programmers — therefore our software must enable people who are not programmers (e.g., lawyers, tax professionals, business analysts) to create those applications.
Of course these two goals are always in tension—power to build the most useful applications vs. simplicity to enable the widest possible community of creators, power todeliver very complex applications vs. simplicity to make using those applications easy.
We confront the tension in every design decision, and continue to examine and re-examine every aspect of NLS from this viewpoint. Is the user experience as simple as possible, for both novice and expert authors and end users? Is every feature useful, logical, learnable, teachable, complete, necessary?
Two examples in Version 7.5:
Complex, nested data structures are essential in many applications. For example: details about Properties covered by Insurance Policies issued to Subsidiaries of Companies. For authors, there are new tools to simplify construction of data entry forms. For users, those forms have built-in smart navigation.
Asking many questions in a sequence that is coherent and efficient for users, but context-aware, is a prerequisite of good user experience in the sort of big applications we often build. With the new Question Flow Editor, authors can easily and graphically define the sequence of forms and/or questions, using logic of any necessary complexity to define the transitions from one to the next.