Contents
Introduction. 1
Framework Namespace. 1
Port Number Base. 1
OS Users & Groups. 1
File System.. 1
Message Queues (MSMQ). 1
Windows Services. 1
Web Server. 1
Port Numbers. 1
Database. 1
Introduction
This page describes how the framework physically exists upon
the operating system.
A Framework instance is configured with a namespace, the
default being “SpludlowV1”, used to keep resources on a host separated from
other instances.
This is used for installing future version upgrades in
parallel before they go live.
ADVANCED: The namespace can be used for testing modified
versions in parallel.
Port numbers are used, by the Framework, for WCF TCP
servers.
The default V1 base port number is 32100. This is following
the pattern 32V00, where V is the last digit of the version number. Version 2
will have a base number of 32200. So each instance has 100 port number blocks
available V1 would have 32100 – 32199.
NOTE: If this port number arrangement clashes with something
else on your host then use the overloaded version of the setup “MakeFile”
method.
The Framework requires 2 users and a security group be
available.
·
SpludlowUser Standard User that code will run as on the web
service and service process.
·
SpludlowAdmin Administrator User that the Admin Web Service will
run as this to perform application pool and service process operations.
·
SpludlowGroup Security Group that Framework’s users are a member
of. Developers can also be added to this group in test environments.
All host resources used by the Framework; file system, database,
message queues, must have permission for “SpludlowGroup” to access them.
“SpludlowAdmin” should be a member of the local
Administrators group on each host.
In a Windows Domain you can have these as domain users, this
will make it much easier when assigning permissions. In a workgroup you will
have to set the accounts up separately on each host.
WARNING: In a Windows Domain the “SpludlowAdmin” account
should be a standard domain user, belonging to individual hosts Administrators
group, and not in the Domain Administrators group.
The Framework does not store any of these users’
credentials. They are only entered when creating a web application pool or
installing a service process, they are stored by the OS not the Framework. No
one will ever need these credentials except for setting up.
The framework uses the following directories.
C:\Program Files\SpludlowV1 Main
location of applications. The “SpludlowGroup” should have permission to modify
this folder.
C:\Program Files\SpludlowV1 Admin This directory only
contains the Admin Web Service; it should be left with the default Program
Files permissions. It should not be possible for “SpludlowGroup” to modify this
directory.
C:\ProgramData\SpludlowV1 Configuration
and many other things are kept here, “SpludlowGroup” should have permission to
modify this folder.
If your code is doing things with the file system make sure
“SpludlowGroup” is assigned permissions to the directory.
The Framework requires a “Sys” and “Run” message queue on
all hosts with a “Log” queue on the master. A queue should also exist on each
router host for remote networks, all prefixed with “Route”, for example;
“Route.MyCompNet”. User defined queues may also be used.
Within the network configuration record there is a
“QueueNamespace” column this is to keep the queues separate when more than one
version of the framework is running on a host. The default is “SpludlowV1” so
for example the “Run” queue is physically called “SpludlowV1.Run”.
All queues used by the framework must give permission for
“SpludlowGroup” to Send and Receive messages.
SECURITY NOTE: At present MSMQ permissions are not “locked
down” at install. The 2 users; “Everyone” and “ANONYMOUS LOGON” are given
“Send” permission when Spludlow Setup creates message queues. The message queue
will also be running in “Workgroup” mode (I still need to test exactly how MSMQ
permissions work in this mode).
As standard the framework uses one service process called
“Spludlow-ServiceV1” located at “C:\Program Files\SpludlowV1\Spludlow-Service\Spludlow-Service.exe”.
The service is set to start automatically and is dependent on MSMQ.
Spludlow-Service is a generic process that can be configured
to run many “Method” and “Server” tasks. Please refer to the Formats page for
details on configuring tasks:
·
“Method” – indefinitely run a method specified by ATM and
parameters.
·
“Server” – Easy way to run a .net WCF TCP server.
There may be situations where you may want to run more than
one Spludlow-Service on a host:
·
Isolation – Something crashes the process and you don’t want the
whole show to stop. If something crashes outside of .net it can bring the whole
process down, in this case Spludlow-Service. Something like an ODBC driver that
on rare occasion will crash, don’t matter just start the process again, nothing
else is running on the process.
·
Architecture – You may have to call a legacy 3rd party driver or
component that will only run in 32 bit. Rather than handicapping everything to
run in 32 bit you can just have the bits you need running 32 bit.
·
Permissions – For whatever reason the code you need to run needs
to run as a user other than “SpludlowUser”. You don’t want to run everything as
this other user just the code you need to.
“Spludlow-Service32V1” is supplied as a ready to go 32-bit
version that you can use if you need 32 bit.
The standard framework uses 2 web service applications; the
standard generic web service, and the Admin Web Service that can only start and
stop web application pools and service processes.
The Admin Web Service’s application pool runs under the
“SpludlowAdmin” user all other application pools should use the “SpludlowUser”
user.
The standard system requires access to a database from the
master host only. Configuration settings are and Logs are stored here.