Technologische Vielfalt bei BSI: C#, VB, C++ & Co.

BSI Produkte basieren auf Java. Und das können wir wirklich gut. Das heisst aber nicht, dass wir nicht auch andere Sprachen sehr gut sprechen. Je nach Herausforderung wählen wir die richtige Technologie oder das richtige Framework. Wenn wir uns im Microsoft-Ökosystem bewegen dann verwenden wir .NET (C#, VB) und Visual Studio als Entwicklungsumgebung. Wenn es darum geht wirklich systemnah Aufgaben zu lösen, dann greifen wir auf C, C++ oder sogar Assembler zurück. Welche Sprache zum Einsatz kommt, hängt vom Anwendungsfall ab. Einige Beispiele aus der Praxis.

.NET Assembly ermöglicht Microsoft Word Editor im Browser

BSI CRM bietet im Rich Client einen integrierten Word Editor. Das wollen wir auch für den Web Client ermöglichen – ohne den Einsatz von Sharepoint. Hier verwenden wir eine eigene Cobalt Implementation. Diese ist unabhängig von Cloud-Applikationen – alle Daten bleiben auf dem lokalen Server.

Darum haben wir ein WOPI, FSSHTTPB .NET Assembly basierend auf Cobalt Core entwickelt. Diese Applikation für Office Online ermöglicht das Bearbeiten von Microsoft Word direkt im Browser.

Microsoft Office Plug-in mit C#

Im Release Indigo integrieren wir BSI CRM mit einem Plug-In in Outlook und Office.

  • BSI CRM Ribbons: direkt im Word bzw. Office können E-Mails und Briefe erstellt werden, die in BSI CRM abgelegt werden.
  • Outlook Sidebar: CRM-spezifische Informationen werden angezeigt.

Das GUI von BSI CRM basiert auf Java Script – das von Microsoft auf .NET. Für die Kommunikation zwischen den beiden Systemen werden Json-Messages verwendet. Das Plug-in für Microsoft wird in C# entwickelt und verbindet so die beiden Welten Java und .NET.

Programmierung und Steuerung von Stromzählern mit .NET

Für Landis + Gyr, den Hersteller von Stromzählern entwickeln wir zwei Applikationen in .NET:

1. Zur Produktion und Konfiguration von Stromzählern:

  • Hardware- und Software-Funktionalität können definiert und zur Produktion gegeben werden.
  • Vorkonfiguration der Stromzähler, bspw. Tarifgrössen, Messgrössen oder externe Anbindungen und Schnittstellen.

2. Ein Service-Tool zur effizienten Verwaltung der Stromzähler durch Kunden wie Energieversorgungsunternehmen oder Installateure:

  • Ablesen der Stromzähler
  • Konfiguration von Tarifen, Auflösung der Daten oder die Häufigkeit des Auslesens.

Systemnahe Anbindung von Peripheriegeräten mit C++

Bei einigen unserer Kunden werden Hardware-Komponenten angebunden und direkt aus unseren Lösungen gesteuert. Mit dem Ziel die Geräte nahtlos in die Businesslogik und in das Look & Feel der Applikation zu integrieren. Zum Beispiel Peripheriegeräte für Kassensysteme, wie Belegscanner, Waagen, Zahlterminals, Etiketten- oder Quittungsdrucker. Diese Geräte sind oft keine Standardgeräte, sondern wurden für den jeweiligen Kunden speziell entwickelt. 

C++ und für Poststellen-Peripherie

Bei der Schalterapplikation der Schweizerischen Post verwenden wir C++ um Peripherie-Geräte anzubinden. Oft gibt es für diese Individualentwicklungen keine Java-Library. Hier ein paar Beispiele:

  • Belegscanner: Anbindung über C++/TWAIN um ein automatisches und zeitlich hocheffizientes Scannen und Verarbeiten von Belegstapeln zu ermöglichen.
  • Bargeld-Safe: Steuerung der Ein- und Ausgabe des Bargelds und das korrekte Verbuchen. Anbindung in C++ über eine native Bibliothek des Herstellers.

Selbstbedienungsautomaten

  • Selbstbedienungs-Waage: Business Software der Waage programmiert in .NET (C#). Die Hardware ist eine Eigenentwicklung der Schweizerischen Post. Mehr Informationen zum Konzept und der Anfangsphase der Selbstbedienungswaage.
  • Einzahlungsautomat: Business Logik programmiert in Scout / Java. Die Hardware ist mit C++ angebunden.