Security & Performance
Espresso provides the levels of security and performance required to ensure your applications are ready for production.
Espresso provides role-based row and column level security that is easily configured with a point and click interface. The service uses your authentication or the default one provided by Espresso to identify users’ roles. Roles are then associated with permissions to define table filters identifying rows and columns which users are allowed to view or update.
You create new resource endpoints from multiple tables using a point and click interface. The new resources automatically include the security permissions defined for the underlying tables so you do not have to define permissions again.
Auditing is a key requirement of many corporate systems. Espresso has built-in facilities to help with auditing. For example, events enable you to create audit records including whether data has been read or updated, by who, when and from which IP address.
Fine Grain API Control
Espresso supports both projection and aliasing when creating new resource endpoints. By merely clicking on the column names you are able to limit the columns that are available in an object. Resource endpoints will have only the fields relevant to the user in the given application.
Espresso Service Performance
Espresso optimizes applications for SQL performance by providing a wide range of services to ensure efficient resource utilization and performance. On every change, the system is re-optimized to ensure optimal throughput over the life of the application. Examples of these include:
- SQL Pruning: With every update, Espresso determines what tables and fields are affected by the change and ‘prunes’ the SQL queries to only read and/or update needed fields and tables.
- One row update: When executing a SUM update for child rows, Espresso will calculate the difference between the old and new values and apply the delta as a one row update instead of recalculating a new value with a costly select SUM of query.
- Pagination: Pagination is provided out of the box. You can define default pagination size and can change it dynamically with every API call.
- Optimistic Locking: The Espresso REST API provides out of the box optimistic locking for efficient processing
REST Server Throughput
Espresso provides a number of capabilities to ensure good performance of the Espresso RESTful services. Examples of these include:
- The easy definition of multi-table REST endpoints reduces latency by providing objects with all the needed data in one trip.
- The default JSON response for updates includes the completion code as well as a summary of the resulting data. This enables clients to refresh screen data without another round trip to the server.
Espresso deploys its services to the cloud as stateless RESTful servers. As such, you deploy as many instances of the servers as you need. Cloud services will route client calls to the appropriate instance. This advanced cloud technology will scale to meet your business requirements.