Paypal berichtet von einem erfolgreichen Umstieg von Java auf Node.js, die serverseitige Javascript-Plattform zum Erstellen von skalierbaren Netzwerkanwendungen. Sie basiert auf der ursprünglich für den Browser Chrome entwickelten JavaScript-Laufzeitumgebung V8 und zeichnet sich durch eine besonders ressourcensparende Architektur aus.
„Wie viele andere Sachen schoben wir Node.js als Plattform für die Prototypen-Entwicklung durch die Tür“, schreibt Paypal-Entwicklungsleiter Jeff Harrell in einem Blogeintrag. Es habe sich in dieser Rolle als so gut erwiesen, dass die Entscheidung fiel, damit in Produktion zu gehen. Als einen der Vorteile hebt Harrell hervor, dass dank Node.js sowohl Browser- als auch Serveranwendungen in JavaScript zu schreiben sind.
Der erste produktive Einsatz galt keiner einfachen Anwendung, sondern der Konten-Übersichtsseite seiner Nutzer, auf die mit am häufigsten zugegriffen wird. Um das Risiko zu minimieren, erfolgte eine parallele Entwicklung als Java-Anwendung, auf die Paypal notfalls hätte zurückgreifen können.
Aus der gleichzeitigen Entwicklung ergaben sich interessante Vergleichsdaten, wie Harrell ausführt. Zwei Node.js-Entwickler benötigten einige Monate, um die erforderliche Software zu erstellen – und damit nur gut die halbe Zeit, die ein Fünf-Mann-Team mit Java brauchte. Die Node.js-App war mit 33 Prozent weniger Codezeilen zu schreiben und erforderte 40 Prozent weniger Dateien. Darüber hinaus brauchte es aber einige Monate Arbeit für den einmaligen Aufbau der Infrastruktur, um Node.js zu Paypal kompatibel zu machen.
Belastungstests ergaben, dass die Node.js-Anwendung auf Anfragen durchschnittlich um 35 Prozent schneller reagierte als die Java-Alternative. Eine Seite konnte damit um 200 Millisekunden schneller ausgeliefert werden – „etwas, was die Nutzer sicherlich bemerken werden“.
In Zukunft will Paypal alle Web-Apps, die sich an Verbraucher wenden, mit Node.js erstellen. „Über ein Dutzend Apps ist derzeit schon in einer Phase dieser Migration“, schreibt Harris weiter. „Wir werden weitere Ergebnisse melden, wenn mehr Anwendungen live gehen.“
[mit Material von Nick Heath, ZDNet.com]
Neueste Kommentare
3 Kommentare zu Paypal ersetzt Java durch JavaScript
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.
Viel Spaß bei Refactoring, Erweiterung und Wartung.
Wieso?
Im Webstack sind HTML+Standards, Javascript, Datenbanken und eine serverseitige Programmiersprache notwendig, aber nirgendwo zwingend Java. Außerdem ist es sehr unwahrscheinlich, dass Paypal ein derartiges „Risiko“ einfach so eingeht.
Die Wahrheit ist, das serverseitige „Backend“ Java-Enterprise Entwickler im Grunde nichts anderes machen als WEB-Anwendungen, um meistens im Weg stehen, wenn Frontend Leute performante Anwendungen entwickeln möchten. Man möchte halt kein Web-Entwickler sein als Java „EE“ Experte. Aber Kunden will gutaussehende Webseiten agil entwickeln (Javascript), der Chef möchte schnelle Entwicklungszyklen, der Kunde möchte das hübsche UI, der Datenbank ist alles egal, und die Server möchte möglichst wenig Last. Java kann da eine Rolle spielen, muss es aber nicht. Toilet.getInstance().flush(java);
Klar, Javascript und Refactoring und Code-Pflege passen nicht zueinander. Lässt man sich Javascript von IBM als Anbieter des immens lizenzkostenverschlingenden WebSphere erklären, dann ist das noch die selbe „objektorientierte“ (??) Spielsprache, die auch MS sah, als sie den Internet Explorer 6 zur Krone der Schöpfung erklärten und meinten, man könne darin, nie sinnvoll programmieren. Guten Morgen, Hugo! Die Entwicklung geht weiter und wenn man nicht mal versucht, Javascript ernst zu nehmen und zu verstehen, wird man u.U. am Ende doch mal auf der Straße als beschäftigungsloser Java-Entwickler landen.
Richtig: in Javascript ist wieder die methodische Qualität des Entwicklers gefragt. Er kann sich nicht auf Compiler, Frameworks, Middleware, Watchdogs usw. verlassen, wenn es darum geht, die mangelhafte Qualität seines Codes abzufangen. Und dass man gute Apps in Javascript entwicklen kann, zeigen neben allen Google-Webanwendungen bspw. auch Firefox oder http://c9.io … glaubst du, dass auch Google seine Software nicht warten kann oder Mannjahre verbrennt, um eine Funktion von A nach B umzuziehen? Lerne Javascript! Und verabschiede dich von Vererbungshierarchien genauso wie von einer Reduktion Javascripts auf optische Verzierungen einer Website.