Uncategorized

IBM öffnet POWER Prozessor

Ende August hat IBM auf dem Open Source Summit der Linux Foundation, den nächsten Schritt in Richtung Open Source Company angekündigt und die Instruction set architecture – kurz ISA – seiner POWER Prozessoren als Open Source veröffentlicht.

Nachdem sich IBM vor 6 Jahren durch die OpenPOWER Foundation bereits erstaunlich stark dem Markt geöffnet hat, ist dies nun der nächste, große Schritt und ermöglicht es so anderen Herstellern, eigene POWER Prozessoren zu bauen und mit eigenen Innovationen zu versehen.

Gerade für die IBM i Kunden ist dies auch ein wichtiger Schritt, denn durch die Offenlegung des Codes, ist es nun auch anderen Herstellern möglich einen Prozessor zu bauen, auf dem IBM i lauffähig ist.

Wie das lizenztechnisch nachher aussieht, bleibt abzuwarten, jedoch ist es ein wichtiger Schritt in Richtung Zukunftssicherheit des IBM Betriebssystems.

Fakt ist, dass durch diesen Schritt IBM derzeit die einzige Firma ist, die, u.a. durch den Kauf von Red Hat, eine komplette Open Source Lösung von der Prozessor Hardware bis zum Betriebssystem und der Middleware anbieten kann.
Immer mehr Unternehmen legen darauf besonders großen Wert, vor allem wegen den Sicherheitsaspekten. Die zahlreichen Sicherheitsvorfälle der letzten 2 Jahre (zuletzt der Urgent/11 auf VxWorks), vor allem auch auf Hardware- und Betriebssystem Ebene, zeigen, dass die Hersteller hier ebenfalls noch viel lernen und tun müssen. Dank der Öffnung des Quellcodes kann IBM somit auch von einer stetig wachsenden Community profitieren, die dabei hilft, mögliche Sicherheitslücken zu entdecken und zu schließen.

IBM i 7.4 und TR6 für 7.3

Sicherlich haben Sie schon auf anderen Kanälen von dem Announcement von IBM i 7.4 gelesen.
I.d.R. finden sich derzeit jedoch hauptsächlich Informationen über die neue Funktion “IBM DB2 Mirror for i” und nur recht wenige Infos zu den div. anderen Verbesserungen und Erweiterungen, die übrigens auch zum großen Teil für IBM i 7.3 mit dem neuen Technology Refresh 6 zur Verfügung stehen.

Alle, die meinen Newsletter schon etwas länger beziehen oder meine Artikel im TechKnowLetter lesen, wissen, dass ich mich seit Beginn der Open Source Implementierung von IBM für IBM i mit den div. Frameworks und Tools beschäftigt habe. Allen voran mit Node.js.
Gerade hierfür gibt es nun einige Neuigkeiten.

Die DB2 Provider idb.connector und idb-pconnector wurden jetzt in der Version 1.x als NPM Pakete freigegeben.

https://www.npmjs.com/package/idb-connector

https://www.npmjs.com/package/idb-pconnector

U.a. hat IBM den Quellcode nun auf GitHub verschoben. Verwunderlich ist, dass die Downloadzahlen bei NPM so drastisch differieren. Hat die “klassische” Callback Variante idb-connector stolze 15.644 Downloads in der Woche, so hat die promise basierte (also weiterentwickelte) Version gerade einmal 5 Downloads. Sollten Sie Fragen zu den Vorteilen von Promises gegenüber der sog. Callback Hölle haben, stehe ich Ihnen gerne zur Verfügung….

Interessant ist auch die Portierung des ODBC Treiber aus i Access. Damit lassen sich (Alt)Anwendungen, die noch auf ODBC Basis arbeiten problemlos auch auf die IBM i portieren.
Der aktuelle Weg sollte aber klar hin zu REST basierten Services sein, die nicht nur erheblich schneller als ODBC sind, sondern auch flexibler und u.a. den Zugriff von mobilen Plattformen erlauben.

Das Python Ökosystem hat ebenfalls enormen Nachwuchs bekommen. Vor allem im Bereich Machine Learning hat IBM fleißig Pakete portiert.
So stehen jetzt u.a. bcrypt, cryptography, numpy, pandas, scikit-learn und scipy zur Verfügung. Vielen Dank IBM – die können wir in aktuellen Projekten gerade sehr gut gebrauchen.

