M3coretech 13.4.0 M3coreipg Windows En-Us
M3coretech 13.4.0 M3coreipg Windows En-Us
M3coretech 13.4.0 M3coreipg Windows En-Us
Guide - Windows
Release 13.4.0
Copyright © 2023 Infor
Important Notices
The material contained in this publication (including any supplementary information) constitutes and contains
confidential and proprietary information of Infor.
By gaining access to the attached, you acknowledge and agree that the material (including any modification,
translation or adaptation of the material) and all copyright, trade secrets and all other right, title and interest
therein, are the sole property of Infor and that you shall not gain right, title or interest in the material (including
any modification, translation or adaptation of the material) by virtue of your review thereof other than the
non-exclusive right to use the material solely in connection with and the furtherance of your license and use
of software made available to your company from Infor pursuant to a separate agreement, the terms of which
separate agreement shall govern your use of this material and all supplemental related materials ("Purpose").
In addition, by accessing the enclosed material, you acknowledge and agree that you are required to maintain
such material in strict confidence and that your use of such material is limited to the Purpose described above.
Although Infor has taken due care to ensure that the material included in this publication is accurate and
complete, Infor cannot warrant that the information contained in this publication is complete, does not
contain typographical or other errors, or will meet your specific requirements. As such, Infor does not assume
and hereby disclaims all liability, consequential or otherwise, for any loss or damage to any person or entity
which is caused by or relates to errors or omissions in this publication (including any supplementary
information), whether such errors or omissions result from negligence, accident or any other cause.
Without limitation, U.S. export control laws and other applicable export and import laws govern your use of
this material and you will neither export or re-export, directly or indirectly, this material nor any related
materials or supplemental information in violation of such laws, or use such materials for any purpose
prohibited by such laws.
Trademark Acknowledgements
The word and design marks set forth herein are trademarks and/or registered trademarks of Infor and/or
related affiliates and subsidiaries. All rights reserved. All other company, product, trade or service names
referenced may be registered trademarks or trademarks of their respective owners.
Publication Information
Release: Infor M3 Core Technology 13.4.0
Publication Date: November 27, 2023
Document code: m3coretech_13.4.0_m3coreipg_windows_en-us
Contents
Contents
M3 Foundation.................................................................................................................................................56
Infor ION Grid....................................................................................................................................................57
Infor ION Grid Application Concepts...............................................................................................................58
Grid Database Connectivity (GDBC)................................................................................................................59
Event Hub and Event Analytics Introduction..................................................................................................59
Event Hub Background................................................................................................................................59
What is Event Hub?.......................................................................................................................................60
Highlights of Event Hub...............................................................................................................................60
What Is Event Analytics?...............................................................................................................................61
How to set up Event Hub and Event Analytics............................................................................................61
Events............................................................................................................................................................61
Publisher.......................................................................................................................................................62
Subscriber.....................................................................................................................................................62
Subscription.................................................................................................................................................62
Persistence...................................................................................................................................................63
Event Hub Schematic Overview...................................................................................................................63
Event Analytics Technical Overview............................................................................................................64
High Availability for Event Hub........................................................................................................................64
High Availability for Event Hub Overview...................................................................................................64
High Availability and Clients........................................................................................................................65
M3 Web Services...............................................................................................................................................65
M3 UI Adapter...................................................................................................................................................66
M3 H5................................................................................................................................................................66
M3 Ad Hoc Reporting........................................................................................................................................66
M3 Financial Business Messages.....................................................................................................................66
M3 Business Engine User Documentation......................................................................................................67
Infor Enterprise Collaborator (IEC) overview..................................................................................................67
EC Server.......................................................................................................................................................67
Partner Administration tool.........................................................................................................................67
Business Document Mapper tool.................................................................................................................67
Flat File Definition tool.................................................................................................................................68
EC Application components........................................................................................................................68
BOD Processor..................................................................................................................................................69
M3 Workflow Executor.....................................................................................................................................69
M3 Adaptation Kit overview.............................................................................................................................69
This guide provides information for the planning and preparation of M3 Core and its components.
Prerequisite knowledge
To fully understand the information presented in this guide, you should first have:
• Experience installing and administering operating systems.
• Experience installing and administering databases.
• Experience working with user authentication management.
• Experience installing and administering networks.
• Experience installing and configuring applications
Contacting Infor
If you have questions about Infor products, go to Infor Concierge at https://
mingle-portal.us2.prd3.inforcloudsuite.com/v2/CONCIERGE_PRD and create a support incident.
For the latest documentation, go to Documentation Central at docs.infor.com. We recommend that you check
this website periodically for updated documentation. If you have comments about Infor documentation,
contact documentation@infor.com.
What is M3 Core?
For companies in the business to Make, Move and Maintain products, Infor M3 provides the tools they require
to manage their operations. With the full system, they can monitor transactions throughout their organization,
including manufacturing operations, supply chain activities, customer and supplier relationships, warehouse
and distribution processes and, financial management. Infor M3 consolidates these into one coherent view
of operations.
Although the complete M3 Solution is made up of several different Software Components, where some are
unique for a certain industry or micro vertical, there are several of components that will be common for all
M3 installations no matter for what industry. These components are gathered under the Product Family
named M3 Core.
This guide covers the necessary steps to plan and prepare for the installation of these components, M3 Core.
M3 Core
M3 Business Engine
M3 Financial Business Messages
M3 Core Infrastructure and Technology
LifeCycle Manager
ION Grid
Session Providers
M3 Core Technology
Grid Database Connectivity (GDBC)
Event Hub
Event Analytics
M3 UI Adapter
H5 Enterprise
M3 Foundation
Web Services Runtime
Infor Enterprise Collaborator (IEC)
BOD Processor
Workflow Executor
M3 Adaptation Kit
M3 Metadata Publisher
Prerequisites
M3 Core require certain hardware and software components to run correctly. Ensure to verify the requirements
for the platform to be used.
• If you already have an existing M3 environment installed, ensure to back it up.
• The system must have TCP/IP configured, and be reachable from the network.
Installation Scenarios
Overview
The M3 Core is available on different platforms:
• IBM i with DB2/400 database
• IBM p (AIX) with ORACLE database
• Microsoft Windows Server with SQL Server database
Recommendations
Take note that before we can specify detailed hardware and software set-up for a specific customer installation,
a detailed sizing exercise must be carried out. This may enable us to consolidate installations onto shared
servers, but for this we must understand the transaction volumes intended for each application.
For specific information about versions to use, refer to the software requirements for each server in chapter
Prepare installation on the servers on page 28.
See more details in the M3 SW Components Overview chapter.
The M3 Home Server
• Windows as operating system and SQL Server as database
• Java
• LifeCycle Manager — Server: the central installation and management tool
• LifeCycle Manager — Service
• LifeCycle Manager — Backup
• Infor ION Grid — Host
• Session Providers
• GDBC
• Web Services Runtime
• M3 MetaData Publisher
• Infor Enterprise Collaborator — Server and Database
• M3 UI Adapter — Database
• Financial Business Messages
• M3 BE User Documentation: M3 BE application documentation
• OpenText StreamServe/Exstream: Third party application used for output in multiple formats.
• hardcopy
• PDF format
• fax
• mail
• XML output
• M3 UI Adapter — Application
• Event Hub
• Event Analytics
Chapter 2: Sizing
Use the configuration values as input to the M3 Core installation worksheet to capture all the servers and
their suggested sizing information in the worksheet.
Sizing overview
Infor provides:
• Minimum (high level) recommendations for a specific case
• Topology examples in the form of Budgetaries
• Scalability information in the form of Data sheets
• Advice and experience , primary through ICS SEs and Solution Design
For the sizing of the central piece of M3, M3 Business Engine information is provided on two levels:
As Budgetary:
• Based on number of licenses applying assumptions
• Tool available to all Infor employees
• General assumptions
• User activity
• 80% of authorized users logged on
• 80% of logged on users active
• 10% of active users - highly active
• 65% of active users – medium activity
• 25% of active users – low activity
• 300 working days per year
As Detailed information:
• Used for either verifying a budgetary sizing or to be used in large and/or complex customer cases
• Based on questionnaire document, manual analysis and backend tool. Manual reply in mail format
Network
The Infor user interfaces require for standard usage an average of 10kbit per concurrent user. It is recommend
to set maximum network latency between 100 and 300ms.
10kbit is an average. Some users require more bandwidth than others and there is more network traffic such
as email, internet access, printing, and others.
To provide some margin, we adopt these guidelines that is in accordance with the activity levels mentioned
in the M3 Sizing Questionnaire:
• Highly active users: 20kbit/concurrent user
• Medium active users: 15kbit/concurrent user
• Low active users: 10kbit/concurrent user
For good performance we highly recommend at least a 100 Mbps LAN network.
To ensure a smooth execution in the server, put more focus on the latency. Basic recommendation is to keep
all the servers within the same subnet, or the same router. Also, lookup from network services, that is DNS,
will have an effect if it is too slow.
For example, the configurations are unlikely to meet the requirements stated above and are therefore
not supported: Mixing hosts which are located in different data-centers or on different sites Mixing hosts
in the DMZ and on the intranet
• All hosts must communicate freely with each other without hindrance from firewall configurations.
• If a firewall is in place, rules must be defined to ensure that TCP/IP traffic can flow freely between all
hosts in the Grid for all fixed ports. We recommend that a firewall be used to ring-fence the hosts rather
than between hosts to minimize the chance of misconfiguration and resulting issues.
• Anti-virus software can interfere with communication between processes. If such software is installed
and running on the servers then care must be taken to ensure that exceptions are created for the Java
executable used to run the Grid.
• In the case of the Windows platform, care must be taken to ensure the firewall service (Windows service
named "Windows Firewall") is started. This service should not be disabled or stopped as this causes
inconsistent behavior where traffic is randomly filtered.
http://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/rins_host
name.html
All active network cards installed on a server and connected to the LifeCycle Manager Server or LifeCycle
Manager Services must be configured to use:
• A Fully Qualified Domain Name (FQDN)
• A static IP address
Special consideration has to be taken if the server is configured with multiple network cards or addresses.
LifeCycle Manager database (on the M3 Home Server) binds by default to the network card listed as
primary. If a LifeCycle Manager Client connects to the LifeCycle Manager Server using the secondary
network adapter, the LifeCycle Manager Server service cannot bind to the LifeCycle Manager database.
You should connect to the LifeCycle Manager Server using the primary network card.
-or-
• A reserved IP address if the network card is configured to use Dynamic Host Configuration Protocol
(DHCP).
Note: Do not forget to configure reverse DNS lookup for all enabled network cards installed in your server.
Network cards that are not attached to the network must be disabled.
1 If the client uses normal grid communication, it connects to one of the routers. Only one router is required,
but there may be several.
2 If a client uses Java Web Start as a way to install, access to this port is required.
3 Clients that use one or more connection dispatchers require access to those ports.
4 Connection dispatchers belong to applications deployed in the grid. Most applications have no connection
dispatchers but they may have several. Therefore, the number of exposed connection dispatchers may
be none or several.
The LifeCycle Manager client will access the management and configuration pages directly through the Admin
Router, simultaneously all other communication is made through the LifeCycle Manager server.
The registry, routers and all nodes are connected to each other through the dynamically assigned ports.
The registry, routers and all nodes may serve the Grid Management Pages.
The Management Pages communicate with each grid agent.
The Administrative Router hosts the Configuration Manager that communicates with each grid agent.
Antivirus Considerations
• Misconfigured antivirus program can cause expensive problems in production, for example, blocking
access to critical I/O access and heavy I/O and CPU load, and provide a sense of false security.
• If antivirus software is installed, remember that virus protection software requires some system resources
to run. You must perform testing before and after you install your antivirus software to determine if there
is an effect on the performance of the computer running SQL Server.
CPU
In addition to the high performing storage requirements, M3 BE database workloads also require correct
processing power. The common reason for CPU bottlenecks is insufficient hardware resources.
RAM
One of the most important factors that influence SQL Server performance is memory and SQL Server requires
a lot of memory. If SQL Server will run short on memory, query response time, CPU usage and disk I/O can
increase significantly as Windows begins paging more and more RAM to the hard drive. A good way to keep
database server performance is to ensure that the database is using as much RAM as possible to avoid to rely
as heavily upon disk which is exponentially slower than RAM. The total amount of memory required is directly
related to the size of the M3 BE database that is hosted on the server.
This chapter provides M3-specific security considerations. For detailed information about security-related
concepts and procedures for the Infor ION Grid see Infor ION Grid Security Administration Guide.
SAML Entities
The SAML protocol defines many roles. In the Grid, these are the roles we refer to:
• Service Provider (SP) – This is the role of the SAML Session Provider/Grid. Grid applications provide
services that require authentication, and the SAML Session Provider initiates the authentication using
the SAML protocol. In AD FS, the Service Provider is called a Relying Party Trust (RPT).
• Identity Provider (IdP) – This is the role of the entity that is responsible for handling authentication against
the user repository. In on-premise environments, AD FS (Active Directory Federation Services, a Microsoft
product) has the role of the Identity Provider.
• Claims Provider – This is the role of IFS (Infor Federation Services), which is part of Infor Operating Service
(Infor OS). After a successful authentication, the IdP retrieves additional attributes for the user from IFS,
in particular Security Roles, which are maintained in IFS. In the SAML standard, the attributes are called
claims. Claims may also come from other stores, for example attributes from the AD. All the claims for a
user are included in the authentication response, returned from the IdP to the SAML Session Provider
when the user has been authenticated.
Installation
For communication between the different systems (SAML Session Provider/IFS/IdP) to work according to the
SAML protocol, they should be aware of and trust each other’s certificates. This set-up is partially automated
during the initial configuration of the SAML Session Provider.
When the SAML Session Provider is started for the first time, it calls IFS to publish an SP configuration in IFS.
The configuration must be finished manually from the Infor OS Manager to publish the configuration to AD
FS. This is described in the configuration procedure for the SAML Session Provider.
Runtime
At runtime, the SAML Session Provider interacts with AD FS and IFS in several ways:
• SAML authentication. Browser clients are redirected to AD FS for authentication. After a successful
authentication, the response is returned to the SAML Session Provider from AD FS, including any additional
claims that have been supplied by IFS. For this authentication to work, the Grid access must pass through
a SAML-enabled router.
• WS-Trust authentication. Clients that cannot be redirected can pass credentials through basic
authentication headers. In this case, the SAML Session Provider actively communicates with AD FS using
the WS-Trust protocol. Claims are included in the response, in the same way as for SAML authentication.
For this authentication to work, the Grid access must pass through a router that provides the basic
authentication mechanism. WS-Trust authentication is not available in cloud scenarios - only passive
clients are supported.
• IFS API calls. IFS provides several APIs for retrieving Security Roles and other user information. When the
Grid role mapping UI is accessed, IFS is accessed directly to retrieve the available Security Roles. Grid
applications may also call these APIs through proxy methods in the SAML Session Provider.
Users in M3
M3 has the special requirement that user names must be at most 10 characters long. Special consideration
must be taken when configuring authentication parameters, so that the user names meet this requirement.
For M3, the IFS Person ID property is used to configure user names.
8 The assertion is validated by the SAML Session Provider. A grid session and a grid user are created, with
the user name based on the Person claim. In this case, the name will be 12345.
9 The user has sufficient privileges to access the protected resource, and is redirected to the first access
point.
10 During use, the H5 application accesses M3 BE on behalf of the user. The grid user name is 12345. This
name conforms to the 10 character limitation. The User 12345 has also been configured in M3 BE
'User.Open' (MNS150). Therefore, the user can access M3 BE.
The SAML Session Provider implements the SAML protocol to authenticate users to the IdP (for browser clients
that can be automatically redirected). The basic authentication method uses WS-Trust (for active, non-browser
based clients).
For more detailed information about the Session Providers refer to Infor ION Grid Security Administration
Guide.
Your system must meet these requirements:
• AD FS is used as the Identity Provider (IdP). Federated set-ups with multiple AD FS servers are only
supported for browser-based clients.
• Infor OS is installed.
Example
On an M3 Business Engine (BE) installation, the administrator group BEAdmins is defined. On the PROD
environment under the M3 BE installation, the administrator group ProdAdmins is defined.
Alice is a member of the BEAdmins group. Therefore, she is allowed to administer both the BE installation
and all environments under it. She can also create new BE environments and set administrator groups for
them.
Bob is a member of the ProdAdmins group. He is allowed to administer the PROD environment, but not the
BE installation, nor any other environments under it. Bob is not allowed to change the administrator group
for the PROD environment.
Role management
Use the suggested worksheet to capture all design decisions and the more detailed information that is a result
of the steps here. Take note of the user ID and password assignments, these are important in the latter part
of the steps.
Here is an ordered list on how to install the servers. In this planning step, we will prepare the installation of
software on the servers by installing the operating system, databases, and other tools required on the servers.
1 Install M3 Home Server
2 Install M3 Project Admin Client/Server
3 Install M3 Application and M3 Database Servers
Software requirements
Software requirements Windows 2012 R2
For information about how to install required software, see the corresponding installation guides.
Install JVM
Follow the instructions in Install M3 Application and M3 Database Servers on page 37.
Introduction
The M3 Project Admin Client/Server should be read as a generic name for the computer/server where M3
client products will be installed. These products can be installed on a common server or one by one on a
client computer.
Software requirements
Software requirements Windows
Install JVM
Follow the instructions in Install M3 Application and M3 Database Servers on page 37.
Install Eclipse
1 Download Eclipse. The product is available for download from this site: http://www.eclipse.org.
2 Select the correct Eclipse package on the Download Eclipse tab. Each package is provided with a brief
description about its specific functions or capabilities.
3 Extract the files to your local hard drive. The extracted zip file creates a folder named Eclipse.
Note: You can have multiple Eclipse installations as long as they are located in different folders. You
cannot upgrade to Eclipse from an earlier version using the Update Manager. However, since both versions
can exist in parallel, you are not required to uninstall the previous versions.
2 Copy the Eclipse update site URL for the version of Subclipse.
3 Start Eclipse.
4 Select Help > Install New Software.
5 On the Available Software window, click Add.
6 On the Add Repository window, specify this information:
Name
Specify a name for the update site.
Location
Specify or paste the Eclipse update site URL obtained from step 2.
7 Click OK.
8 On the list of available software, select the parent node for Subclipse. Click Next.
9 Review the installation details and click Next.
10 Review and accept the terms of license agreement, and then click Finish.
11 Restart Eclipse to apply the changes.
Variable value
Specify the root path of the current Java installation.
For example, C:\jdk1.7.0
Note: Do not include spaces when specifying the variable value. Use short name path in Windows, to
address spaces for the variable value.
4 Click OK to finish.
5 Verify that you are using the required Java version number. Open a command prompt and run this
command:
%JAVA_HOME%\bin\java.exe -version
3 Select SQL Server Network Configuration > Protocols for (your instance). Ensure that the TCP/IP is Enabled.
4 Verify that the instance of SQL Server is configured to use a static port. If firewall is enabled on your server,
you must create firewall exceptions to enable access to this port.
5 Restart the database server and check that it is working correctly.
• Ensure that you have your Microsoft SQL Server 2016 SP1 installation media, installation key, and operating
system installation media.
• Log on using an account that has Administrative rights.
• Disable any Antivirus software that is running as it can sometimes affect the installation.
• Shut down any services or applications that depend on SQL Server, Data Source Names (DSN), or Open
Database Connectivity (ODBC).
• Close any unnecessary applications that access the registry.
• Close the Event Viewer.
Always use a strong password for the sa account and change the password periodically.
Add a (current) User as SQL Server administrator.
Accept or change data directories in the Data Directories tab.
In the TempDB tab, accept default values or configure the tempdb by following the recommendations
in the M3 Business Engine and Microsoft SQL Server - Best Practices for SQL Server 2016 in KB 2212202.
Do not enable FILESTREAM for Transact-SQL access in the FILESTREAM tab.
Click Next.
14 In the Feature Configuration Rules window, check for errors and warnings and click Next.
15 In the Ready to Install window, check the summary and click Install.
16 In the Complete window, click Close.
3 Select SQL Server Network Configuration > Protocols for (your instance). Ensure that the TCP/IP is Enabled.
4 Verify that the instance of SQL Server is configured to use a static port. If firewall is enabled on your server,
you must create firewall exceptions to enable access to this port.
5 Restart the database server and check that it is working correctly.
Note: SQL Server Management Tools is no longer installed from the main feature tree and must be
downloaded separately.
Click Next.
9 In the Feature Rules window, optionally check for errors and warnings and click Next.
10 In the Instance Configuration window, leave the Default instance check box selected, or name the new
Named instance. Click Next.
11 In the Server Configuration window, accept the Virtual account or select a specific, dedicated Windows
user account (local or domain) for all SQL Server services and enter passwords. Mark the check box "Grant
Perform Volume Maintenance Task privilege".
See information in M3 Business Engine and Microsoft SQL Server - Best Practices for SQL Server 2017 in
KB 2212202.
12 In the Collation tab, choose Latin_General (Latin_General_BIN2) binary sort for Database Engine, and
click Next.
13 In the Database Engine Configuration window, select Mixed mode (SQL Server authentication and
Windows authentication).
Specify the sa login password.
Note
Always use a strong password for the sa account and change the password periodically.
Add a (current) User as SQL Server administrator.
Accept or change data directories in the Data Directories tab.
In the TempDB tab, accept default values or configure the tempdb by following the recommendations
in the M3 Business Engine and Microsoft SQL Server - Best Practices for SQL Server 2017 in KB 2212202.
Do not enable FILESTREAM for Transact-SQL access in the FILESTREAM tab.
Click Next.
14 In the Feature Configuration Rules window, check for errors and warnings and click Next.
15 In the Ready to Install window, check the summary and click Install.
16 In the Complete window, click Close.
2 Select the SQL Server Services. Ensure that these services are Running and the Start Mode is turned to
Automatic for:
• SQL Server (your instance)
• SQL Server Agent (your instance)
3 Select SQL Server Network Configuration > Protocols for (your instance). Ensure that the TCP/IP is Enabled.
4 Verify that the instance of SQL Server is configured to use a static port. If firewall is enabled on your server,
you must create firewall exceptions to enable access to this port.
5 Restart the database server and check that it is working correctly.
14 In the Feature Configuration Rules window, check for errors and warnings and click Next.
15 In the Ready to Install window, check the summary and click Install.
16 In the Complete window, click Close.
3 Select SQL Server Network Configuration > Protocols for (your instance). Ensure that the TCP/IP is Enabled.
4 Verify that the instance of SQL Server is configured to use a static port. If firewall is enabled on your server,
you must create firewall exceptions to allow access to this port.
5 Restart the database server and check that it is working correctly.
Preparations
• Ensure that you have your Microsoft SQL Server 2022 installation media, installation key, and operating
system installation media.
• Log on using an account that has Administrative rights.
• Disable any Antivirus software that is running as it can sometimes affect the installation.
• Shut down any services or applications that depend on SQL Server, Data Source Names (DSN), or Open
Database Connectivity (ODBC).
• Ensure that you have your Microsoft SQL Server 2022.
• Close any unnecessary applications that access the registry.
• Close the Event Viewer.
Always use a strong password for the sa account and change the password periodically.
Add a (current) User as SQL Server administrator.
Accept or change data directories in the Data Directories tab.
On the TempDB tab, accept default values or configure the tempdb by following the recommendations
in the M3 Business Engine and Microsoft SQL Server - Best Practices for SQL Server 2019 in KB 2212202.
On the MaxDOP tab, accept default values or configure by following recommendations in the M3 Business
Engine and Microsoft SQL Server - Best Practices for SQL Server 2019 in KB 2212202.
On the Memory tab, configure Min Server Memory and Max Server Memory by following recommendations
in the M3 Business Engine and Microsoft SQL Server - Best Practices for SQL Server 2019 in KB 2212202.
Do not enable FILESTREAM for Transact-SQL access in the FILESTREAM tab.
Click Next.
13 In the Feature Configuration Rules window, check for errors and warnings and click Next.
14 In the Ready to Install window, check the summary and click Install.
15 In the Complete window, click Close.
3 Select SQL Server Network Configuration > Protocols for (your instance). Ensure that the TCP/IP is Enabled.
4 Verify that the instance of SQL Server is configured to use a static port. If a firewall is enabled on your
server, you must create firewall exceptions to allow access to this port.
5 Restart the database server and check that it is working correctly.
Antivirus considerations
Configure your antivirus software settings and ensure that you exclude SQL Server binaries, backups and,
above all, data files, transaction log files and the quorum disk (in a cluster configuration) from virus scanning.
Database considerations
It is also worth noticing that mixing different types of database implementations (that is, OLTP vs. OLAP) is
NOT recommended. OLTP databases usually have short transactions with many updates whereas reporting
databases, such as OLAP and data warehouse systems, have longer data-heavy queries.
Note:
M3 BE has mainly an OLTP performance profile. We strongly recommend NOT installing LBI/BPW database
on the same instance and database server.
Install JVM
Install a JVM on both the Application and Database servers.
Note: On the Windows servers, Infor requires that both 32-bit and 64-bit java are installed.
Oracle has announced that the free Oracle JDK 8 support expired in January 2019. You can choose to pay
Oracle for extended support or you can choose to install a distribution of the OpenJDK from Amazon called
Amazon Corretto 8. For more information, see KB 2033057.
Handover document
Use the Excel file worksheet published with the M3 Core guides. It serves as a handover document containing
the server set-up performed using this Installation Planning Guide. The document contains information about
server IP addresses and other details, and the required SW installations to be performed on each server.
LifeCycle Manager
LifeCycle Manager is a framework that facilitates standardized and uniform installation, maintenance, and
management of M3 products. This framework enables administration and customization of several servers
and products from a centralized location.
The LifeCycle Manager (LCM) installation consists of three components:
• LifeCycle Manager Server
This is the central point of the architecture. This server hosts all of the installation components and
scripts. It also hosts a database that contains information about all of the managed servers and Infor
products installed on those servers.
• LifeCycle Manager Service
This must be installed on each server that you prefer to manage with LifeCycle Manager. For example,
the M3 Business Engine server or the Infor Smart Office server. To install a LifeCycle Manager Service, a
LifeCycle Manager Server must first be installed in the network.
• LifeCycle Manager Client
This is the user interface for LifeCycle Manager. It is used by all users who manage Infor applications on
the network. The client can be installed on each user’s desktop computer or on a centralized administration
client. The client cannot communicate directly with the LifeCycle Manager Services, but must log on to
the LifeCycle Manager Server. The server authenticates the user against an LDAP server.
M3 Foundation
M3 Foundation is a cross-platform runtime framework for the M3 Business Engine application logic. It provides
services for database access, application jobs and subsystem process management, client-server interaction,
output management and monitoring.
The M3 Foundation Management Pages provide common work management functions for the M3 Business
Engine environment. The main functionality includes:
• Monitoring the physical server from the logging and news pages.
• Managing subsystems using tools for smart cache, job management and more.
• Testing MI transactions.
Host
A host is a server machine that is participating in a grid. The host may be a physical or a virtual machine. Each
grid has at least one host but may have several. A host may be a member of more than one grid.
Hosts operating in the same grid should not run the same operating system as each other. A grid can contain
any combination of hosts from the supported platforms.
Bootstrap
The Grid bootstrap is a JVM used to install, upgrade, and launch the grid on a specific host. The bootstrap
JVM is not owned by the grid but is in fact executed as a service, registered with the operating system. It is
decoupled in this way to enable the bootstrap or the Host Router (which it launches) to fail independently of
each other without causing total grid failure.
Host Router
The Host Router is a built-in default router JVM. It is started by the bootstrap and then there is exactly one
Host Router per host.
The host router is responsible for:
• Establishing the communication channels use for all grid internal communication
• Starting other grid JVMs on its host (nodes, other routers, and deploy nodes)
• Presenting a fixed point for communication with the grid from external clients (for example, the grid
administration ui)
Router
A router is a JVM that acts as an entry point that client applications can connect to. A router is configured to
listen for client requests on a given network interface and with several specified ports including HTTP, HTTP(S)
and sometimes other TCP/IP ports. Normally, the selected port number has to be made accessible through
firewalls, when applicable, since it must be reachable from clients.
Node
A node is a JVM that is registered as being part of a grid where grid applications are running. A grid typically
has several nodes running different applications. Each node is running on one of the hosts that are part of
the grid.
Nodes operating in the same grid should not run the same Java version as each other. A grid can contain any
combination of nodes running the supported Java versions. A typical example of combining Java versions
could be using 32-bit and 64-bit editions together depending on the memory requirements for a specific node
or application.
Deploy Node
Deploy Nodes are used to execute deployment, upgrades, and undeployment of applications. The deploy
node is not necessarily launched on a host which is the target of an application deployment operation. Also,
one Deploy Node may perform a deployment operation with several hosts as targets.
Node Types
A node type defines what to run in a specific node. Each node is of exactly one node type. More precisely, the
node type defines what application to run in nodes of this type and may also define default values for properties
(for example, heap size). Node types are defined by the application developer.
Bindings
A binding defines where and how to run nodes of a specific node type. It can be seen as an association
between a node type and a set of hosts. To start a specific node type on a particular host, a binding that
associates the node type with the host is required. Properties required by the node or the application running
in the node may be defined per binding.
Bindings are defined when applications are installed by a grid administrator at runtime.
Applications
A grid application is a logical grouping of one or more application modules. An application may be running
in more than one node. It is then said to have more than one application instance. Applications for the grid
are packaged in gar files. A gar file is a type of zip file that can be installed in a grid. It contains Java class files
(jar files) and any other resources that the application may require.
The event format and communication method is proprietary for each application that receives events:
• Sockets with a proprietary protocol to IES
• SNDSTMF (M3 streamfile socket protocol) + XML to IEC
• Proprietary IPA/PFI client code
This is done point-to-point in a spaghetti solution where the event provider requires to implement different
event formats and communication for each event consumer. Each event consumer receives different types
of events from the event provider, for example M3 database events to IES, M3 media management events
(and more) to IEC, and M3 application messages to IPA/PFI. You cannot, for example, send an M3 database
event to IEC.
To send a non-standard event from M3 to IPA/PFI or IEC, you must add those by custom Java code in M3.
Simultaneously, IES receives many events from M3 without any custom Java code. Events are both sent from
an application and received in a generic way. This leads to a hub-and-spoke solution which is exactly what
the Event Hub is.
Definition of terms
Publishers can dynamically connect to the Event Hub. Subscribers can also dynamically connect to the Event
Hub. The Event Hub will persist new event data received even though the subscriber is down, if set up to do
so. You can, for example, restart an application with a subscriber without losing any event data.
Note: You do not set up the Event Hub. Events are published to the Event Hub through a publisher application.
These published events are determined by the subscriptions in the subscriber application.
For detailed information about the different alternatives, see ION Grid Security Administration Guide.
Events
An event is something that happens in an application which carries a business value--for example, an item is
updated or a batch job has finished. The event data is stored in a "document" and the actual event is the
operation on the document. Another way to put it is that the document is the object and the operation is the
verb. The event occurs in an application, for example, M3.
An event contains these data:
• Publisher. For example, M3
• Document name. For example, OOHEAD (order head in M3)
The order of the document elements is maintained through Event Hub and Event Analytics.
Publisher
Applications publishing events must run a simple publisher. The publisher will "tell" the application if someone
prefers the event or not, for example, an update of the item master table. Unwanted events are not sent to
the Event Hub.
If someone prefers the event, then the application must create an event containing application specific data.
The event is then posted to the Event Hub. The publisher is typically called within the database layer of an
application.
Subscriber
Applications subscribing to events must use some simple subscriber code. The subscriber will receive events
from the Event Hub according to the subscriptions given by the subscriber.
Subscription
A subscription contains this information:
• Publisher. For example, M3
• Document name. For example, OOHEAD
• One or several event operations
A subscription also provides properties for guaranteed event sequence (not implemented yet) and event
priority (P1, P2, and P3).
A subscription can be defined by a single string using this layout (BNF format):
<syntax> ::= <publisher> ":" <documentName> [":" [<operation char>] [":" [("true" | "false")]
[":"[<priority>]]]]
Persistence
The Event Hub secures event data and event data delivery by persistence. Incoming event data is persisted
together with outgoing event status, that is, if the event has been sent to a subscriber. When an event has
been sent to all subscribers, it is removed from the persistence. If a subscriber is busy, the events will be
persisted by the Event Hub until they can be processed.
Note: The events should only be persisted for a limited time. The Event Hub is not an archive.
@subscription(subscription string)
When you (re-)load a session all subscriptions are merged and sent to the Event Hub.
Rule example:
rule "OOHEAD_20"
@subscription(M3:OOHEAD:U)
no-loop
when
event: HubEvent(publisher == "M3", documentName == "OOHEAD", operation == EventOperation.UPDATE,
You can also declare your own fact types, for example, counters.
Note: Do not store too much data for a session because all stored fact objects for a session must be handled
as one unit when serializing and deserializing for persistence. If a large amount of data must be stored, you
should use an external storage method instead.
of the remaining passive backup nodes, if it exists, takes on the active backup role, ready to become the new
live backup, if necessary. When the live role moves to a new node, subscriber and publisher connections will
automatically fail-over to that new live node. This gives the Event Hub as a system the ability to continue
functioning after losing one or more of its nodes.
The primary and active/passive backup nodes do not share the same data directories on the file system;
instead, all data synchronization is done over the network. All persistent data received by the live node will
be synchronously replicated over to the active backup.
The different node roles are resolved during application start-up. The node that last held the live role will
become the new live primary node, and the fist of the other nodes to connect when the new primary has
started is elected the active backup role. All remaining nodes will take on a passive backup role. During
start-up, an active backup node should synchronize existing data from the live primary node first before it
could replace the primary should it fail. This explains that a replicating backup will not be fully operational
immediately after start, but only after it has finished synchronizing with the primary. The time it will take for
this to happen will depend on the amount of data to be synchronized and the speed of the network connection.
This also means that an active backup node will always wait until the live primary node is fully started before
completing its own start up. Hence, a cold start of the Event Hub application must always involve starting up
the node that last had the live role.
M3 Web Services
M3 Web Services Server is the runtime engine for M3 Web Services which are wrappers for the business
functionality provided by supported applications such as M3 Business Engine.
The M3 Web Services Grid Management pages provide some basic administrative capabilities. For example,
you can view deployed web services, check the server setup for errors, do some basic configuration
management, and manage web service security.
To create your own web services, you must install the M3 Web Services Designer component which enables
you to design, model, deploy, and test web services.
M3 UI Adapter
M3 UI Adapter serves as a middleware between M3 Business Engine and these user interfaces:
• Infor Smart Office
• M3 H5
M3 H5
M3 H5 provides an HTML 5-based user interface for accessing work-related information and applications from
the M3 business system. It enables the user to run M3 programs under predefined workflows.
H5 contains features such as:
• Personalizations
• Shortcuts
• Enabled saving of Context Publisher settings
• Web mashups
• Multi-web browser support
For more information about installing H5, see the M3 Core Installation Guide.
M3 Ad Hoc Reporting
M3 Ad hoc reporting is a tool within M3 Business Engine that enables the building of your own M3 report over
any M3 standard or customer-build M3 table. With the Ad hoc reporting designer you can simulate at design
before committing to runtime (WYSIWYG). The Ad hoc reporting tool comes pre-populated with M3 BE table
definitions, standard sorting orders and views.
The output is always an XML file which is created by a batch job. Ad hoc report versions can be saved and
then submitted, online or through M3 BE job scheduler.
EC Server
The EC Server and EC client tools are installed separately. Both installations must connect to EC Database.
EC Database stores all the data for mappings, partner agreements, and runtime data. For example, message
logs and log settings.
EC Server is installed through LifeCycle Manager (LCM). EC client tools can be installed on a Windows machine
separate from the EC Server.
At runtime, EC Server and EC Database are the only necessary components.
Restricted use
Business Document Mapper delivered in the Infor Enterprise Collaborator Tools package licensed under M3
Core Infrastructure and Technology is restricted to be used only for installing licensed content developed
and delivered by Infor.
It should not be used for modifying existing or developing new integrations in the Infor Enterprise Collaborator.
Modifications or development requires a license to the Business Document Mapper.
EC Application components
MEC_Central node
This is a runtime component that runs as a grid node and provides file access service to all of the MEC_Process
and MEC_MapGen nodes. This node is also called CentralFileAccess (CFA).
MEC_Central node runs detections, agreements, and process dispatchers. This node uses a central file folder.
CFA delegates tasks to Process nodes. When there are no process nodes running, the MEC_Central node also
acts as a standalone node.
MEC_Process node
MEC_Process node is an additional runtime component used to run the process flow of agreements received
in EC through MEC_Central node and peer Process nodes. MEC_Process node is depends on MEC_Central
node to run.
MEC_MapGen node
MEC_MapGen node generates mappings for runtime and runs on Grid nodes. Depending on the BE database
type you use, you must add the corresponding API Channel for the BE connection where MEC_MapGen node
runs.
MEC_UI node
This is the graphical interface of EC Application in Grid, taking the place of the previous Web Administration
tool. You can access EC UI through EC Management page in Grid or through EC URL.
From the UI page you can delete old data logs from EC database, configure log settings, view message logs,
view archived message files, and perform other EC management tasks.
EC Database
EC Database stores mapping data, partner agreements, and runtime log data. EC Database is required to run
the EC grid nodes (Central, MapGen, Process, and UI).
BOD Processor
The M3BODProcessor subscribes to events from Event Analytics, enhances and publishes them through Event
Hub to IEC. The BOD Processor processes BOD content based on rulespack archives that filter events that are
valid as BODs.
Verify that the M3 user SVCM3BOD is created and has user access to all M3 BE Company, Division, Warehouse
and Facilities information. To add or update user access for SVCM3BOD, select Related Options> Update
Access all Cmp/Div in 'User. Open' (MNS150) in M3 Business Engine.
M3 Workflow Executor
The Grid application M3WF provides web service interfaces, which enables ION workflows to interact with
M3 Business Engine API programs. For more information on the usage of M3 Workflow Executor, see M3
Content Guide for ION.
When Extended Access Mode is enabled, here are the additional supported features:
• Programs
• Database interfaces
• Data structures
OpenText StreamServe/Exstream
OpenText StreamServe/Exstream (referred to as StreamServe/Exstream throughout this document) transforms
M3 Business Engine data into predefined documents or report layouts. StreamServe/Exstream enables many
different formats and distribution channels for data (email, mobile, electronic invoice, printer and fax). Infor
has produced approximately 1000 predefined layouts for StreamServe/Exstream. The StreamServe/Exstream
product makes modification and adaptation of the predefined layouts.
This chapter explains how to configure Infor Enterprise Collaborator (IEC) based on the customers' requirement
during the pre-installation stage.
Hardware requirements
These factors affect IEC performance:
• Read-and-write speed
• RAM size and speed
• CPU clock speed and the number of cores
Read-and-write speed affects IEC performance the most, so use SSD drives to maximize the application's
performance.
IEC uses these spaces:
Initial settings
IEC has installation settings that must be considered before and during installation. You must understand
these topics to correctly install IEC based on the customer's specifications.
DocArchiver.Level
You must always consider the document archive level. The DocArchiver.Level tier controls the folder structure
where IEC stores the messages and the number of documents that can be stored in the system. The number
of messages in the system depends on the inflow of messages and the maintenance frequency.
• DocArchiver.Level = 1, suitable for 8000 messages stored on disk
• DocArchiver.Level = 2, suitable for 100k messages stored on disk
• DocArchiver.Level = 3, suitable for 1.5M messages stored on disk (recommended setting)
• DocArchiver.Level = 4, suitable for 25M messages stored on disk (recommended setting)
• DocArchiver.Level = 5, suitable for 400M messages stored on disk (not recommended)
Threads
Ideally, the number of threads directly correlates with the number of messages processed concurrently. Any
changes made to the number of threads will have an effect on throughput. You can modify several different
categories of threads but the primary one for message throughput is processing threads.
Note: The number of threads do not usually have a linear relationship to the message throughput. The
relationship is more logarithmic. Which is due to limitations or overhead in DB, HW, M3, and others.
For example, if 10 threads generate 10 messages per second, then 20 threads might generate 15 messages
per second.
Note: At some point, adding threads will decrease throughput due to hardware resource limitations, resulting
in excessive context switching.
The primary reason for having multiple threads is to negate IOPS waiting time induced by M3, DB, and the
file system. The optimum setting depends on the three aforementioned entities.
Settings
The main thread that controls throughput is Runtime.ProcessWorker.MaxWorkers. This runtime controls the
maximum number of threads that will be created to run maps.
If the MaxWorkers is changed, then other properties should or must be changed, such as these properties:
• Inbound queues
• APIPool size
• DB pool size
• Heap size
Estimation
You must estimate the amount of threads required for the expected message throughput.
For example, if the message throughput is 10 messages per second, and each message takes 1.5 seconds to
process the list for the message, several factors must be considered.
From the first process log statement, “Running process: XYZ” to the last log statement “Finished processing
successfully.” It takes 1.5 seconds. After this, MaxWorkers = 10 * 1.5 which is 15, so 15 processing threads can
generate 10 messages per second, each message takes 1.5 seconds provided, there is no other overhead.
Because there is always some overhead, the recommendation would be 17-20 threads.
Verification
Verify the processes on the thread pool page. If the number of active process threads is fluctuating up to the
defined value, then the expected utilization has been reached and the configuration is good. If the number
of active process threads is fluctuating significantly below the defined value, then some other setting or
resource is affecting the throughput.
Heap size
Heap size does not directly affect throughput but it is affected by the message size and the number of messages
being processed concurrently. Since an estimation of the size of messages that is being processed concurrently
is difficult, you should try to make a worst case estimate by taking the resulting XML file size, multiply it with
20, and multiply it with the number of processing threads.
Heap estimate applies for the Central and Process node types and to MapGen and UI. MapGen and UI will
suffice with less heap. MapGen depends on the number of preload threads and UI depends on the number
of users and the type of operations performed. The MapGen and UI node types require a 256 to 1024MB heap.
Note: Messages that have streaming maps do not affect the heap size for the Central or Process nodes.
Messages that result in large XML files should have streaming mappings, and streaming requires that the map
is constructed to support this. The worst case scenario does not apply to ordered messages with the same
primary key, since only one primary key is processed at a time.
Heap settings
Implement these heap installation settings:
Queues
The internal queues in IEC balance out variations in load and the message processing time between different
modules. If the number of threads is increased, then generally, the preceding queue should also be increased.
The preceding queue length should be 1.5 times longer than the number of threads.
Note: The queue length affects the efficiency of the message prioritization. Better prioritization requires
longer queue lengths.
Queue settings
For maximum throughput, the queue lengths should preferably be set so that the subsequent module can
have all its threads pick one message from the queue without depleting it. You can enable the preceding
module time to produce new entries by setting the queue length to 1.5 *, which is the number of worker
threads of the subsequent module. The subsequent module will pick up the number of worker threads
simultaneously.
Implement these installation settings for queues:
APIPool
The APIPool maximum limit should be set so that there are always API-connections available, if necessary.
The APIPools limit, depends on the number of concurrent API-connections used in IEC, which in turn, depends
on the number of processing threads and the depth of API-loop levels inside the maps.
The maximum value can be calculated by multiplying the number of process threads by 3.
Note: The maximum value limit is 1000.
APIPool settings:
MvxAPI.Pool.Connection.Max=3 * Runtime.ProcessWorker.MaxWorkers
DB pool
The DB pool maximum connection value depends mainly on the total number of threads. If the threads are
increased, then the maximum value should be increased correspondingly.
Note: There are different underlying pool implementations in IEC version 11.4.2 and 11.4.3. The IEC 11.4.3
version is more efficient and can be set at a slightly lower value.
DB pool settings
IEC uses a pool for its database connections. The database connections are used both for updating the
metadata of messages and for logging. If either of these consumers increases significantly, then the number
of database connections should also be increased, to avoid bottleneck. The number of database connections
should not be increased infinitely. Database connections are a limited resource and it will have an effect on
the database server and possibly on other applications that use the same database server.
Implement these installation settings for DB pool:
Folder structure
IEC stores messages in hard drives, both temporary and permanently. If too many messages are stored in a
single folder, performance will be negatively affected when IEC is reading and writing files. You must choose
a suitable folder structure to prevent performance issues. After the folder structure is chosen and IEC has
processed messages, then the folder structure cannot be changed without significant rework.
The messages are either stored in a tree-shaped folder structure or a flat structure. The tree structure is the
recommended structure. The other parameter that controls the folder structure is depth. That specifies how
deep the tree should be. The structure is built up by creating folders based on the possible characters (16)
and their positions in the UUID. That implies that the total number of folders that will be created is 16^depth.
Node deployment
IEC consists of different node types. Only the process node type can be scaled horizontally, that is, there can
be several instances of the process node. The different instances are not required to be located on the same
host. The CPU load and the thread load can be placed on different machines for better performance.
There is no straightforward formula for when it is more beneficial to instantiate a new node versus increasing
the number of processing threads. Internal tests have indicated that when the number of worker threads
reach 60, it is preferable to start considering instantiating a new node. The number varies significantly given
the underlying hardware and message types.
Verifying behavior
You can view IEC performance by reading 3 main locations in its SAT UI. The key performance indicators are
the queues, threads and logs. Based on the information in these locations, you can see what module the
messages spend the most time and if that module is processing or working as much as it can, given the settings
it has.
You should perform a simple performance vetting of IEC.
Check queues
IEC functionality is divided into separate functional parts. There are queues between the various IEC parts.
Conclusions concerning which functional part is the slowest can be drawn based on in which queue build up
occurs.
The maximum length of the queues are not a fixed value, it is considered to be a value that you should aim
for performance reasons.
The queues also display a peak length. This value is often equal to or greater then the maximum value. The
reason for this is that if messages arrive in bursts then queues will fill up since the subsequent functionality
cannot keep up. This is particularly true if no messages have been processed before IEC is started.
The best approach to get reliable information regarding buildups in queues is to monitor that particular page
in SAT when IEC is processing a relevant message load.
If a functional part is significantly slower than the others, there are properties that control the maximum
number threads that the functional part can use.
Example configurations
These are examples of an optimal configuration. They are not guaranteed to be suitable for any customer.
The three example configurations show a small, medium, and large installation.
These examples presume the installation does not have any prioritized, slow or ordered messages.
Settings and some brief explanation:
• Small; up to 10 messages per second
• Medium; approximately 25 messages per second
• Large; more than 50 messages per second
The message throughput depends on several factors, including the amount of orders, invoices and items.
• Number and nature of integrations planned for the system
• Plan for file persistence
• Plan for persistent storage. Map a network-attached storage rather than a specific physical local disk.
The primary limitation on throughput is the execution of maps and the more maps that can be concurrently
processed the better throughput. The primary property that controls the concurrency of maps execution is:
Runtime.ProcessWorker.MaxWorkers
Note: If this property is increased significantly, then other related properties shown below should be changed
and increased:
Queue.class.Process.MaxLengthHint
MvxAPI.Pool.Connection.Max
Database.ConnectionPoolExt.MaxActive
Runtime.TransferToPeerWorker.MaxWorkers
Small configuration
This configuration is for small throughput characteristics.
Small characteristics
The customer does not have detailed knowledge regarding their integration's flow and it is not necessary
since an estimation indicates that their requirements are small.
• Peak load measured over 15 minutes; unknown
• Average load 1 hour; 2000 messages
• Average load per work day; 4000 orders, 2000 invoices, 2000 miscellaneous
Small throughput
Shown below is an example configuration of a small IEC installation with regards to message throughput. It
processes 5-7 messages per second given that the messages are of normal size and complexity. All throughput
related properties have their default standard value.
Medium configuration
This configuration is for small throughput characteristics.
Medium characteristics
The customer does not have detailed knowledge regarding their integration's flow and it is not necessary
since an estimation indicates that their requirements are small.
• Peak load measured over 15 minutes; 15000
• Average load for 1 hour; 50000
• Average load per work day; 300000
Medium throughput
Shown below is an example configuration of a medium IEC installation with regards to message throughput.
It processes around 15 messages per second given that the messages are of normal size and complexity. All
throughput related properties that are not listed below have their default standard value. The configuration
is a sample configuration intended to describe the relationship between different throughput related properties.
Database.ConnectionPoolExt.MaxActive = 20
Runtime.ProcessWorker.MaxWorkers = 30
Runtime.TransferToPeerWorker.MaxWorkers = 15
DocArchiver.Level = 3
Queue.class.Process.MaxLengthHint = 45
Large configuration
This configuration is for small throughput characteristics.
Large characteristics
The customer does not have detailed knowledge regarding their integration's flow and it is not necessary
since an estimation indicates that their requirements are small.
• Peak load measured over 15 minutes; 25000
• Average load for 1 hour; 80000
• Average load per work day; 500000
Large throughput
Shown below is an example configuration of a large IEC installation with regards to message throughput. It
processes around 25-30 messages per second given that the messages are of normal size and complexity. All
throughput related properties that are not listed below have their default standard value. The configuration
is a sample configuration intended to describe the relationship between different throughput related properties.
There should be 2 processing nodes with 40 ProcessWorker threads each. Update the min binding of the
process node to at least 2.
Database.ConnectionPoolExt.MinIdle = 5
Database.ConnectionPoolExt.MaxIdle = 20
Database.ConnectionPoolExt.InitialSize = 5
Database.ConnectionPoolExt.MaxActive = 50
Runtime.ProcessWorker.MaxWorkers = 40
Runtime.TransferToPeerWorker.MaxWorkers = 20
MvxAPI.Pool.Connection.Max = 200
DocArchiver.Level = 4
Queue.class.Process.MaxLengthHint = 50
10.20.30.40
LDAP port
Specify the host port of the LDAP server.
Example
389 (LDAP)
636 (LDAPS)
LDAP settings are stored in the lcm.properties file, located in the LifeCycle Manager Server installation folder.
LDAP properties
This table shows each property in the LDAP section of the lcm.properties file.
Property Description
ldap.validation LDAP validation enabled/disabled. If set to false, no validation against LDAP
is performed (not recommended for production environments).
Example: true/false
ldap.server.x LDAP server number x
Example:
ldap.company.com
10.20.30.40
636 (LDAPS)
Property Description
ldap.trust.store Path to Java keystore where the public server certificate of the LDAP server
(or its certificate authority) is stored. Only required if SSL is enabled.
Example
C:\\cert\\keystore.jks
ldap.trust.store.password Password for the Java keystore. Only required if SSL is enabled.
Example: password
Note: The trust store password must not end with @.
ldap.user.prefix The attribute that LifeCycle Manager will use to display the user name of
users in the directory service.
Example
sAMAccountName
cn
displayName
ldap.group.prefix The attribute that LifeCycle Manager will use to display the group name of
groups in the directory service.
Example
sAMAccountName
cn
name
ldap.user.suffix The base distinguished name which indicates the starting point for LDAP
searches of users in the directory service.
Example: OU=Users,DC=company,DC=com
ldap.group.suffix The base distinguished name which indicates the starting point for LDAP
searches of groups in the directory service.
Example: OU=Groups,DC=company,DC=com
ldap.group.member.attr The attribute for groups in the directory service that LifeCycle Manager will
use to determine which users are members of that group.
Example: member
ldap.user.filter LDAP filter that searches the user registry for users.
Example: (&(|(cn=%v)(sAMAccountName=%v))(objectClass=user))
ldap.group.filter LDAP filter that searches the user registry for groups.
Example: (&(cn=%v)(objectClass=group))
ldap.lcm.admin.group The LifeCycle Manager administrators group.
Example: LCMAdmins
Property Description
ldap.lcm.user.group The LifeCycle Manager user group. If this property is left blank, all users in
LDAP (that can be found with an LDAP search using the user search filter)
are allowed to log on to LifeCycle Manager.
Example: LCMUsers
ldap.days.before.password The number of days in advance that LifeCycle Manager will warn before the
.expiration password of the LDAP bind user expires. The default is 14 days.
Only used if Active Directory is used.
Example: 14
For more information about changing passwords, see LifeCycle Manager Administration Guide.
ldap.server.0=ldap.company.com
ldap.port.0=389
ldap.bind.user.0=CN=User,OU=Users,DC=company,DC=com
ldap.bind.password.0=password
ldap.ssl.enabled.0=false
ldap.server.1=10.20.30.40
ldap.port.1=636
ldap.bind.user.1=CN=User,OU=Users,DC=company,DC=com
ldap.bind.password.1=password
ldap.ssl.enabled.1=true
The components within an M3 Business Engine installation can be replicated to avoid single points of failure.
In M3 Foundation, the coordinator and transaction server components enable multiple instances to run
simultaneously. These instances run in an active-passive configuration where one instance is active at any
time. This allows for implementing an active-passive high availability configuration. This procedure is intended
for installations running M3 Business Engine on the Windows platform with multiple hosts, enabling
components to be distributed across hosts for resilience.
Note: Only the M3 Business Engine server components (coordinator, transaction server, subsystems and
routers) are considered here, other applications not specifically stated must be considered separately. A
complete design or solution for high availability requires additional investigation.
Note: The M3UIAdapter connections are routed through the M3Coordinator. If the primary node fails, all
interactive sessions with M3 BE are lost, and the secondary node is available for re-log on.
To create an M3Coordinator binding for an additional host:
1 Right-click your environment and select the task Configure Application.
2 Look in the Bindings list and make a note of which host the M3Coordinator node is running on for later
use.
3 For Grid 11.1.11.0:
Click "+Add Binding"
For Grid 11.1.13.0:
Click "Bindings +Add"
4 Select the NodeType "Coordinator".
5 Type a name for the binding, for example M3Coordinator_2.
6 Specify Min, Initial, Max as 1, and select the alternative host to run on.
7 Click Add Binding.
8 Click Save, and confirm the configuration changes.