Technological diversity at BSI: C#, VB, C++ & Co.

BSI software products are based on Java and JavaScript. And we're really good at that. However, this does not mean that we do not speak other languages very well. Depending on the challenge, we choose the right technology or framework. When we move in the Microsoft ecosystem, we use .NET (C#, VB) and Visual Studio as our development environment. When it comes to really system-oriented tasks, we use C, C++ or even Assembler. Which language is used depends on the application. Some practical examples:

Microsoft Office Plug-in with C#

In BSI CRM we integrate Outlook and Office with a plug-in.

  • BSI CRM Ribbons: e-mails and letters can be created directly in Word or Office and stored in BSI CRM.
  • Outlook Sidebar: CRM-specific information is displayed.

The plug-in developed with C# enables direct communication between the BSI CRM web application and Microsoft Office and thus connects the two worlds Java and .NET.

Programming and control of electricity meters with .NET

For Landis + Gyr, the manufacturer of electricity meters, we developed two applications in .NET:

1. For the production and configuration of electricity meters:

  • Hardware and software functionality can be defined and given to production.
  • Pre-configuration of electricity meters, e.g. tariff variables, measured variables or external connections and interfaces.

2. A service tool for efficient management of electricity meters by customers such as utilities or installers:

  • Readout of the electricity meters
  • Configuration of tariffs, resolution of data or frequency of readout.

System-oriented connection of peripheral devices with C++

For some of our customers, hardware components are connected and controlled directly from our solutions. With the aim of seamlessly integrating the devices into the business logic and the look & feel of the application. For example, peripherals for POS systems, such as receipt scanners, scales, payment terminals, label or receipt printers. These devices are often not standard devices, but were specially developed for the respective customer.

C++ for post office peripherals

For Swiss Post's counter application we use C++ to connect peripheral devices. Often there is no Java library for these individual developments. Here are a few examples:

  • Receipt scanner: Connection via C++/TWAIN to enable automatic and time-efficient scanning and processing of piles of receipts.
  • Cash safe: Control of cash input and output and correct posting. Connection in C++ via a native library of the manufacturer.

Self-service machines

  • Self-service scale: Business software programmed in .NET (C#). The hardware was developed in-house by Swiss Post.
  • Deposit machine: Business logic programmed in Scout / Java. The hardware is connected with C++.