VEhub Architecture: Difference between revisions

From Calidus HUB
(Initial creation)
 
m (Minor formatting change)
 
(One intermediate revision by the same user not shown)
Line 48: Line 48:
=== Microsoft .NET Framework 4.5 ===
=== Microsoft .NET Framework 4.5 ===


This component provides the software layer to run
This component provides the software layer to run ASP.NET applications. More generally it includes everything needed to run applications developed using the .NET Framework. VeHub currently utilises version 4.5 of the .NET Framework SQL Net Client.
ASP.NET  
applications. More generally it includeseverything needed to run applications developed using the .NET Framework. VeHub currently utilises version4.5 of the .NET Framework
SQL Net Client


This SQL component enables client connections to a remote SQL database. To optimize performance theapplication uses a pool of established database connections. The web server acts as the client connecting tothe
CALIDUS
VeHub SQL database hosted on the Linux server.


VeHub is installed with its own individual SQL client rather than relying on specific versions to be installedon the server that it is put on. This removes associated issues with DLL versions. The managed client doesnot rely on the tnsnames.ora file containing the correct connection definition and as such manages thatitself by defining it in the web.config file of the application. An example of the configuration section is below
This SQL component enables client connections to a remote SQL database. To optimize performance the application uses a pool of established database connections. The web server acts as the client connecting to the CALIDUS VeHub SQL database hosted on the Linux server.
 
VeHub is installed with its own individual SQL client rather than relying on specific versions to be installed on the server that it is put on. This removes associated issues with DLL versions. The managed client does not rely on the tnsnames ora file containing the correct connection definition and as such manages that itself by defining it in the web config file of the application. An example of the configuration section is below
 


=== Microsoft Data Access Components ===
=== Microsoft Data Access Components ===
This component provides the framework to allow applications to access any data store.
This component provides the framework to allow applications to access any data store.
The MDAC architecture may be viewed as three layers: a programming interface layer, consisting of
The MDAC architecture may be viewed as three layers: a programming interface layer, consisting of ADO.Net (refer to fig. 1) the database access layer developed by database vendors (SQL*Net), and the database itself (SQL).
ADO.Net


(refer to fig. 1) the database access layer developed by database vendors (SQL*Net), and the databaseitself (SQL).
=== Event Viewers and Logs ===
Event Viewer is a component of the Microsoft's Windows operating system that lets administrators and users view and search the event logs on a local or remote machine.


=== Event Viewers and Logs ===
Applications and operating system components can make use of this centralized log service to report events that have taken place, such as a failure to start a component or complete an action.
Event Viewer is a component of the Microsoft's Windows operating system that lets administrators andusers view and search the event logs on a local or remote machine.
Applications and operating system components can make use of this centralized log service to report eventsthat have taken place, such as a failure to start a component or complete an action.
The system defines three log sources, "System", "Application", and "Security".
The system defines three log sources, "System", "Application", and "Security".
The System and Application log sources are intended for use by the Windows operating system andWindows applications respectively; the Security log source, however, is only directly writable by the LocalSecurity Authority Subsystem Service (lsass.exe)
 
The System and Application log sources are intended for use by the Windows operating system and Windows applications respectively; the Security log source, however, is only directly writable by the Local Security Authority Subsystem Service (lsass.exe)
The VeHub application audits various events to the standard event log.
The VeHub application audits various events to the standard event log.
[Screenshot needed]
[Screenshot needed]
The events need to be periodically monitored and any items for investigation passed onto the VeHubSupport team. The events can be manually viewed using the Microsoft Event Viewer, this utility can bestarted from the ‘Administrative Tools’ menu option within ‘Control Panel’. All events are logged as type‘Application’ with source of "Terminal Container Management"
 
The events need to be periodically monitored and any items for investigation passed onto the VeHub Support team. The events can be manually viewed using the Microsoft Event Viewer, this utility can be started from the 'Administrative Tools' menu option within 'Control Panel'. All events are logged as type 'Application' with source of "Terminal Container Management"
 
In terms of support call investigation, checking the event viewer for issues is a good place to start.
In terms of support call investigation, checking the event viewer for issues is a good place to start.


=== Application Configuration & Management ===
=== Application Configuration & Management ===
The following is a list of items that relate to application configuration and management
The following is a list of items that relate to application configuration and management


==== Web.config ====
 