Apropos Machine Learning – hier hat IBM mit der Ankündigung von “R” als weitere Programmiersprache, die nach Python klar auf Platz 2 im Bereich Machine Learning steht, ein deutliches Zeichen gesetzt, wo die Schwerpunkte der IBM i Anwender aktuell und in Zukunft liegen. Endlich können wir den Workload, den wir all die Jahre auf andere Plattformen auslagern mussten, wieder zurück auf die IBM i holen.

Zu all diesen Tools, Sprachen und Paketen gesellen sich noch weitere hinzu, die uns die Arbeit und damit das Leben künftig erheblich erleichtern. Der Midnight Commander wurde von mir ja schon vor einiger Zeit vorgestellt (u.a. im TechKnowLetter des Midrange Magazins) und mittlerweile so ziemlich bei all meinen Kunden installiert und genutzt. Damit wird die Arbeit mit IFS Dateien und Verzeichnissen endlich angenehm. Midnight Commander ist ein Notron Commander Clone, der in der Unix/Linux Welt sehr verbreitet ist und nun auch native auf IBM i (in PASE natürlich) läuft und einen sehr schnellen Zugriff auf IFS Dateien erlaubt.

Mit redis haben wir nun endlich auch die Möglichkeit zahlreiche Node.js Projekte direkt zu portieren und auf IBM i laufen zu lassen, da viele diesen In-Memory Datenspeicher intensiv nutzen.
Apache ActiveMQ bietet uns einen bewährten Message Broker, der die unterschiedlichsten Protokolle unterstützt, wie z.B. WebSockets, REST, MQTT, u.v.m.
U.a. die Unterstützung von Python, .NET, c++ und vielen weiteren Programmiersprachen hat ActiveMQ zum populärsten Open Source Messaging Server werden lassen.

Zum Teil stehen diese Pakate schon länger zur Verfügung, zum Teil sind sie noch nicht erhältlich. So oder so lohnt es sich, von Zeit zu Zeit nachzusehen, welche Pakete es zwischenzeitlich gibt, denn die Auswahl wird immer größer.

Weitere Infos zum neuen IBM i 7.4 folgen in Kürze.

Windows bekommt einen Linux Kernel und kann mit Windows Terminal auf IBM i zugreifen

Die BUILD 2019 Entwicklerkonferenz von Microsoft hat wieder unzählige Neuigkeiten zu Tage gebracht.

Eines der spannenderen Themen dürfte sicherlich der neue Linux Kernel sein, den Microsoft nun in Verbindung mit dem Windows Subsystem für Linux (WSL) 2 im Sommer bringen wird.

Statt, wie bisher in WSL 1, einen sog. Translation Layer zu verwenden, der die Linux Systemaufrufe in Windows Systemaufrufe übersetzte, nutzt man künftig einen eigenen, echten Linux Kernel, der auf der jeweils neuesten LTS Version des Linux Kernels aufsetzen wird.
Damit bekommt Microsoft die bisherigen Probleme mit Inkompatibilität und Performanceproblemen in den Griff, mit denen man z.T. leben musste, wenn man eine der zahlreichen Linux Distributionen aus dem Windows Store unter Windows 10 oder Windows Server nutzte.

Durch den eigenen Kernel, ist es kein Problem mehr Linux Treiber und echte Linux Docker Container unter Windows zu betreiben, was mit Sicherheit einer der Hauptgründe für diesen Schritt ist, denn die Container Technologie ist schon lange kein Hype mehr, sondern im täglichen Betrieb vieler Firmen unabdingbar.

Mit WSL 2 werden künftig keine virtuellen Maschinen mehr für Docker Container unter Windows benötigt, sondern können direkt in WSL 2 ausgeführt werden.
Der Kernel wird, wie bei Microsoft mittlerweile üblich, komplett Open Source sein und jeder kann sich seinen eigenen Kernel umwandeln und nutzen.

Soweit bisher bekannt, wird WSL 2 auf einer sehr leichtgewichtigen, speziellen, virtuellen Maschine aufsetzen, die in Windows integriert sein wird. Dadurch wird sie schneller gestartet, verbraucht weniger Speicher und wird dennoch nur ausgeführt, wenn sie gebraucht wird.

Die vorhandenen Linux Distributionen im Windows Store sollen mit WSL 2 alle erheblich schneller laufen und vollständig kompatibel sein.

