Technologie

Informationssysteme

Informationssysteme mit Datenbanken sind unser eigentliches Kerngebiet. Nicht nur die Praxis mit relationalen Datenbanken und SQL sind unsere Stärken, sondern auch die dahinter stehende Theorie. Wir verfügen über ein tiefes Verständnis der Prinzipien und Methoden von Transaction Procession, Concurrency Control / Isolation, Versioning, Indexierung, Optimierung und den Einrichtungen für die mehrfache Absicherung der Daten und deren Wiederherstellung.

Für den Aufbau komplexer Informationssysteme haben wir Methoden und Regelwerke entwickelt, welche ausschliesslich auf die vergleichweise einfachen konzeptuellen Möglichkeiten von relationalen Datenbanken aufbauen. Die Applikationslogik bleibt weitgehend in der Datenbank und kann von deren relationalen Fähigkeiten (deklarative Programmierung durch SQL, Skalierbarkeit) sowie von der weiten Verbreitung von Zugrifftechniken (ODBC, JDBC, OLE DB, etc.) profitieren. Diese Vorteile fehlen bei vermeintlich moderneren Konzepten, wie etwa der Komponententechnologie. Dank unserer Methoden können wir dennoch die modernen Strategien und Architekturen der Softwareentwicklung umsetzen (OOP, Komponenten-Prinzip, Multi-Tier-Prinzip, usw.).

Auch Limitationen und mögliche "Stolperfallen" rund um den praktischen Einsatz, die Skalierung und die Portierung (Wechsel Betriebssystem oder Datenbankprodukt) von Datenbanktechnologie sind uns geläufig. Wir verfügen über erprobte Rezepte um diese Schwierigkeiten zu umgehen oder durch ergänzende Werkzeuge zu überbrücken. Dabei kennen wir insbesondere auch die speziellen Anforderungen von Internet-Applikationen (Verbindungslosigkeit) sowie die komplexe Problematik von verteilten Offline-Datenbanken. Unser Produkt PDL ist eine Beispiel dafür.

Mit unserer V Platform haben wir ein Werkzeug geschaffen, welches objektorientierte Strukturen und Abfragen (Queries) in die einfacheren relationalen Strukturen und Queries überführt. Es handelt sich um den Interpreter einer eigenentwickelten 4GL (Programmiersprache der vierten Generation), welche die applikatorische/ funktionelle Programmierung mit der persistenten Datenhaltung (Datenbank) nahtlos verbindet. Die Plattform entspricht den strengen Regeln der Concurrency Control und des Transaction Processing. Sie steht unter anderem aktuell bei rund 250 Kunden für unser Produkt EVO logix im intensiven Einsatz.

System-Programmierung

Die Programmierung mit klassischen 3GL-Sprachen wie C/C++ und Java gehöhrt ebenfalls zu unserem Repertoire. Selbstverständlich gekoppelt mit fundiertem Wissen zur Entwicklung auf diversen Plattformen und APIs wie Win32, UNIX, COM, ODBC, ISAPI usw.

Unsere besondere Stärke liegt darin, auch tiefergreifende Technologie kompetent umsetzen zu können. Dazu zählen Shared Memory / Memory Mapped Applikationen, Einsatz von Multithreading mit korrekter Synchronisation und Architektur zur Vermeidung von Deadlocks, Erstellen von Diensten (Services) und Watchdogs für Serverapplikationen mit erhöhten Anforderungen an die Verfügbarkeit und Skalierbarkeit.

Ebenfalls sind wir Experten auf dem Gebiet der Portierbarkeit und der Beurteilung der Zukunftsentwicklung von Technologien. Wir stürzen uns beispielsweise nicht blind auf jede neue Architektur, welche gerade "in Mode" ist oder die der Branchenprimus Microsoft* propagiert.

Neue Technologien und Methoden werden von uns analysiert und hinterfragt und mit Alternativen von anderen Herstellern und Domänen verglichen. Für den allfälligen Einsatz entwickeln wir Frameworks und Zwischenschichten, welche uns eine Portierung auf einen andere Plattform oder auf eine nächste Technologie-Generation erleichtern. Gerade Microsoft* ist bekannt dafür, Technologien etwas vorschnell zu propagieren, diese dann laufend nachzubessern (und ständig mit neuen Namen zu schmücken), um sie schliesslich fast willkürlich durch eine gänzlich neue Generationen zu ersetzen.

Unsere Frameworks sowie die fundiert kritische Haltung haben unsere Kunden und Lösungen bisher sehr effizient vor Änderungen dieser Art geschützt und unseren Produkten ein langes Leben und hohe Stabilität verschafft.

Internet

Die TRILAB Software AG beschäftigt sich seit geraumer Zeit mit Internet-Technologie. Wir sehen diese Technologie als wichtigen Baustein der Informatik-Welt jedoch weniger als Selbstzweck oder als "Lösung für alle Probleme".

Unsere Philosophie besteht darin, uns einer Technologie jeweils gründlich anzunehmen (oder es sein zu lassen). Dazu gehört die Erarbeitung von Grundlagen, Musterverfahren und Werkzeugen, mit welchen wir in der Lage sind, herausragende Lösungen anzubieten.

