Development Technologies
Programming Language
The OneStream platform is based on .Net Core. OneStream’s underlying codebase is predominately made up of C# libraries with a few VB.Net libraries in use as well. C# and Visual Basic .NET are the two primary programming languages used to code against .NET Core. C# and VB.NET have very different syntax elements, but Microsoft developed these languages simultaneously as part of a common .NET Core development platform. Both C# and VB.Net are developed, managed, and supported by the same language development team at Microsoft. They compile to the same intermediate language (IL) which runs against the same .NET Core runtime libraries. Although programming syntax is different for each language, almost every command in VB has an equivalent command in C# and vice versa. Both languages reference the same underlying .NET Core Base Classes to extend their functionality.
Development Technologies
User Interface Technology
The OneStream user interface is based on the Windows Presentation Foundation (WPF) in order to provide a truly rich end user experience. WPF employs XAML, an XML based language, to define and link various interface elements. WPF applications can be deployed as standalone desktop programs, or hosted as an embedded object in a website. Windows 10 Store application development provides another opportunity for WPF based applications to be deployed, but as Windows only applications.
Development Technologies
Server Technology
All OneStream code is hosted and executed with Microsoft Internet Information Services (IIS). This means that both the Web Server (service code) and Application Server (service code) are executed within an IIS Application Pool process host. The code is running on the application server tier hosted within the application sever IIS application pool. This is a very important concept to keep in mind because there will be times when a Business Rule must interact with different elements of the system. The context in which the Business Rule is running needs to be understood in order to establish communication and/or interact with those other system elements.
Development Technologies
Database Technology
OneStream was designed to run on all versions of the Microsoft SQL Server relational database engine (Express, Standard, Data Center, Enterprise and Azure Database as a Service). For larger organizations, the SQL Server Enterprise edition is recommended because OneStream makes use of table partitioning. This enables maximum throughput during heavily multi-threaded operations such as data transformation and consolidation. The OneStream engineering team is committed to fully utilizing the capabilities of the most recent versions of SQL Server and to keeping the OneStream platform optimized for new versions of SQL Server as they become available.