41
Partnership Solution Center PHPblue Common Workshop 07.06.22 © 2007 IBM Corporation PHPblue: PHP-Technologie auf IBM Plattformen Andreas Schulte Software Technical Consultant SWG Channel Technical Sales

PHP auf IBM Plattformen

Embed Size (px)

DESCRIPTION

Einführungspräsentation zum common d Workshop "PHP und System i" am 17. und 18. April 2007 in Berlin

Citation preview

Page 1: PHP auf IBM Plattformen

Partnership Solution Center

PHPblue Common Workshop 10.04.23 © 2007 IBM Corporation

PHPblue: PHP-Technologie auf IBM Plattformen

Andreas SchulteSoftware Technical ConsultantSWG Channel Technical Sales

Page 2: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation2 PHPblue Common Workshop 10.04.23

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.

Page 3: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation3 PHPblue Common Workshop 10.04.23

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

Page 4: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation4 PHPblue Common Workshop 10.04.23

Inhalt

Guten Morgen

warum PHP ?

PHP-Technologie und IBM

Zend Core for i5/OS

Zend Core / Zend Studio / Zend Plattform

Fragen

Page 5: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation5 PHPblue Common Workshop 10.04.23

Inhalt

Guten Morgen

warum PHP ?

PHP-Technologie und IBM

Zend Core for i5/OS

Zend Core / Zend Studio / Zend Plattform

Fragen

Page 6: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation6 PHPblue Common Workshop 10.04.23

Warum eine weitere Programmiersprache ?

hohe Funktionalität

schnell und kompatibel

sicher

open source

einfach

PHP

Java

C / C++ .net

Page 7: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation7 PHPblue Common Workshop 10.04.23

PHPInternet Domains

20M

15M

10M

5M

PHP Has Come a Long Way!

RasmusLerdorf IntroducesPHP/FI

Zeev Suraski, Andi Gutmans developPHP 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

1995

1997

1999

2000

2002

2004

2005

Page 8: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation8 PHPblue Common Workshop 10.04.23

The PHP Stack

L A M Pinux

pache

ySQL

HP

indows

IS

ySQL

HP

W I M P

5/OS

pache

B2

HP

i A D P

Page 9: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation9 PHPblue Common Workshop 10.04.23

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

Page 10: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation10 PHPblue Common Workshop 10.04.23

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

Page 11: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation11 PHPblue Common Workshop 10.04.23

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

Page 12: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation12 PHPblue Common Workshop 10.04.23

Ist PHP „ready for the enterprise“ ?

Page 13: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation13 PHPblue Common Workshop 10.04.23

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)

Page 14: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation14 PHPblue Common Workshop 10.04.23

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

Page 15: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation15 PHPblue Common Workshop 10.04.23

Inhalt

Guten Morgen

warum PHP ?

PHP-Technologie und IBM

Zend Core for i5/OS

Zend Core / Zend Studio / Zend Plattform

Fragen

Page 16: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation16 PHPblue Common Workshop 10.04.23

PHPblue – PHP-Technologie im Kontext von IBM Plattformen (Software / Hardware)

Zend Core for IBM / DB2 V9 pureXML Handling

Web-Services / XML (DXL) / Notes2PHP Connector

Clearcase Codeverwaltung, Eclipse PHP Toolkit von Zend (V 0.7)

Mashups mit Tivoli Monitoring – QWiki Studie auf alphaworksausdem: Monitoring des PHP Stacks mit Tivoli Monitoring

Java-Bridge mit Zend Plattform

System i Zend Core for i5/OS

System p AIX / Zend Core for IBM

System x LAMP-Stack & Zend Core for IBM

System z tbd

Page 17: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation17 PHPblue Common Workshop 10.04.23

allgemeine Gedanken zum

Einsatz von PHPSystem i kommt später noch ... ;-)

Page 18: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation18 PHPblue Common Workshop 10.04.23

If I had a hammer ...Wenn man einen Hammer hat sieht jedes Problem wie

ein Nagel aus.

