This section contains information about AppBase Platform Installation and instructions how to perform maintenance and troubleshooting.

Understanding AppBase Installation

AppBase Components

AppBase Platform installation topology

AppBase Software Folder Structure

AppBase Runtime Data Folder Structure

Managing AppBase Services

Stop AppBase Services

Start AppBase Services

Change AppBase Configuration

Push AppBase Configuration changes

Managing Apache ActiveMQ (Linux, External Installation)

Managing Redis (Linux, External Installation)

Managing AppBase Installation

Managing Oracle

Troubleshooting AppBase Installation

Understanding AppBase Installation

Please refer to AppBase Deployment Roles explanation for full list of AppBase Deployment Roles.


There are two main AppBase Installation types:

1. Single VM AppBase Installation – all AppBase Deployment Roles (AppBase Web Applications, AppBase System Web Services, AppBase System Windows Services, AppBase Infrastructure Services, etc) are installed on the same VM. This strategy typically used for Development and NPE (Non Production Environments).


2. Clustered AppBase installation – main AppBase Deployment Roles (AppBase Web Applications, AppBase System Web Services, AppBase System Windows Services) are installed on every VM, AppBase Instrastructure Services are installed on shared VMs (Windows or Linux). This strategy typically used for Production and UAT environments.

Please refer to AppBase Installation Guide for information about AppBase installation.

AppBase Components

Table below provides information about AppBase components, their AppBase deployment roles, log files, etc

Component Name

Deployment Role

Deployed As

Deployed Name

Log File Name

Description

AppBase Desktop

AppBase Web Applications

IIS Web Application

/Ecx.Web

Ecx.Web.log

Main AppBase web application

AppBase Document Viewer Web

AppBase Web Applications

IIS Web Application

/Viewer.Web

Viewer.Web.log

AppBase based document viewer (Web app) 1)

AppBase WebDAV

AppBase Web Applications

IIS Web Application

/CMS.WebDAV

CMS.WebDAV.log

AppBase WebDAV application to edit files directly in MS Word, etc

AppBase Document Viewers & Scan

AppBase Web Applications

IIS Virtual Folder (ClickOnce)

/DAS.Publish

N/A

AppBase Document Viewer & Scan App (Windows app)

AppLibrary WebService

AppBase System Web Services

IIS Web Application

/AppLibrary.WebService

AppLibrary.WebService.log

Web Service to integrate with AppBase App Library

Audit WebService

AppBase System Web Services

IIS Web Application

/Audit.WebService

Audit.WebService.log

Web Service for Audit

Business Data (Rule) WebService

AppBase System Web Services

IIS Web Application

/BDS.WebService

BDS.WebService.log

Web Service for business rules processing

CMS WebService

AppBase System Web Services

IIS Web Application

/CMS.WebService

CMS.WebService.log

Web Service for content management system (documents)

Config WebService

AppBase System Web Services

IIS Web Application

/Config.WebService

Config.WebService.log

Web Service for AppBase system configuration

Content WebService

AppBase System Web Services

IIS Web Application

/Content.WebService

Content.WebService.log

Web Service for manipulation with content (merge, extract, convert, etc) 1)

Capture Endpoint Web Service

AppBase System Web Services

IIS Web Application

/CPT.WebService

CPT.WebService.log

Web Service for Capture Endpoint

Distribution Web Service

AppBase System Web Services

IIS Web Application

/Distribution.WebService

Distribution.WebService.log

Web Service for sending information out (email, sms, etc)

Full Text Search WebService

AppBase System Web Services

IIS Web Application

/FTE.WebService

FTE.WebService.log

Web Service for managing Full Text Search indexing

Genesys WebService

AppBase System Web Services

IIS Web Application

/Genesys.WebService

Genesys.WebService.log.log

Web Service for integration with Genesys products

Management WebService

AppBase System Web Services

IIS Web Application

/Management.WebService

Management.WebService.log.log

Web Service for internal AppBase operations

Report WebService

AppBase System Web Services

IIS Web Application

/Report.WebService

Report.WebService.log

Web Service for reporting