Die Entwicklung von plattformübergreifender Software unter Windows wird damit noch leichter, als sie bisher schon war. Aktuell ist es mit WSL 1 schon möglich Visual Studio Code unter Windows auszuführen, damit jedoch Node.js Anwendungen im Linux Subsystem zu testen und zu debuggen.

Im Hinblick auf die Entwicklung von Node.js Anwendungen für IBM i eine echte Erleichterung.

Den vollständigen Blogpost von Jack Hammons, Program Manager der Linux Systems Group, zur Ankündigung finden Sie hier:

Parallel bekommt Windows eine neue App spendiert:

Windows Terminal

Damit braucht man künftig keine separaten Tools wie Putty u.ä. zu installieren und kann in verschiedenen Tabs auf verschiedene Hosts wie z.B. IBM i, Ubuntu aber auch PowerShell oder den klassischen CMD Prompt zugreifen.

Der Open Source Tradition Microsofts folgend, steht der C++ Code von Windows Terminal natürlich schon unter GitHub bereit
https://github.com/Microsoft/Terminal
Dieser kann bereits jetzt compiliert und somit eingesetzt werden.

Im Sommer wird es dann eine Version im Windows Store geben, für alle, die die Vorabversion testen wollen, jedoch nicht selbst umwandeln möchten.

Ab Winter 2019 soll dann die endgültige Version im Windows Store verfügbar sein und für jedermann Nutzbar.

Das .NET Framework ist tot, lang lebe .NET 5

Wie im letzten Jahr bereits angekündigt, wird ab 2019 das .NET Core Framework zum Hauptframework und das klassische .NET Framework, welches derzeit in der Version 4.8 vor liegt wird weitestgehend “eingefroren”.

Auf der Microsoft Entwickler Konferenz BUILD 2019 hat Microsoft nun die endgültige Strategie für das neue .NET Framework veröffentlicht und die sieht vor, dass das klassische .NET Framework so nicht weitergeführt wird.

D.h. alle, die derzeit immer noch damit arbeiten (und das dürfte nach wie vor die Mehrheit sein), sollten sich nun endgültig Gedanken machen, wie sie die Migration in den nächsten 2-3 Jahren durchführen, denn auch wenn das klassische .NET Framework noch einige Zeit funktionieren wird, wird es wohl nicht mehr mit neuen Funktionen ausgestattet. Ähnlich der /36er und /38er Umgebung auf der IBM i.

Und alle, die jetzt planen mit .NET ihre Anwendungen zu modernisieren, sollten auf jeden Fall auf .NET Core setzen und sich gar nicht erst mit dem klassischen .NET Framework beschäftigen, wie ich es seit einem Jahr immer wieder betont habe.

Gleichzeitig hat Microsoft auch neue Versionsnummern und einen Lebenszyklus für .NET bekannt gegeben.
So wird die finale Version von .NET Core 3.0 im September erscheinen und im November 2019 von einer Long Term Support (LTS) Version 3.1 abgelöst.

Danach soll jedes Jahr eine neue Version erscheinen, beginnend mit der Version .NET 5.0 (ohne Core!) im November 2020.
Alle 2 Jahre erscheinen dann LTS Versionen, die an den geraden Nummern zu erkennen sein sollen. D.h. im November 2021 mit Version 6.0 ist die nächste LTS Version geplant, gefolgt von Version 7.0 im November 2022 und der nächsten LTS Version 8.0 im November 2023.

Damit folgt Microsoft dem Schema, dem auch andere Frameworks und Plattformen mittlerweile folgen, allen voran Node.js.

Die permanente Weiterentwicklung und damit verbunden das Lernen der neuen Besonderheiten, ziehen somit immer weiter in die Welt der Softwareentwickler ein. Den Luxus, einmal etwas zu lernen und damit dann 5-10 Jahre (oder noch viel länger) produktiv zu arbeiten, können sich immer weniger leisten und die, die es tun, riskieren ihre Zukunft und im schlimmsten Fall die, des Unternehmens.

Die vollständige Übersicht finden Sie im Blogpost von Richard Lander, seineszeichens Program Manager des .NET Teams
https://devblogs.microsoft.com/dotnet/introducing-net-5/

Endlich – RPM, YUM und Node 8 auf IBM i

