kinodb platform features

Take a look at why kinodb is the most productive low-code application development and deployment platform, bar none.

Data design and management

Data design

kinodb's data designer allows the developer to create complex data structures - and the SQL required to access them - as easily as drawing them.  

Every change to the data model is reflected immediately within the running application, allowing iterative development of sophisticated data models, with each change being tested as it is made.

kinodb design environment

"The data structures of an application are fundamental to its operation.  kinodb enables you to incrementally design, build and refine really complex database structures and to enter test data into them at each step in the process.  

The ability to refactor an existing design quickly and safely is a real strength, meaning that even significant restructuring is quick and easy if you realise that there's a better way of doing something.

It also allows really big applications to be maintained and developed over years as new requirements emerge."

JERRY, DEVELOPER

SQL generation

kinodb removes the need for developers to craft SQL statements to access an application's data.

A significant change to the database structure will, in a conventional development environment, require the assessment and re-creation of vast numbers (potentially thousands) of SQL statements.  Using kinodb, every change to the application's data structures is immediately reflected in the SQL generated to access the data - within the running application.  So a developer can make a change and immediately see its impact.

SQL is generated to query only those fields that are required by a given user performing a specific operation, allowing the most efficient use of database resources.

image

"kinodb's ability to immediately reflect every design change means that the development process is so much faster, and creating the correct data structures for the system's requirements isn't constrained by the complexity of implementation of the 'right' structures for the task.  

Also, it's entirely normal to have a moment of realisation half way through implementation that there's a better way of doing something - using conventional tools there's then an internal dialogue about whether we're too far down the road to rework something that really should be better.  Using kinodb the decision is easy: make the change now as you don't need to do loads of technical impact assessment & rework.  

It's hard to describe the change that this makes to productivity - it really is a completely different way of developing."

SIMON - PRODUCT MANAGER & DEVELOPER

Security

Embedded security model

A fully-featured and flexible security model is intrinsic to every kinodb application.  Rights (for instance to run a report, view or edit data, or to perform administrative tasks) can be granted to individuals or groups of users by conferring memberships of realms and levels of access within them.

In addition to the application's own security model, the kinodb platform implements a security policy that can impose limits on rights that can be granted for a given environment, segmented if required by network access path and the provision of secondary authentication credentials (2FA).

Within the application, row-based security allows combination of realm-based rights with rights derived from data maintained within the system - for instance to allow a user to approve a purchase order if it was generated within their department, its value does not exceed their approval level, and they have been granted at least the 'Approvals' level within the 'Finance' realm.  

Realms, realm levels and data-driven criteria are entirely within the control of the developer, allowing the implementation of whatever security model is appropriate to the application.

Rights can be conferred within the application by an administrator or can be sourced from an external authentication mechanism such as an Active Directory implementation.  SAML authentication is supported, as are a number of 2FA schemes including email, SMS or Google Authenticator one-time passwords.

Single sign-on

kinodb supports industry-standard security protocols to enable integration with  enterprise security models.

Authentication and the grant of rights within the application may be managed either within the application itself or, when used in conjunction with an AD / LDAP architecture, externally.

Single sign-on can be configured for some or all users of a system, allowing integration with corporate standards whilst allowing external users to connect with a user name and password.

For some systems, 'Remember me' functionality be be appropriate and can be configured as required.

XML / JSON data interchange

kinodb represents XML schemas as structured data, and the developer can create maps between the entities defined by the schema and the tables and fields of the application - these are called 'bindings'.  A binding may be used to import data stored in an XML document or to create and populate a new XML document from data stored within the application.

A full web service implementation (server and consumer, RESTful and SOAP protocols) allows a kinodb application to communicate cooperatively with other applications as part of a service oriented architecture.

Increasingly, web services rely on JSON in preference to XML.  Simply setting a checkbox on a schema will cause JSON to be output rather than XML, with no other changes.

XMLJSON

 

"Implementing XML schemas and web services to allow client applications to request or update asset data and to create new assets in their asset register took one day from scratch.  Access to the services is controlled by the security model, with tokens required to access the service being allocated by an administrator allowing control and auditing of the activities of client systems."

NEIL - DEVELOPER

Web services

kinodb provides a wealth of web services functionality.  Services may be implemented (as either client or server) using either RESTful or SOAP protocols, with flexible access controls allowing segregation of both functionality and data access according to the capabilities associated with an administrator-created set of access tokens.  This might for instance be used to allow a range of partner organisations access to only the relevant subset of information maintained within a central repository, with auditing of all data requests and updates performed by each authorised organisation. 

WebServiceDefinition

 

The kinodb framework makes establishing, administrating and maintaining complex service oriented architectures far more straightforward than is the case with conventional technologies.

email integration / inbound message processing