Das TRILAB Debugger Game ist ein Lehrlingsprojekt und eine Technologiestudie welche nebst einer guten Portion Spass wichtiges Know-How und fertige Musterimplementationen für die Schlüsseltechnologien des Internets lieferte.

Dabei stand die Unterstützung der wichtigsten modernen Browser im Vordergrund. Das Spiel passt sich sogar automatisch (basierend auf Leistungsmessungen) an die Darstellungsgeschwindigkeit von Browser und Computer an. Reicht die Leistung nicht aus, dann schaltet das Game in den "slow mode" mit weniger Details und Effekten. Die folgenden Produkteversionen wurden getestet:

Microsoft Internet Explorer®*

Versionen 5.x auf Windows und Mac OS, Version 6 auf Windows.

Opera®*

Version 6 auf Windows 2000/XP.

Keine Musik, kein Hintergrund-Scrollen.

Netscape®*

Version 6.2 auf Windows 2000/XP.

Keine Musik, hohe Anforderungen an die Computerleistung.

Mozilla®*

Version 0.9.4 auf Linux und 0.9.6 auf Windows 2000/XP.

Keine Musik, hohe Anforderungen an die Computerleistung.

Wir beschäftigen uns vor allem mit den folgenden Themen:

DHTML

Dynamic Hyper Text Markup Language

eine Kombination aus HTML* und ECMAScript* (JavaScript), welche es erlaubt, Web-Seiten inhaltlich und logisch zu gestalten (Text Markup Language), miteinander zu verlinken (Hyper) und auf dem Computer der Betrachterin bzw. des Betrachters dynamisch (Dynamic) zu verändern; das heisst, Elemente zu bewegen, sie anzuzeigen/aufzuklappen, zu verstecken oder deren Inhalt auszutauschen bzw. zu manipulieren.

Diese Veränderungen geschehen ohne weiteren Datenverkehr mit dem Web-Server, wodurch das Verfahren die erforderliche Geschwindigkeit für feingliedrige Interaktionen erreichen kann.

Letzteres ist beispielsweise für sog. Web-GUIs (Benutzungsoberfläche für die Benutzung einer Anwendung über das Internet) praktisch unerlässlich.

CSS*

Cascading Style Sheets

ein Zusatz zu HTML, welcher es erlaubt, die stilistischen Vorgaben von Web-Seiten (Farben, Schriften, Layout, usw.) separat und einheitlich an zentraler Stelle zu programmieren*.

Die Hauptproblematik dieser Technologien (DHTML/CSS) liegt in der Inkompatibilität von Browsern. Deswegen reicht es nicht aus, einwandfrei die Standards und Spezifikationen zu beherrschen. Wir sind vielmehr gezwungen, jedes Verfahren auf einer ganzen Palette von Browsern zu testen und uns nach den unvollkommenen Fähigkeiten dieser Produkte zu richten.

Eine spielerische DHTML/CSS-Anwendung mit Unterstützung mehrerer Browser sehen Sie in unserem TRILAB Debugger Game.

HTTP*

Hyper Text Transfer Protocol

das Netzwerkprotokoll über welches der Browser mit dem WWW-Server "spricht" (sicher haben Sie schon das Kürzel http: beachtet, welches den meisten Adressen (URLs) von Web-Seiten vorangestellt ist).

Wir begnügen uns nicht damit, HTTP einfach einzusetzen. Vielmehr nutzen wir die weitreichenden Möglichkeiten von HTTP Version 1.1, um Zugriffe für langsame Verbindungen (Telefonleitung, Mobile) zu optimieren (Caching, Compression, usw.) und den korrekten Betrieb in unterschiedlichen Situationen sicherzustellen (Proxies, Firewalls, usw.).

Unsere Untersuchungen haben ergeben, dass dieses Thema oft stark vernachlässigt wird. Entsprechend gibt es hier ein grosses Potential für Optimierungen (und überlegene Lösungen).

SSL*

Secure Socket Layer

eine Einrichtung, welche den Datenverkehr zwischen Browser und WWW-Server gegen Abhöhren und Manipulation sichert. Die Technologie basiert auf komplexen Verfahren aus der Kryptologie.

Wir setzen diese Technologie sorgfältig ein, um kritische Geschäftskommunikation vor dem unberechtigten Zugriff Dritter zu schützen. Dabei werden jedoch immer auch die Grenzen des Verfahrens dokumentiert und Einrichtungen und Massnahmen entwickelt um den Schaden bei Versagen oder Umgehung des Schutzes zu begrenzen.

Apache Modules*

ISAPI

Internet Server Application Programming Interface

Schnittstellen, welche die direkte Anbindung von eigenen Applikationen an den Web-Server erlauben. So können dynamische Inhalte bzw. die Benutzungsoberfläche einer Applikation ins Internet verbunden werden.

Im Gegensatz zur herkömlichen Herangehensweise mittels sog. Scripting Pages, erlaubt diese Technologie meist weiterführende, performantere und vor allem robustere Lösungen.

Ein ISAPI-Modul als Zusatz für unsere V Platform ist entwickelt. Eine Portierung als Apache Module ist geplant.

Ihre Internet Protocol Address (IP)

©2007 by TRILAB Software AG