PHP on IBM i: What’s New with Zend Server 5 for IBM i
Function Junction
Zend Server 5 for IBM i
Mike PavlakSolutions Consultantmike p@zend com
Function Junction
© All rights reserved. Zend Technologies, Inc.
PHP Sessions PHP Sessions
• What’s New with Zend ServerSun 11:30 AM
• Business Value of PHPSun 1:30 PM
• Practical PHP by Example (Leth-Kjaer)Sun 4:00 PM
• PHP on IBM i: Getting StartedMon 10:00 AM • PHP on IBM i: Getting StartedMon 10:00 AM
• DB Standards in Zend PHP usage (Sielhorst)Mon 10:00 AM
• MySQL on IBM i, Open Source & DB2 Store Tue 10:00 AM
11 30 A© All rights reserved. Zend Technologies, Inc.| 2 Copyright © 2009 Zend Technologies, Inc, All rights
reserved 02/03/10
• PHP Arrays for the RPG ProgrammerTue 11:30 AM
AudienceAudience
•Used PHP somewhere else
•New to Zend PHP
•Looking to understand the strategic directiong g
•Anyone who does not believe third party vendors ARE investing in this space…
© All rights reserved. Zend Technologies, Inc.3 Insert->Header & Footer
AgendaAgenda
• Review the IBM relationship
• Technical Overview
• Product Installation
• Community Edition Features
Toolkit, optimizer, java bridge, debug
F t f i l diti• Features of commercial editionMonitoring, Code Tracing, Job Queue
© All rights reserved. Zend Technologies, Inc.4 Insert->Header & Footer
What’s New with Zend Serverwww.zend.com
IBM Relationship
© All rights reserved. Zend Technologies, Inc.
IBM Relationship HistoryIBM Relationship History•Zend is an IBM strategic business partner
• IBM selected Zend to bring PHP to IBM i in 2005
•Beta, then Core, then Platform now Server
•Tens of thousands of downloads from Zend
•Zend Server part of IBM i6.1 & i7.1
•Products are always available at Zend.com
© All rights reserved. Zend Technologies, Inc.6 Insert->Header & Footer
IBM Relationship FAQ’sIBM Relationship FAQ s•What do we get?
Zend Server CE
Zend Studio
1 Sil L l S t ( il/ b 72 h )1 year Silver Level Support (email/web 72 hour response)
Since Feb 1, 2009
•What happens after 1 year?
Product will still runProduct will still run
No updates to product or PHP*
Forum support only
© All rights reserved. Zend Technologies, Inc.
pp y
7 Insert->Header & Footer
Zend Support OptionsZend Support Options•Silver for the first year from your first download
Web ticket/email support
72 hour response window
G ld B i h t•Gold - Business hour support
6 hour response on P1 (site down)
Pl ti 24/7 •Platinum – 24/7
2 hour response on P1 (site down)
Customer requested PHP Bug Hot FixesCustomer requested PHP Bug Hot Fixes
•SLA detailed on Zend Website
http://www zend com/en/services/support/production-sla
© All rights reserved. Zend Technologies, Inc.
http://www.zend.com/en/services/support/production-sla
9 Insert->Header & Footer
Zend Server 5 for IBM iwww.zend.com
Technical overview
© All rights reserved. Zend Technologies, Inc.
What Is Zend Server?What Is Zend Server?• Production quality PHP stack
PHP ZF DB connectivity debugging extension PHP, ZF, DB connectivity, debugging extension, and more
• Two Editions - Free “Community Edition” provided by IBM & Full commercial edition provided by IBM & Full commercial edition
Both are production ready
• Application monitoring and diagnostics (integrated with Zend Studio)(integrated with Zend Studio)
• Multi-level performance enhancement capabilities
S ft d t d it h t fi• Software updates and security hot fixes
• Easy and quick installation
• Zend Framework Integration
© All rights reserved. Zend Technologies, Inc.
g
12 What is Zend Server
Why a new generation?Why a new generation?
•Based on feedback of key areas for Improvementy p
• Improved basic PHP Performance
30% to 600% depending on the applicationp g pp
•New capabilities
Code Tracing – Faster problem resolution
Job Queue – Asynchronous PHP script processing (in batch!)
Page Caching – Performance and scalability
Support for PHP 5.3
•Easier installation, administration & maintenance
© All rights reserved. Zend Technologies, Inc.14 Insert->Header & Footer
Zend Server Under the CoversZend Server Under the CoversIBM i
i/OSILE Apache:10088 i/OSPHP filePASE
ILE Apache:10088• Default
configuration FastCGI
HTTP:10088Server PHP CGI *PGM
FastCGI
URL Request
(FastCGI)CMD
HTML
Zend ServerDB2 UDB
© All rights reserved. Zend Technologies, Inc.15
Zend Server for IBM iwww.zend.com
Installation
© All rights reserved. Zend Technologies, Inc.
Zend Server InstallationZend Server Installation
•Can install PHP 5.2 or 5.3 (Select PHP 5.3, see www.php.net )
•Save File or Windows installer available at Zend.com
•Updated Fast CGI built by IBM requires PTFs
Current group for 57nnDG1 – IBM HTTP Server for i5/OS
http://www-912.ibm.com/s_dir/sline003.nsf/GroupPTFs?OpenView&view=GroupPTFs
V5R4 – Updated!
• PASE – SI36004 – Updated!
• HTTP SI36026• HTTP – SI36026
i6.1 – Updated!
• PASE – SI36005
© All rights reserved. Zend Technologies, Inc.
• HTTP – SI36027
17 Insert->Header & Footer
Zend Core UsersZend Core Users•Can install Zend Server side by side
•Uses new directories
•Uses different port 10088
•Consider running one side at a time
Potential conflict with user based applications.
Other applications
•Once successfully on Zend Server, remove Core
DLTLICPGM
© All rights reserved. Zend Technologies, Inc.18 Insert->Header & Footer
File locationsFile locations•Document Root
/www/zendsvr/htdocs/www/zendsvr/htdocs
•Zend Installation Directories
/usr/local/zendsvr/usr/local/zendsvr
•Zend Framework
/usr/local/zendsvr/share/ZendFramework/usr/local/zendsvr/share/ZendFramework
•PHP binaries (CLI and more)
/usr/local/zendsvr/bin/usr/local/zendsvr/bin
© All rights reserved. Zend Technologies, Inc.21 Insert->Header & Footer
Other new defaultsOther new defaults
•Web User
QTMHHTTP
• Initial port
10088
•Admin Interface
http://yourIBMiNameHere:10088/ZendServer
•Nice comparison table of Core vs. Server (Alan Seiden)
http://www.alanseiden.com/2010/04/21/differences-between-zend-core-and-zend-server-on-ibm-i/
© All rights reserved. Zend Technologies, Inc.22 Insert->Header & Footer
Update processUpdate process•User controlled PTF
PTF il bl f Z d•PTF available from Zend
•Check for updates in Administration panel
© All rights reserved. Zend Technologies, Inc.23 Insert->Header & Footer
Sample scriptsSample scripts•Free for the install http://yourIBMiName:10088/Samples/
B i t if t li ti id O •Basic concepts, if you want an application consider Open Source community
•Scripts examples:Scripts examples:
HelloWorld
SQL Data Access to DB2Q
SQL Data Access using ZF
SQL Access to MySQL
Program call
LDAP
© All rights reserved. Zend Technologies, Inc.24 Insert->Header & Footer
Zend Server for IBM iwww.zend.com
Community Edition Features
© All rights reserved. Zend Technologies, Inc.
Zend Server CE vs CommercialZend Server CE vs. CommercialFeature CE CommercialCertified PHP ● ●
Zend Framework ● ●
Apache integration ● ●
MySQL ● ●
Built-in database connectivity ● ●
Java connector ● ●
Web-based admin ● ●
Debugger ● ●
Bytecode acceleration ● ●Bytecode acceleration ● ●
Caching API ● ●
PHP 5.3 ● ●
PHP IBM i toolkit ● ●
Page Cache ●
Application Monitoring ●
Code tracing ●
Job queue ●
© All rights reserved. Zend Technologies, Inc.26 Insert->Header & Footer
Software updates and hot fixes ●
Technical support ●
Database resources supported Database resources supported
•DB2
db2_connect
•MySQL
mysql_connect
•Microsoft SQL Server
mssql_connect
•Oracle
oci oci_
© All rights reserved. Zend Technologies, Inc.27 Insert->Header & Footer
Leverage investments in existing technologyLeverage investments in existing technology
•Call High level language programsg g g p g
RPG
COBOL
CL programs via toolkit
C based API’s
•Call Java Program via Java Connector
Now part of the both Zend Server and Zend Server Community EditionEdition
© All rights reserved. Zend Technologies, Inc.28 Insert->Header & Footer
Optimizer+Optimizer+
Eliminates what’s not needed
Opcode cache
• Caches the PHP bytecode in RAM
• Significantly reduces disk access
Opcode optimizer
O ti i t i d f t t i ti d• Optimizes certain code fragments to improve execution speed
Now part of the free Community Edition package
© All rights reserved. Zend Technologies, Inc.29 Insert->Header & Footer
Data CachingData Caching
Provides a set of API functions for caching data itemsg
DB query results, web service calls, complex or hard-to-get data
Output elements
Allows skipping slow PHP code chunks
Shared memory and Disk storage backends
Data can be grouped using namespaces
APC user cache compatibility layer
Zend Framework Zend_Cache_Backend adapters
© All rights reserved. Zend Technologies, Inc.30 Insert->Header & Footer
Zend Server UpdateZend Server Update
www.zend.com
Open Source Toolkit
© All rights reserved. Zend Technologies, Inc.
Toolkit Plumbing from 10 000 feetToolkit Plumbing from 10,000 feet
DB2DB2 Extension
or ODBC
DB2 Functions
DRDA
XMLStored
Procedures&
Data
PHP ClassesT lkit
OOProgram
XML
Data
HLL’s
Toolkit API
gCalls
XML
OO R RPG, COBOL
System
RPG XMLSERVICE
i5 functions Compatibility
Wrapper
OO Request
© All rights reserved. Zend Technologies, Inc.32 Insert->Header & Footer
ArtifactsParm Data
XML ServiceXML Service
• IBM has open sourced XMLService.p
•First Open Source project on IBM i. (that I know of…)
•Made up of RPG, CL and DB2 stored procedures (SQL)p , p ( Q )
•Tony Cairns, IBM RochesterTony Cairns, IBM Rochester
© All rights reserved. Zend Technologies, Inc.33 Insert->Header & Footer
XML ServiceXML Service
•Cross platformp
•Language agnostic
•Basic plumbing for all open source languagesp g p g g
© All rights reserved. Zend Technologies, Inc.34 Insert->Header & Footer
Compatibility WrapperCompatibility Wrapper
• Intercepts existing i5 function requestsp g q
•Written in pure PHP
•Passes them on to OO PHP which then…
•Passes on to XML Service
•Alan Seiden SBS & alanseiden.com Alan Seiden, SBS & alanseiden.com
© All rights reserved. Zend Technologies, Inc.35 Insert->Header & Footer
Source Code on YiPs for nowSource Code on YiPs…for now…
•http://youngiprofessionals.com/
© All rights reserved. Zend Technologies, Inc.36 Insert->Header & Footer
Now the program callNow the program call
•Set parameters based on functionp
Call program
Output results I/
Leng
Comm
Var
n
Init/
Ogth
ent
name
val
© All rights reserved. Zend Technologies, Inc.37 Insert->Header & Footer
Zend Server for IBM iwww.zend.com
Commercial Edition Features
© All rights reserved. Zend Technologies, Inc.
Application MonitoringApplication Monitoring
Zend Server Monitor will watch your application for:y pp
PHP Errors (including warnings, notices, uncaught exceptions...)
Failing functions (user-defined or internal)
Failing DB queries
Slow functions (user-defined or internal) or DB queries
Slow request executions
High memory consumption
Errors reported by Zend Server components
When an issue is detected Zend Server reports an event and
© All rights reserved. Zend Technologies, Inc.
When an issue is detected, Zend Server reports an event and takes the “Dump” every time!
39 Code Tracing
Page CachingPage Caching
Don't execute a single line of PHP if you don't have tog y
Caches entire HTTP response
Configured from UI, no code changes required
Live / cached decision is based on request or session parameters
Variants can be created based on request or session parameters
© All rights reserved. Zend Technologies, Inc.40 Insert->Header & Footer
Page CachingPage Caching
© All rights reserved. Zend Technologies, Inc.41 Insert->Header & Footer
Zend Server 5 for IBM iwww.zend.com
dCode Tracing
© All rights reserved. Zend Technologies, Inc.
Code Tracing Supported WorkflowsCode Tracing Supported Workflows
•Monitoring workflow:g
When a monitoring event is created, the associated trace data of the specific request is captured
Trace data is attached and associated to the monitoring event
•Manual tests/functional workflow:
Manually through the GUI or from a browser by adding a parameter to the request
•Production workflowProduction workflow
Can be activated automatically in case of a Zend Monitoring event, for example a PHP error, a slow execution or high memory usage
© All rights reserved. Zend Technologies, Inc.
usage
Code Tracing Enhancements since last demoCode Tracing Enhancements since last demo
•We are working this stuff pretty hard g p y
•Toggle Critical path display
•Toggle Memory displaygg y p y
•Arguments display
© All rights reserved. Zend Technologies, Inc.
Zend Server 5: Technical Overviewwww.zend.com
bJob Queue
© All rights reserved. Zend Technologies, Inc.
Job Queue allows you toJob Queue allows you to...
•Put certain tasks into a separate execution queuep q
Off-load to new process (or defer to a later time)
Off-load to a different server
•Execute certain tasks at a specified time
Distribute processing load to off-hours
•Execute certain tasks periodically
•While..
Maximizing reuse of existing infrastructure & code
Making sure nothing falls between the cracks
© All rights reserved. Zend Technologies, Inc.
Doing it all from a PHP API
46
Creating JobsCreating Jobs
•Jobs are created using the createHttpJob() methodg p ()$queue = new ZendJobQueue(); $queue->createHttpJob(
'http://backend.local/jobs/somejob.php');
•Pass parameters
Simple ones, via query string $_GET
C l i ti f k l iComplex ones, as an associative array of key => value pairs
•Set job options
N i it h d l tName, priority, schedule, etc.
Create deferred or recurring jobs
© All rights reserved. Zend Technologies, Inc.
•Or… create from the UI
47 Insert->Header & Footer
ResourcesResources•Recorded Webinars
http://www.zend.com/en/resources/webinars/i5-os
Z d S f IBM i i li k t d l d•Zend Server for IBM i main page, link to downloads
http://www.zend.com/en/products/server/zend-server-ibm-i
•Zend Server manual:
PDF: htt // d /t i /Z d S 5 f IBMi R f M l dfPDF: http://www.zend.com/topics/Zend-Server-5-for-IBMi-Reference-Manual.pdf
Online: http://files.zend.com/help/Zend-Server-5/zend-server.htm#installation_guide.htm
© All rights reserved. Zend Technologies, Inc.48 Insert->Header & Footer
Thank you & Q&AThank you & Q&A• If you have a question you can
Type in the Q&A panel
Tweet #zendwebinar
•Follow us!
http://bit ly/cjueZg (Zend Technologies or search for Zend)http://bit.ly/cjueZg (Zend Technologies or search for Zend)
http://twitter com/zendhttp://twitter.com/zend
© All rights reserved. Zend Technologies, Inc.
Q&Awww.zend.com
Please fill out your Please fill out your Session Evaluation!
© All rights reserved. Zend Technologies, Inc.50 Insert->Header & Footer
Session Evaluation!