Case study · Application development · Management consultancy
Configuring Infrastructure to Support 3rd Party Services
A hedge fund needed to extend its full investment management stack to a third party — with one shared codebase, configuration-driven differences, and no duplication of maintenance overhead. OmniVista delivered both instances from a single base.
1 codebase
Shared across both environments
2 instances
Independently configured
14 components
Fully replicated for third party

TW
Author
Tyler Weltz

Read time
4 minute read

Published
19 Mar 2026
Topics
AI and Data Science
Featured
Application Development
Cyber Security
Management Consultancy

Executive summary
Same functionality. Same codebase. A completely separate environment.
A hedge fund had an extensive process built within their investment management lifecycle including in-house and vendor applications. A need arose to start supplying the same services to a third party — with one development location that would allow enhancements to roll out to both in-house users and the third party simultaneously.
OmniVista analysed all features available to current users — custom logic, reports, visual effects, and scheduled processes — then outlined a plan to make all references configurable so the base code could be rolled to multiple locations with configuration files as the only differences. A hybrid team of consultants and hedge fund full-time personnel executed the complete application development lifecycle from design through implementation and testing.

Architecture
One shared codebase — two independently configured production environments
Rather than building separate codebases for each environment, OmniVista made all client-specific references configurable — so enhancements made to the base code automatically become available to both instances. Configuration files are the only difference between environments.
Dual-instance deployment model

Shared codebase All conditional logic configurable · No hardcoded references Hedge fund instance Client name · funds · parameters Third party instance 3rd party name · funds · parameters Config files only differ between environments

Why configuration-driven?

Enhancements deployed once to the shared base automatically reach both environments — no duplicate development work.

No client name or acronym appears in the third party’s instance — all references are passed in via configurable parameters.

Reports, emails, and scheduled processes all read from configuration to determine which environment’s branding and data to use.

Third party had previous experience with the workflow — no training required, enabling a faster go-live.

Scope
14 components replicated for the third party
The client required that the third party would have all the same functionality and processes as their current users. Every component of the investment management lifecycle was included in the split.
Trading System (CRIMS)
Charles River Investment Management System — used to build and execute trades and pass to settlement. A full new instance created for the third party including Middle Tier, Citrix, Bloomberg Server, and FIX Server.
Custom trade flow & allocation services
Custom services managing trade routing and allocation logic — all hardcoded client references replaced with configurable system parameters.
Holdings & trade loads
Data loads to and from the in-house data repository — scheduled processes updated to accept company name as a parameter, distinguishing which environment is running.
Reports & reconciliations
Microsoft Reporting Services reports rebuilt with conditional logic in the header controlled by a configuration parameter — so headers display correctly for whichever environment the report is run from.
Custom trade importer (C# DLL AddIn)
A C# DLL created as a CRIMS AddIn — hardcoded default fund references replaced with a System Parameter within the CRIMS environment, making the tool fully instance-aware.
Custom buttons & position views
Custom UI elements within CRIMS — including custom buttons and a custom position view — replicated and configured for the third party environment.
Scheduled processes & email triggers
SQL Agent Jobs and Windows Task Scheduler processes rebuilt with parameterised stored procedures. Email triggers updated to accept company name as a parameter — controlling the subject line per environment.
FIX connectivity, Bloomberg & Omgeo CTM
FIX Server, Bloomberg instances, and Omgeo CTM broker matching all configured for the new third party environment — including new CTM user setup, profiles, and end-to-end flow testing.

Implementation
From hardcoded to configurable — a systematic approach
The first step was identifying every instance where the client’s name was hardcoded — across database table values, custom logic, reports, and database objects. A stored procedure was created to search all database tables for the client’s name or acronym. Everything found was documented as a required change before any third party instance work began.
Phase 01
Audit & document
All hardcoded client references identified across code, reports, database objects, and configuration files. Every change documented before work began.
Phase 02
Parameterise
All hardcoded values replaced with configurable parameters — database objects, stored procedures, reports, and email triggers rebuilt to accept environment-specific inputs.
Phase 03
Provision
New third party instance created — CRIMS Middle Tier, Citrix environment, Bloomberg Server, FIX Server, and Omgeo CTM all set up and configured.
Phase 04
Test & go-live
Production database copied from client environment to third party, cleanup scripts run to remove all client-specific data, and full end-to-end testing completed before go-live.

Result
Two production environments. One maintenance burden.
The result was two production Investment Management instances sharing the same base code, each configured separately. After initial setup, the production database was copied from the client environment to the third party and cleanup scripts ensured no client information existed in the new environment.
Single enhancement point
Changes made to the shared codebase roll out to both environments simultaneously — no duplicate development, no version drift.
🔒
Complete data separation
No client data or branding exists in the third party’s environment — full isolation guaranteed through parameterisation and cleanup scripting.
🚀
Immediate go-live
No training required — the third party had prior experience with the workflow, enabling a fast and confident go-live without onboarding overhead.

One codebase. Two production environments. Zero duplicate maintenance.
OmniVista · Application development · Management consultancy

Talk to our team →

Need to extend your investment management stack to a third party?
OmniVista designs and implements configurable, multi-environment infrastructure for investment management firms.

Get in touch

Published On: March 19th, 2026 / Categories: AI and Data Science, Application Development /