Happy Birthday, Java!

25 Jahre Java: Vorbereitung auf den datengesteuerten dritten Akt
Keine Kommentare

Java wird 25, ein Vierteljahrhundert Java. In seinem Artikel blickt John DesJardins, Field CTO und VP Solution Architecture bei Hazelcast, auf die Anfangsjahre von Java zurück und gibt einen Einblick in heutige Einsatzgebiete und aktuelle Entwicklungen. Soviel sei bereits gesagt: Es sieht gut aus für unsere liebste Programmiersprache…

Seit seiner Entwicklung vor 25 Jahren hat Java einen langen Weg zurückgelegt. In einer Welt von Cloud-basierten Commodity-Servern und Container-Portabilität vergisst man leicht, wie Java über die Jahre hinweg die Welt verändert hat.

Die Datenverarbeitung war vor 25 Jahren ein Ort isolierter und proprietärer Clients und Server mit teurer Skalierung. Java bot Entwicklern ein konsistentes und effizientes Programmiererlebnis, kombiniert mit einer „write-once-run-anywhere“-Portabilität. Heute könnten wir das Containerisierung und Cloud nennen.

Fünfundzwanzig Jahre später steht Java kurz davor, den dritten Akt zu beginnen, indem es die Datenverarbeitung erneut transformiert: Dieses Mal kommen, im Zuge der digitalen Transformation, Cloud-native, datenintensive Anwendungen in der Analytik und künstlichen Intelligenz sowie IoT auf 5G zum Einsatz. Java spielt auch hier eine bedeutende Rolle, da die Grundlagen von Java über die Zeit wesentlich weiterentwickelt und verfeinert wurden, um dieser datengesteuerten Welt gerecht zu werden. Diese Grundlagen beziehen sich auf die Entwicklerproduktivität – effizienteren Code und einfachere Erstellung – samt Skalierbarkeit und durchgängiger Leistungsfähigkeit.

Dabei war diese Bestimmung von Java wahrlich nicht in Stein gemeißelt, denn Java hatte durchaus seine Höhen und Tiefen. Javas erster Akt führte zu einem raschen Erfolg, da die Industrieunternehmen – mit einer traditionell eher isolierten, teuren und ineffizienten Technologieumgebung ausgestattet – die Serverplattform begeistert annahmen. Zwei Jahrzehnte nach der Geburtsstunde hatten 90 Prozent der Fortune-500-Unternehmen und 10 Millionen Programmierer Java im Einsatz.


Im zweiten Akt verließ Java dann den Serverraum der Unternehmen und wurde im Web skaliert; denn Java wurde u.a. von LinkedIn, Twitter und Facebook eingesetzt. Der Auftakt dazu gestaltete sich jedoch etwas schwierig. Das Tempo der Java Roadmap für neue Features hatte sich unter dem früheren Chief Steward von Sun Microsystems verlangsamt, während Open Source im Gegensatz dazu florierte und für Entwickler viel attraktiver schien. Viele waren der Meinung, dass Java langsamer wurde und nun in die Bedeutungslosigkeit abrutschen würde. Java schaffte es jedoch, zurückzukommen, indem neue Funktionen hinzugefügt wurden, die es den Programmierern erleichterten, die gewünschten Geschäftsanwendungen mit weniger Code zu erstellen. So wurden Anwendungen effizienter, schneller und einfacher zu warten. Als die Cloud entstand, reifte Java zunehmend mit der Einführung von Lambdas für kleine, ereignisgesteuerte Multicode-Anwendungen als Dienste, während die Modularität zur Unterstützung von Microservices eingeführt wurde.