Security WebService

AppBase System Web Services

IIS Web Application

/Security.WebService

Security.WebService.log

Web Service for security (authentication, authorization, etc)

TenantRegistry WebService

AppBase System Web Services

IIS Web Application

/TenantRegistry.WebService

TenantRegistry.WebService.log

Web service for tenant management

WFS WebService

AppBase System Web Services

IIS Web Application

/WFS.WebService

WFS.WebService.log

Web service for Workflow

Event Win Service

AppBase System Windows Services

Windows Service

ASF_Event.WinService_<port> *1)

Event.WinService.log

Windows Service to process background rules, events, scheduled tasks

Tenant Registry Win Service

AppBase System Windows Services

Windows Service

AFS_Tenant.WinService_<port>

TenantRegistry.WinService.log

Windows Service to perform “configuration” tasks, e..g import solution, deployment, export solution, sync users from Active Directory

Management Win Service

AppBase System Windows Services

Windows Service

ASF_Management.WinService_<port>

Management.WinService.log

Windows Service for internal AppBase operations

UI Win Service

AppBase System Windows Services

Windows Service

ASF_UIServer.WinService_<port>

UIServer.WinService.log

Windows Service to manage packages for AppBase Web Apps

Capture Win Service

AppBase Capture Services

Windows Service

ASF_Capture.WinService_<port>

Capture.WinService.log

Windows Service to capture inbound channels (incoming emails, folders, etc)

Full Text Search Indexing Service

AppBase Full Text Search Services

Windows Service

ASF_FTS.WinService_<port>

FTS.WinService.log

Windows Service for Full Text Search indexing

OCR Win Service

AppBase OCR Services

Windows Service

ASF_OCR.WinService_<port>

OCR.WinService.log

Windows Service for OCR processing

Print Win Service

AppBase Print Services

Windows Service

ASF_Print.WinService_<port>

Print.WinService.log

Windows Service for printing, sending faxes, etc

AppBase Report Viewer

AppBase Java Services

Windows Service

Tomcat_<port> 3)


Windows Service hosting Tomcat with Report Viewer app

Apache ActiveMQ

AppBase Instrastructure Services

Windows Service

ActiveMQ_<port> 4)


ActiveMQ service (for Single VM installations)

Redis

AppBase Instrastructure Services

Windows Service

Redis_<port> 5)


Redis service (for Single VM installation)

1) Requires additional licenses, please refer to Document Imaging & OCR Licenses

2) Private Perimeter port, please refer to AppBase Platform Installation topology below

3) Tomcat Report Client port

4) ActiveMQ service port

5) Redis service port

AppBase Platform installation topology

On every VM, we install two instances of AppBase Platform with different Deployment Roles:

1. Public Perimeter – AppBase Web Application and AppBase System Web Services Deployment Roles, exposed for end-user. For Clustered AppBase Installations, Public Perimeter typically placed behind Load Balancer to distribute the load. SSL can be handled either on Public Perimeter (LB passed 443 traffic) or on LB (LB offloads SSL and pass decrypted traffic to Public Perimeter)

2. Private Perimeter – AppBase System Windows Services and AppBase System Web Services (required to serve AppBase System Windows Services), AppBase Java Services, AppBase Capture Windows Services, AppBase Print Windows Services, AppBase OCR Windows Services, AppBase Full Text Search Windows Services. For Single VM Installation Type, this perimeter will also include AppBase Infrastructure Components (ActiveMQ, Redis). Private Perimeter is only required to process background tasks and should never be exposed to end-user.

Name

Deployment Roles

IIS Web Site

IIS Web Site Binding

Folder Name

Public Perimeter

AppBase Web Applications

AppBase System Web Services

AppBase.i01


443 and SSL certificate

or

80 (SSL offloaded on LB)

i01.<server node>.appbase

Private Perimeter

AppBase System Web Services

AppBase Java Services, AppBase Capture Windows Services

AppBase Print Windows Services

AppBase OCR Windows Services

AppBase FTS Windows Services

AppBase.i02

9091

i02.<server node>.appbase 6)

