PHP blue :  PHP-Technologie auf IBM Plattformen Andreas Schulte Software Technical Consultant SWG Channel Technical Sales
Abstrakt PHP ist kein IBM Produkt. Eine weltweite Gemeinschaft von Entwickler ist für PHP verantwortlich. Ein wichtiges Mitglied ist die Firma Zend die mit der Zend-Engine eine wesentliche Komponente für PHP liefert. Beginnend mit einer strategischen Partnerschaft mit Zend aus dem Jahr 2005 - gibt es seit 2006 fertige Distributionen für IBM Plattformen.  Zend Core for IBM  ermöglicht die Nutzung von IBM DB2 für dynamische Webanwendungen und die spezielle Unterstützung des System i. In dieser Präsentation wird es eine Übersicht der IBM Plattformen und die Einbindung in den Kontext von PHP geben.
Guten Morgen ! PHP und System i PHP – allgemeine Grundlagen PHP – ein Praxisbeispiel Installation von PHP auf System i PHP – praktische Übungen Datenbankzugriff – Theorie und prakt. Übungen 1 + 2 Objekte in PHP 1 + 2
Inhalt Guten Morgen warum PHP ? PHP-Technologie und IBM Zend Core for i5/OS Zend Core / Zend Studio / Zend Plattform Fragen
Inhalt Guten Morgen warum PHP ? PHP-Technologie und IBM Zend Core for i5/OS Zend Core / Zend Studio / Zend Plattform Fragen
Warum eine weitere Programmiersprache ? hohe Funktionalität schnell und kompatibel sicher open source einfach PHP Java C / C++ .net
PHP Has Come a Long Way! 1995 1997 1999 2000 2002 2004 2005 PHP Internet Domains 20M 15M 10M 5M Rasmus Lerdorf Introduces PHP/FI Zeev Suraski, Andi Gutmans develop PHP 3 PHP 4 Released 1M Internet domains Zend Engine Zend Founded Yahoo! Standardizes on PHP PHP 5.0 XML,  SOAP,  OOP IBM, Oracle Endorse  PHP
The PHP Stack L  A  M  P i n u x p a c h e y S Q L H P i n d o w s I S y S Q L H P W  I  M  P 5 / O S p a c h e B 2 H P i  A  D  P
Was ist PHP eigentlich ? PHP ist eine einfache, quelloffene, plattform- unabhängige Script Programmiersprache entwickelt für Web-Anwendungen 2.5+ Millionen PHP Anwendungsentwickler PHP ist die führenende Entwicklungssprache die im Internet genutzt wird 22+ Millionen Internet Domains  überflügelt Microsoft’s ASP* Tausende von PHP Anwendungen verfügbar  Web Anwendungen für Datenbanken Content Management Wikis und Blogs www.hotscripts.com,  www.phpjunkyard.com/ www.phpfreaks.com / www.phpfreebies.com/  * Source:  2005 Netcraft Survey  http://www.php.net/usage.php
Warum nutzen Anwendungsentwickler PHP ? Zend's June 2003 market snapshot of the PHP community.  The survey had over 10,000 respondents.  http://www.zend.com/zend/php_survey_results.php
Welche Anwendungen werden in PHP entwickelt ? Zend's June 2003 market snapshot of the PHP community.  The survey had over 10,000 respondents.  http://www.zend.com/zend/php_survey_results.php
Ist PHP „ready for the enterprise“ ?
Was macht unternehmenskritische Software aus ? sie muss sinnvoll nutzbar sein ! Stabilität „ kritische Masse“ Zukunftsfähigkeit Ecosystem Firmen, Entwickler, Schulungen, Konferenzen, Support Kontext Dokumentation, Literatur, Anwendungen, Diskussionsforen ... Plattform(en) Hardware / Software (Betriebssysteme)
Ist PHP „Enterprise ready“ ? grosse Projekte laufen real auf PHP Infrastruktur: Wikipedia, WordPress Blog Hosting, SugarCRM Massenhoster bieten Infrastrukturen (ACHTUNG: Security-Einstellungen, Laufzeiteinschränkungen) Enterprise-Anwendungen verfügbar: SugarCRM, Mantis, ezComponents/Publish, Joomla ... (allerdings oft LAMP-Stack) professioneller Support durch Zend verfügbar Anbindung an Enterprise RDBMS Frage: Security Frage: Marktübersicht  viele konkurierende Frameworks, CMS
Inhalt Guten Morgen warum PHP ? PHP-Technologie und IBM Zend Core for i5/OS Zend Core / Zend Studio / Zend Plattform Fragen
PHP blue  – PHP-Technologie im Kontext von IBM Plattformen (Software / Hardware) tbd System z LAMP-Stack & Zend Core for IBM System x AIX / Zend Core for IBM System p Zend Core for i5/OS System i Java-Bridge mit Zend Plattform Mashups mit Tivoli Monitoring – QWiki Studie auf alphaworks ausdem: Monitoring des PHP Stacks mit Tivoli Monitoring Clearcase Codeverwaltung, Eclipse PHP Toolkit von Zend (V 0.7) Web-Services / XML (DXL) / Notes2PHP Connector Zend Core for IBM / DB2 V9 pureXML Handling
allgemeine Gedanken zum Einsatz von PHP System i kommt später noch ... ;-)
If I had a hammer ... Wenn man einen Hammer hat sieht jedes Problem wie ein Nagel aus.
Tools nach ihren Fähigkeiten einsetzen Daten Geschäftslogik Präsentation
Tools nach ihren Fähigkeiten einsetzen RDBMS, IMS, NSF ... Cobol, RPG, PHP, Java, ... Portal, Browser, Mobil ...
If i had a Hammer .... die Stärken von HTML liegen in seinem Ansatz einfach HTML dynamisch zu erzeugen vorhandener guter Code muss nicht zwingend neu geschrieben werden - sondern sollte wenn möglich per Einbinden genutzt werden (reuse) Web 2.0 Fähigkeiten können gut integriert werden
Mehrschichten Architektur HTML, Java Script PHP Logic PHP Classes Database Interface DB2
PHP Datenbank Schnittstellen drei Haupterweiterungen (extensions) für die Datenbankanbindung: ibm_db2 PDO_ODBC Unified ODBC Zitat: „  To get best out of DB2 use  ibm_db2  or  PDO_ODBC “
XML – der PHP Weg
Web Services – der PHP Weg
Composite Applications: PHP & Java Wiederverwendung vorhandener Javaentwicklung Nutzung spezieller J2EE Fähigkeiten aus PHP
PHP und/vs Java Java™ is a general purpose programming language used for a wide range of application types.  PHP is a specialized programming language focused on Web and Web services development.  Even though there can be overlap, in general Java is applied more for transaction based systems and for embedded applications, while PHP is used more for web applications.  For web applications, PHP can be a simpler language to learn and combined with the availability of open components, it can allow for quick prototyping and deployment.  The two languages can be easily mixed in environments where Java back-end applications have PHP web-based front-ends.
PHP Frameworks & CMS, AJAX-Toolkits Frameworks Zend Framework aktuell 0.7 R1 geplant im Sept. 07 symfony MVC Design Pattern PHPCake Rapid Prototyping Framework Framework oder CMS? Drupal CMS mit Möglichkeiten zur Erweiterung durch Module ezPublish ezComponents Typo3 Joomla WordPress (BlogCMS) AJAX-Toolkits DOJO * beispielhafte Aufzählung, keine Wertung, es gibt noch viele weitere gute PHP-Anwendungen ;-)
Inhalt Guten Morgen warum PHP ? PHP-Technologie und IBM Zend Core for i5/OS Zend Core / Zend Studio / Zend Plattform Fragen
Zend Core for IBM / Zend Core for i5/OS Enhanced version of the open source PHP Tight integration with DB2 and Cloudscape Native DB2 drivers for PHP Fully certified for the IBM databases Fully supported by Zend Native support for XML and Web Services PHP 5 support Easy installation Graphical Web-based Administration Console for database servers and PHP environment
DB2 UDB Integration in Zend Studio
Zend Studio File manager File system Project SQL Inspector File Project PHP Editor Syntax highlighting Syntax checking Code completion Search Browser preview Debug output Text HTML Debug messages Debug info Variables Watches Stack Breakpoints Output buffer
Zend Studio Featureliste Editing Code completion, syntax highlighting, code folding Code analysis Templates Smart navigation and search Web Services (SOAP) Web Services and WSDL file support Database support View and query builder Optimization Code analyzer and profiler Debug Internal and Web server debugging Browser integration Internal Internet Explorer (IE) browser on Windows IE and Firefox toolbar to control debugging Team collaboration and documentation CVS & sub-version support PHPDoc Deployment Integration with FTP and SFTP
Zend Platform for i5/OS PHP Application Performance: Run-time Code Optimization Web Server Scalability   Central Hub-and-Spoke Management Central Management Web-based Interface PHP Intelligence Find bugs as soon as they occur, before they turn into problems Comprehensive Application Insight Run-time Profiling and Performance Monitoring Audit trail Error Re-creation and Online Debugging
PHP auf System i - warum stabile, hochverfügbare Plattform, skalierbar Basissystem für ERP Apache, DB2, Domino auf i5/OS Backup/Restore-Nutzung einheitliches Monitoring aller Anwendungen Migration vorhandener LAMP-Infrastruktur auf i5 Sicherheit
 
