Software-Entwicklung


In der Entwicklungsabteilung unserer Firma arbeitet ein Kernteam von erfahrenen Ingenieuren. Ihre Hauptaufgabe ist es Softwarewerkzeuge zu entwickeln und zu pflegen, die zur Unterstützung der Integration und Betreuung von komplexen Kundenprojekten eingesetzt werden können. Dank der eigenen Entwicklungsabteilung können wir sehr genau und rasch auf die individuellen Bedürfnisse unserer Kunden reagieren. Diese Flexibilität ist aber nur dann möglich, wenn zwischen Kunde, Projektleiter und Entwickler eine enge Zusammenarbeit besteht.

Werkzeuge und Know-how
Ein wichtiger Stützpfeiler der Arbeit des terreActive-Entwicklungsteams im UNIX Bereich sind "Open Source" Projekte. Diese Softwarepakete werden oft als Bestandteile von Lösungen und als Grundlage zur Weiterentwicklung und Anpassung an konkrete Anforderungen eingesetzt. Interessant an dieser Stelle ist, dass nicht nur Anwendungen, sondern auch einige wichtige Entwicklungswerkzeuge aus Open Source Projekten stammen, wie z. B. die Compiler und Interpreter für verschiedene Sprachen sowie Debugger zur Fehlersuche, Java Laufzeitumgebungen und vieles mehr.

Entwicklungsprojekte
Die Entwicklung einer sicheren GNU/Linux Distribution für die Integration von eigenen Lösungen im Bereich der Netzwerksicherheit zieht sich wie ein roter Faden durch den Werdegang der terreActive AG. Diese Distribution nennt sich PAB und kommt gegenwärtig in der Version 2 sowohl auf Applikationsservern als auch auf Firewalls und sogar auf "Embedded Systems" zum Einsatz. Rund um das PAB Projekt sind im Laufe der Zeit verschiedene Anwendungen entstanden, die sich direkt oder indirekt mit der Integration, Kontrolle, Überwachung und Verwaltung von Sicherheitslösungen beschäftigen.

Anschliessend eine repräsentative Liste von Entwicklungsprojekten ist:

  • Sichere GNU/Linux Distribution (PAB2)
  • Package- und Konfigurationsverwaltung
  • GNU/Linux-Firewall-Konfigurations-Werkzeuge (TFX)
  • Überwachungssystem für mehrstufig gesicherte Umgebungen (tacMON)
  • Mehrstufige, gefilterte, korrelierte, zentrale Logdatenverwaltung (tacLOG)
  • Konfigurationsverwaltung (Change Management) für Rechenzentren
  • RAS Zugangskontrollsysteme mit zentralem Authentifizierungsserver
  • Reverse-Proxy Erweiterungen: Geographische IP-Lokalisierung, Single Sign-On
  • Trouble-Ticket Systeme
  • Automatisierte und schlanke Backup-Lösungen für "Managed Security Services"
  • Protokollwandlungssysteme und Visualisierung von Logistikanlagen
  • Administrative Verwaltungssoftware für firmeninternen Gebrauch

Kernkompetenzen
Unsere Stärke liegt in der schnellen Entwicklung von schlanken, auf die jeweilige Anwendung optimierten Lösungen. Wir stehen in einer unabhängigen Position auf dem Markt und scheuen uns deshalb nicht davor, sowohl kommerzielle als auch Open Source Komponenten in Mischformen einzusetzen. So können wir die jeweiligen Vorteile hervorheben, und durch geeignete Kombinationen die Schwächen von einzelnen Softwaresystemen umgehen. Bei allen Entwicklungsaktivitäten setzen wir den Schwerpunkt klar auf UNIX-verwandte Umgebungen wie GNU/Linux, Solaris, Mac OS X, FreeBSD und ähnliche. Software unter Windows werden wir nur in Ausnahmefällen entwickeln. Es gibt viele Paradigmen zur Softwareentwicklung und es gibt ein vielfaches davon an Lehrbüchern. Alle diese Vorgehensweisen, Schemata und Notationen weisen abhängig vom Anwendungsfall Stärken und Schwächen auf. Unser Ansatz ist es, die Methode aufgrund des gewählten Lösungsansatzes sowie der Erfahrungen und des Know-hows der beteiligten Entwickler frei auszuwählen.

Das Entwicklungsteam lebt nicht in einer geschlossenen Abteilung. Deshalb ist es üblich, dass Entwickler bei der Integration ihrer Software mitarbeiten, und es ist erwünscht, dass Mitarbeiter der anderen Teams, besonders aus den "Managed Security Services", ebenfalls aktive Rollen in der Entwicklung neuer Software übernehmen. So ist ein ausreichender, kreativer Transfer von praktischen Erfahrungen zwischen den beteiligten Teams gewährleistet - sowohl bei der Projektintegration, wie auch bei der Implementierung von Lösungen.