wi400: the first php i-framework” - web interface as400
TRANSCRIPT
| 07/05/10| 2
Agenda
Modernizzare e IBMi
I Principi delle interfacce
L'evoluzione dei modelli culturali
| 07/05/10| 3
IBMi e “modernize”
Perchè allora quando si parla di IBMi si parla anche sempre di “modernizzare ?”
Il sistema IBMi
solidità
affidabilità
protezione degli investimenti
larghissima diffusione diapplicazioni.........
.....l'interfaccia...
| 07/05/10| 4
“La caffettiera del masochista” di Donald A. Norman – Giunti Editore 1997
Principi delle interfacce
La psicopatologia degli “oggetti quotidiani”
professore emerito presso il celeberrimo MIT(Massachusetts Institute of Technology)
vicepresidente del gruppo ricerca sulletecnologie avanzate per Apple
ha scritto una tagliente critica sulla scarsa ergonomia delle interfacce
..se hai problemi a capire quando spingere o tirare una porta..non è colpa tua...
| 07/05/10| 5
Principi delle interfacce – cattivi esempi
Il design dei Fornelli
la relazione tra manopole e fornelli è in buonaparte arbitraria
I fornelli
| 07/05/10| 6
Principi delle interfacce – cattivi esempi
Il volume della sveglia
la violazione di un modello culturale consolidato
Perchè il volume si alza “abbassando” ?
| 07/05/10| 7
IBMi e la “gui”
Risultato finale....
il 5250 su un nuovo dispositivo..
Questo è modernizzare ?
Le evoluzioni della “Graphical User Interface”
lo screen scraping
il refacing
il capture “data streaming”
data xml flow transfer
| 07/05/10| 8
L'evoluzione dei modelli culturali
rss – feed – news - wsdl
smartphonebiglietterie
Chioschi – TouchScreen
notebook
| 07/05/10| 9
Web server
RPG/COBOL
Connettere il DB2 ad altri DB
Integrazione con altre Piattaforme
Implementare I servizi
Proteggere gli investimenti
Database
O.S
Sono richieste nuove esigenze all'IT
OpenSource
Ottenere benefici da applicazioni FOSS
| 07/05/10| 11
20M
15M
10M
5M
PHP 4 Released•1M Internet
domains•Zend Engine•Zend Founded
Yahoo! Standardizeson PHP
PHP 5.0(XML,SOAP,OOP)
(
IDE Studio
IBM, Oracle Endorse PHP
PHPInternet Domains
25M
Zend Framework & Eclipse project (PDT) announced
ZF and PDT
released, PHP 4 EOLannounced
PHP Proliferation
Zeev Suraski & Andi Gutmanslead the development of PHP 3Rasmus
LerdorfIntroducesphp/fi
Un Pò di Storia
| 07/05/10| 13
Folta Community Larga diffusione
Bassa curva di apprendimento
Apprendimento rapido
Bassa curva di apprendimento
Robusto, Multi-Piattaforma, Alte-Performance, Sicurezza Affidabile
Cos'è il PHP - dettaglio: vantaggi
| 07/05/10| 15
Ide Studio
PHP & IBMi
April 3 2006: IBM annuncia un accordo per più anni con Zend technologies per avere il PHP nativo sul sistema
ZendCore/ZendServer for I5/OS
PHP nativo
Disponibile da V5R3, V5R4 and V6R1
Free of charge
ZendStudio for Eclipse i5 Edition
Sistema di sviluppo client basato su Eclipse
Disponibile su Windows, Linux, mac OS x
Free of charge
ZendCore
| 07/05/10| 16
ZendCore e ZendStudio for I5/OS sono inclusi nei nuovi IBMi
Nella nuove macchine V5R4 and V6R1
1 anno di silver support
Disponibile da February 6, 2009
PHP & IBMi: novità
new !
| 07/05/10| 17
ZendServer for I5/OS: evoluzione dello ZendCoreNuova versione del PHP 5.3
1 anno di silver support
Disponibile in GA da Aprile, 2010
PHP & IBMi: novità
new !
| 07/05/10| 18
• release V5R3/V5R4/V6R1• 5722SS1 - opt 33 Portable app. solutions Environ.
• 5722SS1 - opt 30 Qshell
• 5722SS1 - opt 13 System Opennes Includes
• 5722SS1 - opt 34 Digital Certificate Manager
• 5722AC3 - opt *BASE Crypt access provider (V5R3)
• 5733SC1 - opt *BASE Portable Utilities (eng only)
• 5733SC1 - opt 1 OpenSSH,Open SSL,Zlib (eng only)
PHP & IBMi: prerequisiti
| 07/05/10| 19
PHP & IBMi: installation
• RSTLICPGM LICPGM(1ZCORE5) – per lo ZendCore
• RSTLICPGM LICPGM(2ZSVRPI)- per lo ZendServer
| 07/05/10| 20
Power Systemsi5/OS
PASE5722SS1 Opz.33
HTTP Serverlocalhost:8000
PHPModule
ApacheHTTP Server
:porta 89
Request
Reverse Proxy
Response
Access from Internet
IFS
<?php......
<?php......
Different system Linux/Windows
PHP & IBMi: configurazione ZendCore
Database
RPG/COBOL
OS
| 07/05/10| 21
Power Systemsi5/OS
PASE5722SS1 Opz.33
ApacheHTTP Server:porta 10088Response
Access from Internet
IFS
<?php......
PHP & IBMi: configurazione ZendServer
Database
RPG/COBOL
OS
PHPfast-cgi
PHPfast-cgi
PHPfast-cgi
Request
<?php......
| 07/05/10| 22
Internet/ intranet
Win/Linux Server
IBM i
web-service
HTTP SERVER(WEB SEVER)WSDL PUBLIC
DMZ
INTERNALLAN
RPG/COBOL
PHP & IBMi: configurazioni alternative
ZendServer
ZendServer
| 07/05/10| 24
File manager•file system•project
Inspector•File•Project•PHP•Css
Design•table•button•field
Editor•Syntax highligthing•syntax cheking•code completition
Debug messages•Error•Warning
Palette Toolbox•table•Html•Form•Link•......
PHP & IBMi: l'IDE per IBMi
| 07/05/10| 25
More “user friendly” than 5250....
DataBase Navigator• pf• lf
Sql Browser
PHP & IBMi: l'IDE per IBMi
| 07/05/10| 27
Integrazione: toolkit
Toolkit permette di interagire nativamentecon gli oggetti di i5/OS
DB2 for IBM i
Programs
Data areas
Data queues
Message queues
System values
commands
Spool files
joblog
Run sql statements
Tutte le API's vengono identificate da i5_
| 07/05/10| 33
–i5/OS PASE is the AIX® runtime in i5/OS
–it is not an emulated environment
Integrazione: i5/OS e Pase
ZendCore for i5/OS “gira” nell'ambiente PASE
| 07/05/10| 34
......altro esempio: “stampa il report di listino con barcode in pdf”
Integrazione: i5/OS and Pase
| 07/05/10| 35
la richiesta del cliente:“print my invoices to pdf format in i5”
1) Hold spool2) Call php script from CL program
lo script:merge tra una “template pdf” vuotae il contenuto dello spool
Integrazione: i5/OS e Pase
| 07/05/10| 37
System i customers get the benefit of being able to use thousands of new open source applications while continuing to have one easy to use data store with DB2.
PHPapplications
MySQL
DB2 for i
RPGapplications
•DB2 Storage Engine now available with MySQL –enables MySQL-based applications to store data in DB2 for IBM i–available with MySQL Community Edition 5.1.33
•New IBM Redbook “Using IBM DB2 for i as a Storage Engine of MySQL” SG24-7705
• MySQL database supported on IBM i Integrated File System–enables customers to deploy PHP MySQL-based applications on IBM i
http://dev.mysql.com/downloads/mysql/5.1.html#i5os-savf
Integrazione: mySQL & DB2
| 07/05/10| 38
ancl200f
Integrazione: mySQL & DB2
MySQL ServerConnection Pool
Authentication – Thread – Connection Limits – Check Memory- cache
SQL InterfaceDDL, Store Procedure,
Views,Triggers ,etc
Parserquery translation,Object Privilege
Cache & buffersGlobal and
engine Specificcaches
PASE IBMi
Optimizeraccess Path,
Statistics
“accounts”
RPG
SQL
Query
Pluggable Storage Enginesmemory, Index & Storage Management
MyIsam InnoDB Memory CSV
trigger
trigger
| 07/05/10| 42
Cosa posso fare con PHP
WikiE-Commerce
CRMBug Tracking
Content Management
DrupalsilverStripe
GDO
| 07/05/10| 43
attraverso l'engine db2 access via “mysql”, sono “a portata di mano” per effettuare il “porting” di tipiche applicazioni opensource
• SUGARCRM for i5 - CRMhttp://www.sugarcrm.com
• MANTIS400 - HELP DESKhttp://www.mantisbt.org
IBMi e l'open-source
| 07/05/10| 46
Inizio approccio php nel 2003
Realizza il primo applicativo per gestire commesse e costi
PHP e IBMi
Nel 2006 SIRI inizia la sua “avventura” con il PHP in ambito AS400
Nel 2007 inizia una consistente fase di “investimento” nella tecnolgia php, ponendo le basi per la sua “architettura WI400”
Nel 2008 SIRI diventa partner ufficiale ZEND con il programma “Powered by Zend”
Oggi
Sta continuamente potenziando il “laboratorio” PHP con nuove risorse da un lato, e formando l'attuale RPG in PHP
Iniziato il programma di partnership per la distribuzione di WI400
SIRI e il PHP
| 07/05/10| 47
SIRI e il PHP
Certified Support
nell'ambito IBMi, vanta oltre 20 anni di esperienza
personale tecnico Zend Certified Engineer
ha acquisito le migliori competenze e “best-practice” in PHP adattandole all'i5OS
| 07/05/10| 50
Lo sviluppo del codice con MVC
HTTP request
Executionparameters
browser controller model
ResultingData arrays
GuiContent
ResultingData arrays
HTTPresponse
view
| 07/05/10| 51
Lo sviluppo del codice con WI400
HTTP request
Executionparameters
browser controller model
ResultingData arrays
GuiContent
ResultingData arrays
HTTPresponse
view
WI400 Action Architecture
gateway
validation
azioni/menù su DB2 i5OS
| 07/05/10| 52
Lo sviluppo del codice con WI400
WI400 Action Architecture
modulo//wi400/modules/ CodiceAzione_Contesto.php
Contesti:_gateway_model_view_validation
GATEWAY
MODEL
VIEW
Validationform
ERROR
TRUE
Azione menù
Contenitore/menù
Az.semplice
Az.batch
| 07/05/10| 55
http:// www. wi400. com
http://www.linkedin.com/groups?gid=2896949
Lo sviluppo del codice con WI400