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

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

Harmony & Testimony

Data Driven Development and agile testing Automated regression testing, test cases are specifications, supported on Google DOCS

Translating business into ITRule driven application development - zero-coding of business logicUnique sensor-event driven technology, and one-click app generation

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

Harmony is ...

an application development platformA productivity platform for configuring applications instead of coding them. Based on Google Spreadsheets;

built with integration in mindGoogle Maps, Calendar and Docs integration, API integration (RESTful services via JSON);

superb rules and business logic platformMaintain and run all business logic in one central place. Decision Tables (0 coding (!)) and rules;

case management & decision supportRecording all workflow steps and data for auditing of processes. Case (process) version support.

For business & IT pro’s * * Turning spreadsheets into IT productivity

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

Why Harmony

Ease-of-use – minimal learning curveIntuitive, spreadsheet interface, no development skills required

Feature rich solutionBusiness logic (rules, workflows), UI structure and logic, e-mail, document & calendar templates, decision tables in spreadsheets, languages, etc;

Superb performanceUses best of breed web scaling technology, processes operations in parallel, automatic process supervision for recovery from failures;

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

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

Best usages

Evolutionary, operational, process deploymentimplement 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 DevelopmentSprints = test stories + create solution + test. Scrum = Testimony + Harmony + Google collaboration.

Best tool to develop business apps on GoogleOther 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

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

Business benefits

+30% IT productivity increaseDomain experts in the driver seat, no need to explain what has to be done, do themselves;

-30% maintenance: improved IT capabilitiesReadable, 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 .

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

IT Features

Workflow, business logic, user interfaceAssign 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, expressionsEmail, Docs, Calendar templates for Google DOCS

Business IntelligenceReal-time BI supported through Pentaho

Automated test recording & executionUse UI to record the test scenario, save & publish to a test spreadsheet. Start automated testing.

The open IT platformOpen Source = developers. Open IT = business.

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

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;

JavaTiny piece of it for database access and integration with SOAP web-services;

What has Harmony under the hood?

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

Tech-talk (2/2)

Rules engineimplementation 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?

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

Best practice: rule driven IT

Decision Tables (DT) in spreadsheetsDTs are a precise, compact and easy format for complicated logic. No code: simply copy/paste;

Business rules, and logic – minimal learningAs easy as “Sales Value greater than 100,000? Approve Order required by manager”

One set of rules, centralized executionBusiness 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

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

Rule driven uses Decision Tables

Readable outcomes (business logic)Without knowing the context, any business professional understands the outcomes of these rules.

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

(sample of) Zero codingDefine / 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!

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

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 sensitiveMeaning , 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

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

Define business logic

Workflow and business logicOne condition “fires” two next steps, sends an email, sets a deadline and updates two values;

Using the spreadsheet formatThe Rules.sheet prompts users with available options.

Do It Yourself IT one condition

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

Create the User Interface [content]

The specification; the result(done in minutes)

Nanno van der Laan
Changed to match your changes (see slide IT Features) [email protected]
Page 15: Harmony: what is it, how does it work, best practices. Integration features, Google DOCS and more

A complete solution: Harmony + _______

Testimony = specification + testingOpen platform for agile testing

Google = DOCS and appsDocuments, GMail, Maps, Calenda, Spreadsheets

Pentaho = Business Intelligence Agile, open, BI in the cloud

Lucidchart = flowchartingGreat collaborative graphical modeling

IBM AS/400 integrationWeb services and event sensors for the AS/400, headless RPG.

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

Agile (TDD) and automated testing

Decision Table testing Decision Modeling Notation is an OMG beta spec;

Recording and automated playbackRecord using Harmony. Playback, unattended, automated;

Agile development and testingCreate test stories and test cases, include in sprints. Automatically test previous and new cases;

Great collaborationUsing the same Google Spreadsheets concept.

The Open Testing solution*

* Testimony relies on Google DOCS (spreadsheets)

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

Business Intelligence

Easy to configure dashboardsInformation from Harmony is provided in great looking dashboards:

Open source BI

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

Google for your business process

Document generationCreate 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);

MapsShow locations on Google Maps, lookup locations and enrich the case data;

GmailGenerate emails from the business process;

SpreadsheetsPush the right data at the right time to a spreadsheet.

Calendar, Maps, Docs, Gmail, Spreadsheets*

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

5 steps to achieve successful results

1. Model the “1st cut” of your business processLimit this to a “process” view, do not detail logic;

2. Generate the Harmony configurationReplace decisions [diamond symbol] with decision tables. Add dialogs (UI) and data;

3. Use (or create) test stories: add test casesUse Testimony to create tests cases;

4. Generate the Harmony applicationVerify 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

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

For developers: Harmony & other languagesPHP

Harmony is a framework providing powerful client side operations not found in PHP and Symfony and Zend framework;

JavaHarmony 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

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

Intro to Harmony for Java developers / 1In a typical Java environment we find:

1. an application server like tomcat2. application logic, built in Spring, EJB and maybe

POJOs*3. a data layer in Hibernate4. 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 ObjectUI - User InterfaceSTM - Software Transactional Memory

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

Intro to Harmony for Java developers / 2Application 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

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

Intro to Harmony for Java developers / 3To 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

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

Intro to Harmony for Symfony* developers / 1In 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)

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

Intro to Harmony for Symfony developers / 2A 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

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

Intro to Harmony for Symfony developers / 3Application 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;

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

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 [email protected]

https://plus.google.com/+NannovanderLaan

Nikola [email protected]