Synthesis AG - SyncML Client and Server Solutions

Technologien

Folgende neuen Technologien halten wir für besonders wegweisend und sind aktiv daran, sie in unsere Produkte und Lösungen zu integrieren:

SyncML - Synchronisation Markup Language

Wir sind seit Jahren der Meinung, dass der Synchronisation (Abstimmung) von Datenbeständen zwischen verschiedenen Geräten (Computer, PDAs, Handies etc.) eine grosse Bedeutung zukommt. Erste konkrete Überlegungen für die Datenbank FileMaker, haben wir 1994 im Usenet veröffentlicht; diese Dokumente sind hier (in Englisch) einsehbar.

Nun ist das "Evernet" im Kommen (Internet, das überall drahtlos und ständig verfügbar ist) - und damit die Meinung, dass Synchronisation letztlich überflüssig sei, wenn man "immer online" ist und damit immer Verbindung zum zentralen Server hat.

Wir glauben, dass "always online" zwar eine grosse Versuchung, aber keine nachhaltige Lösung ist. Jedes hochkomplexe System (z.B. auch in der Natur) funktioniert als Gleichgewicht von Autonomie und Kommunikation. Bei "Always online" hingegen verschwindet die Autonomie - und "immer im Netz" heisst auch "immer angreifbar DURCH das Netz".
Deshalb halten wir intelligente Synchronisation (letztlich eine Kommunikation, die die Stärkung der Autonomie der einzelnen Teilnehmer zum Ziel hat) für sehr wichtig.

Mit SyncML haben Anfang 2000 führende Firmen der IT und Mobile-Branche eine Initiative gestartet, um einen plattformunabhängigen Standard zur Synchronisation von Geräten zu entwickeln. Anfang 2001 kamen die ersten End-User-Geräte auf den Markt, die SyncML unterstützen (z.B. der Nokia Communicator 9210 oder die Ericsson-Handys T39m, T68 etc.) Wir halten SyncML für einen sehr vielversprechenden Ansatz und sind darum Supporter-Mitglied von SyncML seit Anfang 2000. Zur Zeit noch steht der Abgleich von Adresskarteien und Terminen im Vordergrund; die Architektur von SyncML ist jedoch keineswegs darauf beschränkt und kann als Basis für nahezu jede Synchronisation verwendet werden. Zudem ist SyncML vom Transportmedium weitgehend unabhängig; von IrDA, Bluetooth über HTTP, WAP oder gar e-Mail ist alles möglich.

Synthesis hat ein eigenes effizientes, Plattform unabhängiges SyncML-Framework in C++ entwickelt.
Darauf basierend sind unsere SyncML-Produkte Synthesis Sync Server und Synthesis Sync Clients für PDAs und Desktop aufgebaut.

Synthesis Sync Server / Client sind SyncML-kompatible Produkte, welches auf einfache Art an verschiedene Datentypen, Datenbasen und Transport-Schichten angepasst werden können. Ein SDK (Software Development Kit) erlaubt es dem Kunden, selbst spezifische Adapter in C/C++ oder Java zu schreiben.
Auf der Basis des SyncML-Frameworks können wir auch effizient kundenspezifisch angepasste SyncML Server- und Client-Lösungen erstellen.

XML - eXtensible Markup Language

Mit XML ist eine Beschreibungssprache entstanden, die es ermöglicht, komplexe Datenstrukturen auf eine einfache und logische Weise als Text abzubilden. Dennoch ist XML kein beschränktes Format, sondern kann beliebig ausgebaut (eXtended) werden. XML (zusammen mit XSL) wird wahrscheinlich HTML im Internet ablösen, und wird auch als Datenformat für Office-Anwendungen an Bedeutung gewinnen.

Wir setzen XML dort ein, wenn strukturierte Daten in einem Dokument abgelegt werden sollen - das kommt in den verschiedensten Anwendungen immer wieder vor, auch in Internet-fernen Programmen (und oft unsichtbar für die AnwenderInnen der Software). Sobald ein solches Dokument aber bearbeitet werden soll mit einer anderen Software, ist XML ein grosser Vorteil - es gibt verschiedenste Tools, um XML zu bearbeiten, darzustellen und in andere Formate zu konvertieren.



Projekte

OS-9 Emulation "os9exec"

Dieses Projekt hat historische Wurzeln in den frühen 90er-Jahren - damals arbeiteten wir intensiv mit dem Industrie-RTOS "OS-9". Aus dem Synthese-Gedanken (Kombination von vorhandenem) wurde die Idee geboren, die Apple-Macintosh-Plattform und die darauf erhältliche Luxus-Entwicklungsumgebung MPW (Luxus im Vergleich zu dem, was die OS-9 Plattform damals anbot) als Cross-Entwicklungsplattform zu nutzen. Der Prozessor war damals derselbe (Motorola 680xx). Dazu mussten eine Runtime- Umgebung entwickelt werden, die native OS-9-Executables auf dem Macintosh ausführen konnte.

Mit der seit vielen Jahren erhältlichen Version 1.14 wurde das erstmals möglich. Mit Version 2.13 wurde die Runtime-Umgebung zum echten Emulator, der schon einen Grossteil der OS-9 Userprogramme in mehreren Tasks ausführen kann.

Durch das Hinzufügen des UAE/68k-Prozessor-Emulators wurde es möglich, OS9exec auch auf anderen Architekturen, konkret PowerPC und x86, zu betreiben. Heutige Maschinen sind auch mit einem solchen Emulator um Faktoren schneller als ein nativer 68040 oder 68060.

Unterdessen ist die Entwicklung dank grossem Engagement von Beat Forster (beat.forster@synthesis.ch) weit fortgeschritten:

  • Windows-Version: Released
  • MacOS9/MacOSX-Version: Released (inklusive Universal-Binaries für Intel-Macs)
  • Linux-Version: Released
  • Unterstützung der seriellen Schnittstellen
  • Unterstützung von RBF-formatierten (OS-9-Originalformat) Disk-Images
  • Unterstützung von RBF-formatierten SCSI-Massenspeichern (originale OS-9-Harddisks lassen sich so verwenden)
  • Direkter Zugriff auf das File-System des Hosts (in OS-9-Notation)
  • Mehrfach-Konsolen-Terminals
  • Emulation des ISP (Internet Support package): Telnet, ftp etc.
  • Unterstützung von MGR (Graphische Oberfläche) über TCP/IP.

Eine Anwendung von OS9exec um eine komplexe industrielle Messwertverarbeitungs-Applikation auf einen modernen x86-Laptop anstatt auf einem echten OS9-Rechner zu betreiben, wurde bereits realisiert und ist bei mehreren Kunden im Einsatz.

Das ganze Projekt ist als OpenSource (unter der GPL) auf SourceForge mit Binaries für alle Plattformen verfügbar.