SmartConnector Installation and Configuration Guide
SmartConnector Installation and Configuration Guide
Installation and
Configuration Guide
Buildings Labs
Internal
General
SmartConnector Installation and Configuration Guide
1 Support .................................................................................................................................................. 6
2 Revision History ..................................................................................................................................... 6
3 Overview ............................................................................................................................................... 7
3.1 Scope ............................................................................................................................................. 7
3.2 What is SmartConnector? ............................................................................................................. 7
3.2.1 Processor ............................................................................................................................... 7
3.2.2 Processor Configuration ........................................................................................................ 7
3.2.3 SmartConnector EWS Servers ............................................................................................... 8
3.2.4 REST Endpoints ...................................................................................................................... 8
3.2.5 Endpoint Configuration ......................................................................................................... 8
3.2.6 SmartConnector Portal .......................................................................................................... 8
3.2.7 Worker Manager and Workers.............................................................................................. 8
3.2.8 Extension ............................................................................................................................... 8
3.2.9 Persistent Data Store ............................................................................................................. 9
3.2.10 In-Memory Cache .................................................................................................................. 9
3.2.11 Logging .................................................................................................................................. 9
3.2.12 Licensing ................................................................................................................................ 9
4 Installation ........................................................................................................................................... 10
4.1 Prerequisites ................................................................................................................................ 10
4.2 Installing SmartConnector Windows Service............................................................................... 10
4.3 Review Installation ...................................................................................................................... 16
4.4 Change Default Credentials ......................................................................................................... 17
4.5 Install Runtime License ................................................................................................................ 18
4.5.1 SmartConnector Connected to the Web ............................................................................. 18
4.5.2 SmartConnector Not Connected to the Web ...................................................................... 19
4.6 Confirm Settings .......................................................................................................................... 20
5 SmartConnector Portal ........................................................................................................................ 23
5.1 Overview ..................................................................................................................................... 23
5.1.1 Supported Browsers ............................................................................................................ 23
5.1.2 Navigation ........................................................................................................................... 23
Document : Revision Revision date Page
TDS-M-INSTALLCONFIG-US.BU.N.EN.12.2017.2.30.CC 12 20/02/2024 Page 1 of 92
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
1 Support
Schneider Electric provides branch and channel partners with planning and implementation assistance
from Buildings Labs. To request help, send an email to Product Support specifying the solution name and
the type of assistance you require. Product Support will relay your request to the appropriate support
team.
2 Revision History
Date Author Revision Changes Made
10/21/2014 MRS 1 Initial release
02/16/2015 MRS 2 Updated for v1.3
09/30/2015 MRS 3 Updated for v2.0
04/11/2016 MRS 4 Updated for v2.1
12/22/2016 MRS 5 Updated for v2.2
12/15/2017 MRS 6 Updated for v2.3
10/14/2020 JMB 7 Added Windows Active Directory Support
05/20/2021 AD 8 Added Cron Scheduling
06/11/2021 AD 9 Changed AppId
06/29/2021 AD 10 Updated supported Windows/SQL Server list
05/17/2022 AD 11 Message size/Legacy serve to EWS server
02/20/2024 AD 12 Updated for v2.5/ OS list
Added an example of the SQL database
© 2021 Schneider Electric. All Rights Reserved. Schneider Electric, StruxureWare, SmartStruxure
solution, and EcoStruxure are trademarks owned by Schneider Electric Industries SAS or its affiliated
companies. All other trademarks are the property of their respective owners.
3 Overview
3.1 Scope
This document is intended as a guide to aid in the installation, configuration, monitoring, and control of
SmartConnector – the windows service middleware framework developed by Schneider Electric
Buildings Labs. This document assumes the reader has the requisite knowledge for installing and
configuring Windows software in general and Windows services in particular. Familiarity with .NET
assemblies and their deployment and configuration will be beneficial.
This document will not cover the details in consuming SmartConnector’s libraries for the purpose of
authoring customized middleware applications (SmartConnector Extensions) to run in the
SmartConnector Service. That information can be found in SmartConnector Developers Guide.
SmartConnector also provides the infrastructure to provision HTTP endpoints. These endpoints can
either serve data to Schneider Electric systems and third-party clients via Schneider Electric’s
EcoStruxure Web Services (EWS) SOAP protocol or generic RESTful services.
3.2.1 Processor
A Processor is custom code that is designed to accomplish a task. While SmartConnector does include
some sample Processors for operational validation and demonstration purposes, Processors are written
by others using SmartConnector’s public libraries (see SmartConnector Developers Guide). These
libraries are packaged into a SmartConnector Extension.
The scope of a Processor can vary from simple to very complicated. Often, several Processors are
required to function cooperatively to accomplish the necessary tasks for a solution.
Internal
General
SmartConnector Installation and Configuration Guide
The Worker Manager is responsible for selecting a Processor Configuration, instantiating its defined
Processor and passing it off to an idle Worker for execution. The Worker Manager also listens to input
to start or stop a Processor or EWS Server as required.
3.2.8 Extension
The term “Extension” is used to define any class assembly which contains code which can run in
SmartConnector. Extensions can contain Processors, EWS Server Hosts, RestProviders, and any
combination of these. Extensions are written by SmartConnector Developers to solve an application
problem.
Internal
General
SmartConnector Installation and Configuration Guide
3.2.11 Logging
SmartConnector provides an integrated logging framework. Logging levels of Info, Status, Error, Debug,
and Trace are extensively used throughout the SmartConnector runtime and public libraries. The Logger
is also available to Extension authors for adding their own log information to the common log file
output.
3.2.12 Licensing
SmartConnector’s framework is licensed. Commercial licenses can be obtained at
www.smartconnectorserver.com. Additionally, Extension developers can choose to license their code
too. Consult with your Extension Developer for a license if this is required.
Internal
General
SmartConnector Installation and Configuration Guide
4 Installation
4.1 Prerequisites
SmartConnector is a Windows Service and can run on any of the supported operating systems listed in
the appendix. The following are required prior to running the SmartConnector installer.
Internal
General
SmartConnector Installation and Configuration Guide
2. Click Next.
3. You will be presented the End User License Agreement shown in Figure 2. Review and accept
the terms to proceed with the installation.
4. Click Next.
5. You will be presented with the Setup Type dialog shown in Figure 3.
Internal
General
SmartConnector Installation and Configuration Guide
6. Choose the Setup Type you wish to perform. If this is a new installation, you must choose
Complete. If you are reinstalling and wish to skip the database installation, you can chose
Custom and deselect the Database component (see Figure 4). If you choose this setup type you
will be responsible for resolving the connection configuration manually and any database
upgrades that are needed.
Internal
General
SmartConnector Installation and Configuration Guide
7. Click Next.
8. You will be presented with the Database Connection Dialog shown in Figure 5.
Internal
General
SmartConnector Installation and Configuration Guide
9. Enter the required information for the database server where you will install the database to. If
you do not need the sample data loaded, you can uncheck “Add sample data”.
10. Select the Database Server Type from the following options:
a. LocalDB
b. SQLServer Express
c. SQLServer
11. Select the Authentication Type, if allowed, from the following options:
a. SQL Server: Select this option if you would like to install the database with a SQL Server
username and password.
Note: In this configuration SmartConnector runs under the NT Authority\System account.
b. Windows Implicit: Select this option if you would like to install the database as the user
currently logged in to the computer. Only select this option if you are installing to a
database server that is local to the computer SmartConnector is being installed on.
Note: The logged in user must have at least the public and dbcreator user roles in the
local SQL server. In this configuration SmartConnector runs under the NT
Authority\System account.
c. Windows Explicit: Select this option if you would like to install the database as a specific
Windows user. This database can be on either the local system or a remote system on
the same domain.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
Note: The specified user must have at least the public and dbcreator user roles in the SQL
server. In this configuration SmartConnector runs under the user account entered.
12. Enter the Username and Password as required. When using “Windows Explicit” authentication,
you must include the domain name as part of the user name (e.g. domain/username).
13. Click Next to display the final confirmation dialog shown in Figure 6.
14. Click Install to complete the installation and create the default database.
15. If you experience no errors, SmartConnector was installed with the default database (see Figure
7). If you experience errors or the service fails to start, consult the Known Issues section of this
document or contact support for assistance.
16. Click Finish.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
At this point you will be presented with the Change Password Page as show in Figure 9 below.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
If a license is correctly installed on the system, you will not see the license page after logging in to the
portal.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
6. To edit any field, you can either click the edit icon ( ) in that field or click the Edit All button
to enable all fields for editing.
7. Review and/or change values as desired. Unless otherwise noted, changes made here will take
affect without a service restart.
Active Directory Security Groups – A comma separated list of Active Directory security groups.
The user must at least be part of one of the groups to be successfully authenticated. If this is
empty, all Active Directory users will be given access. This is used in conjunction with the Use
Active Directory setting. An example of a group name may be “MYDOMAIN\Smart Connector
Document : Revision Revision date Page
TDS-M-INSTALLCONFIG-US.BU.N.EN.12.2017.2.30.CC 12 20/02/2024 Page 21 of 92
Internal
General
SmartConnector Installation and Configuration Guide
Users”.
Disable Default Portal Users – Whether or not ALL the default Smart Connector users are
disabled. This should be set to true only when the Use Active Directory setting is set to True. If
this is set to True and Use Active Directory is set to false, Portal access will be lost.
Instance Name – Appears in the browser tab and can be useful to distinguish which
SmartConnector instance you are looking at if you are connecting to multiple deployed
instances from a single browser.
Logging Level – Maximum level SmartConnector will log. Possible values are None, Error, Status,
Info, Debug, Trace, All. This setting is used in conjunction with Logging Filters to control how
much information is captured in the log files.
Password Age Limit – The maximum number of days before a Portal user’s password will expire.
Portal Address – Address of SmartConnector Portal. For security concerns, the default value will
be 127.0.0.1 which means the portal can only be accessed from the local machine. If broader
access is required, this value can be modified by using the “+ syntax” e.g. http://+:8082. This
will allow access to any IP or DNS which resolves to the local machine. If you plan to secure the
endpoint with a certificate, then the protocol shown here should be changed to https to match.
Entering an empty value will disable the portal. Use caution! Consult the Security
Considerations for suggestions on how best to configure this.
Processor Runtime Limit – The maximum amount of time a Processor Configuration is given to
complete before it is deemed to be unresponsive and is terminated. Unless otherwise
instructed this value should not need to be modified.
Use Active Directory – Whether or not to use Windows Active Directory credentials when
logging into the Smart Connector Portal. The Windows Active Directory that is used for
authentication is the domain that the PC where Smart Connector is installed is using. This
property is set to False by default. You will still be able to use Smart Connector’s default users
while this property is True.
Worker Manager Sleep – The amount of time that the Worker Manager will idle before
determining if there are Processors that need to be invoked. Unless otherwise instructed this
value should not need to be modified.
Worker Thread Count – The number of concurrent Processors that can be executed. This
number may be increased but is largely dependent on the host machine’s number of logical
processors. To determine the number of logical processors, open a command prompt and enter
the command: WMIC CPU Get DeviceID,NumberOfCores,NumberOfLogicalProcessors. While you can
set this value greater than the number of logical processors, it represents the number of
concurrent workers that can run without potential operating system queuing. You will need to
restart the SmartConnector Service for this change to take effect.
8. After you have made the necessary changes, click Save to save them to the database.
Internal
General
SmartConnector Installation and Configuration Guide
5 SmartConnector Portal
Monitoring and configuring SmartConnector is done via the integrated SmartConnector Portal. The use
of SmartConnector Portal is described in detail in the following sections.
5.1 Overview
SmartConnector Portal is a web based application which can be viewed in any web browser. Its
responsive design will automatically adapt to different device sizes and orientations.
• Chrome
• Firefox
• Internet Explorer
• Safari
• Safari for iPhone
5.1.2 Navigation
Primary navigation for SmartConnector Portal is achieved through a navigation bar as shown in Figure 13
and Figure 14. This navigation bar is present on every page of SmartConnector Portal.
While the appearance is different depending on the screen resolution, all of the functionality in the large
screen rendering is still available in the small screen rendering. This responsive design will be found
throughout SmartConnector Portal.
Internal
General
SmartConnector Installation and Configuration Guide
5.1.2.1 Status
This option will display the Status Page. From this page the user can view the status of Threads, Active
Endpoints, Configuration Requests, and EWS Server Requests.
5.1.2.2 Configurations
This option will display a sub-menu that will allow access to the Processor Configuration Listing Page or
Endpoint Configuration Listing Page.
5.1.2.4 Setup
This option will display a sub-menu that will allow access to the License Listing Page, Configuration
Schedule Listing Page, Processor Values Page, Logging Filters Page, Users Page, and Service Settings
Page.
5.1.2.5 About
This option will display the About Page. From this page the user can view information about the
installed version of the SmartConnector and the state of the SmartConnector Service.
5.1.2.6 Logged in as …
This option will display a sub-menu that will allow the current user to log out or access the Change
Password Page. The name of the current user is shown in this menu item.
To address this, SmartConnector web pages monitor the health of the service at all times. If the service
goes offline for any reason, the page in the browser will show this state automatically. This will ensure
that the user is made aware of a possible problem in the service. Figure 15 shows an example of what
this will look like. When the service returns to normal operation, the warning will subsequently
disappear.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
The Processor Threads table will refresh automatically so that the state of the Worker Threads is
current.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
Requests can be filtered as needed by selecting an appropriate value for any filterable parameter.
In the example shown in Figure 20 a single request to start “Long Running Processor” was “Completed
As Requested”. Clicking the Configuration column hyperlink will navigate to the Processor Configuration
Detail Page for the corresponding Processor Configuration.
Requests can be filtered as needed by selecting an appropriate value for any filterable parameter.
Over time, this table will include many pages of data with more recent data appearing at the top of the
list. At any time, the user can elect to purge this data by clicking the Purge All button. When clicked, all
non-pending requests, in the current filtered set, will be deleted from the database.
Internal
General
SmartConnector Installation and Configuration Guide
Requests can be filtered as needed by selecting an appropriate value for any filterable parameter.
Over time, this table will include many pages of data with more recent data appearing at the top of the
list. At any time, the user can elect to purge this historical data by clicking the Purge All button. When
clicked, all non-pending requests, in the current filtered set, will be deleted.
Internal
General
SmartConnector Installation and Configuration Guide
contains a “Play Button” the EWS Server is NOT RUNNING. Click to add an EWS
Server Request to start the EWS Server. If the action bar contains a “Stop Button”
the EWS Server is RUNNING. Click to add an EWS Server Request to stop the EWS Server.
SmartConnector includes a default EWS Server Extension assembly which can be used to demonstrate
adding an EWS Server to your installation.
As you select items in the list, the detailed assembly information will be noted at the bottom of the
page. If the desired assembly does not appear in the list of options, check the SmartConnector log file
for any errors, such as missing dependent assemblies. See the troubleshooting section of this document
for more details.
Internal
General
SmartConnector Installation and Configuration Guide
5.5.1.2 Fields
• Assembly Description – Extension Description supplied by the Extension author.
• Assembly Company –Company which wrote the Extension Assembly.
• Assembly Copyright – Copyright information about the Extension Assembly.
• Assembly Version – Version of the Extension Assembly.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
5.5.3.1 Fields
• Name - EWS Server names must be unique within SmartConnector.
• Address – The full URL you wish to accept traffic on e.g. http://localhost:57630/DataExchange.
• Realm - Optional realm value for HTTP Digest authentication.
• Auto Start – Indicates whether the server will automatically start when SmartConnector starts.
• User Name – UserName for EWS HTTP Digest authentication.
• Password – Password for EWS HTTP Digest authentication.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
Navigation of the tree is performed using the keyboard and/or mouse based on convention. As you
navigate the tree, the Contents Toolbar will enable the actions based on the currently selected tree
node. Additionally, a right click “context menu” is available which allows identical actions. See Figure
28.
Figure 28: Portal EWS Server Detail Contents Tab Toolbar and Menu
• Refresh – Refreshes the contents at the point of the active node in the tree.
• Edit – Opens an editing dialog for the purposes of editing all writeable properties for the current
node in the tree.
• Add – Opens an editing dialog for the purposes of adding a new child entity for the current node
in the tree.
• Delete – Deletes the current node in the tree and all of its children.
• Purge – When available, will purge all child entities for the current node in the tree. Purge is
only available in some areas and limitations do apply based on the context.
Please refer to the Editing EWS Server Contents section for more detailed information on how to edit
the contents of a SmartConnector EWS Server and manage high level server settings.
Internal
General
SmartConnector Installation and Configuration Guide
• Class Name – The name of the EwsServiceHost subclass configured. This field is read only.
• Assembly File – The complete file path where the Extension Assembly is located. This field is
read only.
• Assembly Description – Extension Description supplied by the Extension author. This field is
read only.
• Assembly Company –Company which wrote the Extension Assembly. This field is read only.
• Assembly Copyright – Copyright information about the Extension Assembly. This field is read
only.
• Assembly Version – Version of the Extension Assembly. This field is read only.
Internal
General
SmartConnector Installation and Configuration Guide
The action toolbar in each row always has four buttons. From left to right these are:
Internal
General
SmartConnector Installation and Configuration Guide
• Delete – Click to delete the Processor Configuration from the database. If the Processor
Configuration is running it will be stopped automatically.
• Toggle Button – The final button is used to both convey status and action. If the action bar
SmartConnector provides sample Processor subclasses in its core assemblies which can be used to
demonstrate adding a Processor Configuration to your installation.
As you select items in the list, the detailed assembly information will be noted at the bottom of the
page. If the desired assembly does not appear in the list of options, check the SmartConnector log file
for any errors, such as missing dependent assemblies. See the troubleshooting section of this document
for more details.
Internal
General
SmartConnector Installation and Configuration Guide
5.8.1.2 Fields
• Assembly Description – Extension Description supplied by the Extension author.
• Assembly Company –Company which wrote the Extension Assembly.
• Assembly Copyright – Copyright information about the Extension Assembly.
• Assembly Version – Version of the Extension Assembly.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
5.8.3.2 Fields
• Name – Descriptive name for the Processor Configuration.
• Description – Free form text field.
• Assembly File – The complete file path where the Extension Assembly is located.
• Class Name – The name of the Processor subclass configured.
Internal
General
SmartConnector Installation and Configuration Guide
• Edit All – Available in either mode. Click to immediately enable all writeable fields for edit. The
button will disappear after it has been clicked for the duration of edit mode.
• Start – Available in view mode only when the Processor Configuration is NOT RUNNING. Click to
add a Configuration Request to start the Processor Configuration. If the Processor Configuration
does not allow a manual Start, this button will appear disabled.
• Stop – Available in view mode only when the Processor Configuration is RUNNING. Click to add
a Configuration Request to stop the Processor Configuration. If the Processor Configuration
does not allow a manual Stop, this button will appear disabled.
• Validate – Available in view mode. Click to validate the state of the Processor Configuration. All
issues will be displayed to the user at the top of the page.
• Reset Counter – Available in view mode. Click to clear the execution counter.
Internal
General
SmartConnector Installation and Configuration Guide
• Reset Timer – Available in view mode. Click to clear the Total Execution Timer.
• Save – Available in edit mode. Click to save all changes made to the database and return the
page to view mode.
• Cancel – Available in edit mode. Click to discard all changes made and return the page to view
mode.
Internal
General
SmartConnector Installation and Configuration Guide
The Details Tree displays all of the properties of the Processor class that the author has chosen to
expose for configuration. The meaning of these values depends on the Processor and is not known by
SmartConnector Portal. You must consult the documentation that accompanies the SmartConnector
Extension which the Processor is a part of for instructions on how to configure the specifics of a
Processor Configuration.
While the structure of details may be vary from Processor to Processor, how those details are displayed
and modified in SmartConnector Portal is consistent. Properties of a Processor can be classified into
four types; each is displayed to the user slightly differently and each has capabilities unique to it.
nodes. An additional Add Button is displayed immediately adjacent to the node to indicate that
an additional child can be added to the list. Children of List Properties are always displayed with or
both the Add Button and Delete Button will be displayed. The function of these buttons is
as described in the appropriate section above.
Internal
General
SmartConnector Installation and Configuration Guide
5.9.2.2.5 Tooltip
Processor authors can optionally provide helper information about any type of property in the form of a
tooltip. Tooltip text will automatically be displayed when the user moves the mouse pointer of the
Tooltip Icon .
Internal
General
SmartConnector Installation and Configuration Guide
• Last Actual Occurrence – The last date and time when the Processor Configuration actually ran,
regardless of schedule.
• Last Scheduled Occurrence – The date and time when the Processor Configuration was last
scheduled to run.
• Execution Count – The total number of times the Processor Configuration has been commanded
to start.
• Last Execution Time – The amount of time in HH:MM:SS format which the Processor
Configuration took to complete its last execution.
• Total Execution Time – The cumulative amount of time in HH:MM:SS format which the
Processor Configuration has been executing.
Internal
General
SmartConnector Installation and Configuration Guide
The action toolbar always has four buttons. From left to right these are:
Internal
General
SmartConnector Installation and Configuration Guide
SmartConnector provides sample RestProvider subclasses in its core assemblies which can be used to
demonstrate adding an Endpoint Configuration to your installation.
As you select items in the list, the detailed assembly information will be noted at the bottom of the
page. If the desired assembly does not appear in the list of options, check the SmartConnector log file
for any errors, such as missing dependent assemblies. See the troubleshooting section of this document
for more details.
Internal
General
SmartConnector Installation and Configuration Guide
5.11.1.2 Fields
• Assembly Description – Extension Description supplied by the Extension author.
• Assembly Company –Company which wrote the Extension Assembly.
• Assembly Copyright – Copyright information about the Extension Assembly.
• Assembly Version – Version of the Extension Assembly.
Internal
General
SmartConnector Installation and Configuration Guide
5.11.3.2 Fields
• Name – Descriptive name for the Endpoint Configuration.
• Description – Free form text field.
• Assembly File – The complete file path where the Extension Assembly is located.
• Class Name – The name of the RestProvider subclass configured.
Internal
General
SmartConnector Installation and Configuration Guide
• Edit All – Available in either mode. Click to immediately enable all writeable fields for edit. The
button will disappear after it has been clicked for the duration of edit mode.
Internal
General
SmartConnector Installation and Configuration Guide
• Start – Available in view mode only when the Endpoint Configuration is NOT RUNNING. Click to
add a Configuration Request to start the Endpoint Configuration.
• Stop – Available in view mode only when the Endpoint Configuration is RUNNING. Click to add a
Configuration Request to stop the Endpoint Configuration.
• Validate – Available in view mode. Click to validate the state of the Endpoint Configuration. All
issues will be displayed to the user at the top of the page.
• Save – Available in edit mode. Click to save all changes made to the database and return the
page to view mode.
• Cancel – Available in edit mode. Click to discard all changes made and return the page to view
mode.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
The contents and field descriptions are covered in Review System Settings section.
Internal
General
SmartConnector Installation and Configuration Guide
• Add New – Click to navigate to the Configuration Schedule Detail Page where a new
Configuration Schedule can be added.
Internal
General
SmartConnector Installation and Configuration Guide
The following properties are displayed for all Configuration Schedule Types:
The following properties are displayed for all Configuration Schedule Types of Time Interval
• Interval Gap Unit – Enumeration to define the type of interval. Possible values are: Seconds,
Minutes, Hours, and Days.
• Interval Gap – Number of Interval Gap Units between occurrences of the Configuration
Schedule.
Internal
General
SmartConnector Installation and Configuration Guide
The following properties are displayed for all Configuration Schedule Types of Weekly.
• Days of the week – Multi-select to indicate which days of the week an occurrence will fall.
• Interval Gap – Number of weeks between occurrences of the Configuration Schedule.
The following properties are displayed for all Configuration Schedule Types of Monthly
The following properties are displayed for all Configuration Schedule Types of Cron
• Cron expression – Cron expression to use for scheduling. Accepts five and six part Cron
Expressions (e.g. * * * * *, meaning every minute).
Internal
General
SmartConnector Installation and Configuration Guide
5.16.2 Filtering
Because Processors can use many Processor Values in their implementations, SmartConnector provides
filtering directly in the table to facilitate finding a particular Processor Value. Filters work in a logical
“AND” fashion. They are invoked either by clicking the Refresh button or by placing the cursor in any
filter field and hitting the Enter key. All filters use “contains” logic and are case sensitive.
Endpoint as shown in
Figure 50: In Memory Cache Page. The page functions in two modes: view mode and edit mode. In
View Mode, no fields are enabled for edit. In Edit Mode, one or more fields are enabled for edit.
Internal
General
SmartConnector Installation and Configuration Guide
5.17.2 Filtering
Because Processors and Endpoints can use many In Memory Cache items in their implementations,
SmartConnector provides filtering directly in the table to facilitate finding a particular In Memory Cache
item. Filters work in a logical “AND” fashion. They are invoked either by clicking the Refresh button or
by placing the cursor in any filter field and hitting the Enter key. All filters use “contains” logic and are
case sensitive, except for the TenantId filter which uses “equals” logic.
Internal
General
SmartConnector Installation and Configuration Guide
mode. In View Mode, no fields are enabled for edit. In Edit Mode, one or more fields are enabled for
edit.
Internal
General
SmartConnector Installation and Configuration Guide
• Delete – Click to delete the User from the database. If the User is logged in, they will be logged
out.
• Lock – Click to lock the User from accessing the Portal. If the User is logged in, they will be
logged out and will not be able to log in again until their account is unlocked.
5.20.1 Fields
• Username – The name of the user which will be added. This name must not be currently used
by any other user.
• Password – The password for the new user.
• Confirm Password – You must retype the password exactly the same.
Internal
General
SmartConnector Installation and Configuration Guide
• Current Password – You are required to enter the password for the current user.
• New Password – The new password.
• Confirm New Password – You must retype the new password exactly the same.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
• Delete – Click to delete the License from the database. If an affected Processor is running, it will
not stop but will be prevented from running again.
Internal
General
SmartConnector Installation and Configuration Guide
Tokens are provided by the Extension provider. This page will only be available if an active internet
connection is available.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
Editing and adding new items follows the same convention. If the “Save Changes” button is clicked, all
edits made will immediately be saved. If the current EWS Server is active, those values will
consequently be immediately available to be served in response to any incoming request. Conversely, if
the “Discard Changes” button is clicked, all changes made in the dialog will be discarded.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
• Transition Model – The transition model under which AlarmEvents will be generated. Please
note that when editing an AlarmItem, the Transition Model property is read only and cannot be
changed.
• Value Item – The optional ValueItem this AlarmItem is alarming on. Please note that when
editing an AlarmItem, the ValueItem property is read only and cannot be changed.
Internal
General
SmartConnector Installation and Configuration Guide
Value Item – The optional ValueItem this AlarmItem is alarming on. Please note that when editing an
AlarmItem, the ValueItem property is read only and cannot be changed.
Internal
General
SmartConnector Installation and Configuration Guide
7 Licensing
Licenses are small text files which need to be added to SmartConnector so that SmartConnector itself or
a SmartConnector Extension can be executed. Tampering with the license file in any manner will
invalidate the license. Invalid or expired licenses cannot be added to SmartConnector.
If required, a machine thumbprint may be also needed in order to generate the proper license. Please
refer to Licenses Listing Page for how to create this thumbprint.
Whether the license is for an Extension or for SmartConnector itself, the management and adding for
these licenses are handled in the same manner.
Once added, the license file itself is no longer needed. It is recommended that the file itself be kept in a
safe place – not on the SmartConnector server itself – incase a license needs to be reinstalled.
Internal
General
SmartConnector Installation and Configuration Guide
8.1 SoapUI
SoapUI is a free and open-source application available at http://www.soapui.org/. By creating queries
the can be used to test EWS Server endpoints, SoapUI is helpful for verifying passwords, validating
object IDs, and confirming proper SOAP formatting.
• Create a new project referencing the EWS Server’s WSDL file (insert the actual endpoint exactly
as shown in EWS Server Detail Page.
• http://localhost:57621/DataExchange?singleWsdl
• Select the Create Requests option to generate base queries for each EWS method available for
your EWS Server as shown in Figure 64.
Internal
General
SmartConnector Installation and Configuration Guide
8.2 Fiddler
Fiddler can be downloaded for free from http://www.telerik.com/download/fiddler. Fiddler is a web
debugging proxy which allows you to view the HTTP communication between any two endpoints.
Additionally, you can “fiddle” with the request and even create your own requests using the Composer.
Figure 65 shows the communication between SoapUI and the sample SmartConnector EWS Server
establishing connectivity (WSDL request) and then the HTTP Digest Authentication used to
GetWebServiceInformation.
8.3 Logging
SmartConnector extensively logs all activity. The Portal and SmartConnector Service log every request
and response in addition to all errors. Additionally, the SmartConnector Logger is available to
SmartConnector Extension authors so they too can log to the same location.
What gets logged is determined by a combination of the global Logging Level Service Setting and Logging
Filters as described above.
Internal
General
SmartConnector Installation and Configuration Guide
If the desired assembly is listed, then it will load successfully. If the desired assembly is not listed, then
there is could be an issue with a missing reference. If multiple references are missing, only one
exception will be thrown and logged. Thus, add the appropriate assembly to the runtime folder and try
again to add a configuration. If not successful, repeat the above process until all referenced assemblies
are available.
If the logged exception is for a SmartConnector library, e.g. Mongoose.Process or SxL.Common, then it is
likely that the issue is related to assembly versions and strong naming. An example of such an error is
the following:
This issue generally refers to the scenario where the Extension assembly was compiled against a
different version of SmartConnector than what is installed. If the referenced version is prior to 2.0.0,
then the Extension will need to be re-compiled against a SmartConnector version 2.0.0 or later.
However, if the referenced version is greater than 2.2.0 but less than the installed version, then the
runtime section of the Mongoose.Service configuration file must be updated with the necessary
assembly references. For example:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Mongoose.Process" publicKeyToken="223885051a9a1eff" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Mongoose.Common" publicKeyToken="223885051a9a1eff" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SxL.Common" publicKeyToken="223885051a9a1eff" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Ews.Common" publicKeyToken="223885051a9a1eff" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Ews.Client" publicKeyToken="223885051a9a1eff" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.2.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Once these entries have been added, restart the SmartConnector service for the entries to take effect.
Internal
General
SmartConnector Installation and Configuration Guide
Note that if SmartConnector is upgraded in the future, then the oldVersion and newVersion
values must be updated to the installed SmartConnector version. Otherwise, similar
FileLoadException errors will be logged and existing configurations will not run.
Internal
General
SmartConnector Installation and Configuration Guide
This issue has been addressed in a hotfix for the Microsoft .NET Framework 4.5.
• For Windows 7, Windows Server 2008, or Windows Vista, refer to this Microsoft Knowledge
Base article http://support.microsoft.com/kb/2748645.
• For Windows 8, Windows RT or Windows Server 2012, refer to this Microsoft Knowledge Base
article http://support.microsoft.com/KB/2750149.
http://codifying.wordpress.com/2012/04/16/msmq-solving-access-denied-errors-for-private-queues/
Internal
General
SmartConnector Installation and Configuration Guide
10 Updating SmartConnector
10.1 Updating SmartConnector v2.0 or Later
From time to time, updates, enhancements and/or bug fixes will be made available. This section only
pertains to updates to SmartConnector Service and not SmartConnector Extensions. Consult the
documentation supplied with your SmartConnector Extension for details on versioning and updates.
It is recommended that you backup your database prior to any upgrade to prevent the risk of data loss
resulting from a failed upgrade. This will allow restoring the original database and re-installing the prior
version of SmartConnector.
1. Run the new installer setup.exe. You will be presented with an upgrade confirmation dialog as
seen in Figure 68.
2. Click Yes.
3. You will be presented with the dialog shown in Figure 69.
Internal
General
SmartConnector Installation and Configuration Guide
4. Click Next.
5. If you experience no errors, SmartConnector was installed and the connected database updated
to the current schema (see Figure 7). If you experience errors or the service fails to start,
consult the Known Issues section of this document or contact support for assistance.
6. Click Finish.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
11 Uninstallation
SmartConnector can be uninstalled either from an installation distribution or from the Windows
“Uninstall or change program” Control Panel. Doing so from the latter will uninstall SmartConnector
completely including the database. If you wish to uninstall only the service, you should use the
installation media and follow the following steps.
1. Run the installer executable and confirm that you must run as an Administrator. You will be
presented with the dialog in Figure 70.
2. Click Next.
3. You will be presented with the maintenance dialog shown in Figure 71.
4. Select Remove.
5. Click Next.
Internal
General
SmartConnector Installation and Configuration Guide
6. You will be presented with the Delete SmartConnector Database dialog shown in Figure 72. If
you wish to also remove the database, check the option.
Internal
General
SmartConnector Installation and Configuration Guide
7. Click Next.
8. Click Remove.
9. If you experience no errors, SmartConnector was removed and you will see the dialog shown in
Figure 73. If you experience errors or the service fails to stop, consult the Known Issues section
of this document or contact support for assistance.
Internal
General
SmartConnector Installation and Configuration Guide
Internal
General
SmartConnector Installation and Configuration Guide
12 Security Considerations
Developing a plan for securing an integrated system requires an understanding of the unique features of
system components and technologies and their impact on overall security. This section describes
security related aspects of SmartConnector and provides best practices for security.
For more security information please refer to “EcoStruxure Web Services 1.1 Security Best Practices for
SmartStruxure Solution”.
By default, these configuration files are installed in plain text. There are benefits to this; however doing
so can result in potential security vulnerabilities as both of these files contain sensitive information
needed to connect to the database and decrypt encrypted database values.
If this is deemed unacceptable for the specific installation the following steps should be taken to encrypt
both config files. This will not adversely affect the operation of SmartConnector.
NOTE: The following procedure should be repeated for each config file enumerated above.
1. Create a copy of the original file and store it off site in a secure location. Since the
SmartConnector installer creates a randomly generated encryption key for every installation,
you will never be able to reverse this process if a manual change to the configuration file is
required (such as updating the database login password) without the original unencrypted
version.
2. Verify that the service is not running or stop the SmartConnector service.
3. Rename the file to be updated to “web.config”.
4. Open a command prompt.
5. Enter the following at the command prompt replacing the placeholder with the specific path
information.
6. Press enter.
7. Repeat step 5 but replace “connectionStrings” with “appSettings”.
8. Rename the file to its original name.
When the process has been completed for both config files, restart the SmartConnector Service.
Internal
General
SmartConnector Installation and Configuration Guide
• SmartConnector Portal
• Additional endpoint for each running EWS Server
• Additional endpoint for each running REST endpoint.
The current version of SmartConnector implements user authentication on the Portal endpoint.
However, the user credentials are sent in clear text. Thus, we highly recommended securing these
endpoints via HTTPS.
Any EWS endpoint uses HTTP digest authentication, where the credentials are passed in a hash. As
such, the use of HTTPS for an EWS endpoint is not as critical as for the Portal endpoint. However, the
use of HTTPS is still considered the best practice, especially if these endpoints are made available over a
remote connection.
See the section below on how to configure HTTPS for the various SmartConnector endpoints.
Alternatively, SmartConnector supports the use of the “+ syntax,” e.g., http://+:8082, where the
endpoint will accept connections on all interfaces of the host computer. This configuration is more
flexible but less secure.
If SmartConnector were configured to accept remote connections as described above, one could restrict
the set of acceptable clients by configuring Windows Firewall to allow remote endpoint requests from
only desired (white-listed) IP addresses.
1. Obtain a certificate for the respective endpoint. This certificate can be CA-signed or self-signed.
The process to obtain a certificate is beyond the scope of this document, but one can use tools
such as OpenSSL to generate a Certificate Signing Request to submit to a Certificate Authority.
Alternatively, one can use OpenSSL to generate a self-signed certificate.
Internal
General
SmartConnector Installation and Configuration Guide
Once the signed certificate is received, this certificate must be combined with its respective
private key before installing into the Windows Certificate Store. One approach is to use a
PKCS#12 format file via OpenSSL.
For example:
openssl pkcs12 -export -out certificate.pfx -inkey privkey.pem -in certificate.crt -certfile
CAcert.pem
where:
certificate.pfx the resulting file that includes the signed certificate and the private key
privkey.pem the private key used to generate the CSR
certificate.crt the signed certificate from the CA
CAcert.pem the certificate that was used to sign the CSR.
3. Install the certificate file, i.e., certificate.pfx from the previous step, in the Windows Certificate
Store.
The certificate file should be installed in the Personal folder of the Local Computer store (not in
the Current User store). In order to do this, use the MMC (Microsoft Management Console). See
the following instructions to configure MMC to access the Local Computer store,
http://technet.microsoft.com/en-us/library/cc754431.aspx.
Depending on the format of the certificate file, an intermediate and/or root certificate may be
included in addition to the server certificate, and they may automatically be installed when
importing the file. However, if these additional certificates are needed and are not included in
the file, then they need to be explicitly installed in the appropriate folders.
Internal
General
SmartConnector Installation and Configuration Guide
4. Bind the certificate to the SmartConnector endpoint with the netsh command.
Consider the following certificate that was installed in the previous step:
In order to create the binding, this certificate needs to be referenced via its thumbprint in the
netsh command.
For example:
where:
ipport the IP address and port number of the endpoint, delimited by a colon
Internal
General
SmartConnector Installation and Configuration Guide
certhash the thumbprint (without whitespace) taken from the certificate properties in
the MMC
appid the value 0268946a-3985-46f9-a9c2-cd4016ac6ddb, which is specific to the
SmartConnector service.
5. After making any changes to the certificate configuration (adding, changing or deleting a
certificate or binding), restart the SmartConnector service so that it uses the latest
configuration.
6. Verify that any HTTPS client to SmartConnector can validate the current certificate. For example,
if using a self-signed certificate, then that certificate must be installed on the client. Otherwise,
ensure that the necessary CA certificates are installed on the client so that the chain of trust can
be verified.
For example, in the fall of 2014, SSLv3 was found to be insecure. Windows servers, such as those hosting
SmartConnector, should have SSL v3 disabled.
Further hardening practices should also be followed, such as disabling weak cipher suites. For example,
see:
http://www.dotnetnoob.com/2013/10/hardening-windows-server-20082012-and.html
https://www.owasp.org/index.php/Testing_for_Weak_SSL/TLS_Ciphers,_Insufficient_Transport_Layer_
Protection_(OTG-CRYPST-001)
http://www.bolet.org/TestSSLServer/
Internal
General
SmartConnector Installation and Configuration Guide
For example, self-signed certificates should be installed in the Trusted Root Certification Authorities
folder.
12.3 Logging
SmartConnector provides the ability to configure different logging levels and different log categories.
While the logging features can be very helpful to debug any issues, there are some log level and
category combinations that could represent a security vulnerability.
Specifically, the use of “All”, “Debug”, or “Trace” log levels along with logging for the Portal and API will
cause unencrypted processor configuration values to be stored in the log file. Thus, it is recommended
to not operate at “All” or “Debug” log levels unless necessary to trace a problem.
Internal
General
SmartConnector Installation and Configuration Guide
13 Appendix
13.1 Supported Operating Systems
The following is a list of Operating Systems which SmartConnector has been tested against. Non-listed
operating systems capable of running .NET 4.5 should also work but their compatibility has not been
verified.
• Windows 10 64 bit.
• Windows Server 2012 64 bit.
• Windows Server 2016 64 bit.
• Windows Server 2019 64 bit.
• Windows Server 2022 64 bit.
• Local DB.
• Microsoft SQL Server 2012 Express.
• Microsoft SQL Server 2012.
• Microsoft SQL Server 2014 Express.
• Microsoft SQL Server 2014.
• Microsoft SQL Server 2016 Express.
• Microsoft SQL Server 2016.
• Microsoft SQL Server 2019 Express.
• Microsoft SQL Server 2019.
• Microsoft SQL Server 2022.
Internal
General