PHP: Vier W-Fragen für RPG-Programmierer, Teil 2

9. Februar 2009 | Von | Kategorie: Programmierung

Natives PHP auf IBM i bringt Ihnen preisgünstige Anwendungen, Flexibilität bei der Programmierung und eine neue Sprache, die dem RPG-orientierten Denken entgegenkommt

1345571936095von Jon Paris

Im ersten Teil dieses Artikels (Märzausgabe 2009) sind wir bereits auf zwei Fragen zu PHP eingegangen, und zwar, was PHP eigentlich ist und wer PHP verwendet. Die beiden noch ausstehenden Fragen werden wir in diesem zweiten Teil unseres Artikels beantworten: Wir beschäftigen uns damit, warum man PHP einsetzen sollte und wofür PHP geeignet ist.

Autor

Jon Paris (jon.paris (ät) partner400.com) arbeitet seit 40 Jahren in der IT und kann Erfahrungen bis zum Compilerbau vorweisen. Jon kam 1987 zur Programmiersprachen-Gruppe im IBM Lab Toronto, wo er an der Einführung der AS/400 mitarbeitete. 1989 wurde Jon in die Architektur- und Planungsgruppe berufen, die für Cobol und RPG zuständig war. Er war einer der „Väter“ von RPG IV und spielte eine wichtige Rolle bei dessen Entwicklung. 1998 verließ Jon IBM, und er betreibt jetzt zusammen mit Susan Gantner Partner400, ein Unternehmen, das sich mit Anwendungsmodernisierung im IBM i Umfeld beschäftigt. Jon ist häufig als Sprecher bei Usergroup-Treffen und Konferenzen zu sehen und wurde schon mehrfach für seine COMMON-Vorträge ausgezeichnet. Übersetzt und für den deutschsprachigen Markt überarbeitet von Mathias Spateneder.

Warum PHP?

Ein wichtiger Grund wurde bereits erwähnt: Die breite Verfügbarkeit von qualitativ hochwertiger, kostenloser oder kostengünstiger Software auf PHP-Basis. Sehen wir uns einige Beispiele an: Ich habe schon viele Kunden kennengelernt, die wissen, dass sie eine gute Helpdesk-Anwendung bräuchten, die aber das Budget dafür nicht genehmigt bekommen. Wir haben es der Curbstone Corp. zu verdanken, dass eine der führenden PHP-Helpdesk-Anwendungen, Mantis Bug Tracker, jetzt als Mantis/400 in einer nativen Version für DB2 for i erhältlich ist (mantis400.com). Curbstone hat selbst den ursprünglichen Mantis Bug Tracker eingesetzt, um sein eigenes Support-System zu betreiben.

Gewissermaßen als Dank an seine Kunden produziert das Unternehmen jetzt die native Portierung für den IBM i Markt. Die PHP-Anwendung ist kostenlos – der Support ebenfalls. Das ist kaum zu überbieten für ein so ausgereiftes Produkt. Einem meiner letzten Kunden gibg es so wie vielen von uns: Er hatte zu kämpfen, um die IBM i als aktive Entwicklungsplattform in seinem Betrieb zu behaupten. Der Kunde gewann die letzte Runde in diesem Kampf, indem er eine benötigte neue Anwendung in Rekordzeit liefern konnte. Wohlgemerkt nicht mit RPG, sondern mit einer relativ kostengünstigen, PHP-basierten Lösung. Ein Team von 4 Entwicklern ohne PHP-Vorkenntnisse konnte innerhalb weniger Wochen eine angepasste Version der neuen Anwendung realisieren. Da die Entwickler mit Zend Core arbeiteten, war die Anwendung bereits von Beginn an in der Lage, mit Hilfe von Zends IBM i Toolkit, das als Bestandteil der IBM i Version von PHP geliefert wird, native IBM i Funktionalitäten zu nutzen.1345571936095

PHP-Ressourcen im Web

php.net PHP.net ist die Heimatadresse von PHP im Web. Das dort angebotene Handbuch ist hervorragend. Auch die übrigen Dokumentationen, Tutorials und Foren sind beachtenswert. planet-php.net Planet PHP ist eine Sammlung von Blogs und anderen Informationsquellen zum Thema PHP. phparch.com PHP Architect enthält gute Artikel zu aktuellen PHP-Themen. phpfreaks.com PHP Freaks bietet Tutorials, Foren und andere Informationen. Bei diesem Namen muss man einfach einmal nachsehen. zend.com Bei Zend Technologies kann man sowohl Zend Core als auch Zend Studio for IBM i herunterladen. Die aktuelle Version für IBM i beinhaltet eine optionale Installation von MySQL, die den Installationsvorgang deutlich vereinfacht. Außerdem gibt es eine Menge Tutorials, Webcasts, Foren und anderes mehr. Die Foren beinhalten einen spezifischen Bereich für IBM i, der z.B. darüber informiert, wie man populäre PHP-basierte Pakete wie SugarCRM unter IBM i einrichtet und betreibt. i5php.net Die Leute von i5php sind die Vorreiter von PHP auf IBM i. Es ist immer noch die einzige Adresse, die ich kenne, unter der man eine Kopie von PHP findet, die auf Systemen vor V5R3 läuft. Die Seite ist nicht so gut besucht wie sie sein sollte, aber das wird sich hoffentlich noch ändern. hotscripts.com HotScripts.com bietet eine riesige Liste mit kostenlosen und kostenpflichtigen PHP-Skripten, die von kleinen Funktionen bis zu kompletten Anwendungen reichen. Ein hervorragender Marktplatz, der auch Beurteilungen von Skripten und die Anzahl von Downloads bietet.