==== Web config ====
This file is used to maintain application-specific settings.
This file is used to maintain application-specific settings.
The file is held in the application install folder. Generally any changes to this file will be delivered in the formof step-by-step instructions of changes rather than the file itself. The settings contained in this file include:
The file is held in the application install folder. Generally any changes to this file will be delivered in the form of step-by-step instructions of changes rather than the file itself. The settings contained in this file include:
 
Application Specific Configuration
Application Specific Configuration
webpages:Version - Web Pages version number
webpages:Version - Web Pages version number
webpages:Enabled - ???
webpages:Enabled - ???
PreserveLoginUrl - ???
PreserveLoginUrl - ???
ClientValidationEnabled - Client validation should be enabled and working
ClientValidationEnabled - Client validation should be enabled and working
UnobtrusiveJavaScriptEnabled - Use Unobtrusive Ajax on client pages
UnobtrusiveJavaScriptEnabled - Use Unobtrusive Ajax on client pages
NewCustomerAlertEmailsTo - a comma seperated list of all emails to send alerts to when a newcustomer signs up
NewCustomerAlertEmailsTo - a comma seperated list of all emails to send alerts to when a newcustomer signs up
PdfWebApi - Url to Pdf Web API
PdfWebApi - Url to Pdf Web API
HtmlGenApi - Url to Html Generated API
HtmlGenApi - Url to Html Generated API
reCaptchaPublicKey - Public key for reCaptcha validation
reCaptchaPublicKey - Public key for reCaptcha validation
reCaptchaPrivateKey - Private key for reCaptcha validation
reCaptchaPrivateKey - Private key for reCaptcha validation
Session
Session
Framework
Framework Target Framework Version - i.e. 4.5.
Target Framework Version - i.e. 4.5.
 
<
<httpRuntime targetFramework="4.5"/>
httpRuntime
 
targetFramework
SQL Connectivity - Connection Strings
=
 
"4.5"
/>
SQL Connectivity
Connection Strings


===ASP.NET Configuration in IIS===
===ASP.NET Configuration in IIS===
This provides a mechanism to configure the application settings.
This provides a mechanism to configure the application settings.
Changes made using this feature will update the web.config file. Selecting one of the various categories (seescreenshot ) will allow settings relating to the category to be updated in the web.config file.
Changes made using this feature will update the web config file. Selecting one of the various categories (see screenshot ) will allow settings relating to the category to be updated in the web config file.


===Login / Authentication===
===Login / Authentication===
The application requires a company, username and password for a given user to access it.
The application requires a company, username and password for a given user to access it.


===Web Browsers===
===Web Browsers===
The Admin application is designed to run in a modern web browser such as Firefox, Chrome or Edge. Theapplication requires JavaScript and cookies to be enabled.
The Admin application is designed to run in a modern web browser such as Firefox, Chrome or Edge. The application requires JavaScript and cookies to be enabled.
<
 
sessionState
<pre>
mode
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
=
<providers>
"InProc"
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.
customProvider
</providers>
=
</sessionState>
"DefaultSessionProvider"
<connectionStrings>
>
<add name="Remote"providerName="System.Data.SqlClient" connectionString="Password=Password
<
<add name="Local"providerName="System.Data.SqlClient" connectionString="Password=Password123$;
providers
</connectionStrings>
>
</pre>
<
 
add
 
name
[[Category:VEhub]]
=
"DefaultSessionProvider"
type
=
"System.Web.Providers.DefaultSessionStateProvider, System.
</
providers
>
</
sessionState
>
<
connectionStrings
>
<
add
name
=
"Remote"
providerName
=
"System.Data.SqlClient"
connectionString
=
"Password=Password
<
add
name
=
"Local"
providerName
=
"System.Data.SqlClient"
connectionString
=
"Password=Password123$;
</
connectionStrings
>

Latest revision as of 11:41, 17 December 2025

Infrastructure

See http://obs-webdev:8036/index.php?title=Vehub_Environments for details such as IP addresses etc

Web Server

The following is a list of application specific components, a description of what they are and how theyinterface with other components.

Windows Server 2012 R2

The host operating system. Requires zip file support to unzip TCM software releases. Not OBS have limitedpermissions on the box.

For external access see http://obs-webdev:8036/index.php?title=Vehub_Environments - This link includesVPN access details and RDP access details.

VeHub

For a list of OBS Logistics applications and access to them (including VeHub) see http://10.43.6.50:8036/index.php?title=Vehub_Environments - this link includes the address of theapplication and username/passwords etc. The application is installed at C:\inetpub\wwwroot\VeHub.UI

NTFS (NT File System) Security Settings (Local Users & Groups)

