Architecture

Hardware architecture

Visiativ Process is structured in an n-tier architecture. It is made up of several layers, each of which has a specific role:

  • 1st tier: the presentation layer is managed by the Web browser. It is responsible for processing the interaction with the end-user. Web Designer is exclusively located on this first tier.
  • 2th tier: authentication, retrieval of data from connected user (environment, language, skin, etc.) and the production of graphical interface are managed by the second tier. The Web server used is Tomcat. On production environment, the latter is generally placed behind an Apache or an IIS server to accelerate serving the static data such as images and HTML files.
  • 3th tier: the application layer is only available from the third tier. All application treatments are created here taking into account the business rules defined by the Visiativ Process application. This layer separates the presentation from the data manipulation. The application server used is Jboss which is an EJB (Entreprise Java Bean) container.
  • 4th tier: data manipulation is done on this tier which also requires the presence of an EJB server. JBoss must be on this tier.
  • 5th tier: the last tier contains the company’s and the Visiativ Process application’s persistable data. As of date, the latter supports three database engines:
    • Microsoft SQL Server
    • MySQL
    • Oracle

The following diagram depicts the n-tier architecture supported by Visiativ Process.

Hardware architecture Hardware architecture

The division into several layers simplifies software installation procedures, information sharing between applications and enables component reuse. It is important to note that between each of these layers, it is possible to set a firewall for additional security and maximum data protection.

Software architecture

Visiativ Process groups a set of work-based services split in an n-tier architecture. It uses and extends some services offered by the J2EE framework mainly based on the servlets containers, portlets and of EJB (Enterprise Java Bean).

Visiativ Process restrictively uses the selected “Open Source” technologies to meet specific requirements:

  • Rhino: engine to run JavaScript on server side. This technology was implemented to give the possibility to directly extend the Workflow engine back-office processing by using the JavaScript scripts.
  • Lucene: indexing engine.

Visiativ Process originally integrate all the services linked to the directory and the portal: authentication, LDAP and Excel import and export, Portlets, skins.

The Process module has a mini directory for internal purposes. We will have the chance to handle objects of both directories in the following chapters.

Application entry points

The Visiativ Process suite presents several API formats which enable the developers to add some features, to integrate the product to other systems, or even to make the documents more dynamic.

  • Graphical API: set of classes enabling the creation of new graphical interface based on standard templates screens. The whole graphical part is contained in the project VDocUINavigation.jar
  • SDK API: set of classes simplifying the manipulation of the product APIs and extending the system to other applications. This API is a unification of the multi-products APIs.
  • SDK Client API: set of client classes simplifying the manipulation of Visiativ Process suite elements.

Application layers

Software architecture Software architecture

Graphical interface layer

This layer represents the graphical interface framework used in several Visiativ Process modules. It is fully described by XML files. Indeed, these files list the following elements:

  • Browsing the administration
  • Browsing the applications: processes, site ;
  • Browsing the portlets: portal, site ;
  • Every wizard (generation, application import/export, step change, etc…)

This layer is also used to ease screens creation.

Services layer

The SDK API gives access to the business part of the Visiativ Process application.

Data access layer

Visiativ Process uses RDBMS (Microsoft SQL Server, MySQL, Oracle.). Data can be accessed via the APIs.