More Related Content
Similar to PHP & IBM i (20)
PHP & IBM i
- 1. IBM i e PHP
Andrea Bortolan
IBM Power Systems
andrea_bortolan@it.ibm.com
1
© 2008 IBM Corporation
- 3. L’evoluzione dei modelli applicativi
Character
UI 5250 Data
Tradizionale Intranet Presentation
Business
Access
Intranet Logic Logic
Logic
Utente Emulazione
5250
Windows o Linux
Client Graphical
Data
Server UI
Win o Linux
Intranet
Intranet
Business
Access
Logic Logic
Presentation
Logic
Utente Windows o
Linux
Graphical
Web UI
Browser
Web Web Business
Data
Access
Intranet Presentation
HTTP Server
Intranet Logic
Logic Logic
Utente Web
oo
Internet
Internet Business
Data
Access
Logic Logic
Programma
Web Services Applicativo
WSDL
3
© 2008 IBM Corporation
- 4. PHP
Il PHP è uno Scripting Language per sviluppare
applicazioni Web
– open source Vibrant Community
– molto diffuso
• 4.5+ milioni di sviluppatori PHP
• 22+ milioni di domini Internet sviluppati
Low Learning Curve
in PHP
– multipiattaforma (i5/OS, Linux, Unix,
Windows)
– curva di apprendimento veloce
– potente
– leggero per i sistemi
– centinaia di applicazioni gia’
disponibili
4
© 2008 IBM Corporation
- 5. PHP
2006: accordo strategico tra IBM e Zend per rendere disponibili
prodotti e soluzioni Zend per il mondo i5/OS
Zend Core for i5/OS
– runtime i5/OS per applicazioni PHP
– disponibile per V5R3, V5R4 e V6R1
– gratuito, 1 anno di supporto Silver incluso (supporto via Web, fix, aggiornamenti)
Zend Studio for Eclipse i5 edition
– Integrated Development Environment basato su Eclipse
– disponibile per Windows Linux e Mac OS X
– gratuito, 1 anno di supporto Silver incluso (supporto via Web, fix, aggiornamenti)
5
© 2008 IBM Corporation
- 7. Novita’ 2009
Zend Core e Zend Studio for i5/OS distribuiti gratuitamente con
IBM i V5R4 e V6R1
– incluso 1 anno di supporto Silver (supporto via Web, fix, aggiornamenti)
– GA 6 Febbraio 2009
7
© 2008 IBM Corporation
- 8. i5 PHP API Toolkit
Estende il PHP standard con una serie di API specifiche
per l’integrazione con i5/OS
– comandi i5/OS
Vibrant Community
– accesso a DB2 UDB for i5/OS – file di stampa
– richiamo programmi nativi – user spaces
– aree dati Low Learning Curve – job logs
– code dati – ...
– code messaggi
Tutte le API sono identificate dal prefisso i5_
E’ realizzato come un’estensione del PHP abilitata
durante l’installazione stessa di Zend Core for i5/OS
8
© 2008 IBM Corporation
- 9. Zend Core for i5/OS
Altra partizione
Altro sistema i5/OS
IFS
PASE QSYS User
5722SS1 Opz.33
cc bb
cc bb
PHP <?php
Request Module ......
?>
HTTP Server
Porta 89 HTTP Server Database
Response
Porta 8000
Programma
Reverse Proxy Zend Core for i5/OS nativo
1ZCORE5
Supporto di HTTPS incluso in Zend Core a partire dalla versione 2.5.1
9
© 2008 IBM Corporation
- 10. I modelli e le infrastrutture applicative
Zend Core for
Web i5/OS
Graphical
Browser
Web Graphical UI
Business
Data
UI Access
Modulo Logic Logic
Utente Web PHP
HTTP Server
Intranet
Intranet
oo
Internet
Internet Zend Core for i5/OS
Modulo
Programma WSDL PHP
Web Services Applicativo
10
© 2008 IBM Corporation
- 11. I prodotti Zend per i5/OS e IBM i
Zend Core for i5/OS
– runtime applicativo PHP standard con estensioni specifiche
(API i5_) per l’integrazione con i5/OS
– gratuito, inclusi 3 anni di supporto di base
Zend Studio for i5/OS e Zend Studio for Eclipse i5 Edition
– ambiente di sviluppo, test e debug di applicazioni PHP
– gratuito, inclusi 3 anni di supporto di base
Zend Guard
– protezione ed offuscamento del codice
Zend Platform for i5/OS
– prestazioni, scalabilita’ e affidabilita’ per ambienti PHP
“mission critical”
Zend 5250 Bridge (incluso in Zend Platform)
– set di API per interfacciare da PHP programmi interattivi 5250
11
© 2008 IBM Corporation
- 12. Zend Platform per i5/OS
Consente di rendere un ambiente PHP “core business”
piu’ robusto, ottimizzato ed efficiente
– tuning delle applicazioni
– segnalazione degli errori a runtime
– compilazione degli script PHP e caching delle pagine
– supporto del cluster
Permette l’integrazione tra PHP e Java
Prodotto a pagamento
12
© 2008 IBM Corporation
- 13. Zend Platform: segnalazione degli errori
“non sfugge niente”: tutte
gli eventi e i dati dell'intera
sessione di lavoro
vengono memorizzati
• Una “traccia” completa
relativa all'applicazione è
memorizzata automaticamente
• Possibilita’ di replicare
l'evento in errore
13
© 2008 IBM Corporation
- 14. Zend Platform: integrazione con Zend Studio
Accesso diretto al source PHP “interessato” dall’errore
Attivazione del Debug per identificare e correggere il
problema
14
© 2008 IBM Corporation
- 15. Zend 5250 Bridge
Set di API per interfacciare programmi interattivi 5250
da script PHP
– reperimento ed impostazione (get and set) del contenuto e degli
attributi di campi di videate 5250
– possibilita’ di pubblicare programmi 5250 come Web Services
attraverso script PHP che li interfacciano e li incapsulano
– incluso in Zend Platform
DSPF
5250 Data
Business
Presentation Access
Logic Logic
Logic
15
© 2008 IBM Corporation
- 16. i5/OS e MySQL
MySQL e’ il database piu’ diffuso nel mondo Open Source con oltre
11 milioni di installazioni
MySQL e’ il database più usato dalle applicazioni PHP
Oggi: MySQL e’ supportato nell’Integrated File System di i5/OS
– possibilità di eseguire in i5/OS applicazioni PHP basate su MySQL
In un prossimo futuro:
integrazione di MySQL con IBM DB2 Applicazioni Applicazioni
for i5/OS PHP RPG
– possibilità per applicazioni PHP
basate su MySQL di archiviare i dati MySQL
in IBM DB2 for i5/OS
Dati memorizzati in
– gia’ disponibile in Beta test
DB2 for i
http://www-03.ibm.com/systems/i/software/mysql
16
© 2008 IBM Corporation
- 17. Dalle applicazioni i5/OS al Web
DSPF 5250 Data
Business
Presentation Access DB2 for
Logic Logic
Logic I5/OS
Reface
– generare automaticamente una GUI a
partire dai pannelli 5250 esistenti
JSP Servlet DSPF
– sovrapporre la nuova GUI 5250 Data
/Portlet Business
all’interfaccia utente 5250 Presentation
Logic
Access DB2
Logic Logic
Restructure
– separare la logica di business dalla
logica di presentazione, quindi JSP
• sviluppare una nuova GUI e una nuova
logica di presentazione da cui richiamare la Servlet Data
Business Access
logica di business esistente, oppure /Portlet DB2
Logic Logic
• pubblicare la logica di business esistente
come Web Services
Rewrite
– sviluppare una nuova GUI, una nuova JSP Servlet Business
Data
logica di presentazione e una nuova /Portlet Access DB2
Logic
Logic
logica di business riutilizzando i dati
17
© 2008 IBM Corporation
- 18. PHP e l’integrazione con i5/OS – Applicazioni Web
Rich UI
Modulo Data
Business
PHP Access
Logic Logic
Zend Core for i5/OS
Restructure
Rich UI
Modulo
PHP
Zend Core for i5/OS Database
Rewrite
Rich UI
Modulo 5250 Data
Business
Presentation Access
PHP Logic
Logic Logic
Zend Core for i5/OS
Reface
18
© 2008 IBM Corporation
- 19. PHP e l’integrazione con i5/OS – Web Services
WSDL
Modulo Data
Client del PHP Business Access
Logic Logic
Web Service
Zend Core for i5/OS
WSDL
Modulo
Client del PHP
Web Service
Database
Zend Core for i5/OS
WSDL
Modulo 5250 Data
Business
Presentation Access
Client del PHP Logic
Logic Logic
Web Service
Zend Core for i5/OS
19
© 2008 IBM Corporation
- 20. PHP e Java
PHP e Java sono simili per
– ambienti di sviluppo disponibili
– esempi disponibili
– integrazione spinta con i5/OS
• IBM Java Toolbox
• i5 PHP API Toolkit
– portabilita’
20
© 2008 IBM Corporation
- 21. PHP e Java
PHP e Java sono differenti per
PHP Java
Language syntax Procedural Many application types
Subset of function Requires object-orientation
and features
compared to JSF and JSP
Web applications only
Programming No architecture. MVC is MVC is required
suggested
model and
architecture
Deployment Code is normally Code is compiled
interpreted at runtime Code runs in an application
Code runs in a PHP server server
Copy/paste with no config Additional server
configuration needed
Easier RPG => PHP Easier PHP => Java
Ease of use/skill
Allow for quick prototyping Requires OO skills
and deployment
Future Focus on structured Focus on simplifying
architecture and development
framework for enterprise
apps
21
© 2008 IBM Corporation