<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?action=history&amp;feed=atom&amp;title=VEhub_Architecture</id>
	<title>VEhub Architecture - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?action=history&amp;feed=atom&amp;title=VEhub_Architecture"/>
	<link rel="alternate" type="text/html" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=VEhub_Architecture&amp;action=history"/>
	<updated>2026-07-01T13:14:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=VEhub_Architecture&amp;diff=15109&amp;oldid=prev</id>
		<title>Anw: Minor formatting change</title>
		<link rel="alternate" type="text/html" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=VEhub_Architecture&amp;diff=15109&amp;oldid=prev"/>
		<updated>2025-12-17T10:41:37Z</updated>

		<summary type="html">&lt;p&gt;Minor formatting change&lt;/p&gt;
&lt;a href=&quot;https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=VEhub_Architecture&amp;amp;diff=15109&amp;amp;oldid=11482&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Anw</name></author>
	</entry>
	<entry>
		<id>https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=VEhub_Architecture&amp;diff=11482&amp;oldid=prev</id>
		<title>Anw: Categorisation of pages</title>
		<link rel="alternate" type="text/html" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=VEhub_Architecture&amp;diff=11482&amp;oldid=prev"/>
		<updated>2025-02-28T15:15:54Z</updated>

		<summary type="html">&lt;p&gt;Categorisation of pages&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:15, 28 February 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l168&quot;&gt;Line 168:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 168:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;connectionStrings&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;connectionStrings&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:VEhub]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Anw</name></author>
	</entry>
	<entry>
		<id>https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=VEhub_Architecture&amp;diff=11481&amp;oldid=prev</id>
		<title>Anw: Initial creation</title>
		<link rel="alternate" type="text/html" href="https://calidusassist.adcservices.apteancloud.com/calidus-assist/OBS/index.php?title=VEhub_Architecture&amp;diff=11481&amp;oldid=prev"/>
		<updated>2025-02-28T15:15:25Z</updated>

		<summary type="html">&lt;p&gt;Initial creation&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Infrastructure ==&lt;br /&gt;