6) server node – AppBase server node name, e.g. srv01, srv02, etc


 


 


 


 


AppBase Software Folder Structure

Each AppBase installation will have following folder structure on every node (VM)

Folder Name

Description

AppBase

Root AppBase Installation Folder (AppBaseRootDirectory from checklist)

      Install


            Configuration


                  <your installation name>

AppBase configuration folder, contains configuration files, substitutions, etc

            Scripts.2

Contains AppBase installation scripts

      i01.<server node>.appbase     


            Data

Contains local AppBase configuration data

            WebServices

Contains AppBase Web Application,

                  AppLibrary.WebService

AppBase Web Services deployment roles

                  Audit.WebService


                  BDS.WebService


                  CMS.WebDAV


                  CMS.WebService


                  Content.WebService


                  CPT.WebService


                  DAS.Publish


                  Distribution.WebService


                  Ecx.Web


                  FTE.WebService


                  Genesys.WebService


                  Management.WebService


                  Report.WebService


                  Security.WebService


                  TenantRegistry.WebService


                  Viewer.Web


                  WFS.WebService


      i02.<server node>.appbase     


            Data

Contains local AppBase configuration data

            Java

Contains AppBase Report Viewer Services,

                  Tomcat

AppBase Infrastructure Services (for Single VM installation)

                  ActiveMQ


            WebServices

Contains AppBase Web Services deployment roles

                  ….


            WinServices

Contains AppBase Windows Services

                  Capture.WinService


                  Event.WinService


                  Management.WinService


                  Tenant.WinService


                  UIServer.WinService


      Logs     


              i01   

Contains logs for Public perimeter

              i02   

Contains logs for Private perimeter


AppBase Runtime Data Folder Structure

Folder Name

Description

  AppBaseData

Root AppBase Shared Folder (SharedDirectoriesRoot from Checklist)

      Data


            Env

AppBase environments root folder

                  <tenant_code>
                              <environment_name.tenant_code>
                                          CMSRootCMS root folder
                                          CMSTempCMS temp folder
                                          DataEnvironment Data Folder
                                                BDS
                                                      CompiledDir Folder contains compiled c# rules

            Oper

AppBase runtime data root folder

                  AuditBuffer

Audit buffer

                  Cache

AppBase cache root folder

                        AspxCache

Cache of UI pages

                        Content

Cached resources (images, javascripts, etc)

                        FileCache

Cached AppBase configuration

                        MessageBus

Message bus

                        SecurityToken

Persisted AppBase security tokens

                        Uploader

Temporary folder for file uploader

                  Capture

AppBase capture root folder

                        Backup 

Backups of inbound emails, files.

Files in this directory are used to restore captured email items, files etc and restart the corresponding capture items. If any of files in this directory are deleted then it will be impossible to restart or recover such capture items.
It maybe be prudent to ensure files in this directory are not deleted.

                        Processed

Copy of processes inbound emails, files, etc

                  Temp

Temporary folders

                        Capture

Temporary folder for capture channels

                        Content

Temporary folder for content transformation service

                        ContentWorkflow

Temporary folder for content transformation service

                        Generic


                        ImageCache

Temporary folder for web viewer web

                        Print

Temporary folder for printing service

            Solution

AppBase solution configuration root folder

                        <tenant_code>
                              <solution_name>
                                          ResourcesSolution resources root folder
                                          ResourcesManifestSolution resources manifest folder
                                          <solution_versions> 
                                                Ext Folder contains solution dll extension
                                                ResourcesManifest Solution Version resources manifest folder contains resources' meta information
                                                Resources Solution Version resource root folder
                                                      EmailTemplates Folder contains solution "Email Templates"
                                                      MailMerge Folder contains solution "Mail Merge" templates in MS Word format

            StaticResources

AppBase static resources

            Tenant

AppBase tenant configuration root folder

                  <tenant_code>
                        <user_access_subject_code>User specific folders which contains user specific information(profile photo,  user stamps)
                                   ResourcesManifest
                                   Resources
                                          Photos
                                          Stamps
                        ResourcesManifest Tenant Resources manifest folder contains resources' meta information
                        Resources Tenant  resource root folder
                                  CertificatesFolder contains registered certificates
                                 CompanyLogo Folder contains Company Logos
                                  Vault Folder contains registered security vault keys