kinodb supports outbound emailing, with the content of the email being derived from application data, for instance by running a report and then including that as the text of the email.  Emails may also contain URLs enabling access to any screen within the application - for instance an email might be sent to notify a user of the need to give their approval within the application, and a link provided to enable them to directly access the form where they are able to do this.

All emails are logged within the system and can be audited by an appropriately authorised administrator.

Emails can be sent by kinodb applications for a number of reasons: as a part of a subscription model, where users have requested notification of new data or changes to existing data; as part of workflow applications where users might need prompting to perform actions within the system, or as part of an escalation process.

Incoming emails can be processed using a rules base that can associate them with data maintained by the application.  This is typically used to maintain accurate and useful records of external customer communications.

User interface

HTML 5  / CSS 3

kinodb generates HTML appropriate to each user’s browser, and supports current versions of Internet Explorer, Firefox, Safari and Chrome. As new browser versions and capabilities are released, we update the delivery framework so that existing applications continue to work. This means that our developers don’t need to spend time hand-crafting HTML for a variety of devices, and that our applications are browser independent and will continue to operate properly for years to come.

CSS3 stylesheets are maintained within the same metadata model as everything else about the application, allowing changes (for instance to match corporate branding standards) to be made as managed changes to the overall application.

Developers don't need to delve deep into the technical aspects of managing complex stylesheets in order to be able to cater for devices of varying sizes and capabilities.

HTML5CSS5

 

"Using conventional tools, supporting mobile devices and multiple browser versions is very time-consuming and requires detailed and ever-changing knowledge.  With kinodb, applications work without device-specific code, and an update to the framework to deal with a new browser means that it just works."

JOHN, DEVELOPER

Responsive presentation

Use of a responsive CSS framework (Bootstrap) for client presentation allows developers to adopt a 'mobile first' approach without affecting the user experience for desktops and laptops.  Screens automatically adapt to a variety of screen sizes providing an intuitive and consistent user interface.

ResponsivePresentation

 

Creating a user interface that will work across browsers, and on a range of devices, is made simple by the use of the Bootstrap theme.  Integration of Bootstrap's styles and components with the kinodb report design tools allows sophisticated  interfaces to be developed without the developer writing a single line of HTML or CSS.

Multilingual applications

As the whole of the application is stored in a model, creating and maintaining a multi-lingual implementation can be achieved in a way not open to conventional development tools.

Multilingual support

Online translation facilities can assist in the automated translation of applications, with administrative management to ensure that translations have been validated before they become available to the application's users.

Context-sensitive help

End-user and technical documentation are stored as a part of the application model.  

Context-sensitive help can be displayed alongside data entry screens, reports and other output.  Where appropriate, administrative users of the system can edit end-user help content to reduce the need for support.

ContextHelp

 

As the user moves around the application, context help is displayed appropriately.  As the user moves around an edit form, help relevant to the focused field is displayed alongside the user's activity.

In-system documentation

Both end-user and technical documentation are stored as a part of the application model.  

Structured documentation (sections, links, diagrams etc.) can be created within the model, allowing full user documentation to be integrated with the application.  Administrators can be granted the ability to edit such documentation, allowing changes to business processes etc. to be reflected within the in-system documentation as required.

End-user help is context-sensitive and can be associated with fields, tables, reports or other application entities.

InSystemDocumentation

 

The ability to create structured documentation within the application can greatly reduce support overheads.  Full integration with the overall application model means that documentation is maintained directly alongside the application itself, and can at all times accurately reflect the purpose and operation of the application.

Processing

Actions

Actions are kinodb's version of procedural code... but with a difference.  Rather than being standard textual code, compiled into an executable form before running, each line of code contains links to each entity to which it refers.  As an intrinsic part of the overall model of the system, Actions have full knowledge of all aspects of the application's data structures, and changes to the data model are immediately reflected in the processing performed by the actions that use it.

The referential linking of application components is employed throughout the model containing the application's definition.  This leads to one of the most significant aspects of the model-driven approach: at all times the developer can determine every use of any component of the design.  This allows in-depth analysis of the impact of any proposed change before it is made, meaning that changes can be made quickly and safely.

ActionEditor

 

Actions provide a database-independent way of performing a range of data processing and other tasks required to implement the rich functionality of an enterprise application.

As the Actions editor is fully aware of the data structures within the application, writing code is far easier and therefore more productive for the developer.

Scheduled jobs

kinodb uses scheduled jobs for all kinds of functionality - for instance invoking web services, running interfaces, sending email reminders or performing background processing of large volumes of data.

Scheduled jobs can be run at any frequency or may be invoked as background tasks by user activity.

