Espresso introduction

19
Espresso Logic Introduction

description

Espresso Logic builds and runs RESTful servers for SQL databases, with advanced support for row/column level security, and business logic by JavaScript events and Reactive Programming.

Transcript of Espresso introduction

Page 1: Espresso introduction

Espresso Logic Introduction

Page 2: Espresso introduction

REST/JSON Architecture

Agility

SOA

BYOD

B2B

{JSON}

Page 3: Espresso introduction

REST Server

SQLDatabase

Any device,

Anywhere!

RESTListener

.JSON

Handler

Events / Methods

Domain Objects

Persistence Framework

Rich Objects

Security

Integrity

Resource/ ObjectMapping

Logic5-10 Pages /

TableJersey

Jackson JPA (3 Pages /

Table)

Reference Implementation

Page 4: Espresso introduction

We need a simple mobile app... spec is only 1 page

Umm.. I was thinking a few hours

Sure… a few

weeks…

The Problem – Today’s Reality

Page 5: Espresso introduction

The Next Generation

1. Rest API: Forms

2. Row/Column Security: Filters

3. Business logic: Events,

Reactive

Proven Technology

10X faster

Espresso

only

Page 6: Espresso introduction

Over 90% time savings

Reduced maintenance

Reduced documentation

Why Customers Love Espresso Logic

Speed of reactive programming with the power of JavaScript

Use with any front-end

Deploy in Cloud or on premise

Page 7: Espresso introduction

{JSON}

Espresso Server

RESTfulEspresso Servers

Access Control Services

Use Case – Read Only Access to Data

{JSON}

Employees

Customers

Partners

Page 8: Espresso introduction

Espresso Server

{JSON}

RESTfulEspresso Server(s)

Access Control

Business Logic

Use Case – Mobile and Web Applications

SQL

Page 9: Espresso introduction

Use Case – Complex Enterprise Applications

Espresso Server{JSON}

RESTfulEspresso Servers

Access Control

Databases

Business Logic

SOA ServicesB2B

integration

External Backends

External Backends

SQL

SOA calls

Page 10: Espresso introduction

Data Model

name, balance, credit_limit

amount_total, paid price

qty_ordered, product_price, amount

product_price = copy(product.price)

amount = product_price * qty_ordered

amount_total = sum (lineitem amount)

balance = sum (unpaid orders.amount_total)

balance < credit_limitCustomer

Orders

LineItem

Product

Page 11: Espresso introduction

Time to Market, plus…

Issue Espresso

Documentation The executable cocktail napkin

Maintenance Automatic ordering – eliminates the archaeology of maintenance

Quality Automatic reuse – logic applied to every use case

Performance Automatic optimization – automatics enterprise design patterns

Page 12: Espresso introduction

Manufacturing and Capacity Planning Application

Inputs• Orders• Machines– Run rate– Setup time

• ABC code– Product priority– Customer

priority

Application manages and plans and optimizes factory operations for a Fortune 1000 company

Processing

Used to be 9 people full time

using Excel

Now takes 20 to 30 minutes per

day

Outputs

• Raw materials orders

• Factory plan

Page 13: Espresso introduction

Demo Slides

Page 14: Espresso introduction

Build a RESTful API

1. Register your database URL

2. Select Tables (joins automated)

3. Optional Alias / Project

Page 15: Espresso introduction

Security: Row Level Access Control

Active Server

Authenticate

Espresso or Corporate

Authentication Provider

ID, Credentials

Roles

Filters, injected into requests

Active Server

Authorize

Role/TablePermission

Filters

Espresso Logic

Designer

Page 16: Espresso introduction

Row/Column Security

1. Filter applied to all GETs2. For all purchaseorder

Resources

Page 17: Espresso introduction

Reactive: the Executable Specification

Page 18: Espresso introduction

Logic Events

1. Full Control

2. Domain/Object model

(row)

Page 19: Espresso introduction

Enterprise Integration

1. Request Events

2. Invoke RESTful service