The server must be configured to grant access to the application directories to the <MACHINE-NAME>/Users group.

IIS (Internet Information Services) 8.5

The Microsoft web server responsible for managing requests to the application and returning responsesconsisting of web pages.

IIS delegates the work required respond to a request for a

ASP.Net page to the ‘ ASP.Net WorkerProcess’ (refer to APPENDIX A). The Worker Process constitutes the page for IIS to respond back to the user.

IIS must remain active. If it is stopped for any reason the application will no longer be available, all users areredirected to the ‘Page Unavailable’ page.

Someone needs to be responsible for monitoring the status of IIS and sending appropriate alerts if itis stopped and cannot be automatically restarted.

There is 1 website setup for VeHub and this points to the application directory.

The application is configure to run on port 2080

The application has its own Application Pool which is used to manage connections between the applicationand the CALIDUS VeHub database.

Microsoft .NET Framework 4.5

This component provides the software layer to run ASP.NET applications. More generally it includes everything needed to run applications developed using the .NET Framework. VeHub currently utilises version 4.5 of the .NET Framework SQL Net Client.


This SQL component enables client connections to a remote SQL database. To optimize performance the application uses a pool of established database connections. The web server acts as the client connecting to the CALIDUS VeHub SQL database hosted on the Linux server.

VeHub is installed with its own individual SQL client rather than relying on specific versions to be installed on the server that it is put on. This removes associated issues with DLL versions. The managed client does not rely on the tnsnames ora file containing the correct connection definition and as such manages that itself by defining it in the web config file of the application. An example of the configuration section is below


Microsoft Data Access Components

This component provides the framework to allow applications to access any data store. The MDAC architecture may be viewed as three layers: a programming interface layer, consisting of ADO.Net (refer to fig. 1) the database access layer developed by database vendors (SQL*Net), and the database itself (SQL).

Event Viewers and Logs

Event Viewer is a component of the Microsoft's Windows operating system that lets administrators and users view and search the event logs on a local or remote machine.

Applications and operating system components can make use of this centralized log service to report events that have taken place, such as a failure to start a component or complete an action. The system defines three log sources, "System", "Application", and "Security".

The System and Application log sources are intended for use by the Windows operating system and Windows applications respectively; the Security log source, however, is only directly writable by the Local Security Authority Subsystem Service (lsass.exe) The VeHub application audits various events to the standard event log.

[Screenshot needed]

The events need to be periodically monitored and any items for investigation passed onto the VeHub Support team. The events can be manually viewed using the Microsoft Event Viewer, this utility can be started from the 'Administrative Tools' menu option within 'Control Panel'. All events are logged as type 'Application' with source of "Terminal Container Management"

In terms of support call investigation, checking the event viewer for issues is a good place to start.


Application Configuration & Management

The following is a list of items that relate to application configuration and management


Web config

This file is used to maintain application-specific settings. The file is held in the application install folder. Generally any changes to this file will be delivered in the form of step-by-step instructions of changes rather than the file itself. The settings contained in this file include:

Application Specific Configuration

webpages:Version - Web Pages version number

webpages:Enabled - ???

PreserveLoginUrl - ???

ClientValidationEnabled - Client validation should be enabled and working

UnobtrusiveJavaScriptEnabled - Use Unobtrusive Ajax on client pages

NewCustomerAlertEmailsTo - a comma seperated list of all emails to send alerts to when a newcustomer signs up

PdfWebApi - Url to Pdf Web API

HtmlGenApi - Url to Html Generated API

reCaptchaPublicKey - Public key for reCaptcha validation

reCaptchaPrivateKey - Private key for reCaptcha validation Session Framework Target Framework Version - i.e. 4.5.

<httpRuntime targetFramework="4.5"/>

SQL Connectivity - Connection Strings


ASP.NET Configuration in IIS

This provides a mechanism to configure the application settings. Changes made using this feature will update the web config file. Selecting one of the various categories (see screenshot ) will allow settings relating to the category to be updated in the web config file.

Login / Authentication

The application requires a company, username and password for a given user to access it.


Web Browsers

The Admin application is designed to run in a modern web browser such as Firefox, Chrome or Edge. The application requires JavaScript and cookies to be enabled.

<sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.
</providers>
</sessionState>
<connectionStrings>
<add name="Remote"providerName="System.Data.SqlClient" connectionString="Password=Password
<add name="Local"providerName="System.Data.SqlClient" connectionString="Password=Password123$;
</connectionStrings>