Apple ändert Protokoll

zum Senden von Push-Benachrichtigungen

Apple hat Ende 2019 die Abschaltung der »veralteten« Schnittstelle zum Senden von Push-Benachrichtigungen für November 2020 angekündigt. Was das für uns und unsere Kunden bedeutet, lesen Sie hier.

Ausgangslage

Apple Push-Benachrichtigungen sind ein wesentlicher Bestandteil für die korrekte Funktion der Hermeskim Mobile App. Durch Push-Benachrichtigungen erhöht sich die Laufzeit der Geräte, weil weniger Energie verbraucht wird. Das Gerät muss nicht ständig nach neuen Aufträgen suchen, sondern wird durch die Push-Benachrichtigungen über Änderungen und neue Aufträge informiert.

Personen- oder patientenbezogene Daten werden dabei nie über die Server von Apple gesendet. Die Push-Benachrichtigungen fordert das Gerät lediglich dazu auf, sich mit dem Hermeskim-Server zu verbinden und die aktuellen Datensätze zu laden.

HTTP/2 und Apple

Das Protokoll, um solche Push-Benachrichtigungen zu senden, gibt es seit 2009. Es hat sich im Laufe der Zeit nur leicht verändert. Um den steigenden Anforderungen mit der Zeit gerecht zu werden, wurde 2015 ein vollständig neues Protokoll eingeführt, welches technisch auf HTTP/2 aufbaut. HTTP/2 selbst wurde erst 2015 von der IETF als offizieller Nachfolger von HTTP/1.1 spezifiziert. HTTP/2 bietet unter anderem folgende Vorteile (Quelle):

  • die Möglichkeit des Zusammenfassens mehrerer Anfragen,
  • weitergehende Datenkompressionsmöglichkeiten,
  • die binär kodierte Übertragung von Inhalten und
  • Server-initiierte Datenübertragungen (push-Verfahren),
  • einzelne Streams lassen sich priorisieren.

Daraus resultieren auch für Apples Push-Benachrichtigungen einige Vorteile. Unter anderem:

  • Authentifizierung mittels JSON Web Token anstatt Zertifikat
  • Rückmeldung für jede einzelne Push-Benachrichtigungen mit detaillierten Fehlermeldungen
  • Maximale Nachrichtengröße erhöht auf 4KB

Apple hat schon am 4. 11. 2019 die Abschaltung des sogenannten »veralteten binären Protokolls« zum Senden von Push-Benachrichtigungen angekündigt. (Original hier.)

HTTP/2 und Microsoft

Warum also haben wir unsere Dienste nicht schon längst auf das neue API mit HTTP/2 umgestellt, wenn es doch nur Vorteile zu haben scheint? Der Teufel liegt wie so oft im Detail. Auch wenn Microsoft Windows HTTP/2 inzwischen vollständig unterstützt, so ist das erst ab Windows 10 und ab Windows Server ab 2016 der Fall. Für Windows 2012 R2 wird das HTTP/2 Protokoll zwar unterstützt, jedoch nicht alle Verschlüsselungsverfahren. Damit ist es möglich gRPC, wie es in Hermeskim Victory SR5 eingesetzt wird, mit HTTP/2 einzusetzen. Apples neues Protokoll zum Senden von Push-Benachrichtigungen kann man unter Windows 2012 R2 aber nicht nutzen.

HTTP/2 und Hermeskim

Wir setzen aber Windows Server 2016 oder höher für Hermeskim Victory nicht voraus, daher verwenden wir das »veraltete binäre« Protokoll. Aber eben dieses wird im November 2020 von Apple abgeschaltet. Damit Push-Benachrichtigungen (und die Smartphone-App) für unsere Kunden weiterhin funktionieren, stellen wir ein Upgrade zur Verfügung, welches es ermöglicht, das neue, auf HTTP/2 aufbauende Protokoll zu verwenden.

Wenn Sie schon auf Windows Server 2016 oder höher setzen, kann das neue Protokoll zum Senden von Push-Benachrichtigungen durch ein Upgrade aktiviert werden. Ist das nicht der Fall, gibt es zwei Varianten:

  1. Gesamten Server auf Windows Server 2016 oder 2019 aktualisieren
  2. Den ComHandler-Dienst auf ein System mit Windows Server 2016 oder höher bzw. Windows 10 auslagern

Der allgemeine Support für Windows 2012 (und auch R2) ist bereits 2018 ausgelaufen. Aktuell ist es im sog. »Extended Support«.  Das bedeutet, es gibt nur noch Updates für kritische Fehler, man kann aber noch kostenpflichtig Support von Microsoft beziehen. Dieser endet mit 10. Oktober 2023. Sollten Sie den Umstieg auf Windows Server 2016/2019 noch nicht geplant haben, wäre dies eine guter Anlass.