Espresso Logic
From Specs To App
10X Faster Using Reactive Programming
Agenda
• Current situation
• Company overview
• Reactive programming & declarative development
• Turning requirements into rules
• Extending rules and events
• Q & A
Current Situation
BusinessApplication
Requirements
ApplicationRunning in Production
With Reactive Programming
BusinessApplication
Requirements
ApplicationRunning in Production
balance < credit_limit
balance = sum (unpaid orders.amount_total)
amount_total = sum (lineitem amount)
amount = product_price * qty_ordered
product_price = copy(product.price)
Company Background
Espresso Logic
Declarative Development
• More productive – closer to the business
• Move away from converting requirements into code
Declarative Reactive Programming
subscribe()
handleEvent()
Declare ExpressionWatch
React
Observer
JavaRX
Spreadsheet
Angular
Espresso
Espresso Business Rules
• Rules applied to business entities and attributes
– Derivations
– Validations
– Events - extensibility
Rules Improve Application Quality
Aligning IT and the business
• Guaranteed Re-use
• Validate requirements
• Business users can read and understand rules
• Rules bridge users and IT
Validation
Derivation – Sum
Derivation – Formula (JavaScript)
Event - JavaScript
Solves these Use Cases…
Add Order Delete Order Add Detail Delete Detail Change Detail Qty Reselect Product ….
Balance < CreditLimitBalance = sum (Orders.AmountTotal)AmountTotal = sum (Lineitem Amount)Amount = UnitPrice * QuantityUnitPrice = copy(UnitPrice)1
1
2
2
3
3
4
4
10X Faster? Seriously.
Espresso Metrics
•Rules cover 95+% of complex business cases
•40X expressive power Approach Metrics
Java 480
Triggers 220
Logic 5
Rules + JavaScript Events for the last 5%
Business Agility – Maintenance is Key
• Avoid the archaeology of maintenance
• Just change rules
– Re-ordered
– Re-optimized
Challenges to Address
Complexity
• Performance
– Single row adjustments
– Pruning
• Transparency
– Rule logging / trace
– Debugger
Demo
Summary
• With Espresso reactive programming you can
– Reduce Time to Market
– Accelerate maintenance
– Improve application quality
Next Step
PROOF
Work with Espresso to arrange a
charge proof-of-concept
with your data
No charge