Managing AppBase Services

Assumptions:

Commands below should be executed under account with Administrator privileges.

Commands below should be running on each node (VM) running AppBase.

Commands below are using relative path, make sure that you go to AppBase configuration folder first (refer to AppBase configuration folder in AppBase Software Folder Structure)


Stop AppBase Services

InstallerMain.bat -Command Server-Stop -ServerFile <SERVERS_CONFIG_FILE.xml> -Server <SERVER_NAME>

or

appbase-stop.bat

where SERVERS_CONFIG_FILE.xml – AppBase configuration file obtained

SERVER_NAME – AppBase server name

 

Clear AppBase Cache

AppBase must be stopped before clearing cache


InstallerMain.bat -Command Server-RemoveCache -ServerFile <SERVERS_CONFIG_FILE.xml> -Server <SERVER_NAME>

where SERVERS_CONFIG_FILE.xml – AppBase configuration file obtained

SERVER_NAME – AppBase server name


Start AppBase Services

InstallerMain.bat -Command Server-Start -ServerFile <SERVERS_CONFIG_FILE.xml> -Server <SERVER_NAME>

or

appbase-start.bat

where SERVERS_CONFIG_FILE.xml – AppBase configuration file obtained

SERVER_NAME – AppBase server name


Change AppBase Configuration

1. Update _all_substitutions_common.liquid file in AppBase configuration folder

2. InstallerMain.bat -Command Server-Configure -ServerFile <SERVERS_CONFIG_FILE.xml> -Server <SERVER_NAME>

or

appbase-configure.bat

where SERVERS_CONFIG_FILE.xml – AppBase configuration file obtained

SERVER_NAME – AppBase server name


Push AppBase Configuration changes

InstallerMain.bat -Command Server-UpdateConfigs -ServerFile <SERVERS_CONFIG_FILE.xml> -Server <SERVER_NAME>

or

appbase-configure.bat

where SERVERS_CONFIG_FILE.xml – AppBase configuration file obtained

SERVER_NAME – AppBase server name


Managing Apache ActiveMQ (Linux, External Installation)

Assumptions:

ActiveMQ is installed to /opt/activemq

ActiveMQ is installed as a daemon running under service account srv_AppBase


Apache ActiveMQ is configured to run as a daemon and will be automatically started when VM is booted up. If you need to perform maintenance, please perform following commands:

Stop Apache ActiveMQ

sudo service activemq stop


Start Apache ActiveMQ

sudo service activemq start


To view list of available queues and consumers, please open Apache ActiveMQ management console at:

http://xxx.xxx.xxx.xxx:8161/admin (u: admin, p: admin)


Log files are located at:

/opt/activemq/data/activemq.log

Managing Redis (Linux, External Installation)

Assumptions:

Redis is installed to /opt/redis

Redis is installed as a daemon running under service account srv_AppBase


Redis is configured to run as a daemon and will be automatically started when VM is booted up. If you need to perform maintenance, please perform following commands:

Stop Redis

sudo service redis stop


Start Redis

sudo service redis start


Log files are located at:

/opt/redis/data/redis.log


Managing AppBase Installation

In order to perform AppBase cold start, please follow steps below:

1. Start ActiveMQ (if ActiveMQ is configured as external service)

2. Start Redis  (if Redis is configured as external service)

3. Start AppBase Components (on every node)


In order to perform AppBase full stop, please follow steps below:

1. Start AppBase Components (on every node)

2. Stop Redis  (if Redis is configured as external service)

2. Stop ActiveMQ (if ActiveMQ is configured as external service)


Managing Oracle

Oracle Database Server can be installed on both Windows and Linux. In this article we will consider management of a database server on Linux.

Please connect to DB server via PuTTY

Note

Oracle has pretty complex environment variables, so ALL oracle related commands must be executed under "oracle" user.

In order to switch context, please use following command:

[root@oracle12 ~]# sudo su - oracle

In this case, env variables will be loaded automatically and you don't need to touch .env files at all or set export variables.

1. DB server OS status info

To obtain info about DB server OS status please run:

[oracle@oracle12 ~]$ top

detailed see https://www.booleanworld.com/guide-linux-top-command/

2. Restart entire DB server

To restart entire DB server run:

[oracle@oracle12 ~]$ sudo shutdown -r now

3. Using the TNSPING Utility to Test Connectivity from the Client

The TNSPING utility determines whether the listener for a service on an Oracle Net network can be reached successfully.

If you can connect successfully from a client to a server (or a server to another server) using the TNSPING utility, then it displays an estimate of the round trip time (in milliseconds) it takes to reach the Oracle Net service.

If it fails, then it displays a message describing the error that occurred. This enables you to see the network error that is occurring without the overhead of a database connection.

Use the following command to test connectivity:

tnsping net_service_name count

In the preceding command, the following arguments are used:

  • net_service_name must exist in tnsnames.ora file or the name service in use, such as NIS.

  • count determines how many times the program attempts to reach the server. This argument is optional.

If the net service name specified is a database name, then TNSPING attempts to contact the corresponding listener. It does not actually determine whether the database is running. Use SQL*Plus to attempt a connection to the database.

Following is example of TNSPING

Detailed see in the https://docs.oracle.com/cd/E11882_01/network.112/e41945/connect.htm#NETAG383

4. Using Telnet to Test Port 1521 Functionality

You can run a simple troubleshooting test to make sure the Client can connect to the port. Just try to telnet to the port from the Client (AppBase VM).

To test the functionality of port 1521, use this command from the Client:

Telnet tserv 1521

where "tserv" is the host name of IP of your DB Server.

If telnet is successful, you simply receive the telnet screen and a cursor. On the Terminal Server, Terminal Server Administration will show a blue computer icon with no other information. The Telnet connection will also consume an idle session.

The DB Server should disconnect the connection after a few minutes. Or, you can disconnect using Telnet.

This test tells you that you can connect over the port.

5. Restarting an Oracle Database or Automatic Storage Management Instance

To restart an Oracle Database or Automatic Storage Management instance:

  1. If required, run the following command to switch in the oracle user context:

    [root@oracle12 ~]# sudo su - oracle


  2. Run the following commands to run sqlplus and connect to DB instance:

    [oracle@oracle12 ~]$ sqlplus / as sysdba

  3. Run the following commands to start the instance:

    SQL> STARTUP


    After the instance starts, you can exit from SQL*Plus.
    To know more about startup options see https://docs.oracle.com/cd/B19306_01/server.102/b14231/start.htm 

  4. Check lsnrctrl status like in 6.4. If required perform lsnrctrl start like in 6.3.
  5. Check tnslsnr status like in 6.5 if you have an issue with the previous item processing. If tnslsnr stopped please kill tnslsnr (6.6) and then start listener like in 6.3
  6. Verify connectivity to Oracle instance from AppBase VM, using sqlplus or sql developer or at least telnet 1521 port like in 4.

6. Working with Oracle Net Listeners

6.1 Getting the List of Oracle Net Listeners

Run the following command to determine the listener name and Oracle home directory for the Oracle Net listener that you want to work:

[oracle@oracle12 ~]$ ps -ef | grep tnslsnr

In this sample output, LISTENER the names of the listener.

Note

In the listener's management commands below You must specify the listener name only if it is different from the default listener name, LISTENER.

The listener name is mentioned in the listener.ora file. To display the contents of this file, run the following command:

[oracle@oracle12 ~]$ more $ORACLE_HOME/network/admin/listener.ora

6.2 Stopping an Oracle Net Listener

To stop an Oracle Net listener:

  1. Run the following command to stop default Oracle Net listener:

    [oracle@oracle12 ~]$ lsnrctl stop



    Optional

    2. If required, set and check the ORACLE_HOME environment variable to specify the appropriate Oracle home directory for the listener that you want to stop (any you got in the item  6.1 ):

    [oracle@oracle12 ~]$ export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
    [oracle@oracle12 ~]$ echo $ORACLE_HOME

    3. Run the following command to stop any other Oracle Net listener:

    [oracle@oracle12 ~]$ $ORACLE_HOME/bin/lsnrctl stop LISTENER