Jobs are database independent (i.e. they don't rely on PL/SQL or other database-specific language implementations) and are, just like every component of every kinodb application, defined and maintained within the overall metadata model of the application.

ScheduledJobs

 

Scheduled jobs employ kinodb's built-in 'Actions' processing functionality, enabling access to the full range of kinodb's functionality and ensuring complete integration with the overall system.

Debugger

Any complex system may exhibit performance problems or unexpected behaviour.  Using kinodb, any appropriately authorised user can investigate all aspects of the application's behaviour, from analysing the queries generated to produce a complex report to monitoring the execution of a scheduled task - all in the running application.

Debugger

 

Performance analysis, breakpoints, step execution of actions, recording and analysis of SQL statements and more are all available to the developer if required.

Reporting

Full reporting capabilities are built into the kinodb framework.  Developers can include interactive report content throughout the application, providing the ability to create whatever interface the application requires.  No HTML or CSS coding is required to make full use of reporting functionality, and content will be rendered appropriately to the device on which it is accessed (desktop, laptop, tablet or mobile).

ReportingFunctionality

 

As the whole of the application design is maintained within a model, the report designer can use the knowledge of data structures embedded in that model to make the implementation of reports much faster.  Complex reports can be developed in a fraction of the usual time, and will work on any device.

Mapping integration

kinodb provides integration with Google Maps as standard, and the framework is extensible to enable integration at the browser with standard XML- and JSON-based mapping interfaces as required.

The same functionality allows integration with a variety of other interfaces and services - either at the server or the browser - such as address validation, data visualisation and diagramming... talk to us about your requirements.

GoogleMaps

 

Full support of Google Maps functionality - including the ability to draw markers, lines and polygons onto maps, geolocation services and others, is included in the core kinodb framework.

Integration with other online services of all sorts (payments, translation, weather information, financial information), as well as existing in-house web services is easily achieved.

Graphing

A variety of standard graph types are included and fully integrated with kinodb's reporting suite.  Developers can provide the capability for users to interact with graphs as required - for instance to drill down into the contributing data for a particular histogram bar.

hs2Visualisation01

 

Bar, line, scatter, logarithmic, high-low-close, bubble, pie and other chart types are supported and can be mixed with other report content as required.

Additional third-party graphing engines such as D3 are easily integrated.

System management

Logging

All kinodb applications come with flexible logging capabilities built in.  An administrator can quickly investigate user activities (sessions, browser types, summary of activities) and can configure the system to record activities in specific areas of the system in great detail.  Summary performance metrics are available instantly at any time and detailed performance metrics, down to individual SQL statement performance, are also available.

Logging

 

As kinodb generates all of the SQL required for even the most complex application, administrators generally don't need to involve themselves with investigations of SQL statements.  But if they do, there's an immediately available capability to analyse the (potentially thousands of) SQL statements executed within a particularly complex report or processing function.

Log entries are categorised, allowing swift administrative investigation of events by category.

Performance monitoring

In-built performance monitoring functionality is delivered with every kinodb application.  This is effectively a small set of tables and associated processing that can be used to perform a standard set of tests used to deliver an overview of processor, disk storage and network speeds.  These tests can be run automatically at preset intervals (using the scheduled job functionality) in order to build up a profile of system performance over time.  So if there appears to be a change in performance, or if the system is relocated to another hardware or database platform, you can compare current performance with historical performance.

performanceGraph

 

Isolating the underlying cause of a change in the performance of a complex system can be daunting, but kinodb's inbuilt performance monitoring capabilities are there all the time and can be used when a problem is encountered to diagnose issues.

Change management

Given that the entire definition of each application is maintained as a model within a metadata repository, the process of updating test or production environments during an outage is quick, simple and robust.

Outages can be scheduled in advance, with the system automatically managing the pausing of scheduled jobs, warning users and preventing new transactions before applying changes and restarting once completed.  This means that even a major application update can be accomplished with minimum impact to both users and support staff.

kinodb's sophisticated change management functionality allows changes made in development environments to be aggregated within a master repository and then propagated to test and production environments when required.  

Each change made to any component of the application can be tracked back to the change set of which it is a member.  

The entire history of every entity is maintained within the system, offering an unparalleled level of auditability.

nodesGraph

 

Having the entire application managed as a single model greatly eases the outage management process, as all of the updates to the system are delivered as a single change set, with their application being fully managed by the kinodb deployment framework.

"kinodb's change management functionality allows us to maintain client-specific variants of the Investment Manager package, each derived from, and receiving changes from, the common core model.  This gives our clients flexibility in the functionality that they request from us, without creating what would otherwise be a massive change management problem in any other technology."

SIMON - PRODUCT MANAGER & DEVELOPER

Ready to find out more?

We can arrange an online demonstration of kinodb's capabilities and discuss your requirements.

 

CONTACT