Three-layer architecture

The web applications created with Infor e-Commerce Development Studio are separated into three layers, each of which operates independently of the others. This enables functionality to be altered or adapted within one layer without requiring the other layers to be completely redesigned. The modular design enables the web application to be interfaced with several types of databases and ERP systems.

Presentation layer

The presentation layer creates the user interface that is seen by the web application’s users. It is made of Java Server Pages (JSPs), which are executed by the application server in response to user requests submitted as URLs through a web browser. Each JSP generates an HTML page that is delivered to the user’s browser and displayed there.

The presentation layer holds all of the code that establishes the graphic identity of your application, including page layout, image placement, and others. In addition, the presentation layer includes active elements that enable the pages to interact with both users on the front end and with business objects at the back end. These active features are coded using JSP.

You are able to program the presentation layer to use database information both for literal display as text and to control what is displayed by setting up conditional sections of code, choosing image files, creating links, and others.

As an alternative to the browser-based presentation layer interaction, you might instead choose to interact with users through an XML Gateway (also implemented as a JSP page). Using this technique, users (or users’ systems) exchange XML documents with the gateway, which communicates with the application layer to submit request documents and return result documents in the appropriate format.

Deployed along with the JSP pages are a set of Java classes that implement business object proxies; one such class is generated for each business object from the application model. The proxies serve as a means of communication with the business logic at the application server, following the data object design pattern.

The proxies are used for transport of data in both directions, from presentation layer to the application layer (search criteria and others) and the other way (search results and others). They use XML as their internal data representation.

The JSP pages may also use a number of other helper classes, like wrappers for XML documents that make it easier to implement the templates in the iterator design time component.

Application layer

The application layer is where your application’s business logic is implemented. It is made out of a group of business objects, each of which manages a specific area of functionality, such as user information, order form, previous orders, and others.

Each business object has a set of attributes that can be accessed by the presentation layer. For a user-information business object, these might include a name, telephone number and address. The business object also includes a set of methods for operating with its attributes. Methods typically include search, update, delete and create operations. Additional business logic can be built into each business object method, thereby adding bindings, restrictions, input parameters, sorting criteria, and others.

Each business object method is implemented as a pipeline, which is made of a series of pipeline stages. Some stages are data-connector stages, which accept a database request from a business object, modify the request as required and establish communication to a data source through the operating system’s database resources. Other stages are data-modification stages, which operate on the data already retrieved by an earlier data-connector stage. For details, see Method pipelines.

Methods that require data-source access will include a data-access stage, which is considered a part of the data-access layer.

Data-access layer

The data-access layer manages the details of the database connection, thereby enabling the commands issued by the application layer to find their way to the right data source using the communication method expected by that database or ERP system.

Data access is made through a connector, which exists as a stage in each pipeline (business object method) that needs to access the database. Data returned by the data-access layer can be further manipulated by calculation stages, which operate on the result set without accessing a data source directly.

When shipped, Infor e-Commerce Development Studio includes the following types of data sources:

  • SQL Server Connector: connects to Microsoft SQL Server. This type of connector works by submitting SQL requests and receiving data sets. You can configure the connector with mappings, joins and relations that establish how the various fields and tables of the database should be fetched and mapped to the various attributes of the business object.

  • Custom Stages: provide custom functions—typically calculations that operate on the result set in the pipeline without accessing a data source. These are usually installed when you install a Infor web application such as Infor e-Commerce Development Studio. You can also design your own custom stages using the Component Resource Kit. If you would like to develop your own custom stages, please contact your Infor dealer for more information about the resource kit.

  • Web Service: connects to a Web service.

The configuration options available for each type of connector and calculation stage can be quite different from one another. However, because the data-access layer is completely independent of the application layer, presentation pages and most business object settings do not change at all when you change connectors—you must simply change the connector mappings used by the various business object methods.

All types of connectors include connection settings, which enable the application to locate and access the required data source.

Infor e-Commerce Development Studio uses a plug-in architecture for adding new connectors and custom stages, so support for additional types of databases and ERP systems can be added later.