PHP auf System i – nach der Installation Zend Core HTML + PHP  HTTP:89 Server (Reverse Proxy) Request Response System i5 i5/OS DB2 UDB HTTP:8000 Server PHP file PASE PHP Module URL:  http://my_i5:89/my_dir/my_app.php   Zend  Platform
iADP-Stack & MySQL MySQL ist eine Open Source SQL Datenbank Management System ursprünglich entwickelt für UNIX und Linux weite Verbreitung, da es für Hoster preiswert bis kostenlos ist und die notwendigen Fähigkeiten für dynamische Web-Anwendungen in Verbindung mit Apache Webserver bietet MySQL ist keine offiziell supportete Datenbank auf dem System i Installation im PASE-Environment auf der Basis der AIX Version von MySQL MySQL ist nicht vollständig ANSI-SQL konform, DB2 und MySQL bezeichnen die Feldtypen teilweise unterschiedlich
MySQL to DB2 MySQL example for table creation  DB2 Equivalent for Table Creation Differences in  Datatypes
Inhalt Guten Morgen warum PHP ? PHP-Technologie und IBM Zend Core for i5/OS Zend Core / Zend Studio / Zend Plattform Fragen
Fragen & Anworten Vielen Dank für ihre Aufmerksamkeit ! Andreas Schulte [email_address] Software Technical Consultant Channel Technical Sales / Partnership Solution Center NordWest, Düsseldorf