Ein weiterer Grund für den Einsatz von PHP ist die Verfügbarkeit von Programmierern. Es gibt ganz einfach sehr viel mehr PHP-Programmierer als RPG-Programmierer. Außerdem kann man feststellen, dass PHP-Programmierer – genau wie RPG-Programmierer – eher zu pragmatischen Lösungsansätzen tendieren. PHP-Programmierer wollen Ihren Job erledigen, und nicht endlos über die relative Reinheit von Architektur A im Vergleich zu Architektur B fachsimpeln. Wenn man PHP-Programmierer einsetzt, kann man feststellen, dass viele von ihnen genau aus diesem Grund schnell die Vorzüge von IBM i schätzen lernen. Lassen Sie sie mit dem freien Format von RPG arbeiten, und sie werden auch RPG schätzen lernen.

Nur bitten Sie sie nie darum, das fixe Format zu verwenden, sonst werden sie fluchtartig das Haus verlassen! Sie wollen Ihre eigenen PHP-Programmierer heranziehen? So gern ich es auch sehen würde, dass jeder, der Ausbildung braucht, meine Schulungsangebote nutzt: Mir ist klar, dass viele Unternehmen weder das Budget noch die Zeit dafür haben. Je mehr Schulungsmaterial in so einem Fall am Schreibtisch verfügbar ist, desto besser. Das enorme Angebot an exzellenten PHP-Tutorials und Code-Beispielen macht es relativ leicht, sich selbst einzuarbeiten. Habe ich das Handbuch schon erwähnt? Wie oft haben Sie sich schon gewünscht, die IBM-Handbücher würden sinnvolle Beispiele und Kommentare von Leuten enthalten, die im wirklichen Leben mit einer Programmiersprache arbeiten?

Willkommen bei PHP.net, der Heimat von PHP und insbesondere der Online-Dokumentation für die Sprache. Das PHP-Handbuch ist als Wiki realisiert und fast jede Seite enthält Beiträge von PHP-Programmierern aus aller Welt. Wenn es nur ein RPG-Handbuch wie dieses gäbe! Der Kasten „PHP-Ressourcen im Web“ listet weitere Quellen auf, die Ihnen beim Erkunden der Sprache behilflich sein können. Den für mich wichtigsten Grund, meine RPG-Kenntnisse mit PHP zu ergänzen, kann ich jedoch mit einem einzigen Wort zusammenfassen: Erreichbarkeit. Ich sage das aus der Sicht von jemandem, der sich selbst als gescheiterter Java-Programmierer sieht. Ich habe Java vor einigen Jahren gelernt. Ich kann in Java programmieren, wenn es sein muss, und ich kann den Java-Code anderer Programmierer lesen und verstehen. Aber ich denke nicht in Java, und ich habe Zweifel, das ich das jemals tun werde. Das Leben hat mir nie die drei oder sechs Monate geschenkt, die ich brauchen würde, um mich so intensiv mit Java zu beschäftigen, dass ich so selbstverständlich damit umgehen könnte wie mit RPG oder Cobol.

Wenn ich Bemerkungen wie diese gemacht habe, wurde mir oft vorgeworfen, ich würde „die Intelligenz von RPG-Programmierern herabwürdigen“. Lasssen Sie mich das klarstellen: Ich spreche von mir, von meinen Erfahrungen, und dass ich mit beinahe 60 Jahren nicht mehr so schnell lerne wie früher. Wenn es Ihnen selbst vielleicht ähnlich geht, und wenn Sie PHP noch nicht ausprobiert haben, sollten Sie das tun. Ich bin mir sicher, dass Sie bald genauso überzeugt sein werden wie ich. Der größte Unterschied zwischen PHP und Java besteht für mich darin, dass man beim Programmieren mit Java von Anfang an objektorientiert denken muss. Auch wenn ich am Ende des Tages viele prozedurale Techniken in meinem Code angewendet habe, benötige ich ein umfassendes Verständnis von Java und seiner objektorientierten Natur, bevor ich weiß, wann ich die Regeln brechen kann. PHP mit seinen Ursprüngen als prozedurale Sprache macht es einem alten RPG- und Cobol-Arbeitstier wie mir wesentlich einfacher. Warum? Weil ich in meinem gewohnten Stil programmieren kann und immer dann OO-Konzepte einfließen lassen kann, wenn sie Sinn machen. Ich bin mir sicher, dass ich, je mehr Objekte ich in PHP verwende, immer mehr objektorientiert denken werde und dass ich mit der Zeit einen ausgereiften, objektorientierten Stil entwickeln werde. Aber ich musste keine OO-Designkonzepte verwenden, um die Möglichkeiten der PHP-Klassen nutzen zu können, die andere entwickelt haben. Etwas anderes, das viele RPG-Programmierer an PHP schätzen werden, ist, dass die Art der Fehlerbehandlung viel mehr der von RPG als der von Java ähnelt. PHP zwingt sie nicht dazu, Fehler zu behandeln, sondern überlässt ihnen die Entscheidung und gibt, genauso wie RPG, entsprechende Laufzeit-Fehlermeldungen aus, wenn sie Fehler nicht abfangen.