Java gelang es, über Projekte der Apache Software Foundation in Big-Data- und Analytics-Projekte vorzudringen. Hadoop, Doug Cuttings verteiltes und auf Googles MapReduce basierendes Speicher- und Batch-Framework für die Verarbeitung von Hunderten von Petabyte auf Tausenden von Servern, wurde in Java geschrieben – eine Entscheidung, die dazu beigetragen hat, Java an dieser Stelle zu positionieren und zu etablieren. Hadoop macht heute vier Prozent des DBMS-Marktes aus. Das mag im Vergleich zu Oracle, das diesen Bereich dominiert, nach nicht viel klingen, aber Hadoop hat einen größeren Marktanteil als nicht-relationale Alternativen, wobei Facebook einer der größten Anwender von Hadoop ist.

Während Java den dritten Akt eröffnet, liegt die heutige IT-Herausforderung darin, Leistung und Durchsatz von stark verteilten Anwendungen, Diensten und Daten zu erzielen. Die Latenzzeit ist die neue Ausfallzeit für anspruchsvolle, umfangreiche, Cloud-native Finanzdienstleistungs-Anwendungen, E-Commerce auf Web-Ebene, künstliche Intelligenz (KI) und maschinelles Lernen (ML).

Und genau hier kommt wieder Java ins Spiel.

Distributed Messaging, parallele und gleichzeitige Verarbeitung liegen in der DNA von Java, und deshalb sind sie besonders für die neuen Generationen von Multithread- und Microservices Workloads geeignet. Millionen von Regeln, Threads, Prozessen und Daten, die aufgerufen werden, können gleichzeitig pro Sekunde über Hunderte von Knoten verarbeitet werden. APIs im Caching ermöglichen es dagegen, Daten im Speicher zu halten und lokal aufzurufen. Funktionen wie Lambdas und Modularität machen die Sprache und die gesamte Java-„Plattform“ hinsichtlich Laufzeit effizienter.

In Verbindung mit einem In-Memory-Grid können Java-basierte Systeme große Datenmengen in Sekundenschnelle erfassen, transformieren und analysieren. Der schnelle lokale Zugriff entlastet Datenbanken und Datendienste und verhindert, dass Daten über das Unternehmensnetzwerk hinweg verschoben werden müssen. Prozesse in einem Java-Cluster können auch so aufgebaut werden, dass sie die Datenreplikation übernehmen. Dies resultiert in erhöhter Verfügbarkeit und Zuverlässigkeit, da Prozesse ohne Datenverlust abgebrochen werden können.

Wenn es darum geht, KI und ML in Unternehmensanwendungen einzubetten, ist Java die erste Wahl. Es bietet die Möglichkeit, Echtzeit-ML in großem Maßstab bezüglich Sicherheit und Ausfallsicherheit auf Unternehmensebene bereitzustellen, die eng in vorhandene Anwendungen integriert sind. Eine Umfrage unter mehr als 2.000 Data Scientists und ML-Entwicklern ergab, dass diejenigen, die bereits anderswo mit Java arbeiten, Java auch für KI und ML wählen. Warum? Sie verstehen eine Technologie, die zu ihrem Programmiermodell passt. Da die Entwickler im Open Source-Ökosystem verwurzelt sind, können sie auch auf eine große, von der Community unterstützte KI- und ML-Bibliothek zurückgreifen. Und was genau entwickeln sie? Anwendungen für Netzwerksicherheit, Cybersicherheit und Betrugserkennung.

Java ist in diesem Bereich von entscheidender Bedeutung, denn es kann bei der Aufnahme, Transformation, Bewertung und Nachbearbeitung von Daten helfen und bietet die Leistung, große Datenmengen zu verarbeiten.

Der Erfolg von Java basiert zum einen auf effizienter Programmierung und Unified Computing und zum anderen darauf, Entwickler produktiv und Anwendungen skalierbar und schnell zu machen. Das hat der IT bereits in den ersten beiden Akten von Java sehr geholfen. Jetzt, vor Beginn des dritten, datengesteuerten Aktes, wo es darum geht, die Latenzprobleme der verteilten Datenverarbeitung (distributed computing) zu bewältigen, sind die Sprache und die Plattform von Java gut auf das vorbereitet, was vor uns liegt.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -