UNIT4 BUSINESS ANALYTICS
2page
WHAT IS THE PRODUCT?
A business intelligence tool kit, specializing in Coporate Performance Management
An application builder. No predefined screens, they are all created by a domain expert specifically for each customer
A runtime platform. Custom applications are published to our runtime platform and screens are generated on the fly by the front end
3page
JEE6 (GlassFish)
Front end
CubeVersioned Solution Repositoy
Authorization (and Authentication)
Directory Service (OpenDS)
Solution engine
Plugincomponents
Authentication(Optional)
REST API
XML for AnalysisSVN
LDAPXMLA/MDXWebDAV
Java Swing ApplicationTypeScript/JavaScript/HTML5Currently Flex (Adobe Flash)
NetBeans Platform
Builder
Plugincomponents
System managemnt
tools
Platformcomponents
Active Directory
SVN Front-end
Driver Front-end
Java application
ARCHITECTURE OVERVIEW
4page
SYSTEM COMPONENTS
OLAP cube backend. Queried using Multidimensional experessions (MDX).
Domain expert tool. Java Swing Application based on the NetBeans platform. Consists of functionality such as schema editor, OLAP cube generator, query creator, layout designer, role and user management.
Meta-model defining possible screen layouts, query expressions and user actions. Defined using Eclipse Modeling Framework.
Subversion repository for keeping version controlled application definitions.
Application server containing the Java Enterprise Edition runtime platform. Currently we are using the open source Glassfish server from Oracle.
Front end client. In production we now have a Flex based client, running on the Flash Player VM in webbrowsers and compiled to native apps for tablets. We are currently rewriting the client from scratch in TypeScript and JavaScript
5page
DOMAIN EXPERT TOOL
6page
• 7 years old• 80000 lines in total
60000 lines of code• 700 classes and
components• One version for
webbrowsers and one for iPads and Android tablets
FLEX CLIENT – BEING REWRITTEN
7page
NEW FRONT END APPLICATION
Started January 2014.
Complete rewrite. New structure and model.
Written in TypeScript and JavaScript
Currently 4000 lines of TypeScript in 36 files, with a significantly larger number of classes and interfaces. And 1500 lines of JavaScript in 23 files
Focus is on well structured object oriented code, using functional techniques where appropriate
Desktop webbrowser application and tablet application; different version with a large amount of code reuse
Targeting only browsers supporting HTML5, ECMAScript5 and CSS3
8page
ABOUT TYPESCRIPT
• Created by Microsoft, released in version 1.0 in April 2014• Superset of ECMAScript 5 (aka JavaScript). Using
ECMAScript 6 syntax where possible• Has classes, interfaces, modules and generics• Static type check at compile time with fun features such as
optional typing, type inference, function types and implied interfaces
• Supports both closures and classes, so we get the both of both worlds and can write multi-paradigm programs using both functional and object oriented programming
• Dynamic prototyping and static type check. The speed of development of dynamic languages and the safety of static languages
• Excellent IDE support (Visual Studio, IDEA Intellij/WebStorm, Eclipse, Sublime Text, etc)
9page
ABOUT EXT
Ext JS is the industry standard for data-driven single-page applications
Large number of components available
Meta-object protocol for supporting inheritance, classes, component hierarchies, etc.
Cross browser fidelity
10page
DEVELOPMENT ENVIRONMENT
Maven is our build automation tool
Git is our version control system
TeamCity is our continous build system
Each developer is free to use the IDE of his or her choice. Currently most developers use IDEA IntellIJ Ultimate, but we also have licenses for Visual Studio 2013 and will accommodate other choices.
11page
RESOURCES
Unit4 Business Analytics
http://www.unit4.com/products/business-analytics/
http://youtu.be/JBEO18i_Mkw (story explaining the demo)
http://youtu.be/aXuK0eD5hHk (sales video)
TypeScript
http://www.typescriptlang.org/
Ext.js
http://www.sencha.com/products/extjs/examples/