Insurance
Technical ArchitectureVersion 1.103/12/2015
Insurance
Technical Architecture
Version1.1
03/12/2015
Page 1 of 22
Insurance
Technical ArchitectureVersion 1.103/12/2015
Contents
1Project plan
1.1PPP005: Insurance application re-development
2Service design
2.1Service description
2.2Resilience measures
2.3Disaster recovery category
2.4Backup policy
2.5Security issues
2.6Authentication and authorisation
2.7External access
2.8Interfaces and dependencies
2.9Exceptions and other issues
3Service specification
3.1URLs, certificates and channels
3.2Servers
3.3Users, roles and groups
3.4Data sources
3.5Firewall configuration
3.6Scheduled tasks
4Service operation
4.1Support contacts
4.2Startup and shutdown steps
4.3Log files
4.4Configuration files
4.5Patching
5Common procedures
5.1e.g. Create a new user
6Disaster recovery plan
Appendix AOld project plans
Version control
Date / Version / Author / Sections / Amendments24/08/2015 / 1.0 / Gordon McKenna / All / Initial draft.
03/12/2015 / 1.1 / Gordon McKenna / 2 / Updated technical diagram, added dsg_browser
1Project plan
1.1PPP005: Insurance application re-development
1.1.1Stakeholders
Role / Unit / NameTechnical Architect / Development Technology / Gordon McKenna
Peer Reviewer / Development Technology / Mark Lang
Project Manager / Project Services / Sally Hayward
Production Representative / Production Management
ITI Representative / IT Infrastructure
1.1.2Key deliverables
Deliverable / Business benefitOnline application to capture insurance applications for travel, vehicle and transit. / The user experience for staff and students will be enhanced by the ability to correct/change their insurance requirements without the need for duplication.
Online application to administer insurance applications, in particular to maintain master data, search and extract data. / The Insurance Department will be able to respond to information requests more quickly and accurately, particularly in the event of an incident.
A new ColdFusion/Oracle application will be developed to replace the existing MS Access database. / The application will be in a supported development language and on supported infrastructure
Support for the application will be transferred to IS Apps / The application will become part of the supported suite of Finance systems so can be more easily recovered in the case of an outage/disaster
1.1.3Technical commitments
Commitment / Y/N / Justification (if not)Will the project conduct a load test? / N / The application is unlikely to be heavily used.
Will the project conduct a DR test? / N / This application runs on shared application and database infrastructure so in the event of a disaster will be recovered along with other applications hosted there.
Has a service restart been tested? / Y / This application runs on shared application and database infrastructure so will inherit any patching arrangements already established on this infrastructure.
1.1.4Summary of technical changes
The existing MS Access database application will be replaced by a ColdFusion/Oracle application hosted on shared infrastructure. Support will be transferred from Finance to IS Apps.
1.1.5Estimated costs
Item / Development / Test / Livee.g. hardware / £ / £ / £
e.g. disk on SAN / £ / £ / £
e.g. backup / £ / £ / £
e.g. licences / £ / £ / £
e.g. maintenance / £ / £ / £
e.g. support / £ / £ / £
Subtotals / £ / £ / £
Total / £
2Service design
2.1Service description
This service enables University staff and students to apply for insurance cover for travel, vehicle or transit. The service consists of an Apache/ColdFusion application connecting to an Oracle database, and is hosted on standard shared corporate infrastructure. The service also uses a separate ColdFusion datasource to query the organisational hierarchy.
The business has agreed the url for the site as
The site is authenticated by EASE.
Bamboo is used for deployment to all environments.
2.1.1Key technologies
Technology / Version / New or existingColdFusion / 10 / Existing
Apache / 2.2 / Existing
Oracle RDBMS / 11.2.0.3 / Existing
Bamboo / 4.2.1 / Existing
Netscaler Load Balancing / n/a / Existing
2.1.2Technical diagrams
2.2Resilience measures
The application tier (including the development environment) is setup in an active/active configuration accessed via the NetScaler load balancer. The application will therefore survive the loss of a single application server without manual intervention.
The databases are protected by Oracle DataGuard, so that redo logs from the primary database are shipped with no delay to the standby database. In case of failure of the primary node, the primary database can be switched over to the standby node. A switchover can also be initiated for maintenance purposes.
2.3Disaster recovery category
Application / CategoryInsurance / 3
2.4Backup policy
Component / Variance from backup policyOperating System / None (standard backup)
Database / None (standard backup)
File system / None (standard backup)
Other / None (standard backup)
2.5Security issues
None.
2.6Authentication and authorisation
The application is authenticated by EASE. Authorisation is handled within the application, where users are assigned different roles according to their function.
2.7External access
Name / Contact details / Access method / Description of needNone
2.8Interfaces and dependencies
The application consumes organisational hierarchy information through a separate ColdFusion datasource in order to validate Schools information.
Uploaded documents are stored on a remote file share.
2.9Exceptions and other issues
None
3Service specification
3.1URLs, certificates and channels
3.1.1Development
Application / URLInsurance /
3.1.2Test
Application / URLInsurance /
3.1.3Live
Application / URLInsurance /
3.1.4Certificates
Certificate CN / CA / Server / Locationwww-dev.insurance.finance.ed.ac.uk / QuoVadis / cflinux-kb1-dev/cflinux-at1-dev / /usr/local/certs/www-dev.insurance.finance.ed.ac.uk
www-test.insurance.finance.ed.ac.uk / QuoVadis / cflinux-kb1-test/cflinux-at1-test / /usr/local/certs/www-test.insurance.finance.ed.ac.uk
/ QuoVadis / cflinux-kb1-live/cflinux-at1-live / /usr/local/certs/
3.1.5MyED channels
Channel name / Type / Description3.2Servers
3.2.1Application servers
Development / Test / LiveServers / cflinux-kb1-dev/cflinux-at1-dev / cflinux-kb1-test/cflinux-at1-test / cflinux-kb1-live/cflinux-at1-live
Physical / Virtual / Virtual / Virtual / Virtual
Shared / Dedicated / Shared / Shared / Shared
CPU cores / 2 / 2 / 2
Memory / 8Gb / 16Gb / 16Gb
OS / linux / linux / linux
Software and versions / Apache 2.2, ColdFusion 10 / Apache 2.2, ColdFusion 10 / Apache 2.2, ColdFusion 10
Dependencies / EASE / EASE / EASE
3.2.2Database servers
Development / Test / LiveServer / oradevkb/oradevat / oratestat2/oratestkb2 / oraat2/orakb2
Physical / Virtual / Physical / Physical / physical
Shared / Dedicated / Shared / Shared / Shared
CPU cores / 64 / 64 / 64
Memory / 384Gb / 384Gb / 384Gb
OS / linux / linux / linux
Instance / GENDEV / GENTEST / GENLIVE
Database version / 11.2.0.3 / 11.2.0.3 / 11.2.0.3
Dependencies / e.g. Java, packages
3.2.3File systems
Server names / Volume / Size / PurposeCF Application Servers / /u01/software/insurance / 50MB / Application code
CF Application Servers / /remote/insurance-content
3.2.4File shares
Server names / Shared path / Share namefin-fs-dev / /remote/insurance-content / //fin-fs-dev/insurance-content
fin-fs-test / /remote/insurance-content / //fin-fs-test/insurance-content
fin-fs-live / /remote/insurance-content / //fin-fs-live/insurance-content
Share name / Users / groups / Permissions
//fin-fs-dev/insurance-content / cfadmin
//fin-fs-test/insurance-content / cfadmin
//fin-fs-live/insurance-content / cfadmin
3.3Users, roles and groups
3.3.1Unix
Username / Home directory / Descriptioninsurance / /home/insurance / Application code owner
cfadmin / /home/cfadmin / ColdFusion administrator, used for writing to remote share
Group / Members / Description
insurance / insurance, cfadmin / Application code owner
Application Directory / Owner / Description
/u01/software/insurance / insurance / Location of application code
3.3.2Oracle
Instance / Username / Roles / DescriptionGEN / insurance / application / Application table owner
insuranceuser / insurance_user / Application user
insurancebrowser / insurance_browser / Application browser
insuranceadmin / insurance_admin / application administrator
dsginsurance / dsg_insurance_browser / For developers
Instance / OPS$ username / Roles / Description
Instance / Database role / Description
GEN / application / Application table owner
GEN / insurance_admin / Application administrator
GEN / insurance_browser / Application browser (i.e. select only)
GEN / insurance_user / Application user (i.e. any privileges)
GEN / dsg_insurance_browser / For developers (i.e. select only)
Instance / Schema / Tablespace
GEN / insurance / insurance_data
GEN / insurance / insurance_index
Instance / DB link name / Owner / Source instance / Source user
3.4Data sources
3.4.1ColdFusion
Data source name / insurance / orgbrowserCF instance / finance / finance
Username / insurance / orgbrowser
Database / GEN / APPS
Additional settings
3.5Firewall configuration
3.5.1Drum firewall
Source / Destination / Port / ProtocolNone
3.5.2Central firewall
Source / Destination / Port / Protocolcflinux-kb1-dev/cflinux-at1-dev / oradevkb/oradevat / 1826 / SQLNet
cflinux-kb1-test/cflinux-at1-test / oratestkb1/oratestat1 / 1826 / SQLNet
cflinux-kb1-live/cflinux-at1-live / orakb1/oraat1 / 1826 / SQLNet
edlan / cflinux-kb1-dev/cflinux-at1-dev
cflinux-kb1-test/cflinux-at1-test
cflinux-kb1-live/cflinux-at1-live / 443 / https
3.6Scheduled tasks
3.6.1Unix cron jobs
Server / Account / Script name / Schedule / DescriptionNone
3.6.2Windows scheduled tasks
Server / Run as / Task name / Schedule / DescriptionNone
3.6.3Oracle DBMS jobs
Instance / Owner / Job name / Schedule / DescriptionNone
3.6.4SQL Server jobs
Server / Job name / Schedule / DescriptionNone
4Service operation
4.1Support contacts
Vendor / Contact details / Required informationNone
4.2Startup and shutdown steps
The application is hosted on existing shared Coldfusion and Oracle infrastructure therefore all startup and shutdown procedures follow the current procedures on that infrastructure.
4.2.1Shutdown
Use standard Oracle procedures, but remember that the INSURANCE schema is hosted on the GEN database, and the application is hosted on the FINANCE instance. Both of these include other database schemas and applicationsand so cannot be shutdown or started up in isolation.
4.2.2Start up
Use standard Oracle procedures, but remember that the INSURANCE schema is hosted on the GEN database, and the application is hosted on the FINANCE instance. Both of these include other database schemas and applications and so cannot be shutdown or started up in isolation.
4.3Log files
Log files are available in /etc/httpd/logs on the application server, insurance-error_log and insurance-access_log.
4.4Configuration files
Virtual hosts are configured by /etc/httpd/conf/httpd.conf on the application servers.
4.5Patching
Patches are applied using the Continuous Integration deployment method which uses Bamboo.
5Common procedures
5.1e.g. Create a new user
6Disaster recovery plan
The application is active/active and the database is protected by Oracle Data Guard, which provides easy failover in case of failure of the primary database. The service is therefore able to withstand the loss of a single datacentre and in the event of a disaster on one site services can be brought up on the other datacentre.
Appendix AOld project plans
Place old project plans here in reverse chronological order (i.e. newest project at the top).
Page 1 of 22