Technology
Cortex is built on Windows 2003 server and has been built using the Microsoft .NET
framework v2.0. It consists of an ASP.NET web application, various ASP.NET web services
and windows services.
Simple Architecture overview
Cortex User Interface (CortexWeb)
Cortex provides a single unified interface providing both system administration
and delegated administration to resellers and end-customers. The web application
has three main methods of integration with other Cortex components:
- SQL Database - for configuration, users, customers, auditing and reporting.
- Web Services - for real time interaction with Active Directory and other hosted
services.
- Provisioning Engine - via MSMQ, provisioning requests are dispatched to the provisioning
engine.
The Cortex web application is loosely coupled with the other Cortex components.
This loose coupling provides several security benefits, as the web server has no
dependency on Active Directory it can essentially operate outside of the managed
domain. The website can be locked down and run with minimal administrative permissions
while still allowing the Cortex system to complete administrative tasks.
Cortex System Databases(CortexSQL)
SQL Server 2005 provides the backbone of the Cortex system. The database stores
configuration information for all services provisioned by Cortex, as well as all
customer and user details. The SQL database also acts as a cache mechanism for Active
Directory ensuring rapid user response without the need for slower AD queries.
The Cortex databases are also used to store logging and auditing information for
all provisioning transactions that pass through the system.
Cortex Provisioning Engine
The Cortex provisioning engine runs as a Windows NT Service. It monitors one or
more provisioning queues for provisioning requests. When a request is received,
it is passed through a set of provisioning rules which determine which actions are
required to complete the provisioning.
The rules are soft and have been designed to be easily customised using a simple
windows based GUI. The GUI also provides a simple means of understanding specific
provisioning processes which is helpful for problem diagnosis.
Each provisioning action has been designed to perform a reusable piece of work,
typically associated with provisioning applications. Example actions would include:
- Directory Create User - to create an Active Directory user.
- Directory Create Security Group - to create a security group in Active Directory.
- FileSystem Create Folder - to create a folder in a file system.
- Exchange Create Address List - to create an address list in Microsoft Exchange.
- Run Command - to shell an executable.
- Run Script - to run a visual basic script.
All Cortex provisioning processes are built using provisioning actions. This allows
provisioning processes to not only be set-up quickly with little coding, but also
GIVES the service provider with visibility of the processes being executed in their
environment.
Cortex is supplied with well over 100 provisioning actions. For more information
on how Cortex can be customised visit the section on
adding support for services using the service development kit.
Active Directory Web Service (ADWS)
The Active Directory Web Service provides a secure and simple interface to Active
Directory. The Cortex website uses this service to perform real time tasks such
as user authentication and password expiry status
Reporting
Cortex utilises Microsoft SQL Server Reporting Services to deliver usage reporting
capability through the Cortex user interface. Cortex interacts directly with the
Reporting Services Web Service interface and allows controlled publishing of reports
to all users of the Cortex system.