Challenges

kinodb design client

Pace of change

Business applications all too frequently constrain the business rather than enabling it.

Analysts and developers are familar with the experience of gathering requirements and delivering functionality, only to discover that requirements gathered three months ago are no longer current.  Conventional development tools don't cater for this pace of change as they require analysis and management of the many dependencies that exist in any complex system - the database structures, data validation, business rules, security model, reporting, external interfaces and so on.

After implementation, changing a system that is in use is difficult and risky, and therefore time-consuming and expensive.  Making changes requires detailed knowledge of the same dependencies, and these will be hidden in reams of technical code, often created by developers no longer available to the maintenance project.

kinodb provides a simple solution to both of these problems: as the application's definition is recorded as a model, all dependencies can be investigated by the developer.  The impact of any proposed change can therefore be determined swiftly and definitively.  The development environment incrementally loads changes to the application definition as each is made, so a set of changes can be tested one by one and then fully, immediately on completion.

The incremental delivery of changes is robust and quick - kinodb includes sophisticated change management functionality that allows the managed propagation of sets of changes between environments.  This means that changes can be delivered into a test environment whenever appropriate: it takes a couple of clicks to mark a set of changes as ready for distribution, and another couple to propagate them to a test or production environment.  A full change history is maintained across development, test and production environments, so a developer can see when (for instance) a field was created, when its properties were changed and by whom.

Complexity

Today's information systems are increasingly sophisticated in terms of their processing requirements, their need to communicate with other systems, and their user interfaces.

Typically these systems are implemented using a number of separate technologies, from database platform to development language, external interface tools, user interface development, theme management and so on.

A change anywhere in the system may have unexpected consequences elsewhere, and determining these dependencies across a disparate set of technologies can present difficulties.

The kinodb application development and deployment framework covers all of the bases from the database server to the browser, recording all aspects of the application's design and implementation in a single coherent and consistent model.  This means that the impact of a change can be seen across the whole of an application, and that a change made anywhere will be reflected - immediately - throughout the model.

A simple example of this is where a developer wishes to remove a field from a database table.  The model produces a report detailing all uses of the field.  Once the developer is satisfied that there will be no unwanted effects, the field is deleted.  The definition of the column is removed from the database and the change is immediately effective across the running application: the next time that the table is queried, the column will not be referenced.  Forms and reports will no longer include the deleted field; processing that involved that field will be removed.  Elements in XML interfaces referencing the field will be deleted.  All of this happens instantly, and the developer can see the impact of each change immediately.

Suddenly, Agile development becomes just that.

ERP system on mobile browser

Legacy applications

Most organisations are plagued by legacy applications, which are still required but that rely on technologies that are no longer supported and which become increasingly expensive to maintain.  It is common for the adoption on newer (and typically more secure) versions of operating systems, database platforms and browsers to be blocked by the inability of legacy systems to operate with them.

Systems deployed using kinodb are immune to this problem.

The model of the application contains no technology: no SQL statements, no HTML, no JavaScript, no CSS.  All of these are delivered by the deployment framework so, as new technologies emerge, a change to the framework upgrades all systems to enable their use.  Support is maintained for older releases of databases and browsers whilst these are supported by their manufacturers.

Systems originally developed for use by Oracle 8 and Internet Explorer 5.5 are now being used with Oracle 12 and IE 11 (and Firefox, Safari etc.) and are also available to browsers on mobile phones and tablets - devices that didn't even exist when these systems were first deployed.  All without change to the applications themselves, and saving their users multiples of the original development cost.