Wofür ist PHP geeignet?

Auf jeden Fall kann man, wie bereits erwähnt, PHP für fertige Anwendungspakete einsetzen. Ich würde es auch als ersten Kandidaten für Modernisierungsprojekte sehen. Auch wenn sie immer noch eher eine Sammlung von Möglichkeiten als eine umfassende Lösung darstellt, erhält die Zend 5250 Bridge zu Recht viel Aufmerksamkeit und wurde erfolgreich in einigen großen Modernisierungsprojekten eingesetzt.Im Laufe des Jahres können wir auf diesem Gebiet noch einiges erwarten. Zend wird in nächster Zeit wichtige Ankündigungen herausgeben und einige Drittanbieter überlegen ebenfalls, eigene Erweiterungen und Tools in diesem Bereich anzubieten. PHP sollte auf jeden Fall für neue Web-Entwicklungsprojekte in Betracht gezogen werden. Die Möglichkeit, einfach IBM i Befehle und Programme einfach aufzurufen und sowohl im Einzelsatz- als auch im SQL-Modus direkt auf die Datenbank zuzugreifen, ist ein großer Vorteil. .Warum sollte man nicht PHP-Programmierer die Web-Seite der Anwendung entwerfen und realisieren lassen und den RPG-Programmierern die Business-Logik überlassen, die ohnehin ihre Kernkompetenz ist?

Zum Erstellen neuer PHP-Anwendungen werden zahlreiche Tools angeboten. Das Angebot reicht von einfachen Skripten im Stil von „zeig mir eine Datenbanktabelle und ich erstelle Dir eine einfache CRUD-Anwendung (Create, Read, Update, Delete)“ bis hin zu umfassenden Tools wie BCDs WebSmart PHP (bcdsoftware.com/iseries400-solutions/websmart-php/). Ich konnte kürzlich ein vielversprechendes Tool kennenlernen: Das ATK Framework (atk-framework.com). Es ist ein Open-Source-Anwendungs-Framework, mit dem Business-Anwendungen mit minimalem Codieraufwand erstellt werden können. Die aktuelle Version kann noch nicht mit DB2 umgehen, aber die Mitarbeiter von ibuildings, die das Projekt herausgeben, sind von unserem Lieblingssystem so angetan, dass sie eine spezielle i-Version produzieren. Falls Sie holländisch sprechen, finden Sie online weitere Informationen (i7.nl). Wir anderen werden auf die englische Version warten müssen. Zusätzliche Informationen bietet eine Präsentation im Web (slideshare.net/ijansch/the-i7-framework-for-systemi). Sehen Sie sich auch die Demos auf der ATK-Website an, um einen Eindruck davon zu bekommen, was mit ungefähr 20 Zeilen Code möglich ist. Ein anderes mögliches Einsatzgebiet für PHP wäre das Füllen von Lücken, die RPG-Programme hinterlassen. Damit meine ich Dinge wie das Anbieten und Konsumieren von Webservices, das Senden von E-Mails, das Generieren und Parsen von XML und das Generieren und Ändern von PDFs und Excel-Spreadsheets. Verstehen Sie mich nicht falsch: Viele oder alle dieser Aufgaben können mit den entsprechenden Serviceprogrammen auch mit RPG erledigt werden. Und gerade unser eigener Mann, Scott Klement, hat die Entwicklung von Utilities vorangetrieben, mit denen RPG-Programmierer solche Lücken füllen können. Aber so nützlich und leistungsstark diese Utilities auch sind, sie sind generell viel schwieriger anzuwenden als ihre PHP-Äquivalente.

Probieren Sie es

PHP wird schnell zu einem vitalen und wichtigen Bestandteil der Anwendungsentwicklung für IBM i. Und ich bin überzeugt, dass seine Bedeutung noch wachsen wird, weil es einfach „passt“. Nehmen Sie sich die Zeit, herauszufinden, was PHP für Ihr Unternehmen und Ihre Karriere tun kann. Sie werden diese Zeit nicht verschwenden – das garantiere ich Ihnen.

Schlagworte: , , , , , , , , , , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.