See http://obs-webdev:8036/index.php?title=Vehub_Environments for details such as IP addresses etc&lt;br /&gt;
&lt;br /&gt;
== Web Server ==&lt;br /&gt;
The following is a list of application specific components, a description of what they are and how theyinterface with other components.&lt;br /&gt;
&lt;br /&gt;
Windows Server 2012 R2&lt;br /&gt;
&lt;br /&gt;
The host operating system. Requires zip file support to unzip TCM software releases. Not OBS have limitedpermissions on the box.&lt;br /&gt;
&lt;br /&gt;
For external access see&lt;br /&gt;
http://obs-webdev:8036/index.php?title=Vehub_Environments &lt;br /&gt;
- This link includesVPN access details and RDP access details.&lt;br /&gt;
&lt;br /&gt;
=== VeHub ===&lt;br /&gt;
&lt;br /&gt;
For a list of OBS Logistics applications and access to them (including VeHub) see&lt;br /&gt;
http://10.43.6.50:8036/index.php?title=Vehub_Environments &lt;br /&gt;
- this link includes the address of theapplication and username/passwords etc. The application is installed at C:\inetpub\wwwroot\VeHub.UI&lt;br /&gt;
&lt;br /&gt;
=== NTFS (NT File System) Security Settings (Local Users &amp;amp; Groups) ===&lt;br /&gt;
&lt;br /&gt;
The server must be configured to grant access to the application directories to the &amp;lt;MACHINE-NAME&amp;gt;/Users group.&lt;br /&gt;
&lt;br /&gt;
=== IIS (Internet Information Services) 8.5 ===&lt;br /&gt;
&lt;br /&gt;
The Microsoft web server responsible for managing requests to the application and returning responsesconsisting of web pages.&lt;br /&gt;
&lt;br /&gt;
IIS delegates the work required respond to a request for a&lt;br /&gt;
&lt;br /&gt;
ASP.Net &lt;br /&gt;
page to the ‘&lt;br /&gt;
ASP.Net &lt;br /&gt;
WorkerProcess’ (refer to APPENDIX A). The Worker Process constitutes the page for IIS to respond back to the user.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Someone needs to be responsible for monitoring the status of IIS and sending appropriate alerts if itis stopped and cannot be automatically restarted.&lt;br /&gt;
&lt;br /&gt;
There is 1 website setup for VeHub and this points to the application directory.&lt;br /&gt;
&lt;br /&gt;
The application is configure to run on port 2080&lt;br /&gt;
&lt;br /&gt;
The application has its own Application Pool which is used to manage connections between the applicationand the&lt;br /&gt;
CALIDUS&lt;br /&gt;
VeHub database.&lt;br /&gt;
&lt;br /&gt;
=== Microsoft .NET Framework 4.5 ===&lt;br /&gt;
&lt;br /&gt;
This component provides the software layer to run&lt;br /&gt;
ASP.NET &lt;br /&gt;
applications. More generally it includeseverything needed to run applications developed using the .NET Framework. VeHub currently utilises version4.5 of the .NET Framework&lt;br /&gt;
SQL Net Client&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
CALIDUS&lt;br /&gt;
VeHub SQL database hosted on the Linux server.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
=== Microsoft Data Access Components ===&lt;br /&gt;
This component provides the framework to allow applications to access any data store.&lt;br /&gt;
The MDAC architecture may be viewed as three layers: a programming interface layer, consisting of&lt;br /&gt;
ADO.Net&lt;br /&gt;
&lt;br /&gt;
(refer to fig. 1) the database access layer developed by database vendors (SQL*Net), and the databaseitself (SQL).&lt;br /&gt;
&lt;br /&gt;
=== Event Viewers and Logs ===&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
The system defines three log sources, &amp;quot;System&amp;quot;, &amp;quot;Application&amp;quot;, and &amp;quot;Security&amp;quot;.&lt;br /&gt;
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)&lt;br /&gt;
The VeHub application audits various events to the standard event log.&lt;br /&gt;
[Screenshot needed]&lt;br /&gt;
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 &amp;quot;Terminal Container Management&amp;quot;&lt;br /&gt;
In terms of support call investigation, checking the event viewer for issues is a good place to start.&lt;br /&gt;
&lt;br /&gt;
=== Application Configuration &amp;amp; Management ===&lt;br /&gt;
The following is a list of items that relate to application configuration and management&lt;br /&gt;
&lt;br /&gt;
==== Web.config ====&lt;br /&gt;
This file is used to maintain application-specific settings.&lt;br /&gt;
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:&lt;br /&gt;
Application Specific Configuration&lt;br /&gt;
webpages:Version - Web Pages version number&lt;br /&gt;
webpages:Enabled - ???&lt;br /&gt;
PreserveLoginUrl - ???&lt;br /&gt;
ClientValidationEnabled - Client validation should be enabled and working&lt;br /&gt;
UnobtrusiveJavaScriptEnabled - Use Unobtrusive Ajax on client pages&lt;br /&gt;
NewCustomerAlertEmailsTo - a comma seperated list of all emails to send alerts to when a newcustomer signs up&lt;br /&gt;
PdfWebApi - Url to Pdf Web API&lt;br /&gt;
HtmlGenApi - Url to Html Generated API&lt;br /&gt;
reCaptchaPublicKey - Public key for reCaptcha validation&lt;br /&gt;
reCaptchaPrivateKey - Private key for reCaptcha validation&lt;br /&gt;
Session&lt;br /&gt;
Framework&lt;br /&gt;
Target Framework Version - i.e. 4.5.&lt;br /&gt;
&amp;lt;&lt;br /&gt;
httpRuntime&lt;br /&gt;
targetFramework&lt;br /&gt;
=&lt;br /&gt;
&amp;quot;4.5&amp;quot;&lt;br /&gt;
/&amp;gt;&lt;br /&gt;
SQL Connectivity&lt;br /&gt;
Connection Strings&lt;br /&gt;
&lt;br /&gt;
===ASP.NET Configuration in IIS===&lt;br /&gt;
This provides a mechanism to configure the application settings.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Login / Authentication===&lt;br /&gt;
The application requires a company, username and password for a given user to access it.&lt;br /&gt;
&lt;br /&gt;
===Web Browsers===&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;&lt;br /&gt;
sessionState&lt;br /&gt;
mode&lt;br /&gt;
=&lt;br /&gt;
&amp;quot;InProc&amp;quot;&lt;br /&gt;
customProvider&lt;br /&gt;
=&lt;br /&gt;
&amp;quot;DefaultSessionProvider&amp;quot;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;&lt;br /&gt;
providers&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;&lt;br /&gt;
add&lt;br /&gt;
name&lt;br /&gt;
=&lt;br /&gt;
&amp;quot;DefaultSessionProvider&amp;quot;&lt;br /&gt;
type&lt;br /&gt;
=&lt;br /&gt;
&amp;quot;System.Web.Providers.DefaultSessionStateProvider, System.&lt;br /&gt;
&amp;lt;/&lt;br /&gt;
providers&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/&lt;br /&gt;
sessionState&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;&lt;br /&gt;
connectionStrings&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;&lt;br /&gt;
add&lt;br /&gt;
name&lt;br /&gt;
=&lt;br /&gt;
&amp;quot;Remote&amp;quot;&lt;br /&gt;
providerName&lt;br /&gt;
=&lt;br /&gt;
&amp;quot;System.Data.SqlClient&amp;quot;&lt;br /&gt;
connectionString&lt;br /&gt;
=&lt;br /&gt;
&amp;quot;Password=Password&lt;br /&gt;
&amp;lt;&lt;br /&gt;
add&lt;br /&gt;
name&lt;br /&gt;
=&lt;br /&gt;
&amp;quot;Local&amp;quot;&lt;br /&gt;
providerName&lt;br /&gt;
=&lt;br /&gt;
&amp;quot;System.Data.SqlClient&amp;quot;&lt;br /&gt;
connectionString&lt;br /&gt;
=&lt;br /&gt;
&amp;quot;Password=Password123$;&lt;br /&gt;
&amp;lt;/&lt;br /&gt;
connectionStrings&lt;br /&gt;
&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anw</name></author>
	</entry>
</feed>