Designed to save time, as follows:
- avoid tedious and repetitive code by expressing business and security logic using simple business-oriented expressions.
- zero configuration files
- zero generated code
- schema changes active immediately.
- requires no changes or code generation as your schema evolves
- immediate master/detail maintenance application
is designed to save you time. It creates a fully-defined REST/JSON service by just connecting to your database, after which you can use the Live Browser (UI) and the default RESTful API. Watch it on the right.
You begin by connecting to your database, in the cloud or on-premise. Espresso scans your schema to discover Base / View Tables and Procedures. It then creates a Default API and UI for all these objects.
There is no code generation - your Default API stays in sync with Schema changes. See here for information regarding firewalls.
Once connected, meaningful elements of your system are operational:
- Live API: Your Tables, Views, and Procedures are available as a RESTful API with no further work. You can immediately test in in the RESTlab. This REST API can be extended to enforce security and logic as shown below.
- Live Browser: a multi-table User Interface, using Live API for database access.
It is layered over Live API and Live Logic, so enforces your logic and security. This enables you to use it to test your API, and for "back office" production apps.
Live Browser is a multi-table application with (see these features in action at left):
- Multi-table application interfaces derived from your parent/child relationships, including master/detail forms (e.g., customer and orders) and "drill down" navigation (order and items)
- Filtering on multiple fields, with paginated scrolling
- Automatic Joins, so you see Product Names, not numbers
- Row Sharing, so you can send the current Form Row to colleagues
- Update Services, including updatable grids, lookups, and Live Logic integration
- Authoring, to control which attributes are displayed and their formats, and skinning.
Your default REST End Points are the Tables and Stored Procedures (if any) in your database. Define Resources for Custom Multi-Table End Points by selecting tables (joins provided automatically). Custom Resources provide:
Extend this API with fine-grained row/column Security, based on user role authentication. Security is based on API Keys, obtained like this.
- Document-oriented JSON results, aliased / projected columns, etc
- SQL automation, including filters and join automation for related data
Business logic is the set of multi-table computations, validations, and actions (e.g., auditing, cloning, sending mail etc) performed during an update (PUT, POST, and DELETE).
Live Logic provides meaningful time savings for adding complex logic for new systems / subsystems (e.g., new tables). Live Logic consists of:
Reactive means the system automatically adjusts data when referenced data is changed (e.g, the balance is reduced when the order is paid).
- Server-side Java Script - the system builds an Object Model with attribute/object accessors, persistence, and events for insert, update and delete.
To learn more:
- First Look - Explore the logic in Espresso Logic Demo
- Tutorial - Explore Espresso Logic Sample for complex examples (e.g. Bill of Materials), and logic patterns
Espresso consists of a Logic consists of a Espresso Designer, used via your Browser to specify your database location, your API, your logic (rules), and your security settings.
The Espresso Server stores these settings, and enforces them in the course of responding to REST retrieval / update requests for your data.
Espresso is a service, so there's nothing to install or configure.