This Harmony presentation is for an IT (expert) audience .... We'd like to note the importance of Lightweight Technologies (particularly a presentation by Accenture (url on last slide)).
This document provides an overview of Harmony features and addresses related solutions - Testimony for (automated) testing, Google DOCS integration, Pentaho BI and more.
-Nikola Kasev and Nanno van der Laan presented and demonstrated Harmony and Testimony to industry leaders (including Accenture, KPMG, Deloitte).
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
Harmony: what is it, how does it work, best practices. Integration features, Google DOCS and more
1. Harmony & Testimony
Data Driven Development and agile
testing
Automated regression testing, test cases are
specifications, supported on Google DOCS
Translating business into IT
Rule driven application development -
zero-coding of business logic
Unique sensor-event driven technology, and
one-click app generation
2. Harmony is ...
an application development platform
A productivity platform for configuring applications
instead of coding them. Based on Google
Spreadsheets;
built with integration in mind
Google Maps, Calendar and Docs integration, API
integration (RESTful services via JSON);
superb rules and business logic platform
Maintain and run all business logic in one central
place. Decision Tables (0 coding (!)) and rules;
case management & decision support
Recording all workflow steps and data for auditing of
processes. Case (process) version support.
For business & IT pro’s *
* Turning spreadsheets into IT productivity
3. Why Harmony
Ease-of-use – minimal learning curve
Intuitive, spreadsheet interface, no development
skills required
Feature rich solution
Business logic (rules, workflows), UI structure and
logic, e-mail, document & calendar templates,
decision tables in spreadsheets, languages, etc;
Superb performance
Uses best of breed web scaling technology,
processes operations in parallel, automatic
process supervision for recovery from failures;
Affordable
5 user run-time license starting at € 40/month.
Developer annual license from € 5,000/year
5th generation IT*
* A new way to build systems (not an 5GL (doesn’t exist))
4. Best usages
Evolutionary, operational, process deployment
implement version in weeks, instead of detailed analysis
Change, add new steps, rules. On the fly! Won’t break.
Offshore/nearshore (remote IT development)
Local partner designs and implements all business logic.
Offshore partner could customize the UI.
Agile. Scrum. Data 1st = Data Driven Development
Sprints = test stories + create solution + test.
Scrum = Testimony + Harmony + Google collaboration.
Best tool to develop business apps on Google
Other than Google Apps script, or JavaScript, Harmony
guarantees secure, scalable and maintainable solutions.
Evolutionary IT, learning loop.
Configure. Run (and learn). Change (and optimize).
change
run
configure
5. Business benefits
+30% IT productivity increase
Domain experts in the driver seat, no need to explain
what has to be done, do themselves;
-30% maintenance: improved IT capabilities
Readable, maintainable, workflows, UI dialog flows,
rules. Business definitions over developer vocabulary;
Guaranteed performance (no surprises)
Using the technologies that major vendors do: 99.998
up-time and split-second response times;
Ultimate flexibility (change is embraced)
Sensor & events facilitate changes in processes and
rules, creating “liquid” solutions.
Best price/performance*
* When measured by response times, scalability/price.
All numbers listed are the minimum achievable .
6. IT Features
Workflow, business logic, user interface
Assign workflow tasks to groups or users. Create
deadlines. Define UI content and UI logic. Create
validation rules;
Data (files)
Reference files, transaction files and case data;
Merge data, templates, expressions
Email, Docs, Calendar templates for Google DOCS
Business Intelligence
Real-time BI supported through Pentaho
Automated test recording & execution
Use UI to record the test scenario, save & publish
to a test spreadsheet. Start automated testing.
The open IT platform
Open Source = developers. Open IT = business.
7. Tech-talk (1/2)
Publish and subscribe in the browser,
OpenAjax Hub 2.0 (Google, Microsoft, TIBCO)
Context-aware web-parts, simplifies UI interaction
logic and integration with APIs;
Bootstrap front-end framework (Twitter)
Responsive, single-page, mobile first UI;
Erlang (Ericsson, WhatsApp)
Best fit to solve the parallel (lock-free and in-
memory) processing problem, it’s a supervised
distributed system;
Java
Tiny piece of it for database access and integration
with SOAP web-services;
What has Harmony under the hood?
8. Tech-talk (2/2)
Rules engine
implementation of an enhanced RETE algorithm
(parallel execution);
In-memory key-value store
used for case data
An in-memory triple store -
used for relationship kernel;
All three distributed across a network of
machines
built to break, supervision tree;
RESTful API
used for UI, adapters and Testimony
What has Harmony under the hood?
9. Best practice: rule driven IT
Decision Tables (DT) in spreadsheets
DTs are a precise, compact and easy format for
complicated logic. No code: simply copy/paste;
Business rules, and logic – minimal learning
As easy as “Sales Value greater than 100,000?
Approve Order required by manager”
One set of rules, centralized execution
Business compliance: one platform controls the
“firing” of actions (instead of individual apps),
single source of truth for data;
Real time decision support (DS)
DS shows what will happen next in a process, what
will be calculated, what will be sent and stored as
data.
The #1 RULES platform*
* When measured by ease-of-use, features, performance, price
10. Rule driven uses Decision Tables
Readable outcomes (business logic)
Without knowing the context, any business
professional understands the outcomes of
these rules.
11. (sample of) Zero coding
Define / import 3 Decision Tables …
Each of these tables provide an outcome
Define the dialog (user interface)
Ensure that field names, like the applicant age and
sex, match those defined in the decision tables
Upon entering data age & sex, amount, …
Harmony automatically produces outcomes
The final decision [table] will
Produce THE outcome when all three values exist
(match the outcomes of the 3 DTs with the inputs)
Zero coding required!
10 minutes, no coding whatsoever is needed!
12. Explaining “sensors”
A sensor detects and responds to input …
The previous sample (see also on the left) has four
decision tables
Harmony DTs are sensor sensitive
Meaning , these will produce an outcome when
inputs exists
User enters data (manual data entry)
Will produce an outcome for entered data
Generated data
Data only has to “exist” and the sensor will “fire”,
producing an outcome – which is the case with the
green DT – it’s inputs are outputs from other DTs
13. Define business logic
Workflow and business logic
One condition “fires” two next steps, sends an
email, sets a deadline and updates two values;
Using the spreadsheet format
The Rules.sheet prompts users with available
options.
Do It Yourself IT one condition
14. Create the User Interface [content]
The specification; the result
(done in minutes)
15. A complete solution: Harmony + _______
Testimony = specification + testing
Open platform for agile testing
Google = DOCS and apps
Documents, GMail, Maps, Calenda, Spreadsheets
Pentaho = Business Intelligence
Agile, open, BI in the cloud
Lucidchart = flowcharting
Great collaborative graphical modeling
IBM AS/400 integration
Web services and event sensors for the AS/400,
headless RPG.
16. Agile (TDD) and automated testing
Decision Table testing
Decision Modeling Notation is an OMG beta spec;
Recording and automated playback
Record using Harmony. Playback, unattended,
automated;
Agile development and testing
Create test stories and test cases, include in
sprints. Automatically test previous and new
cases;
Great collaboration
Using the same Google Spreadsheets concept.
The Open Testing solution*
* Testimony relies on Google DOCS (spreadsheets)
17. Business Intelligence
Easy to configure dashboards
Information from Harmony is provided in great
looking dashboards:
Open source BI
18. Google for your business process
Document generation
Create s, merge and share documents with data
from your business process;
Calendar
Push calendar entries to your Google Calendar
(outstanding Harmony tasks or other events);
Maps
Show locations on Google Maps, lookup locations
and enrich the case data;
Gmail
Generate emails from the business process;
Spreadsheets
Push the right data at the right time to a spreadsheet.
Calendar, Maps, Docs, Gmail,
Spreadsheets*
19. 5 steps to achieve successful results
1. Model the “1st cut” of your business process
Limit this to a “process” view, do not detail logic;
2. Generate the Harmony configuration
Replace decisions [diamond symbol] with decision
tables. Add dialogs (UI) and data;
3. Use (or create) test stories: add test cases
Use Testimony to create tests cases;
4. Generate the Harmony application
Verify against flowchart and test cases. Modify and re-
generate if necessary;
5. Start automatic testing with Testimony
Check outcomes with expectations. Run steps 3 and 4.
Collaborative modeling*
* The 1st step for successful results
20. For developers: Harmony & other languages
PHP
Harmony is a framework providing powerful client
side operations not found in PHP and Symfony and
Zend framework;
Java
Harmony adds business rules without coding and
defining relations without modeling to the world’s
most widely used programming language
Polyglot development *
* Using multiple languages to deliver the end result
21. Intro to Harmony for Java developers / 1
In a typical Java environment we find:
1. an application server like tomcat
2. application logic, built in Spring, EJB and maybe
POJOs*
3. a data layer in Hibernate
4. UI* in Wicket, JSP, JSF, angularjs, etc.
In Harmony all this is stored in spreadsheet;
Building any application requires attention
about the database structure:
1. time consuming,
2. doesn’t handle changes easily,
3. doesn’t perform with lots of data
In Harmony, data is stored in a high performance
in-memory STM* component;
POJO - Plain Old Java Object
UI - User Interface
STM - Software Transactional Memory
22. Intro to Harmony for Java developers / 2
Application logic like business rules, workflow
and data validations will require Java code
(and most probably SQL code)
In Harmony, all that is stored safely in a
spreadsheet which is readable;
Discovering business logic in any Java
application is difficult, because of the massive
amount of boilerplate code
Providing the application logic as a service
(API) would require extra effort in designing
and coding it in Java (annotations help here)
In Harmony, any application is already available as
an API too which is the same API for all applications
built on Harmony;
This is an example estate management system written in
Java, https://github.com/estatio/estatio
23. Intro to Harmony for Java developers / 3
To the left an example of business logic built in
Java (when is a lease valid?)
Code doesn’t mention what happens when a lease
is invalid (process logic) - search continues;
Adding a new lease attribute (like description)
requires code recompilation, new deployment
and application restart - impacting users
currently booking an estate, they have to start
all over again from the beginning of the
process
In Harmony, adding an attribute is trivial (dialog
item) and doesn’t impact existing cases, no data is
lost and users can continue from where they left off
after a new configuration is uploaded;
This is an example estate management system written in Java,
https://github.com/estatio/estatio
24. Intro to Harmony for Symfony* developers / 1
In Symfony you’d have to write PHP code for
the application logic and JavaScript code for
the UI presentation logic
In Harmony all you have to do is fill-in a
spreadsheet;
To work in a team of developers will require
a code repository like Git or SVN
In Harmony, you’d use standard Google
collaboration functionality of working on the same
spreadsheet (seeing what others do in real-time );
Rolling back to a previous version of an
application is a process of juggling SQL code
and data in tables, PHP and HTML code
In Harmony, you’d just rollback to a previous
revision of the spreadsheet and upload again;Symfony - a PHP framework, we’d actually recommend to
migrate to Symfony2 which has Doctrine (database abstraction)
and Twig (UI templates)
25. Intro to Harmony for Symfony developers / 2
A TDD approach would require an additional
framework like PHPUnit
In Harmony, you’d record your test case and
publish to a Testimony spreadsheet;
Building any application involves worrying
about the database structure: (1) time
consuming, (2) doesn’t handle changes
easily, (3) doesn’t perform with lots of data
In Harmony, data is stored in a highly performant
in-memory STM* component;
Any change in the UI will require changes in
both HTML and PHP code
In Harmony, the UI is automatically generated
based on the spreadsheet, changing the
spreadsheet changes the UI;STM - software transactional memory,
http://en.wikipedia.org/wiki/Software_transactional_memory
26. Intro to Harmony for Symfony developers / 3
Application logic like business rules,
workflow and data validations will require
PHP code (and maybe SQL code)
In Harmony, all that is stored safely in a
spreadsheet which is readable by business users
too (they LOOOOve spreadsheets);
Providing the application logic as a service
(API) would require extra effort in designing
and coding it
In Harmony, any application is already available as
an API too which is the same API for all applications
built on Harmony;
Version 0:61 updated after release 3:0 / pricing / textual changes / 20 August
Version 0:51 PHP/Java intro changes (Nanno)
Nikola 31 March Java slides added.
Nanno 21 March: UI DT overview added
Harmony is much more than 4GLs like Mendix & OutSystems. It does what these do – in a much simpler way. But Harmony can also be used as a business rules platform
The evolutionary is really a revolutionary feature- because of it’s case management nature – process will happily proceed when configurations change. Just don’t change event (dialogs) which are expected to fire in old cases !
These are minimum – practice proofs higher numbers
Data files – no data modeling. Comparing to Mendix & OutSystems – Testimony (Automated testing) is really tops
For details get in Touch with Nikola@LiquidSequence.com or Minto@LiquidSequence.com
Simply put – the most powerful / easy to use business rules platform
We will build-up a library of sample DTs
In 2014 Nanno expects to have a new concept ready for other ways of graphical modeling. Current techniques just don’t work (well enough)
http://www.liquidsequence.com/DecisionModelingNotation-Lending-Example.html
It’s all about events and sensors – true in Architectures . Now in modeling as well ! But this makes modeling (oversight) complicated!
Business logic = Rules.sheet
Dialog.sheet … only 1st four columns are displayed
Our portfolio
Testing decision tables, the agile way http://www.liquidsequence.com/decision-table-testing.html
The most challenging environments – developers don’t like change / not taking advantage of NEW concepts (like business rules) . Instead they stay within their tech boundaries …
What happens to Polyglot development – a mere “term” – or reality ?
Courtesy Nikola & Minto
PHP vs Harmony – a tricky one …. Two different galaxies ! Converting requires an “evangelist” approach
We @LiquidSequence like the Accenture presentation