2016 veröffentlichte IBM über das Lizenzprogramm 5733-OPS Node 4 und Ende des gleichen Jahres bereits  6.9 auf IBM i, worüber ich extrem begeistert war, war es doch sehr zeitnah mit dem LTS (Long Term Support) dieser Version, welcher ab Oktober 2016 gilt.
Durch diese schnelle Unterstützung gleich 2er neuer Node Versionen, wurde die Erwartungshaltung natürlich hochgeschraubt, dass es mit der Unterstützung der nächsten LTS Version 8, genauso schnell gehen würde.
Leider war dem nicht so. Bei jedem Technology Refresh in 2017, habe ich als erstes nach Node 8 Ausschau gehalten, doch es kam nichts.

Dann, am 1. März 2018, stellte IBM im Rahmen seiner Open Source Unterstützung für IBM i etwas Neues vor:

RPM zusammen mit YUM
Bei RPM (Red Hat Package Manager) handelt es sich, wie der Name schon sagt, um einen Paket Manager. Über Paket Manager haben Sie in meinen News schon öfter gelesen, denn sie sind nicht wirklich neu und eine tolle Sache. Damit lassen sich Anwendungen zu Paketen „schnüren“, die man dann einfach an einer zentralen Stelle speichert und durch einen Paket Manager bequem auf beliebigen Maschinen installieren kann.
PM haben sich auf so ziemlich jeder Betriebssystem Plattform und Entwicklungsumgebung / Programmiersprache durchgesetzt, wie z.B. der berühmte NPM (Node Package Manager), der u.a. für den enormen Erfolg von Node (.js) verantwortlich ist.
Bei RPM gibt es nur ein Problem, denn wenn ein Paket irgendwelche Abhängigkeiten zu anderen Paketen hat, diese also benötigt, damit es lauffähig ist, muss der Nutzer zunächst diese Pakete installieren.
Kompliziert wird es, wenn diese Pakete ebenfalls Abhängigkeiten haben, welche evtl. weitere Abhängigkeiten haben etc..
Je nach Paket kann die „einfache Installation“ zu einer Mamutaufgabe heranwachsen.
Genau aus diesem Grund wurden Tools wie YUM (Yellowdog Updater, Modifier) entwickelt.
YUM kümmert sich um diese Abhängigkeiten und installiert benötigte Pakete automatisch.

Jeder, der meint, RPM gäbe es doch schon länger für IBM i, sollte beachten, dass es sich bei der früheren Nutzung von RPM, um eine nicht von IBM unterstützte AIX Version gehandelt hat, die natürlich grundsätzlich innerhalb von IBM PASE lauffähig ist (wie sehr viele AIX Programme übrigens). Mit diesem RPM ließen sich dann natürlich auch jede Menge AIX Projekte, wie z.B. auch Git schon viel früher innerhalb von PASE auf IBM i nutzen.

Jetzt wird RPM und YUM jedoch von IBM unterstützt.
Auch stellt IBM jede Menge Pakete zur Verfügung, die explizit für IBM i auf IBM i erstellt wurden. D.h. die Wahrscheinlichkeit, dass es damit Probleme zur Laufzeit gibt, ist wesentlich geringer, als bei nativen AIX Paketen.
Die Unterstützung befindet sich aktuell noch in der Beta Phase und läuft ab IBM i 7.2 oder neuer.
Installiert wird der ganze Spaß über ein SQL Script (!!!), welches hier zu finden ist:
ftp://public.dhe.ibm.com/software/ibmi/products/pase/rpms/bootstrap.sql

Hat man die Installation erfolgreich abgeschlossen, kann mit dem Befehl 

yum list available

Eine Liste aller verfügbaren Pakete angezeigt werden.
Diese Liste ist bereits jetzt erfreulich lang und u.a. befindet sich Node 8 darunter.

Dieses lässt sich mit dem Befehl

yum install nodejs8.ppc64

schnell und einfach installieren und funktioniert nach meinen ersten Tests wunderbar.
Inkl. einer deutlichen Verbesserung der Performance, die schon mit Node 6 sehr gut war!

Sind Sie an Node 8, RPM, YUM oder anderen Open Source Projekten auf Ihrer IBM i interessiert?
Kein Problem.
Schreiben Sie mir einfach und wir schauen, welche Themen wir als nächstes bei Ihnen angehen und wie diese Open Source Projekte Ihnen bei Ihren Geschäftsprozessen helfen können.

Ich freue mich auf Ihre Mitteilung unter 
Email: mal@mlitters.com

oder rufen Sie mich einfach an.