SlideShare ist ein Scribd-Unternehmen logo
1 von 101
Harmony consolidated
Release Notes
Last update: release 3.0 (Jun 2014):
Relationship Kernel
Release policy
• [old] 10 releases per year – containing
– A new feature
improving capabilities , increasing business
benefits
– Improvements
Revised or minor new features added to extend
functionality
– Bug fixes
– Sample implementation(s)
demonstrating “Harmony in action”
• [new policy] 4 releases per year
(NEW FEATURE) RELATIONAL KERNEL
powerful features for defining and querying complex data structures
Relation Kernel Features
• Defining [data] relationships
– Without graphically modeling
• No data modeling skills required
• Simple to understand & do
• Powerful expressions to query data
• Comparable to SQL – but easier to do
• Bug fixes
• Harmony releases 2.5/2.6 had “simple” relationship
kernel implementation
Relationship Kernel - Background
• all Harmony case data is a flat structure of concept
/attribute pairs
– for example order[concept].total[pair], person.name
• Before release 3.0 Harmony didn’t support relations
between objects
– such as John is the father of Mary
– building enterprise applications requires this (or makes
the implementation simpler)
• Reference objects can be attached to a case in order
to make decisions based on their attributes
– Notice the red “R” icon when a ref. object is attached to a
case
• Only one object of a particular type can be attached
to a case (one person, one order and so on)
– to attach multiple, child cases are created and attached
Relationship Kernel – Basics 1
• RK builds on top of reference objects
• It allows to create/store & retrieve
relationships between reference objects
• A reference object always has a unique
identifier
– it’s the first column in any REF_ sheet
Relationship Kernel – Basics 2
• The RK model is defined in the
RK_Model sheet:
• The reverse relation is for readability
purposes only, see Lookups slide
Relationship Kernel – Basics 3
• Actual relations between objects are stored in
RK_Store:
• Each value is a reference object key, such as
person.id, address.id and so on
• In the screenshot you see that John (row 6)
and Marry (7) have signed the same contract
EN456, which is for a product ENOF1189 (8)
Relationship Kernel – Syntax
• “@person” means the attached Person
to the case;
• Relations are defined in square
brackets,
– [signs]
– [lives_at]
Relationship Kernel – Establish relations
• establish a relation between the two REF_
objects if you know their unique identifiers:
– For example you have a Person (defined in
REF_Person) and a Contract (in REF_Contract) in a
case
– Create the relation by using “relation add” in a
rule LHS *
– The expression is always in the following format:
{@person [signs] @contract}
the “{}” brackets mean it’s an RK expression
– When the rule executes, a new entry will be
added to the RK_Store sheet
* Left Hand Side
Relationship Kernel - Lookups
• Lookups are performed always in a rule RHS*
• They are specified as an RK expression in the
Expression column of the Rules sheet (don’t forget
the “{}” brackets to hint Harmony you’d perform
an RK expression)
• All supported RK expressions are documented in
http://www.liquidsequence.com/Relation_Kernel_
documentation.html
• Reverse relations are handy when used in RK
lookups, makes the expression better readable
* Right Hand Side
Relationship Kernel – Example 1
• Retrieve the name of the bank that issued the
debitcard that is in the case:
• Harmony will set the transaction.issuer c/a * pair
with the result of the RK expression execution
* Concept Attribute [pair]
Relationship Kernel – Example 2
• Count how many transactions were made in the
last half hour with the debitcard:
• Note: each transaction date is stored in the
transaction.timestamp attribute
• Note: transaction.window is calculated with “30
minutes before current.date/time”
Relationship Kernel – Example 3
• Calculate the average transaction amount made
with the debitcard in the last 30 minutes:
• Note: see notes from the previous slide, they are
valid here as well.
Relationship Kernel – Example 4
• Requirement:
– two persons need to sign the contract for a shared account
[product]
• The look-up ‘specification’ would be
– for the person in the case (@person), find the contract
he/she signed via the [signs] relation, find the product for
which the contract is signed, filter only products with name
“Shared account” and count how many persons have their
compliant attribute set to yes
• The rule ‘specification’ would be
– When 2 persons (person.count) have signed the contract a
contract can be issued,
RK example (5) Adding a person
• Rule 10 adds a person [to REF_Person]
• when the person does not exist (is not)
(see row3)
• It “maps” requester.name, ssn, telephone to person
attributes
(see rows 4-6)
RK example (6) Retrieve SSN occurrences
• Goal: retrieve number of requests done by a citizen,
using his/hers SSN
• The c/a pair ssn.occurences will be set to the value
resulting from the expression
• Retrieve the number of entries/records that a person has
made for a specific benefit
Relationship Kernel – Best practices
• Refrain from modeling artificial objects, such
as an order line or a party role;
• It isn’t necessary to attach a whole ref. object
to a case if you need just one of it’s attributes,
perform an RK lookup instead and set the
result in a c/a pair:
GOOGLE DOCS MAIL/MERGE
Generate documents (like invoices) from orders
Mail/merge: what it does
• It retrieves data from Google DOCS
spreadsheets
– generates document(s) using “template”
documents
– (notes
• Orders are entered by customer using Harmony’s Multi line Order Entry
• Harmony replicates orders (data) from the database into Google DOCS
spreadsheets)
Multiple Order Entry Building Block (BB)
All orders are copied to spreadsheets
When the user hits <Submit> the data is copied to
the Order Header and Order detail sheets
User enters data
The “sizes” are put on horizontal axis. The “greyed-
out” areas are because there are no catalog entries
for certain sizes (Marc Cain brand – 34/Cambio only
available in size 36);
Orders are added to ‘header & details’
Google DOCS mail/merge
• Check/preview invoice
Document mail/merge
• Invoice preview
• Invoice is
• In Google DOCS format
• Saved to your Google drive
Generated invoice
Invoice delivered by email
Invoice.pdf
PENTAHO BI
Business Intelligence – dashboard
Business Intelligence – what it does
• It retrieves data from Google DOCS
spreadsheets
– generates dashboard
– Users can generate .pdf
– (note Harmony replicates data from the Harmony database into
spreadsheets – this data is ready available in the dashboard (i.e.
this is real-time replication)
Easy creation of dashboards
• Dashboard contains a number of pre-formatted views
• Revenue per store
• Stock quantity & values
• High/low values vs quantity
• Other customized overview (distributor specific)
Export data
GOOGLE CALENDAR INTEGRATION
Following up on our vision of integrating Harmony with the
Google cloud platform - adding new features [to release 1.8]
Appointments, tasks, deadline in
Google Calendar
Features
• A calendar entry can be created,
modified or deleted
• Re-using existing Templates functionality
– Contents is the body of the calendar
entry
– Subject is used for the calendar entry
name
– StartDate and EndDate contain date
expressions or a dynamic fact
– Color is one out of 11 different colors,
limited in the Google API
– Location can be set as well
Calendar - 1/2
• Make sure you have a calendar entry
defined in Templates:
A calendar entry can
• Use the “calendar” reserved word in the
RHS:
• Supported operations are add, update
and delete
Calendar - 2/2
• Queue can be an e-mail of a user (a
dynamic c/a pair too) or a whole group
• Note: calendar entries will be pushed
only to users that have logged at least
once in Harmony - so Harmony can
retrieve a security token and use it to
update the calendar of the user
• The 11 supported colors are: “bold blue”,
“blue”, “turquoise”, etc.
IMPROVED USER INTERFACE
Embed the UI in web pages (the Webydo sample)
Harmony generated web forms
• copy/paste to Harmony HTML to Webydo
• publish website [un Webydo]
• The next slides show
– The website contact form
– details of all completed workflow steps
– How users can view all [case] data that
has been entered.
– How data is “copied”, real-time, to a
spreadsheet
• Visit our website for functionality
overview
All case data automatically “captured”
Data is “saved” to your spreadsheet
Additional release info
• Migrated to the OAuth 2.0 protocol for
Google login with refresh tokens,
lightweight and simpler to implement,
adopted by Facebook as well, can be
implemented entirely inside a browser
with JavaScript
• Two or three column layout can be set
• 9 bugs solved
MULTIPLE ORDER ENTRY
2.3 Release: Introducing a new generic building block
Matrix Order Entry
• Design goal:
– Automate the IT building/configuration process for
ordering multiple lines of articles (and per line
multiple dimensions)
• Business benefit
– One uniform interface supporting order entry for
multiple industrie
• Standard User Interface web part
• Standard processing Catalog/Product file
• Standard building block
• Automatic line numbering
– For output to Orders files
The generated UI web part
This UI is automatically generated
• Using the “size” dimension (34-48)
– “greyed-out” areas means no records present
• Row price & Total price are automatically totaled
Using this Catalog/Product file structure
• Contents of the Catalog file
• Layout defined by customer,
• Harmony assembles & presents data using
building block configuration (next slide)
How to do this
The Matrix Order Entry building block
• The building block defines
• Which items to be used from the file containing articles (see
row 2,3)
• The fact which is submitted (order qty)
Outputs data to: Order header & details
HARMONY OPENWEB
2.2 Release Notes
HARMONY OPENWEB
2.2 Release Notes
• A special “queue” has been added
which allows Business Events to be
accessed by public users
Web / internet access
Extended search
Search within ID field
for all values
Search within Description
for all values
The [field] type sets the search
context
• Auto indexing
• mutli search
MULTI LANGUAGE
1.9 Release Notes
MULTI LANGUAGE
1.9 Release Notes
Change log
• Progress on customizing of the UI
– Multi-language support English & Dutch
– Configurable UI texts
• (great for Decision Support !!!!!)
• New “one-time-access” function
– Improved case sharing
• Error messages introduced
– Rules that provide additional control
over UI behavior
• 7 issues and bugs solved
Chrome “Dutch” browser settings
The same case [Qwy] – “English” settings
Chrome configuration
Firefox configuration
• Create your own preferred syntax
User customization enabled
New “one-time-invite”
• Inviting users to access their case only
requires the “one-time-dialog”
– Harmony configuration controls
authorization (tasks, queues, cases etc)
One rule to raise an error
INTEGRATION GOOGLE CALENDAR
1.8 Release Notes
Change log
• 1st version of integrating Harmony with
Google Calendar
– (deadlines are turned into events in the
calendar)
• After login, the user is redirected to the
originally requested page
• 18 issues and bugs solved
• Progress on customizing of the UI
– company specific colors
Show task deadlines in Google Calendar
• When application date is chosen,
Harmony computes deadline:
• Dialog is submitted, an event is added
to the calendar (end date of the event
= deadline date):
Show task deadlines in Google Calendar
• On login, users are challenged to
grant access to their calendar
How to set-up Google Calendar
• A standard deadline is defined:
• The user must be a member of the
Desk queue:
Configuring Harmony for Google Calendar
• When a deadline is re-computed
(dynamic deadlines):
• Changing the deadline (via a submit
of an Extend approval period in this
example) updates the event in the
calendar – end date of the event
changes
Real-time updates to Google Calendar
Calendar Integration … 6
• This is a basic implementation, based
on feedback we will extend the
functionality
• Good to know:
– The user must explicitly be a member of
a group (Users belonging to Admin only
won’t see events in the calendar)
– Dialog name used as event name, two
OWIs of the same name aren’t
supported in Calendar
UI ADDING DYNAMIC DIALOGS
(CONTROLLABLE PER “ITEM / LINE”)
1.6 Release Notes
Change log 1.6:
• Websockets are better “fit”with an ESB in
the browser
• new messages are published via web-sockets
to the ESB, web-parts change HTML content
accordingly
• Show/hide of dialog items
• Customer requirement for dynamic forms
• Configurable application name
• set in spreadsheet, (was "Harmony App“_
• Radio button dialog item type added
• 16 bugs fixed, added another 3 validation
rules in the spreadsheet
Introducing web-sockets in Harmony
• Relevant information for each user is pushed
from Harmony to the browser - doesn't require
a browser refresh for example
• In this release the OWI web-part updates in
real-time when rules fire (OWI amount
increases) or when somebody submits a dialog
(OWI amount decreases)
Show/hide of dialog items
• Every dialog item can be hidden by default
(setting the InitiallyHidden column to yes)
• Dialog items can then be shown via a rule RHS
using the "show.item" reserved word
• Dialog items can also be hidden using the
"hide.item" reserved word
• NOTE: a "dialog exists" statement must be
present in the rule LHS when using show/hide
reserved words - rules on what to hide and
what to show could be different per dialog
Show/hide of dialog items (example):
Radio button dialog item (example):
INTEGRATION GOOGLE MAPS
1.5 Release Notes
• Bi-directional Maps integration
– Enter address: display on map
– From map, change location
• Reflects address
– Entering coordinates
• 12 bugs fixed, added 5 validation
rules in the spreadsheet
Change log 1.5:
Google Maps
Enter address – result is displayed on Map
Google Maps
Move map “locator” and drop on new location
resulting address is displayed
Google Maps
(or) Enter coordinates:
corresponding address is found & location is displayed on Map
How to do ?
Just specify “location” (for type )
UI DIALOG DYNAMIC “ITEM /
(LINE)” SUPPORT
1.4 Release Notes
• New UI to allow easy customization
– Developers request more control over UI
– A brand new JavaScript library was built
specifically to help developers customize the
Harmony UI and integrate web-parts from
Harmony into their own applications
– Result from user demand
• New UI framework: Bootstrap
– One library supporting desktop and mobile UI
• [implemented] Extended UI archictecture
– Analysis from user “behavior”
• We have noticed logic still being coded coded in UI
layer (JavaScript)
Change log 1.4:
(NEW USER INTERFACE) BOOTSTRAP
A brand new JavaScript library was built specifically to help
developers customize the Harmony UI and integrate web-parts
from Harmony into their own applications
Desktop browser & mobile support
business services / rules
JavaScript for presentation
"logic"/dialogs
“standard”
RPG / COBOL *pgm
Webservices to access AS/400
dev framework
New UI architecture
HTML(5): content/stucture
CSS: structure/look and feel/layout
Presentation
tier
(NEW FEATURE) INVENTORY FILE
1.3 Release Notes
Inventory 2.0 (1/3)
• Define an Order object by creating
REF_Object spreadsheet with 3 fields:
• And the following two rules:
– Generate a unique order ID, in this example based on date & time
• can by any Harmony function such as unique_id(), concat(), etc
– Set the order confirmation date to the current system date:
• Creating an order [transaction]
When the order.id is provided/calculated a new
row in the REF_Object [table] is created.
– The order is immediately visible in the Google
Spreadsheet
Inventory 2.0 (2/3)
• Updating: when the order confirmation date and
order company are provided/calculated, the
corresponding order is updated.
– The order is immediately visible in the Google
Spreadsheet
Inventory 2.0 (3/3)
IMPROVEMENTS
Deadlines, UI data validation, LinkedIn sign-on, UI time control
Improvements 1/4
• Introducing: Dynamic Deadlines
– For example a deadline is defined like this:
“10 days before arrival.date”
– If arrival.date doesn’t exist in the case data,
the calculation of the deadline will be
postponed until arrival.date is provided
– The deadline is re-calculated always when the
arrival.date changes
– If the result of the deadline calculation is in
the past, a ‘deadline.expired’ fact is asserted
in the case data automatically
Improvements 2/4
• Reference data keys can be presented in
the UI as drop-downs
Improvements 3/4
• LinkedIn login
– Main e-mail address in the LinkedIn profile
used to login
Improvements 4/4
• New dialog item type: datetime
– When both date and time are needed,
define the dialog item type as ‘datetime’
– The generated UI will allow to provide the
time as well:
INTEGRATION
integration with external systems via industry standard
SOAP/XML web-services
(sample) EU VAT Service integration
• VAT Information Exchange System (VIES)
– Checks VAT-registration (= validity of VAT-
numbers) of companies registered in EU
Clickable link
Harmony sample
• Bla bla
For more information
• Visit
– www.liquidsequence.com
• Contact us
– http://liquidsequence.com/Contact.html
• More on Harmony
– Harmony features (SlideShare)

Weitere ähnliche Inhalte

Was ist angesagt?

Bi publisher for jde
Bi publisher for jdeBi publisher for jde
Bi publisher for jde
nihitha19
 
Many Faces Of Bi Publisher In Oracle Ebs
Many Faces Of Bi Publisher In Oracle EbsMany Faces Of Bi Publisher In Oracle Ebs
Many Faces Of Bi Publisher In Oracle Ebs
Hossam El-Faxe
 
The many-faces-of-bi-publisher-in-oracle-ebs paper-1
The many-faces-of-bi-publisher-in-oracle-ebs paper-1The many-faces-of-bi-publisher-in-oracle-ebs paper-1
The many-faces-of-bi-publisher-in-oracle-ebs paper-1
Santosh Raj
 
Contractors Network - Developing Oracle Bi (Xml) Publisher
Contractors Network - Developing Oracle Bi (Xml) PublisherContractors Network - Developing Oracle Bi (Xml) Publisher
Contractors Network - Developing Oracle Bi (Xml) Publisher
braggy
 

Was ist angesagt? (11)

14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
 
Bi publisher for jde
Bi publisher for jdeBi publisher for jde
Bi publisher for jde
 
Ten Steps To Empowerment
Ten Steps To EmpowermentTen Steps To Empowerment
Ten Steps To Empowerment
 
Many Faces Of Bi Publisher In Oracle Ebs
Many Faces Of Bi Publisher In Oracle EbsMany Faces Of Bi Publisher In Oracle Ebs
Many Faces Of Bi Publisher In Oracle Ebs
 
The many-faces-of-bi-publisher-in-oracle-ebs paper-1
The many-faces-of-bi-publisher-in-oracle-ebs paper-1The many-faces-of-bi-publisher-in-oracle-ebs paper-1
The many-faces-of-bi-publisher-in-oracle-ebs paper-1
 
Bi publisher starter guide to develop first report
Bi publisher starter guide to develop first reportBi publisher starter guide to develop first report
Bi publisher starter guide to develop first report
 
.NET Project Manual
.NET Project Manual.NET Project Manual
.NET Project Manual
 
Contractors Network - Developing Oracle Bi (Xml) Publisher
Contractors Network - Developing Oracle Bi (Xml) PublisherContractors Network - Developing Oracle Bi (Xml) Publisher
Contractors Network - Developing Oracle Bi (Xml) Publisher
 
Getting Started with FDMEE
Getting Started with FDMEEGetting Started with FDMEE
Getting Started with FDMEE
 
Asap session 2
Asap session 2Asap session 2
Asap session 2
 
Best Implementation Practices with BI Publisher
Best Implementation Practices with BI PublisherBest Implementation Practices with BI Publisher
Best Implementation Practices with BI Publisher
 

Ähnlich wie Harmony new release 3.0: Relationship Kernel, Google, Webydo, Web forms, Multiple Order Entry

Assessing technology landscape
Assessing technology landscapeAssessing technology landscape
Assessing technology landscape
Dom Mike
 
Oracle data integrator project
Oracle data integrator projectOracle data integrator project
Oracle data integrator project
Amit Sharma
 
Open ERP Version 7 Functional & Technical Overview
Open ERP Version 7 Functional & Technical OverviewOpen ERP Version 7 Functional & Technical Overview
Open ERP Version 7 Functional & Technical Overview
Pragmatic Techsoft
 

Ähnlich wie Harmony new release 3.0: Relationship Kernel, Google, Webydo, Web forms, Multiple Order Entry (20)

Harmony release overview 1.0 - 2.0
Harmony release overview 1.0 - 2.0 Harmony release overview 1.0 - 2.0
Harmony release overview 1.0 - 2.0
 
Cognos framework manager
Cognos framework managerCognos framework manager
Cognos framework manager
 
Assessing technology landscape
Assessing technology landscapeAssessing technology landscape
Assessing technology landscape
 
Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...
Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...
Carlo Bonamico, Sonia Pini - So you want to build your (Angular) Component Li...
 
Build Your Own Angular Component Library
Build Your Own Angular Component LibraryBuild Your Own Angular Component Library
Build Your Own Angular Component Library
 
Rohit Resume
Rohit ResumeRohit Resume
Rohit Resume
 
bi-publisher.pptx
bi-publisher.pptxbi-publisher.pptx
bi-publisher.pptx
 
Salesforce Presentation
Salesforce PresentationSalesforce Presentation
Salesforce Presentation
 
Remus_3_0
Remus_3_0Remus_3_0
Remus_3_0
 
STEP (Stibo Enterprise Platform) Trailblazer
STEP (Stibo Enterprise Platform) TrailblazerSTEP (Stibo Enterprise Platform) Trailblazer
STEP (Stibo Enterprise Platform) Trailblazer
 
Oracle data integrator project
Oracle data integrator projectOracle data integrator project
Oracle data integrator project
 
Fusion Applications - PIM Deep Dive
Fusion Applications - PIM Deep DiveFusion Applications - PIM Deep Dive
Fusion Applications - PIM Deep Dive
 
SharePoint Saturday UK 2012 - End User InfoPath and SharePoint Designer
SharePoint Saturday UK 2012 - End User InfoPath and SharePoint DesignerSharePoint Saturday UK 2012 - End User InfoPath and SharePoint Designer
SharePoint Saturday UK 2012 - End User InfoPath and SharePoint Designer
 
Oracle Business Intelligence Enterprise Edition
Oracle Business Intelligence Enterprise EditionOracle Business Intelligence Enterprise Edition
Oracle Business Intelligence Enterprise Edition
 
Real world rm in share point 2013
Real world rm in share point 2013Real world rm in share point 2013
Real world rm in share point 2013
 
Create a WEB 2.0 banking application. Adaptive Case Management. Secure and sc...
Create a WEB 2.0 banking application. Adaptive Case Management. Secure and sc...Create a WEB 2.0 banking application. Adaptive Case Management. Secure and sc...
Create a WEB 2.0 banking application. Adaptive Case Management. Secure and sc...
 
Recipes 6 of Data Warehouse and Business Intelligence - Naming convention tec...
Recipes 6 of Data Warehouse and Business Intelligence - Naming convention tec...Recipes 6 of Data Warehouse and Business Intelligence - Naming convention tec...
Recipes 6 of Data Warehouse and Business Intelligence - Naming convention tec...
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentation
 
7 - Enterprise IT in Action
7 - Enterprise IT in Action7 - Enterprise IT in Action
7 - Enterprise IT in Action
 
Open ERP Version 7 Functional & Technical Overview
Open ERP Version 7 Functional & Technical OverviewOpen ERP Version 7 Functional & Technical Overview
Open ERP Version 7 Functional & Technical Overview
 

Mehr von 112Motion

112Motion.com solutions overview
112Motion.com solutions overview112Motion.com solutions overview
112Motion.com solutions overview
112Motion
 

Mehr von 112Motion (20)

112Motion.com solutions overview
112Motion.com solutions overview112Motion.com solutions overview
112Motion.com solutions overview
 
Harmony concepts and design guide
Harmony concepts and design guideHarmony concepts and design guide
Harmony concepts and design guide
 
D3 data driven development in practice - the AirPortal for Schiphol and Tra...
D3   data driven development in practice - the AirPortal for Schiphol and Tra...D3   data driven development in practice - the AirPortal for Schiphol and Tra...
D3 data driven development in practice - the AirPortal for Schiphol and Tra...
 
Creating a Cloud system in one hour using Google DOCS spreadsheets
Creating a Cloud system in one hour using Google DOCS spreadsheetsCreating a Cloud system in one hour using Google DOCS spreadsheets
Creating a Cloud system in one hour using Google DOCS spreadsheets
 
Fraud Detector - The easy-to-customize, high ROI, IT solution for detecting ...
Fraud Detector - The easy-to-customize, high ROI,  IT solution for detecting ...Fraud Detector - The easy-to-customize, high ROI,  IT solution for detecting ...
Fraud Detector - The easy-to-customize, high ROI, IT solution for detecting ...
 
Harmony concepts and design guide v0.2
Harmony concepts and design guide v0.2Harmony concepts and design guide v0.2
Harmony concepts and design guide v0.2
 
Create, sign and share documents online using Google DOCS
Create, sign and share documents online using Google DOCSCreate, sign and share documents online using Google DOCS
Create, sign and share documents online using Google DOCS
 
Decision model and notation (DMN standard explained. A worked example by Nick...
Decision model and notation (DMN standard explained. A worked example by Nick...Decision model and notation (DMN standard explained. A worked example by Nick...
Decision model and notation (DMN standard explained. A worked example by Nick...
 
Product based design of business processes. Applied within Financial Services
Product based design of business processes. Applied within  Financial ServicesProduct based design of business processes. Applied within  Financial Services
Product based design of business processes. Applied within Financial Services
 
Harmony: what is it, how does it work, best practices. Integration features, ...
Harmony: what is it, how does it work, best practices. Integration features, ...Harmony: what is it, how does it work, best practices. Integration features, ...
Harmony: what is it, how does it work, best practices. Integration features, ...
 
RulesSpeak: Het opstellen van bedrijfsregels in begrijpelijk Nederlands
RulesSpeak: Het opstellen van bedrijfsregels in begrijpelijk NederlandsRulesSpeak: Het opstellen van bedrijfsregels in begrijpelijk Nederlands
RulesSpeak: Het opstellen van bedrijfsregels in begrijpelijk Nederlands
 
Release description harmony matrix order entry
Release description harmony matrix order entryRelease description harmony matrix order entry
Release description harmony matrix order entry
 
Harmony = you can develop IT. This overview describes features, & shows how ...
Harmony =  you can develop IT. This overview describes features, & shows how ...Harmony =  you can develop IT. This overview describes features, & shows how ...
Harmony = you can develop IT. This overview describes features, & shows how ...
 
Lucidchart an event driven approach for generating a (workflow) applications
Lucidchart an event driven approach for generating a (workflow) applicationsLucidchart an event driven approach for generating a (workflow) applications
Lucidchart an event driven approach for generating a (workflow) applications
 
Harmony API developers documentation (version 2.2)
Harmony API developers documentation (version 2.2)Harmony API developers documentation (version 2.2)
Harmony API developers documentation (version 2.2)
 
Gemeente loket WMO process aanvraag voorbeeld
Gemeente loket WMO process aanvraag voorbeeldGemeente loket WMO process aanvraag voorbeeld
Gemeente loket WMO process aanvraag voorbeeld
 
Modernize your AS400 - the future proof, low cost solution.
Modernize your AS400 - the future proof, low cost solution.Modernize your AS400 - the future proof, low cost solution.
Modernize your AS400 - the future proof, low cost solution.
 
AS400 webservices - the adapter create cloud apps in a couple of days
AS400 webservices - the adapter create cloud apps in a couple of daysAS400 webservices - the adapter create cloud apps in a couple of days
AS400 webservices - the adapter create cloud apps in a couple of days
 
Online sales: Select product, create quote, accept and ship (from warehouse)....
Online sales: Select product, create quote, accept and ship (from warehouse)....Online sales: Select product, create quote, accept and ship (from warehouse)....
Online sales: Select product, create quote, accept and ship (from warehouse)....
 
Tourism and hospitality: Create an online accommodation booking process
Tourism and hospitality: Create an online accommodation booking processTourism and hospitality: Create an online accommodation booking process
Tourism and hospitality: Create an online accommodation booking process
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 

Harmony new release 3.0: Relationship Kernel, Google, Webydo, Web forms, Multiple Order Entry

  • 1. Harmony consolidated Release Notes Last update: release 3.0 (Jun 2014): Relationship Kernel
  • 2. Release policy • [old] 10 releases per year – containing – A new feature improving capabilities , increasing business benefits – Improvements Revised or minor new features added to extend functionality – Bug fixes – Sample implementation(s) demonstrating “Harmony in action” • [new policy] 4 releases per year
  • 3. (NEW FEATURE) RELATIONAL KERNEL powerful features for defining and querying complex data structures
  • 4. Relation Kernel Features • Defining [data] relationships – Without graphically modeling • No data modeling skills required • Simple to understand & do • Powerful expressions to query data • Comparable to SQL – but easier to do • Bug fixes • Harmony releases 2.5/2.6 had “simple” relationship kernel implementation
  • 5. Relationship Kernel - Background • all Harmony case data is a flat structure of concept /attribute pairs – for example order[concept].total[pair], person.name • Before release 3.0 Harmony didn’t support relations between objects – such as John is the father of Mary – building enterprise applications requires this (or makes the implementation simpler) • Reference objects can be attached to a case in order to make decisions based on their attributes – Notice the red “R” icon when a ref. object is attached to a case • Only one object of a particular type can be attached to a case (one person, one order and so on) – to attach multiple, child cases are created and attached
  • 6. Relationship Kernel – Basics 1 • RK builds on top of reference objects • It allows to create/store & retrieve relationships between reference objects • A reference object always has a unique identifier – it’s the first column in any REF_ sheet
  • 7. Relationship Kernel – Basics 2 • The RK model is defined in the RK_Model sheet: • The reverse relation is for readability purposes only, see Lookups slide
  • 8. Relationship Kernel – Basics 3 • Actual relations between objects are stored in RK_Store: • Each value is a reference object key, such as person.id, address.id and so on • In the screenshot you see that John (row 6) and Marry (7) have signed the same contract EN456, which is for a product ENOF1189 (8)
  • 9. Relationship Kernel – Syntax • “@person” means the attached Person to the case; • Relations are defined in square brackets, – [signs] – [lives_at]
  • 10. Relationship Kernel – Establish relations • establish a relation between the two REF_ objects if you know their unique identifiers: – For example you have a Person (defined in REF_Person) and a Contract (in REF_Contract) in a case – Create the relation by using “relation add” in a rule LHS * – The expression is always in the following format: {@person [signs] @contract} the “{}” brackets mean it’s an RK expression – When the rule executes, a new entry will be added to the RK_Store sheet * Left Hand Side
  • 11. Relationship Kernel - Lookups • Lookups are performed always in a rule RHS* • They are specified as an RK expression in the Expression column of the Rules sheet (don’t forget the “{}” brackets to hint Harmony you’d perform an RK expression) • All supported RK expressions are documented in http://www.liquidsequence.com/Relation_Kernel_ documentation.html • Reverse relations are handy when used in RK lookups, makes the expression better readable * Right Hand Side
  • 12. Relationship Kernel – Example 1 • Retrieve the name of the bank that issued the debitcard that is in the case: • Harmony will set the transaction.issuer c/a * pair with the result of the RK expression execution * Concept Attribute [pair]
  • 13. Relationship Kernel – Example 2 • Count how many transactions were made in the last half hour with the debitcard: • Note: each transaction date is stored in the transaction.timestamp attribute • Note: transaction.window is calculated with “30 minutes before current.date/time”
  • 14. Relationship Kernel – Example 3 • Calculate the average transaction amount made with the debitcard in the last 30 minutes: • Note: see notes from the previous slide, they are valid here as well.
  • 15. Relationship Kernel – Example 4 • Requirement: – two persons need to sign the contract for a shared account [product] • The look-up ‘specification’ would be – for the person in the case (@person), find the contract he/she signed via the [signs] relation, find the product for which the contract is signed, filter only products with name “Shared account” and count how many persons have their compliant attribute set to yes • The rule ‘specification’ would be – When 2 persons (person.count) have signed the contract a contract can be issued,
  • 16. RK example (5) Adding a person • Rule 10 adds a person [to REF_Person] • when the person does not exist (is not) (see row3) • It “maps” requester.name, ssn, telephone to person attributes (see rows 4-6)
  • 17. RK example (6) Retrieve SSN occurrences • Goal: retrieve number of requests done by a citizen, using his/hers SSN • The c/a pair ssn.occurences will be set to the value resulting from the expression • Retrieve the number of entries/records that a person has made for a specific benefit
  • 18. Relationship Kernel – Best practices • Refrain from modeling artificial objects, such as an order line or a party role; • It isn’t necessary to attach a whole ref. object to a case if you need just one of it’s attributes, perform an RK lookup instead and set the result in a c/a pair:
  • 19. GOOGLE DOCS MAIL/MERGE Generate documents (like invoices) from orders
  • 20. Mail/merge: what it does • It retrieves data from Google DOCS spreadsheets – generates document(s) using “template” documents – (notes • Orders are entered by customer using Harmony’s Multi line Order Entry • Harmony replicates orders (data) from the database into Google DOCS spreadsheets)
  • 21. Multiple Order Entry Building Block (BB) All orders are copied to spreadsheets When the user hits <Submit> the data is copied to the Order Header and Order detail sheets User enters data The “sizes” are put on horizontal axis. The “greyed- out” areas are because there are no catalog entries for certain sizes (Marc Cain brand – 34/Cambio only available in size 36);
  • 22. Orders are added to ‘header & details’
  • 23. Google DOCS mail/merge • Check/preview invoice
  • 25. • Invoice is • In Google DOCS format • Saved to your Google drive Generated invoice
  • 29. Business Intelligence – what it does • It retrieves data from Google DOCS spreadsheets – generates dashboard – Users can generate .pdf – (note Harmony replicates data from the Harmony database into spreadsheets – this data is ready available in the dashboard (i.e. this is real-time replication)
  • 30. Easy creation of dashboards • Dashboard contains a number of pre-formatted views • Revenue per store • Stock quantity & values • High/low values vs quantity • Other customized overview (distributor specific)
  • 32. GOOGLE CALENDAR INTEGRATION Following up on our vision of integrating Harmony with the Google cloud platform - adding new features [to release 1.8]
  • 33. Appointments, tasks, deadline in Google Calendar
  • 34. Features • A calendar entry can be created, modified or deleted • Re-using existing Templates functionality – Contents is the body of the calendar entry – Subject is used for the calendar entry name – StartDate and EndDate contain date expressions or a dynamic fact – Color is one out of 11 different colors, limited in the Google API – Location can be set as well
  • 35. Calendar - 1/2 • Make sure you have a calendar entry defined in Templates: A calendar entry can • Use the “calendar” reserved word in the RHS: • Supported operations are add, update and delete
  • 36. Calendar - 2/2 • Queue can be an e-mail of a user (a dynamic c/a pair too) or a whole group • Note: calendar entries will be pushed only to users that have logged at least once in Harmony - so Harmony can retrieve a security token and use it to update the calendar of the user • The 11 supported colors are: “bold blue”, “blue”, “turquoise”, etc.
  • 37. IMPROVED USER INTERFACE Embed the UI in web pages (the Webydo sample)
  • 38. Harmony generated web forms • copy/paste to Harmony HTML to Webydo • publish website [un Webydo] • The next slides show – The website contact form – details of all completed workflow steps – How users can view all [case] data that has been entered. – How data is “copied”, real-time, to a spreadsheet • Visit our website for functionality overview
  • 39.
  • 40.
  • 41. All case data automatically “captured”
  • 42. Data is “saved” to your spreadsheet
  • 43. Additional release info • Migrated to the OAuth 2.0 protocol for Google login with refresh tokens, lightweight and simpler to implement, adopted by Facebook as well, can be implemented entirely inside a browser with JavaScript • Two or three column layout can be set • 9 bugs solved
  • 44. MULTIPLE ORDER ENTRY 2.3 Release: Introducing a new generic building block
  • 45. Matrix Order Entry • Design goal: – Automate the IT building/configuration process for ordering multiple lines of articles (and per line multiple dimensions) • Business benefit – One uniform interface supporting order entry for multiple industrie • Standard User Interface web part • Standard processing Catalog/Product file • Standard building block • Automatic line numbering – For output to Orders files
  • 46. The generated UI web part This UI is automatically generated • Using the “size” dimension (34-48) – “greyed-out” areas means no records present • Row price & Total price are automatically totaled
  • 47. Using this Catalog/Product file structure • Contents of the Catalog file • Layout defined by customer, • Harmony assembles & presents data using building block configuration (next slide)
  • 48. How to do this The Matrix Order Entry building block • The building block defines • Which items to be used from the file containing articles (see row 2,3) • The fact which is submitted (order qty)
  • 49. Outputs data to: Order header & details
  • 52. • A special “queue” has been added which allows Business Events to be accessed by public users Web / internet access
  • 53. Extended search Search within ID field for all values Search within Description for all values The [field] type sets the search context • Auto indexing • mutli search
  • 56. Change log • Progress on customizing of the UI – Multi-language support English & Dutch – Configurable UI texts • (great for Decision Support !!!!!) • New “one-time-access” function – Improved case sharing • Error messages introduced – Rules that provide additional control over UI behavior • 7 issues and bugs solved
  • 58. The same case [Qwy] – “English” settings
  • 61. • Create your own preferred syntax User customization enabled
  • 62. New “one-time-invite” • Inviting users to access their case only requires the “one-time-dialog” – Harmony configuration controls authorization (tasks, queues, cases etc)
  • 63. One rule to raise an error
  • 65. Change log • 1st version of integrating Harmony with Google Calendar – (deadlines are turned into events in the calendar) • After login, the user is redirected to the originally requested page • 18 issues and bugs solved • Progress on customizing of the UI – company specific colors
  • 66. Show task deadlines in Google Calendar • When application date is chosen, Harmony computes deadline:
  • 67. • Dialog is submitted, an event is added to the calendar (end date of the event = deadline date): Show task deadlines in Google Calendar
  • 68. • On login, users are challenged to grant access to their calendar How to set-up Google Calendar
  • 69. • A standard deadline is defined: • The user must be a member of the Desk queue: Configuring Harmony for Google Calendar
  • 70. • When a deadline is re-computed (dynamic deadlines): • Changing the deadline (via a submit of an Extend approval period in this example) updates the event in the calendar – end date of the event changes Real-time updates to Google Calendar
  • 71. Calendar Integration … 6 • This is a basic implementation, based on feedback we will extend the functionality • Good to know: – The user must explicitly be a member of a group (Users belonging to Admin only won’t see events in the calendar) – Dialog name used as event name, two OWIs of the same name aren’t supported in Calendar
  • 72. UI ADDING DYNAMIC DIALOGS (CONTROLLABLE PER “ITEM / LINE”) 1.6 Release Notes
  • 73. Change log 1.6: • Websockets are better “fit”with an ESB in the browser • new messages are published via web-sockets to the ESB, web-parts change HTML content accordingly • Show/hide of dialog items • Customer requirement for dynamic forms • Configurable application name • set in spreadsheet, (was "Harmony App“_ • Radio button dialog item type added • 16 bugs fixed, added another 3 validation rules in the spreadsheet
  • 74. Introducing web-sockets in Harmony • Relevant information for each user is pushed from Harmony to the browser - doesn't require a browser refresh for example • In this release the OWI web-part updates in real-time when rules fire (OWI amount increases) or when somebody submits a dialog (OWI amount decreases)
  • 75. Show/hide of dialog items • Every dialog item can be hidden by default (setting the InitiallyHidden column to yes) • Dialog items can then be shown via a rule RHS using the "show.item" reserved word • Dialog items can also be hidden using the "hide.item" reserved word • NOTE: a "dialog exists" statement must be present in the rule LHS when using show/hide reserved words - rules on what to hide and what to show could be different per dialog
  • 76. Show/hide of dialog items (example):
  • 77. Radio button dialog item (example):
  • 79. • Bi-directional Maps integration – Enter address: display on map – From map, change location • Reflects address – Entering coordinates • 12 bugs fixed, added 5 validation rules in the spreadsheet Change log 1.5:
  • 80. Google Maps Enter address – result is displayed on Map
  • 81. Google Maps Move map “locator” and drop on new location resulting address is displayed
  • 82. Google Maps (or) Enter coordinates: corresponding address is found & location is displayed on Map
  • 83. How to do ? Just specify “location” (for type )
  • 84. UI DIALOG DYNAMIC “ITEM / (LINE)” SUPPORT 1.4 Release Notes
  • 85. • New UI to allow easy customization – Developers request more control over UI – A brand new JavaScript library was built specifically to help developers customize the Harmony UI and integrate web-parts from Harmony into their own applications – Result from user demand • New UI framework: Bootstrap – One library supporting desktop and mobile UI • [implemented] Extended UI archictecture – Analysis from user “behavior” • We have noticed logic still being coded coded in UI layer (JavaScript) Change log 1.4:
  • 86. (NEW USER INTERFACE) BOOTSTRAP A brand new JavaScript library was built specifically to help developers customize the Harmony UI and integrate web-parts from Harmony into their own applications
  • 87. Desktop browser & mobile support
  • 88. business services / rules JavaScript for presentation "logic"/dialogs “standard” RPG / COBOL *pgm Webservices to access AS/400 dev framework New UI architecture HTML(5): content/stucture CSS: structure/look and feel/layout Presentation tier
  • 89. (NEW FEATURE) INVENTORY FILE 1.3 Release Notes
  • 90. Inventory 2.0 (1/3) • Define an Order object by creating REF_Object spreadsheet with 3 fields: • And the following two rules: – Generate a unique order ID, in this example based on date & time • can by any Harmony function such as unique_id(), concat(), etc – Set the order confirmation date to the current system date:
  • 91. • Creating an order [transaction] When the order.id is provided/calculated a new row in the REF_Object [table] is created. – The order is immediately visible in the Google Spreadsheet Inventory 2.0 (2/3)
  • 92. • Updating: when the order confirmation date and order company are provided/calculated, the corresponding order is updated. – The order is immediately visible in the Google Spreadsheet Inventory 2.0 (3/3)
  • 93. IMPROVEMENTS Deadlines, UI data validation, LinkedIn sign-on, UI time control
  • 94. Improvements 1/4 • Introducing: Dynamic Deadlines – For example a deadline is defined like this: “10 days before arrival.date” – If arrival.date doesn’t exist in the case data, the calculation of the deadline will be postponed until arrival.date is provided – The deadline is re-calculated always when the arrival.date changes – If the result of the deadline calculation is in the past, a ‘deadline.expired’ fact is asserted in the case data automatically
  • 95. Improvements 2/4 • Reference data keys can be presented in the UI as drop-downs
  • 96. Improvements 3/4 • LinkedIn login – Main e-mail address in the LinkedIn profile used to login
  • 97. Improvements 4/4 • New dialog item type: datetime – When both date and time are needed, define the dialog item type as ‘datetime’ – The generated UI will allow to provide the time as well:
  • 98. INTEGRATION integration with external systems via industry standard SOAP/XML web-services
  • 99. (sample) EU VAT Service integration • VAT Information Exchange System (VIES) – Checks VAT-registration (= validity of VAT- numbers) of companies registered in EU Clickable link
  • 101. For more information • Visit – www.liquidsequence.com • Contact us – http://liquidsequence.com/Contact.html • More on Harmony – Harmony features (SlideShare)

Hinweis der Redaktion

  1. Last updated (3 Feb – last slide)
  2. The structure can be coded in HTML and/or CSS. This is based on preference and best practices.