Download - Innomatic Platform architecture overview
![Page 1: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/1.jpg)
The platform for multi-tenant web applications
Innomatic Platform Architecture Overview
![Page 2: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/2.jpg)
Understanding the Innomatic Platform & the Innomatic Ecosystem
![Page 3: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/3.jpg)
What is Innomatic Platform
Innomatic Platform is an Open Source development and management platform useful for programmers and
system administrators to quickly create various kinds of modular applications based on web technologies and
to make them rapidly available to customers drastically reducing installation, update and management times.
It's not a framework such as Symfony or Zend Framework: unlike these last two, Innomatic is a platform made to
create, manage and distribute multi-tenant applications in web technology and enable them for multiple
customers contemporarily from a single system.
It contains several frameworks and many architectures can be installed upon it: applications can be created in
different ways assembling various frameworks, components and finished products.
![Page 4: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/4.jpg)
A couple of examples of applications you can create with Innomatic
Innomatic Platform is especially suited for building and operating SaaS systems and products.
A couple of examples of applications you can create:
• Backoffice applications (e.g. business processes), that are integrated with other systems
• Open to the public front end applications
• Intranet / extranet applications
• Mobile applications that are integrated with the platform
• Internet of Things devices
![Page 5: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/5.jpg)
Backoffice applications: an example
![Page 6: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/6.jpg)
Front end applications: an example
![Page 7: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/7.jpg)
Native mobile applications: an example
![Page 8: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/8.jpg)
The main type of companies that use the Innomatic platform
The main type of companies that use the Innomatic platform:
• Structured Companies: to create internal applications
• SME: Use ready made applications available on the Innomatic Market and/or Innomatic Cloud and custom
made Innomatic Partner applications.
• SaaS Service Providers: to manage and enable applications for multiple customers simultaneously
• Web Agencies: to create custom web applications
• System Integrators: to create custom business applications
• Software Houses: to build standard software products, that will be distributed through their own channels,
Innomatic Market or Innomatic Cloud
Web Agencies, System Integrators and Software Houses can become Innomatic Partners.
![Page 9: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/9.jpg)
Several frameworks and standards built into Innomatic
• A kit to make administrative panels based on MVC and evolved and extendable widgets usable in back
office applications
• A system to create multi-tenant applications with single-tenant databases, managing multiple instances
for the single client with a single installation of the platform.
• An application management system to:
• package them, describing them in an xml file as a set of extendable components of various types
• install them in the platform, with version and packet dependency management
• enable them on single customer instances with a single operation
• update them with a single operation automatically on all the customers instances
• distribute them through a web service(Innomatic Market) without the need to install files by hand
• Much more: architectural best practices, web services kits, several specialized mini-frameworks, etc.
![Page 10: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/10.jpg)
Innomatic Platform Enterprise Edition and SaaS Edition
Innomatic can be set up in two different modes:
Innomatic Platform Enterprise EditionThe platform will be dedicated to a single client, for example to his systems (Internal IT, server outsourcing).
Some benefits: simplified deployment, single back office for all applications, access to AppCentral / Innomatic
Market, etc.
Innomatic Platform SaaS EditionThe platform will be used by those that supply applications in SaaS mode, centralizing the management of
multiple applications and customers in a single system.
Some benefits: centralized application management, multiple domain/tenant management (customers),
modularity, speed, single back office interface, operation automation, etc.
![Page 11: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/11.jpg)
Innomatic Platform IDE
The Innomatic Platform IDE is a set of Innomatic Platform applications and development tools that simplify and
speed up development.
Some current tools:
• process debugger
• profiler
• log analyzer
• software copy protection system
• AppCentral server connector
• Innomatic project skeleton with vagrant support and chef recipes
![Page 12: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/12.jpg)
Innomatic Mobile
Innomatic Mobile is a framework for creating native iOS and Android applications that communicate with Innomatic Platform, writing the code just once.
Innomatic Mobile applications are written in Python by means of the kivy framework, a multi platform framework that builds native user interfaces.
Innomatic Mobile embeds a series of ready made features, such as an offline/online synchronization layer, error logging, etc.
As a secondary benefit, applications written with Innomatic Mobile can work on desktop computers without changing a line of code.
![Page 13: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/13.jpg)
Innomatic IoT (Internet of Things)
Innomatic IoT is an hardware based solution that communicates with the Innomatic platform through a predefined protocol, useful for building "Internet of Things" devices.
Thus it is possible to create devices that access server side application logic such as Innomatic applications.
![Page 14: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/14.jpg)
Innomatic Market
Innomatic Market is the Innomatic application marketplace built by Innoteam and its partners and is accessible
to all customers subscribed to an Innomatic Subscription
Applications can be downloaded through the AppCentral system, integrated into Innomatic.
Public access channels and Open Source libraries, external system connectors etc. are present in AppCentral
repositories.
![Page 15: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/15.jpg)
Innomatic Cloud
Innomatic Cloud is a SaaS service supplied by Innoteam, whose mission is to automate companies.
Applications built by Innoteam and its Technology Partners can be found in Innomatic Cloud.
The service is managed by means of Innomatic Platform Saas Edition installations hosted on an Amazon Web Services infrastructure.
![Page 16: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/16.jpg)
Innomatic Platform Architecture
![Page 17: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/17.jpg)
Domains and applications
The Innomatic building blocks are:
Domains
A domain is a "container" (tenant) dedicated to a single client where multiple applications can be enabled.
Innomatic Platform Enterprise Edition allows the management of a single domain, the Saas Edition can manage
an unlimited number of domains.
Applications
Each application contains a set of components and they can be enabled on one or more domains.
When an application gets updated, the platform makes sure that all the domains containing an enabled version of
the application get updated.
![Page 18: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/18.jpg)
Domains
![Page 19: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/19.jpg)
Creating a Domain
![Page 20: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/20.jpg)
Applications
![Page 21: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/21.jpg)
Enabling an application to a domain
![Page 22: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/22.jpg)
Applications, Domains and Domain web apps
![Page 23: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/23.jpg)
Innomatic Platform Framework
Innomatic contains a components based framework suitable for building backoffice and generic applications.
Frontend applications can be developed using specialized web application handlers.
![Page 24: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/24.jpg)
Web Application Handler - Generic framework
![Page 25: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/25.jpg)
Web Application Handler - Innomatic Desktop
![Page 26: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/26.jpg)
Integration layer: connectors
![Page 27: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/27.jpg)
An example of a framework layered over Innomatic:Innomatic Media CMF
![Page 28: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/28.jpg)
Building applications
![Page 29: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/29.jpg)
Environments
Platform support for Develoment / QA / UAT / Production environments.
![Page 30: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/30.jpg)
Process debugging
![Page 31: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/31.jpg)
Process debugging - Runtime and profiler
![Page 32: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/32.jpg)
Bug reporting
![Page 33: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/33.jpg)
Continuous integration / deployment
• Platform support for Unit / Functional Testing
• Platform support for different environments / configurations
• Platform support for testing/ CI platforms
• Deploying an Innomatic application is like uploading a file / using a script / download from AppCentral in the
cloud
• Deploying a generic web app: various methods (rsync, capistrano, git, upload, etc.)
• Centralized distribution through AppCentral repositories
• CI task for packaging Innomatic applications and sending them to AppCentral repositories
• stable / unstable / nightly build AppCentral repositories
• automatic application update for all domains
![Page 34: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/34.jpg)
Distributing applications
![Page 35: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/35.jpg)
Distributing applications: direct installation inside Innomatic
![Page 36: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/36.jpg)
Installing an application inside Innomatic
![Page 37: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/37.jpg)
Dependencies
![Page 38: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/38.jpg)
Distributing applications: through AppCentral repositories (e.g. Innomatic Market)
![Page 39: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/39.jpg)
Installing an application with AppCentral
![Page 40: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/40.jpg)
Multiple application versions from AppCentral
![Page 41: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/41.jpg)
Distributing applications: through an Innomatic based SaaS platform (e.g. Innomatic Cloud)
![Page 42: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/42.jpg)
Protecting code with Innomatic IDE KeyMaster
Developers can protect their code and control its distribution by means of an encryption system and distribution of authorization keys; the uploading and decryption parts are integrated into Innomatic.
Innomatic IDE KeyMaster is an Innomatic application that uses a code encryption library and generated keys to unblock it.
One is expected to separately buy an ionCube encoder license: http://www.ioncube.com/sa_encoder.php?page=pricing
The keys can optionally define:● limit date: if the key isn't updated within the due date,
the application will stop working● domain limit: maximum number of domains
(customers) where one can enable the application● user limit maximum number of users per domain● version: maximum version covered by the key● IP / range: code execution only on a certain ip/ip range● password: password necessary to install the key
![Page 43: Innomatic Platform architecture overview](https://reader033.vdocument.in/reader033/viewer/2022052217/557cf676d8b42a98158b493d/html5/thumbnails/43.jpg)
Innomatic Platform is available at GitHub: https://github.com/innoteam/innomatic
Project web site:http://www.innomatic.org
Innoteam web site:http://www.innoteam.it