Skip to main content
Version: 2.2.3

Logical architecture

SoftExpert Suite is a 100% web-based solution, i.e., it is accessed through a browser, based on a three-layer architecture, with the layers being:

The layers are developed and maintained independently, allowing the system to operate on one or more servers, and enabling load balancing. See the diagram of this architecture below:

Picture 1 - Logical architecture used in SoftExpert Suite

Picture 1 - Logical architecture used in SoftExpert Suite

Presentation layer​

This layer is responsible for controlling interactivity between the user and the system and for showing the user the business logic through graphical components. In SoftExpert Suite, the user interacts directly with the system through a workstation browser, by means of authentication.

SoftExpert Suite uses a set of technologies such as JavaScript, CSS (Cascading Style Sheets), HTML, and Java in the interface to provide the end user with a rich (rich internet application) and interactive experience.

It is important to point out that it is not necessary to install any SoftExpert Suite client application on the workstations. In other words, it is only necessary to access the application URL through the browser. That way, all components and services the user needs will be executed by the browser or, if needed, they will be downloaded automatically. Except PDF Viewer .NET, which depends only on the .NET Framework installation, and the DWG viewers, which depend on the SEPreview.msi installation.

caution

For the solution to work correctly, the workstation must meet the minimum requirements listed in the SoftExpert Suite - System requirements document. :::

danger

The use of remote terminals (Citrix, Microsoft Terminal Services) is transparent for the solution. To operate perfectly, the server must be duly dimensioned for the use.

Business layer​

This layer contains components responsible for the system business rules and also for the implementation of the application logic.

In this layer, SoftExpert Suite has a set of Java applications distributed as services, which are responsible for executing business functions shared among the different components that make up SoftExpert Suite.

Technologies​

The technologies used for the development of SoftExpert Suite are made up of two development platforms, which are:

  • PHP;
  • Java.

SoftExpert Suite was designed to provide all functionalities through the internet, allowing users to work from any desired location. All screens (presentation layer) were designed in PHP and AJAX and the service layers, in JAVA.

danger

Some view and integration with other applications components may use different technologies (.NET, C++). These are third-party components and have restricted access to some system functions.

Persistence layer​

The persistence layer is used by SoftExpert Suite as a repository for information, storing and viewing records through the use of a database manager.

In addition to storing the system records in a database, SoftExpert Suite may be configured to store documents and electronic files in a database, file server, or external server. See below the list of the main advantages of each document storage type:

Database​

The main advantage of storing documents in a database is the centralization of all system information in a single location, thus making it easier to back up, manage, and monitor this information. In addition to that, there is no need for various backup routines.

danger

Backup routines are the customer's responsibility. We recommend executing the backup routine daily.

File server​

SoftExpert Suite allows parameterizing the document and attachment storage in a directory, which only SoftExpert Suite has the permission to read and write in. That allows greater security since users do not interact directly with the documents stored in the file server.

The advantage of storing documents and attachments in a directory is not overloading the database with great volumes of information, enabling the reduction of costs with storage devices, since it does not need highly optimized access time, as in the storage devices used by the database.

External/distributed service​

External or distributed servers are used when a branch of a company needs to store very large documents, such as engineering projects and blueprints. In that case, all the control is performed through an application developed in Java, which is installed in the branch file server. For that, the user must have access to the external server.

caution

The installation procedure of this Java application may be found in the 'SoftExpert Suite - Installation Guide' document, in the 'Service for directory in external server' topic.

External or distributed servers allow the client to access documents in different geographic areas, speeding up the viewing of electronic files in the environment they are used the most. In that case, a file from an external server is not saved temporarily in the web server, but downloaded directly to the user’s workstation. That way, traffic will not occur between the web server and the user workstation, but between the external server and the workstation.

Picture 2 - Usage scenario for external file servers

Picture 2 - Usage scenario for external file servers

This diagram shows that the user of the Matrix is able to access the files of Site A and Site B because the user has access to those servers.

Also refer to the following subtopics:

danger

Even if the documents are stored in a local server, any user may access them, regardless of their physical location (provided that the user has permission to view the document).

caution

The communication between the workstation and the file server is performed through the HTTPS protocol.

Database instances​

SoftExpert Suite allows the use of database instances, which allows the use of various databases with a single installation. To use this resource, it is necessary to create different domains and associate them with each system database.

SoftExpert Suite is accessed only by the configured URL, such as http://<domaindatabase.com/se> and http://<domaindatabase2.com/se>, if there are two bases. If you have only one configured database, SoftExpert Suite may be accessed by the hostname or IP address and, in that case, the domain will be ignored. See the diagram below:

Picture 3 - Database instance diagram

Picture 3 - Database instance diagram

caution

In the scenario shown in Picture 3, the users from one instance, or from a site, do not have access to the records from another instance.

Load balancing​

SoftExpert Suite supports database load balancing, thus providing high scalability and availability, as well as excellent performance in the access to information.

Picture 4 - Database load balancing diagram

Picture 4 - Database load balancing diagram

The load balancing management is performed totally by the middleware (1) interface. SoftExpert Suite will connect to the database client, making the load balancing transparent for the application. This middleware interface is responsible for the connection with the database servers because it distributes the requests made by users among the active servers and maintains scalability whenever a server is inserted to or deleted from the load balancing.

note

1 - Third-party application to perform the data balancing being transparent to SoftExpert Suite.

The use of more than one database server improves SoftExpert Suite performance because the response time is proportional to the number of users making requests to the database. Then, when there is a load balancing, the requests are divided among the active servers, thus improving SoftExpert Suite performance and ensuring a lower response time.

Connection methods​

To connect with the database, SoftExpert Suite uses the following connection methods:

  • JDBC: used by JAVA applications and services;
  • Native Client: used by PHP applications;