Harmony & Testimony
Data Driven Development and agile
testing
Automated regression testing, test cases are
specifications,...
Harmony is ...
an application development platform
A productivity platform for configuring applications
instead of coding ...
Why Harmony
Ease-of-use – minimal learning curve
Intuitive, spreadsheet interface, no development
skills required
Feature ...
Best usages
Evolutionary, operational, process deployment
implement version in weeks, instead of detailed analysis
Change,...
Business benefits
+30% IT productivity increase
Domain experts in the driver seat, no need to explain
what has to be done,...
IT Features
Workflow, business logic, user interface
Assign workflow tasks to groups or users. Create
deadlines. Define UI...
Tech-talk (1/2)
Publish and subscribe in the browser,
OpenAjax Hub 2.0 (Google, Microsoft, TIBCO)
Context-aware web-parts,...
Tech-talk (2/2)
Rules engine
implementation of an enhanced RETE algorithm
(parallel execution);
In-memory key-value store
...
Best practice: rule driven IT
Decision Tables (DT) in spreadsheets
DTs are a precise, compact and easy format for
complica...
Rule driven uses Decision Tables
Readable outcomes (business logic)
Without knowing the context, any business
professional...
(sample of) Zero coding
Define / import 3 Decision Tables …
Each of these tables provide an outcome
Define the dialog (use...
Explaining “sensors”
A sensor detects and responds to input …
The previous sample (see also on the left) has four
decision...
Define business logic
Workflow and business logic
One condition “fires” two next steps, sends an
email, sets a deadline an...
Create the User Interface [content]
The specification; the result
(done in minutes)
A complete solution: Harmony + _______
Testimony = specification + testing
Open platform for agile testing
Google = DOCS a...
Agile (TDD) and automated testing
Decision Table testing
Decision Modeling Notation is an OMG beta spec;
Recording and aut...
Business Intelligence
Easy to configure dashboards
Information from Harmony is provided in great
looking dashboards:
Open ...
Google for your business process
Document generation
Create s, merge and share documents with data
from your business proc...
5 steps to achieve successful results
1. Model the “1st cut” of your business process
Limit this to a “process” view, do n...
For developers: Harmony & other languages
PHP
Harmony is a framework providing powerful client
side operations not found i...
Intro to Harmony for Java developers / 1
In a typical Java environment we find:
1. an application server like tomcat
2. ap...
Intro to Harmony for Java developers / 2
Application logic like business rules, workflow
and data validations will require...
Intro to Harmony for Java developers / 3
To the left an example of business logic built in
Java (when is a lease valid?)
C...
Intro to Harmony for Symfony* developers / 1
In Symfony you’d have to write PHP code for
the application logic and JavaScr...
Intro to Harmony for Symfony developers / 2
A TDD approach would require an additional
framework like PHPUnit
In Harmony, ...
Intro to Harmony for Symfony developers / 3
Application logic like business rules,
workflow and data validations will requ...
That’s all
More info:
www.liquidsequence.com
www.youtube.com/liquidsequence
www.slideshare.net/LiquidSequence
Accenture in...
Upcoming SlideShare
Loading in …5
×

Harmony: what is it, how does it work, best practices. Integration features, Google DOCS and more

742 views

Published on

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).

Published in: Software, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
742
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 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
  • http://www.liquidsequence.com/Knowledge-Transfer-Sessions-5th-Generation-IT.html
  • 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
  • We’ve selected Pentaho BI – BI without ETL
  • http://www.liquidsequence.com/Google-Office-Suite.html
  • http://www.liquidsequence.com/LucidChart.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
  • Harmony: what is it, how does it work, best practices. Integration features, Google DOCS and more

    1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 10. Rule driven uses Decision Tables Readable outcomes (business logic) Without knowing the context, any business professional understands the outcomes of these rules.
    11. 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. 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. 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. 14. Create the User Interface [content] The specification; the result (done in minutes)
    15. 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. 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. 17. Business Intelligence Easy to configure dashboards Information from Harmony is provided in great looking dashboards: Open source BI
    18. 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. 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. 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. 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. 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. 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. 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. 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. 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;
    27. 27. That’s all More info: www.liquidsequence.com www.youtube.com/liquidsequence www.slideshare.net/LiquidSequence Accenture info: Accenture key trends 2014 Tomas Nystrom on Lightweight Presented by Nanno van der Laan nanno@liquidsequence.com https://plus.google.com/+NannovanderLaan Nikola Kasev nikola@liquidsequence.com

    ×