Page 19: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation19 PHPblue Common Workshop 10.04.23

Tools nach ihren Fähigkeiten einsetzen

Daten

Geschäftslogik

Präsentation

Page 20: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation20 PHPblue Common Workshop 10.04.23

Tools nach ihren Fähigkeiten einsetzen

RDBMS, IMS, NSF ...

Cobol, RPG, PHP, Java... ,

Portal, Browser, Mobil ...

Page 21: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation21 PHPblue Common Workshop 10.04.23

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

Page 22: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation22 PHPblue Common Workshop 10.04.23

Mehrschichten Architektur

HTML, Java Script

PHP Logic

PHP Classes

Database Interface

DB2

Page 23: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation23 PHPblue Common Workshop 10.04.23

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“

Page 24: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation24 PHPblue Common Workshop 10.04.23

XML – der PHP Weg

Page 25: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation25 PHPblue Common Workshop 10.04.23

Web Services – der PHP Weg

Page 26: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation26 PHPblue Common Workshop 10.04.23

Composite Applications: PHP & Java

Wiederverwendung vorhandener Javaentwicklung

Nutzung spezieller J2EE Fähigkeiten aus PHP

Page 27: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation27 PHPblue Common Workshop 10.04.23

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.

Page 28: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation28 PHPblue Common Workshop 10.04.23

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 ;-)

Page 29: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation29 PHPblue Common Workshop 10.04.23

Inhalt

Guten Morgen

warum PHP ?

PHP-Technologie und IBM

Zend Core for i5/OS

Zend Core / Zend Studio / Zend Plattform

Fragen

Page 30: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation30 PHPblue Common Workshop 10.04.23

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

Page 31: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation31 PHPblue Common Workshop 10.04.23

DB2 UDB Integration in Zend Studio

Page 32: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation32 PHPblue Common Workshop 10.04.23

Zend Studio

File manager• File system• Project• SQL

File manager• File system• Project• SQL

Inspector• File• Project• PHP

Inspector• File• Project• PHP

Editor• Syntax highlighting• Syntax checking• Code completion• Search• Browser preview

Editor• Syntax highlighting• Syntax checking• Code completion• Search• Browser preview

Debug output• Text• HTML

Debug output• Text• HTML

Debug messages

Debug messages

Debug info• Variables• Watches• Stack• Breakpoints• Output buffer

Debug info• Variables• Watches• Stack• Breakpoints• Output buffer

Page 33: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation33 PHPblue Common Workshop 10.04.23

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

Page 34: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation34 PHPblue Common Workshop 10.04.23

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

Page 35: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation35 PHPblue Common Workshop 10.04.23

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

Page 36: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation36 PHPblue Common Workshop 10.04.23

Page 37: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation37 PHPblue Common Workshop 10.04.23

PHP auf System i – nach der Installation

Zend CoreHTML + PHP

HTTP:89Server

(Reverse Proxy)

Request

Response

System i5

i5/OS

DB2 UDB

HTTP:8000Server

PHP file

PASE

PHPModule

URL: http://my_i5:89/my_dir/my_app.php

Zend

Platform

Page 38: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation38 PHPblue Common Workshop 10.04.23

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

Page 39: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation39 PHPblue Common Workshop 10.04.23

MySQL to DB2 MySQL example for table creation

DB2 Equivalent for Table Creation

Differences in Datatypes

Page 40: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation40 PHPblue Common Workshop 10.04.23

Inhalt

Guten Morgen

warum PHP ?

PHP-Technologie und IBM

Zend Core for i5/OS

Zend Core / Zend Studio / Zend Plattform

Fragen

Page 41: PHP auf IBM Plattformen

common d IBM Partnership Solution Center

© 2007 IBM Corporation41 PHPblue Common Workshop 10.04.23

Fragen & Anworten

Vielen Dank für ihre Aufmerksamkeit !

Andreas [email protected] Technical ConsultantChannel Technical Sales /Partnership Solution Center NordWest, Düsseldorf