6.3 Restarting an Oracle Net Listener

To start an Oracle Net listener:

  1. Run the following command to restart default Oracle Net listener: 

    [oracle@oracle12 ~]$ lsnrctl start



    Optional

    2. If required, set the ORACLE_HOME environment variable to specify the appropriate Oracle home directory for the listener that you want to start (any you got in the item 6.1):

    [oracle@oracle12 ~]$ export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
    [oracle@oracle12 ~]$ echo $ORACLE_HOME

    3. Run the following command to restart any other Oracle Net listener:

    [oracle@oracle12 ~]$ $ORACLE_HOME/bin/lsnrctl start LISTENER

6.4 Checking an Oracle Net Listener status

To review status of an Oracle Net listener:

  1. Run the following command to get status of default Oracle Net listener: 

    [oracle@oracle12 ~]$ lsnrctl status

    Below sample shows stopped listener status



    Optional

    2. If required, set the ORACLE_HOME environment variable to specify the appropriate Oracle home directory for the listener that you want to get status (any you got in the item 6.1):

    [oracle@oracle12 ~]$ export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
    [oracle@oracle12 ~]$ echo $ORACLE_HOME

    3. Run the following command to get status of any other Oracle Net listener:

    [oracle@oracle12 ~]$ $ORACLE_HOME/bin/lsnrctl status LISTENER

6.5 Checking an Oracle Net Listener process tnslsnr status

If you have an issue with listener management e.g. lsnrctl <command> hangs 

so you need to review the status of an Oracle Net listener process tnslsnr. To get the process status run following command:

[oracle@oracle12 ~]$ ps -eo 'tty,pid,comm,state'  | grep tnslsnr

If process tnslsnr is running you gets output like below

If process tnslsnr is stopped then you gets output like below

6.6 Killing an Oracle Net Listener process tnslsnr

If you have an issue with listener management e.g. lsnrctl <command> hangs and tnslsnr stopped (see 6.5) you need to kill tnslsnr to be able to start listener again.

To kill of an Oracle Net listener process tnslsnr run following command:

[oracle@oracle12 ~]$ kill -9 22738

then check tnslsnr status like in 6.5


For more information on managing listeners, see https://docs.oracle.com/cd/B28359_01/server.111/b32009/strt_stp.htm#UNXAR157

7. Stopping an Oracle Database or Automatic Storage Management Instance

To stop an Oracle Database or Automatic Storage Management instance:

  1. If required, run the following command to switch in the oracle user context:

    [root@oracle12 ~]# sudo su - oracle


  2. Run the following commands to run sqlplus and connect to DB instance:

    [oracle@oracle12 ~]$ sqlplus / as sysdba

  3. Run the following command to shut down the instance:

    SQL> SHUTDOWN NORMAL

     
    After the instance shuts down, you can quit SQL*Plus.
    To know more about shutdown options see https://docs.oracle.com/cd/B19306_01/server.102/b14231/start.htm

8. Troubleshooting Oracle start

1. When starting AppBase, the software might report Oracle "ORA-12541: TNS:no listener", "ORA-12505: TNS:listener does not currently know of SID given in connect descriptor" errors.

   In this case please perform the following steps:

   a) Start an Oracle DB server like in 5.

   b) Check lsnrctrl status like in 6.4. If required perform lsnrctrl start like in 6.3.

   c) Check tnslsnr status like in 6.5 if you have an issue with the previous item processing. If tnslsnr stopped please kill tnslsnr (6.6) and then start listener like in 6.3

   d) Verify connectivity to Oracle instance from AppBase VM, using sqlplus or sql developer.

Troubleshooting AppBase Installation

1. When executing Oracle queries, the software might report ORA-03113 error. Please refer to Configuring Oracle Listener for instruction how to fix this.



  • No labels