Skip to content


Sequoia Architecture and Installation Considerations


Overview

This document describes the components which make up the Sequoia system and how these components interact. Any installation considerations related to these interactions are discussed at a technical level.

Minimum Server Specification

Please ensure that your server (the machine on which the Sequoia server software will run) meets or exceeds the minimum server specification before attempting to either install or upgrade the Sequoia software.

Sequoia Components

The table below lists the various components that make up Sequoia. Any ports (on the server) that are needed for inter service communication are listed. Any communication with client side components is shown in bold text. Any external access (over the internet) has the word 'external' next to it.

Client Name Location Description Protocol Ports Notes
Winforms Client Front end GUI for Sequoia. Installed on many computers on intranet to allow users to communicate with Sequoia server components Communicates via the WCF Proxy service with server-side services apart from business object service, service monitor and publication service.
API Server Programmatic access to a subset of Sequoia functionality. Please see separate documentation for full explanation of how this works. Net.Http
Net.Tcp
Net.Tcp
Net.Http
Http
9001
9002
9002
9010
9010
(9001) WCF HTTP Dual channel service (with callback)
(9002) WCF TCP Dual channel service (with callback)
(9002) WCF TCP Single channel service (without callback)
(9010) WCF HTTP Single channel service (without callback)
(9010)SOAP HTTP API service
Sequoia Service Service Name Location Description Notes
Agent Inventory asmagentinventorysvc Server Business logic and database access Net.Tcp 9099 Inter-server service communications on this port.
API asmapisvc Server 9001
9002
9010
Multiple connection methods for 3rd party applications.
API Intermediary asmapiimsvc Server Pluggable component that allows access to the API service using methods other than WCF / SOAP n/a n/a This is typically configured with assistance of the ASM helpdesk.
Business Object asmbosvc Server Legacy component which provides both business logic and data access to a myriad of internal processing. Net.Tcp 9009 This is an endpoint to which one or more client applications will connect.
Cache asmcachesvc Server Short lived cache available to all Sequoia services which is backed by the database, Net.Tcp 9122 Inter-server service communications on this port.
CDS Declaration asmcdsdeclarationsvc Server Business logic and database access Net.Tcp 9131 CDS Declaration general functions. (Experimental - not currently in use)
CDS Declaration Builder asmcdsdeclnbuildsvc Server Business logic and database access Net.Tcp 9132 Builds CDS Declarations. (Experimental - not currently in use)
CDS Worksheet asmcdsworksheetsvc Server Business logic and database access Net.Tcp 9132 Provides CDS Worksheet services for ASM Sequoia. (Experimental - not currently in use)
Client Update asmclientupdatesvc Server Provides up-to-date client and client launcher assemblies and code. Allows clients to auto-update when the Sequoia Server is upgraded. Net.Tcp 9129
9130
Inter-server service communications on this port.
Configuration asmcfgsvc Server Net.Tcp 9100 Inter-server service communications on this port.
Consolidation asmconsolsvc Server Net.Tcp 9124 Inter-server service communications on this port.
CRM asmcrmsvc Server Business logic and database access Net.Tcp 9112 Inter-server service communications on this port.
Customs Warehousing asmcustwaresvc Server Business logic and database access Net.Tcp 9119 Inter-server service communications on this port.
Data Warehouse asmdwhsvc Server Business logic and database access Net.Msmq Inter-server service communications on this port.
Declaration asmdeclnsvc Server Business logic and database access Net.Tcp 9110 Inter-server service communications on this port.
Declaration Builder asmdeclnbuildsvc Server Business logic and database access Net.Tcp 9125 Inter-server service communications on this port.
DEP asmdepsvc Server Business logic and database access Net.Tcp 9114 Inter-server service communications on this port.
Document Store asmdocumentstoresvc Server File system and database access for storing copies of documents. Net.Tcp 9126 Inter-server service communications on this port.
Entity Linking asmentitylinkingsvc Server Business logic and database access Net.Tcp 9120 Inter-server service communications on this port.
ETSF asmetsfsvc Server Business logic and database access Net.Tcp 9107 Inter-server service communications on this port.
Event processing asmepssvc Server Pluggable architecture which allows bespoke processes to be hosted and incorporated into Sequoia Any Ports are defined in the documentation that accompanies any bespoke plug-ins.
Gateway - CCSUK asmccsukgw Server Service that sends/receives messages from a CSP. Only enabled if required. Net.Msmq Tcp/Ip (external) Inter-server service communications on this port.
Communications with CCSUK
Gateway - CNS asmcnsgw Server Service that sends/receives messages from a CSP. Only enabled if required. Net.Msmq Http (external) Inter-server service communications on this port.
Communications with CCSUK
Gateway - Helios asmheliosgw Server Service that sends/receives message from an ASM hosted system, which forwards/returns messages from the CDS system. Http Web Services (external)
Web Sockets
Communications with Helios
Gateway - MCP asmmcpgw Server Service that sends/receives messages from a CSP. Only enabled if required. Net.Msmq Http (external) Inter-server service communications on this port.
Communications with MCP
Gateway - NCTS asmnctsgw Server Service that sends/receives messages from a CSP. Only enabled if required. Net.Msmq
Http (external)
Inter-server service communications on this port.
Communications with NCTS
Gateway - Pentant asmpentantgw Server Service that sends/receives messages from a CSP. Only enabled if required. Net.Msmq
Ftp (external)
Inter-server service communications on this port.
Communications with Pentant
Job asmjobsvc Server Business logic and database access Net.Tcp 9102 Inter-server service communications on this port.
Job Costing asmjobcostingsvc Server Business logic and database access Net.Tcp 9128 Inter-server service communications on this port.
Licence asmlicencesvc Server Retrieves and updates the Sequoia licence from ASM Net.Tcp 9118
9095
Inter-server service communications on this port.
List Service asmlistsvc Server Business logic and database access Net.Tcp 9103 Inter-server service communications on this port.
Long Running Process Host asmlrphsvc Server Administrative tasks or tasks which would otherwise have to be scheduled. Http (external) Downloads standing data updates from ASM
Lookup asmlookupsvc Server Provides standing data via the database and from Helios. Net.Tcp
Http Web Services (external)
9105
Message Logging Service asmmessagelogsvc Server Business logic and database access Net.Tcp 9108 Provides Message Log information for ASM Sequoia
Message Processing Engine asmmpesvc Server Business logic and database access Net.Tcp 9098 Inter-server service communications on this port.
Message Log
NCTS asmnctssvc Server Business logic and database access Net.Tcp 9127 Inter-server service communications on this port.
Orchestration Engine asmbpossvc Server Business logic and database access Net.Tcp
Net,Msmq
9101 Inter-server service communications on this port.
Publication asmpubsvc Server Pushes notifications out to subscribed clients / services Net.Tcp
XSockets
8001
8010
Client / server communications on these port
Reference Data asmreferencedatasvc Server Business logic and database access Net.Tcp 9106 Inter-server service communications on this port.
Report Engine asmreportsvc Server This service will create new instances of the Report Generator when needed to produce Sequoia reports. Net,Msmq
Net.Pipe
Inter-server service communications on this port.
Communicates with Report Generator.
Report Generator Server Instantiated by the Report Engine, contains the business logic for generating Sequoia Reports. Net.Pipe
Net.Msmq
Communicates with Report Engine
Communicates with Print Service
Print Service asmprintclient Server Facade for printers. Handles and queues the printing of reports depending on how the report is configured. Net.Msmq Receives data to be printed.
Service Monitor asmsmsvc Server Monitors services and restarts them if necessary. The service gathers logs and volumetrics and is responsible for ensuring that licence data is updated from ASM. Net.Tcp
Net.Tcp
Http (external)
Http (external)
Http (external)
9091
9092
Client / server communications on these ports
Uploads diagnostic logs to ASM
Uploads usage volumetrics to ASM
Downloads Sequoia Licence updates from ASM
Shipment asmshipmentsvc Server Business logic and database access Net.Tcp 9121 Inter-server service communications on this port.
Tariff asmtariffsvc Server Business logic and database access Net.Tcp
Http (external)
9113 Inter-server service communications on this port.
Downloads tariff updates from ASM
Transportation asmtranssvc Server Business logic and database access Net.Tcp 9123 Inter-server service communications on this port.
User asmusersvc Server Business logic and database access Net.Tcp 9109 Inter-server service communications on this port.
WCF Proxy asmwcfproxysvc Server Funnels WCF communications between client/server to reduce number of ports exposed by server. Net.Tcp 9099 The majority of client communications with server side components channelled through this endpoint.
Worksheet asmworksheetsvc Server Business logic and database access Net.Tcp 9104 Inter-server service communications on this port.

