« Beta Mobile Site »

On-demand Insurance Solutions


OneOffice  /  Tech Specs


This document describes the technical architecture and deployment options for Ebix OneOffice Release 11.
OneOffice is a web-based system with advanced UI and a premium User Experience. It uses a fully web-based thin client and therefore no installations or downloads are required by the end user.

Software and Tools Used

Software and tools used in developing Ebix OneOffice:

  • C#.Net for the front-end interfaces, server side components and web services
  • ASP.NET for creating pages for the web application
  • SQL Server RDBMS 2016, Standard Edition
  • Entity framework for accessing the database
  • JSON over HTTP for all data transmission

Technical Architecture

Ebix OneOffice is a web browser based application developed on a Services Oriented Architecture (SOA) using a multi-tier architecture and Microsoft.NET 4.5 framework to distribute the workload across different layers so as to make the application scalable.
The OneOffice architecture is designed for easy integration with any application in any technology using a comprehensive series of APIs. For example, OneOffice has been integrated with Underwriting Rules Engines, and Comparator systems.
The layers are:

  • User Interface (Presentation) Layer
  • Service Layer
  • Business Logic Layer
  • Data Access Logic Layer

The Presentation Layer

The presentation layer provides the interface between the user and the service layer. The presentation layer includes all pages that are used either to display or capture information. Data persistence / session management is controlled by ASP.NET at the application and session level and by AngularJS at the page level. When information is requested, the presentation layer captures the user request and calls the correct object in the Service Layer. Similarly, when the Service Layer returns data results, the presentation layer formats the data and displays the results on the page.
The contents of the presentation layer have been developed using Microsoft.Net MVC and the Bootstrap UI framework.

The Service Layer

The service layer acts as the interface between the presentation and business layers. It performs all the required security checking and data manipulation based on either the data received from the front-end or business logic layer. The components making up this layer are implemented as services running on the Microsoft.Net Common Language Runtime (CLR) engine. This layer also acts as the interface between 3rd party applications (such as expert underwriting engines, document generation and storage platforms, commission payment platforms and financial adviser portals) and the OneOffice business logic layer.

The Business Logic Layer

All of the functionality in this layer is defined as components describing typical life insurance policy administration functions (premium quotes / projections, application processing, policy issue, additional business, benefit maintenance, underwriting, claims etc.). These components are implemented via Microsoft.Net C# classes running on Microsoft.Net CLR engine.

The Data Access Logic Layer

The data access logic layer retrieves the data requested by the business layer. This layer is implemented using an SQL Server database. The database is accessed using Microsoft Entity Framework.

Code Overview

The Ebix OneOffice web UI and business logic layer code is managed by the Microsoft.Net 4.5 framework, making use of features provided by the Microsoft.Net CLR Engine, including:

  • Extensible types provided by a class library
  • Inheritance, interfaces and overloading for object-oriented programming
  • Support for explicit free threading that allows creation of multithreaded, scalable applications
  • Support for structured exception handling and custom attributes
  • Cross-language integration, especially cross-language inheritance
  • Automatic memory management, which manages object lifetime so that reference counting is unnecessary
  • Self-describing objects, which make using Interface Dfinition Language (IDL) unnecessary
  • The ability to compile once and run on any CPU and operating system that supports the .NET runtime

Responsive Design

The Ebix OneOffice user interface has been built using the responsive design principals inherent in the Bootstrap framework. This allows the OneOffice user interface to render correctly in different screen resolutions on different devices (workstations, tablets and smart phones).


Ebix OneOffice uses industry standard security features delivered via ASP.NET Identity.

Hosted Vs On Premise

Ebix OneOffice has been designed to be deployed either on a single server or in a highly scalable, load-balanced and clustered Windows Server environment. Load balancing is used to distribute requests to different servers within the server cluster, which optimises system performance and increases availability and scalability of the web-based application.

As the load on Ebix OneOffice increases, the service layer and business logic layer services can be distributed across an array of machines that can handle the increased load. A typical Ebix OneOffice production deployment runs on a web-farm with two or more application/web servers and database servers in a cluster to provide redundancy.

The system leverages standard technologies for vertical and horizontal scalability to achieve performance and scalability, including cluster, load balance, multi-thread and process in parallel.

Ebix recommends the following hardware and software for deploying the Ebix OneOffice production environment. Other environments such as UAT can be created on similar lines:

  • Hardware load balancer
  • Firewall and switches
  • Two (2) web servers - Windows 2016 Advanced server, IIS 7.0
  • One (1) database server - Windows 2016 Advanced server - SQL Server database 


The data access logic layer retrieves the data requested by the business layer. This layer is implemented using an SQL Server database. The database is accessed using Microsoft Entity Framework.

Find Out More


Request More Info

Call +61 2 8467 3000 Email This email address is being protected from spambots. You need JavaScript enabled to view it.