PHP auf IBM Plattformen

  • 1.
    PHP blue : PHP-Technologie auf IBM Plattformen Andreas Schulte Software Technical Consultant SWG Channel Technical Sales
  • 2.
    Abstrakt PHP istkein IBM Produkt. Eine weltweite Gemeinschaft von Entwickler ist für PHP verantwortlich. Ein wichtiges Mitglied ist die Firma Zend die mit der Zend-Engine eine wesentliche Komponente für PHP liefert. Beginnend mit einer strategischen Partnerschaft mit Zend aus dem Jahr 2005 - gibt es seit 2006 fertige Distributionen für IBM Plattformen. Zend Core for IBM ermöglicht die Nutzung von IBM DB2 für dynamische Webanwendungen und die spezielle Unterstützung des System i. In dieser Präsentation wird es eine Übersicht der IBM Plattformen und die Einbindung in den Kontext von PHP geben.
  • 3.
    Guten Morgen !PHP und System i PHP – allgemeine Grundlagen PHP – ein Praxisbeispiel Installation von PHP auf System i PHP – praktische Übungen Datenbankzugriff – Theorie und prakt. Übungen 1 + 2 Objekte in PHP 1 + 2
  • 4.
    Inhalt Guten Morgenwarum PHP ? PHP-Technologie und IBM Zend Core for i5/OS Zend Core / Zend Studio / Zend Plattform Fragen
  • 5.
    Inhalt Guten Morgenwarum PHP ? PHP-Technologie und IBM Zend Core for i5/OS Zend Core / Zend Studio / Zend Plattform Fragen
  • 6.
    Warum eine weitereProgrammiersprache ? hohe Funktionalität schnell und kompatibel sicher open source einfach PHP Java C / C++ .net
  • 7.
    PHP Has Comea Long Way! 1995 1997 1999 2000 2002 2004 2005 PHP Internet Domains 20M 15M 10M 5M Rasmus Lerdorf Introduces PHP/FI Zeev Suraski, Andi Gutmans develop PHP 3 PHP 4 Released 1M Internet domains Zend Engine Zend Founded Yahoo! Standardizes on PHP PHP 5.0 XML, SOAP, OOP IBM, Oracle Endorse PHP
  • 8.
    The PHP StackL A M P i n u x p a c h e y S Q L H P i n d o w s I S y S Q L H P W I M P 5 / O S p a c h e B 2 H P i A D P
  • 9.
    Was ist PHPeigentlich ? PHP ist eine einfache, quelloffene, plattform- unabhängige Script Programmiersprache entwickelt für Web-Anwendungen 2.5+ Millionen PHP Anwendungsentwickler PHP ist die führenende Entwicklungssprache die im Internet genutzt wird 22+ Millionen Internet Domains überflügelt Microsoft’s ASP* Tausende von PHP Anwendungen verfügbar Web Anwendungen für Datenbanken Content Management Wikis und Blogs www.hotscripts.com, www.phpjunkyard.com/ www.phpfreaks.com / www.phpfreebies.com/ * Source: 2005 Netcraft Survey http://www.php.net/usage.php
  • 10.
    Warum nutzen AnwendungsentwicklerPHP ? Zend's June 2003 market snapshot of the PHP community. The survey had over 10,000 respondents. http://www.zend.com/zend/php_survey_results.php
  • 11.
    Welche Anwendungen werdenin PHP entwickelt ? Zend's June 2003 market snapshot of the PHP community. The survey had over 10,000 respondents. http://www.zend.com/zend/php_survey_results.php
  • 12.
    Ist PHP „readyfor the enterprise“ ?
  • 13.
    Was macht unternehmenskritischeSoftware aus ? sie muss sinnvoll nutzbar sein ! Stabilität „ kritische Masse“ Zukunftsfähigkeit Ecosystem Firmen, Entwickler, Schulungen, Konferenzen, Support Kontext Dokumentation, Literatur, Anwendungen, Diskussionsforen ... Plattform(en) Hardware / Software (Betriebssysteme)
  • 14.
    Ist PHP „Enterpriseready“ ? grosse Projekte laufen real auf PHP Infrastruktur: Wikipedia, WordPress Blog Hosting, SugarCRM Massenhoster bieten Infrastrukturen (ACHTUNG: Security-Einstellungen, Laufzeiteinschränkungen) Enterprise-Anwendungen verfügbar: SugarCRM, Mantis, ezComponents/Publish, Joomla ... (allerdings oft LAMP-Stack) professioneller Support durch Zend verfügbar Anbindung an Enterprise RDBMS Frage: Security Frage: Marktübersicht viele konkurierende Frameworks, CMS
  • 15.
    Inhalt Guten Morgenwarum PHP ? PHP-Technologie und IBM Zend Core for i5/OS Zend Core / Zend Studio / Zend Plattform Fragen
  • 16.
    PHP blue – PHP-Technologie im Kontext von IBM Plattformen (Software / Hardware) tbd System z LAMP-Stack & Zend Core for IBM System x AIX / Zend Core for IBM System p Zend Core for i5/OS System i Java-Bridge mit Zend Plattform Mashups mit Tivoli Monitoring – QWiki Studie auf alphaworks ausdem: Monitoring des PHP Stacks mit Tivoli Monitoring Clearcase Codeverwaltung, Eclipse PHP Toolkit von Zend (V 0.7) Web-Services / XML (DXL) / Notes2PHP Connector Zend Core for IBM / DB2 V9 pureXML Handling
  • 17.
    allgemeine Gedanken zumEinsatz von PHP System i kommt später noch ... ;-)
  • 18.
    If I hada hammer ... Wenn man einen Hammer hat sieht jedes Problem wie ein Nagel aus.
  • 19.
    Tools nach ihrenFähigkeiten einsetzen Daten Geschäftslogik Präsentation
  • 20.
    Tools nach ihrenFähigkeiten einsetzen RDBMS, IMS, NSF ... Cobol, RPG, PHP, Java, ... Portal, Browser, Mobil ...
  • 21.
    If i hada Hammer .... die Stärken von HTML liegen in seinem Ansatz einfach HTML dynamisch zu erzeugen vorhandener guter Code muss nicht zwingend neu geschrieben werden - sondern sollte wenn möglich per Einbinden genutzt werden (reuse) Web 2.0 Fähigkeiten können gut integriert werden
  • 22.
    Mehrschichten Architektur HTML,Java Script PHP Logic PHP Classes Database Interface DB2
  • 23.
    PHP Datenbank Schnittstellendrei Haupterweiterungen (extensions) für die Datenbankanbindung: ibm_db2 PDO_ODBC Unified ODBC Zitat: „ To get best out of DB2 use ibm_db2 or PDO_ODBC “
  • 24.
    XML – derPHP Weg
  • 25.
    Web Services –der PHP Weg
  • 26.
    Composite Applications: PHP& Java Wiederverwendung vorhandener Javaentwicklung Nutzung spezieller J2EE Fähigkeiten aus PHP
  • 27.
    PHP und/vs JavaJava™ is a general purpose programming language used for a wide range of application types. PHP is a specialized programming language focused on Web and Web services development. Even though there can be overlap, in general Java is applied more for transaction based systems and for embedded applications, while PHP is used more for web applications. For web applications, PHP can be a simpler language to learn and combined with the availability of open components, it can allow for quick prototyping and deployment. The two languages can be easily mixed in environments where Java back-end applications have PHP web-based front-ends.
  • 28.
    PHP Frameworks &CMS, AJAX-Toolkits Frameworks Zend Framework aktuell 0.7 R1 geplant im Sept. 07 symfony MVC Design Pattern PHPCake Rapid Prototyping Framework Framework oder CMS? Drupal CMS mit Möglichkeiten zur Erweiterung durch Module ezPublish ezComponents Typo3 Joomla WordPress (BlogCMS) AJAX-Toolkits DOJO * beispielhafte Aufzählung, keine Wertung, es gibt noch viele weitere gute PHP-Anwendungen ;-)
  • 29.
    Inhalt Guten Morgenwarum PHP ? PHP-Technologie und IBM Zend Core for i5/OS Zend Core / Zend Studio / Zend Plattform Fragen
  • 30.
    Zend Core forIBM / Zend Core for i5/OS Enhanced version of the open source PHP Tight integration with DB2 and Cloudscape Native DB2 drivers for PHP Fully certified for the IBM databases Fully supported by Zend Native support for XML and Web Services PHP 5 support Easy installation Graphical Web-based Administration Console for database servers and PHP environment
  • 31.
    DB2 UDB Integrationin Zend Studio
  • 32.
    Zend Studio Filemanager File system Project SQL Inspector File Project PHP Editor Syntax highlighting Syntax checking Code completion Search Browser preview Debug output Text HTML Debug messages Debug info Variables Watches Stack Breakpoints Output buffer
  • 33.
    Zend Studio FeaturelisteEditing Code completion, syntax highlighting, code folding Code analysis Templates Smart navigation and search Web Services (SOAP) Web Services and WSDL file support Database support View and query builder Optimization Code analyzer and profiler Debug Internal and Web server debugging Browser integration Internal Internet Explorer (IE) browser on Windows IE and Firefox toolbar to control debugging Team collaboration and documentation CVS & sub-version support PHPDoc Deployment Integration with FTP and SFTP
  • 34.
    Zend Platform fori5/OS PHP Application Performance: Run-time Code Optimization Web Server Scalability Central Hub-and-Spoke Management Central Management Web-based Interface PHP Intelligence Find bugs as soon as they occur, before they turn into problems Comprehensive Application Insight Run-time Profiling and Performance Monitoring Audit trail Error Re-creation and Online Debugging
  • 35.
    PHP auf Systemi - warum stabile, hochverfügbare Plattform, skalierbar Basissystem für ERP Apache, DB2, Domino auf i5/OS Backup/Restore-Nutzung einheitliches Monitoring aller Anwendungen Migration vorhandener LAMP-Infrastruktur auf i5 Sicherheit
  • 36.
  • 37.
    PHP auf Systemi – nach der Installation Zend Core HTML + PHP HTTP:89 Server (Reverse Proxy) Request Response System i5 i5/OS DB2 UDB HTTP:8000 Server PHP file PASE PHP Module URL: http://my_i5:89/my_dir/my_app.php Zend Platform
  • 38.
    iADP-Stack & MySQLMySQL ist eine Open Source SQL Datenbank Management System ursprünglich entwickelt für UNIX und Linux weite Verbreitung, da es für Hoster preiswert bis kostenlos ist und die notwendigen Fähigkeiten für dynamische Web-Anwendungen in Verbindung mit Apache Webserver bietet MySQL ist keine offiziell supportete Datenbank auf dem System i Installation im PASE-Environment auf der Basis der AIX Version von MySQL MySQL ist nicht vollständig ANSI-SQL konform, DB2 und MySQL bezeichnen die Feldtypen teilweise unterschiedlich
  • 39.
    MySQL to DB2MySQL example for table creation DB2 Equivalent for Table Creation Differences in Datatypes
  • 40.
    Inhalt Guten Morgenwarum PHP ? PHP-Technologie und IBM Zend Core for i5/OS Zend Core / Zend Studio / Zend Plattform Fragen
  • 41.
    Fragen & AnwortenVielen Dank für ihre Aufmerksamkeit ! Andreas Schulte [email_address] Software Technical Consultant Channel Technical Sales / Partnership Solution Center NordWest, Düsseldorf

Hinweis der Redaktion

  • #2 To replace the title / subtitle with your own: Click on the title block -> select all the text by pressing Ctrl+A -> press Delete key -> type your own text