Architectural Diagram

Installation considerations

SQL Server Database

SQL server will require the addition of the Sequoia service account in the security context of the Sequoia databases. The service account must be granted rights to read/write and execute stored procedures for the Sequoia databases. The reason is that the Sequoia business services will need to interact with the Sequoia databases to persist and retrieve information. Some features of Sequoia (such as auto-generating reference numbers) rely on the ability to invoke a stored procedure to generate the requisite data.

Microsoft Distributed Transaction Coordinator

If the SQL server database is installed on a different machine to the Sequoia Server components, the distributed transaction coordinator on both machines must be configured with the same settings on both machines.

The example above shows DTC enabled and configured - it is important that the values in the DTC configuration on both machines match exactly. It is also important to ensure that the service is started on both machines.

File Locations

Sequoia stores files in different locations. These locations are configurable in the applications installer program.

Location Description
Document Store Location When server side reports are generated in Sequoia, a copy may or may not be printed, but a copy is generally stored. It is also possible to attach ad-hoc files (pdf's, word documents etc.) to things like Jobs within Sequoia. To prevent this data storage unnecessarily bloating the SequoiaDB database, the files are stored in this location.
Backing up files that are stored in this location is recommended, but is outside the scope of the Sequoia software.
Tariff Repository This is the location where the tariff service will store information that it downloads from ASM servers. This information could be the tariff raw data or it could be any of the accompanying documents.
This location does not need to be backed up.
Log File Repository All the services generate diagnostic log files. This file location is where the log files are saved. It is recommended that this is not a network location (as the latency could end up slowing down the Sequoia software).
This location does not need to be backed up.

Service Discovery

In order for the various components within the intranet to communicate with each other, they need to know which machine to address requests to. Sequoia takes a simple approach - defining a DNS entry for 'SequoiaServer' which defines the IP address of the machine hosting the server components. As long as all of the clients are able to resolve 'SequoiaServer' to a valid IP address, inter-process communications will occur.

Sequoia server configuration access

The configuration user interface is a snap-in to the Microsoft management console (MMC.exe) and needs to be run under the context of a user account which has elevated privileges and access to the Sequoia database in SQL Server.