wi400 - the php i-framework
DESCRIPTION
WI400 è un prodotto sviluppato e distribuito da S.I.R.I. S.r.l. Soluzioni Informatiche per il Retail Italiano Via Colombo, 4 - 30037 Scorze' (VENEZIA) Italy Tel. +39 (041) 58.45.088 Fax: +39 (041) 58.40.177 al link www.wi400.com è possibile scaricare la versione openTRANSCRIPT
Wi400Wi400
the PHP i-framework
by S.I.R.I. Informatica
: quando il funzionale è anche bello
Agenda
� L'evoluzione dei modelli culturali: il “web 2.0”
� Nuovi strumenti: l'open-source
� L'integrazione tra IBMi e PHP
� Uso dell'open-source
� Sviluppare per il WEB
� Le novità in IBMi: il PHP
| 2 | 03/12/2010
| 2
� Sviluppare per il WEB
� Esperienze
� Question time
Evoluzione dei modelli culturali
rss – feed – wsdl
notebook
| 3 | 03/12/2010
| 07/05/10| 3
smartphoneb2b
Web server
�Connettere il DB2 ad altri DB�Implementare I servizi
Database
Nuove richieste all'IT
RPG/COBOL
�Integrazione con altre Piattaforme �Proteggere gli investimenti
O.S
| 4 | 03/12/2010
| 07/05/10| 4
OpenSource
�Ottenere benefici da applicazioni F.O.S.S.
Nuovi strumenti Open-Source
- la storia php#
Zend Framework
ZF and PDT
released, PHP 4 EOLannounced
Storia del PHP
Zeev Suraski & Andi Gutmanslead the development
20
M
15
M
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 25
M
Zend Framework & Eclipse project (PDT) announced
announced
PHP Proliferation
| 6 | 03/12/2010
development of PHP 3
| 07/05/10| 6
10
M
5M
PHP
Internet Domains
RasmusLerdorfIntroducesphp/fi
Trend linguaggi programmazione
java
dot.net
PHP
| 7 | 03/12/2010
Bassa curva di apprendimento
Apprendimento
rapido
Bassa curva di apprendimento
PHP – peculiarità
apprendimento rapidoapprendimento
Robusto, Multi-Piattaforma, Performance, Sicurezza, Scalabilità Affidabile
| 8 | 03/12/2010
| 8
Folta Community Larga
diffusione
PHP in IBMi
- quali sono le novità ?#
3 Aprile 2006: IBM annuncia l'accordo con “Zend technologies” per avere il PHP nativo sul sistema
ZendCore/ZendServer for I5/OS
PHP & IBMi
ZendCore/ZendServer for I5/OS
�PHP nativo
�Disponibile per V5R3, V5R4, V6R1 e V7R1
�Free of charge
ZendStudio for Eclipse i5 Edition
ZendCoreZendServer
| 10 | 03/12/2010
| 07/05/10| 10
Ide Studio
�Sistema di sviluppo client basato su Eclipse
�Disponibile su Windows, Linux, Mac OSx
�Free of charge
Power Systems
i5/OS
PASEAccess from
IFS
PHP & IBMi – scalabilità: ZendServer
PASE5722SS1 Opz.33
ApacheHTTP Server:porta 10088Response
Access from Internet
<?php......
Database
RPG/COBOL
PHPfast-cgi
PHPfast-cgi
PHPfast-cgi
Request
<?php......
| 11 | 03/12/2010
RPG/COBOL
OS
IBM i
HTTP SERVER(WEB SEVER)
DMZ
PHP & IBMi – scalabilità: ws
Internet/intranet
Win/Linux Server
HTTP SERVER(WEB SEVER)WSDL PUBLIC
INTERNALLAN
ZendServer
ZendServer
| 12 | 03/12/2010
RPG/COBOL
PHP & IBMi – scalabilità: easycom-toolkit
No ODBC Driver
| 13 | 03/12/2010
Integrazione in IBMi
- in che modo ?#
–i5/OS PASE is the
ZendServer for i5/OS “gira” nell'ambiente PASE
PHP & IBMi – i5OS/PASE
–i5/OS PASE is the AIX® runtime in i5/OS
–it is not an emulated environment
| 15 | 03/12/2010
| 15
da uno script PHPè possibile eseguireun i5/OS command
PHP & IBMi – integrazione
un i5/OS command
| 16 | 03/12/2010
| 16
risultato di un i5/OS command
PHP & IBMi – integrazione
| 17 | 03/12/2010
| 17
PHP & IBMi – integrazione
visualizza gli spoolin una pagina web
| 18 | 03/12/2010
| 18
PHP & IBMi – integrazione
| 19 | 03/12/2010
| 19
PHP & IBMi – risorse
| 20 | 03/12/2010
| 20
versione “community”di librerie PHP pdf
versione “community”di librerie PHP pdf
�la richiesta del cliente:“print my invoices to pdf format in i5”
1) Hold spool2) Call php script
PHP & IBMi – i5OS/PASE
2) Call php scriptfrom CL program
| 21 | 03/12/2010
| 21
lo script:merge tra un “template pdf” vuotoe il contenuto dello spool
�......una settimana dopo....“send my invoices via mail”
PHP & IBMi – i5OS/PASE
| 22 | 03/12/2010
| 22
MySQL Server
Connection PoolAuthentication – Thread – Connection Limits – Check Memory- Cache
SQL Interface Parser Cache & buffers
PASE IBMi
Optimizer
OpenSource & IBMi – MySQL
SQL InterfaceDDL, Store Procedure,
Views,Triggers ,etc
ParserQuery
Translation,Object Privilege
Cache & buffersGlobal and
Engine Specificcaches
OptimizerAccess Path,Statistics
Pluggable Storage Enginesmemory, Index & Storage Management
MyIsam InnoDB Memory
| 23 | 03/12/2010
| 23
ancl200f “accounts”
RPG
SQL
Query
MyIsam InnoDB Memory CSV
trigger
trigger
New IBM Redbook “Using IBM DB2 for i Storage Engine of MySQL”
SG24-7705
�attraverso l'engine ibm_db2 sono “a portata di mano” l'utilizzo di tipiche applicazioni opensource dello stack Lamp
OpenSource & IBMi – F.O.S.S.
•SUGARCRM for i5 - CRMhttp://www.sugarcrm.com
•MANTIS400 - HELP DESKhttp://www.mantisbt.org
| 24 | 03/12/2010
| 24
OpenSource & IBMi – F.O.S.S.
| 25 | 03/12/2010
OpenSource & IBMi – F.O.S.S.
| 26 | 03/12/2010
| 26
Cosa posso fare con PHP
- quali tematiche- l'open-source
#- l'open-source
Wiki E-CommerceContent Management
Utilizzo del PHP
| 28 | 03/12/2010
| 28
CRMBug Tracking GDO
L'Azienda
- PHP e S.I.R.I.#
Approccio PHP
�2003: Realizzazione del primo applicativo in ambiente win/linux
�2006: inizia l'avventura dello sviluppo PHP in ambito “I”
PHP & Siri
�2006: inizia l'avventura dello sviluppo PHP in ambito “I”
�2007: forte investimento nella tecnologia PHP ponendo le basi per la propria architettura PHP: Wi400
�2008: diventa partner ufficiale Zend con il programma “Powered by Zend”
�2008: realizza e manutenziona applicazioni PHP “business critical” per PMI
| 30 | 03/12/2010
| 30
�2008: realizza e manutenziona applicazioni PHP “business critical” per PMI e multinazionali
�2009: il team PHP Wi400 cresce: 8 persone dedicate al progetto
�2010: inizia la distribuzione del framework Wi400 sia in CE che PE
Certified Support
�nell'ambito IBMi, vanta oltre 20 anni di esperienza
�personale tecnico Zend Certified Engineer
PHP & Siri
�personale tecnico Zend Certified Engineer
�ha acquisito le migliori competenze e “best-practice” in PHPadattandole all'i5OS
| 31 | 03/12/2010
| 31
Sviluppare per il Web con PHP
- metodologia- strumenti rapidi
#- strumenti rapidi
Sviluppare Web con PHP
<html><title> hello world ! <title><title> hello world ! <title><body><br> Benvenuti in Wi400 </br>
<br><?phpprint “Il magico mondo del PHP” ;?></body></html>
print “<h1>Il magico mondo del PHP</h1>” ;
| 33 | 03/12/2010
| 33
Sviluppare Web con PHP – l'mvc
HTTP request
Executionparameters
browser controller modelResultingData arrays
HTTPresponse
| 34 | 03/12/2010
ResultingData arrays
GuiContent
Data arraysresponse
view
WI400 Action Architecture
azioni/menù su DB 2 i5OS
Sviluppare Web con PHP – l'mvc di Wi400
HTTP request
Executionparameters
browser controller modelResultingData arrays
HTTPresponse
gateway
azioni/menù su DB 2 i5OS
| 35 | 03/12/2010
| 35
ResultingData arrays
GuiContent
Data arraysresponse
view
validation
WI400 Action Architecture
modulo//wi400/modules/ CodiceAzione_Contesto.php
Contesti:_gateway
GATEWAY
Sviluppare Web con Wi400
_gateway_model_view_validation
GATEWAY
MODEL
VIEWERROR
Azione menù
| 36 | 03/12/2010
| 36
Validationform
TRUE
Contenitore/menù
Az.semplice
Az.batch
Sviluppare Web con Wi400: codice
<?php
$_myList = new wi400List( "EXAMPLE1_LIST" , true );
$_myList - >setFrom( "ZWIDEMO". $settings [ 'i5_sep' ]. "ANCL200F" );
1.istanziola classe
2.seleziono $_myList - >setFrom( "ZWIDEMO". $settings [ 'i5_sep' ]. "ANCL200F" );
$cols = getColumnListFromTable( "ANCL200F" , "ZWIDEMO");
$_myList ->setCols( $cols );
$_myList ->dispose();
2.selezionotabella
3.reperiscodescrizione campi
da tabella
4.assegno campialla classe istanziata
5.“rendering”del risultato
| 37 | 03/12/2010
Il risultato con 5 righe di codice
Sviluppare Web con Wi400: codice
| 38 | 03/12/2010
esportazionerecord
personalizzazionedella “griglia”
paginazioneautomatica
record
<?php
$_myList = new wi400List( "EXAMPLE1_LIST" , true );
$_myList - >setFrom( "ZWIDEMO". $settings [ 'i 5_sep' ]. "ANCL200F" );
Sviluppare Web con Wi400: codice
$_myList - >setFrom( "ZWIDEMO". $settings [ 'i 5_sep' ]. "ANCL200F" );
$cols = getColumnListFromTable( "ANCL200F" , "ZWIDEMO");
$_myList ->setCols( $cols );
$_myList ->dispose();
$_myFilter = new wi400Filter( "RASCL" , "Name" , "STRING" );
$_myFilter ->setFast( true );
$_myList ->addFilter( $_myFilter );
$_myFilter = new wi400Filter( "CDCLI" , "Code" , "STRING" );
$_myList ->addFilter( $_myFilter );
$_myFilter = new wi400Filter( "LOCCL" , "City" , "STRING" );
Istanzio filtrodi tipo “fast”
| 39 | 03/12/2010
$_myList ->dispose();
$_myFilter = new wi400Filter( "LOCCL" , "City" , "STRING" );
$_myList ->addFilter( $_myFilter );
Aggiuntadi filtri “advanced”
Il risultato con altre 7 righe di codice
ricercaveloce
Sviluppare Web con Wi400: codice
| 40 | 03/12/2010
Ricerca “advanced”attivabile arichiesta
Salvataggio dellaricerca “personale”da parte dell'utente
Sviluppare Web con Wi400: il controllo
| 41 | 03/12/2010
Controllo evisualizzazionedel job e dei log
Sviluppare Web con Wi400: news
Nuove “features” disponibili da Luglio 2010
news !
� SSC – SnapShot Session Controlpossibilità per lo sviluppatore Wi400 di “clonare” la
sessione dell'utente nel momento desiderato per le attività di debug
� JSC – Job Schedulation Control
| 42 | 03/12/2010
� JSC – Job Schedulation Controlpossibilità di “sottomettere” in vere e proprie JOBQ di IBMi alcune azioni considerate “pesanti”.L'utente potrà essere avvisato tramite mail del
completamento dell'elaborazione
Sviluppare Web con Wi400: news -SSC
� Snapshot Session Control
Messaggio all'utente finale
| 43 | 03/12/2010
Possibilità di“agganciare” la
sessione dell'utente Lo sviluppatorepuò visualizzare e
“catturare” tutte le infodella sessione
Sviluppare Web con Wi400: news -JSC
� Job Schedulation Control
| 44 | 03/12/2010
Gestione opzioniper singolo lavoro
Wi400: cases
- esperienze - casi di successo
#- casi di successo
Wi400: cases
| 46 | 03/12/2010
Wi400: esperienze
| 47 | 03/12/2010
LayerRPG/COBOL
PHP
Wi400: esperienze
RPG/COBOLrichiamoapplicativi
PHP
WSDL
tab.interfaccia
Bus in
tegrazio
ne
IN
OUT
| 48 | 03/12/2010
Bus in
tegrazio
ne
User space
Wi400: esperienze
| 49 | 03/12/2010
Wi400: esperienze
| 50 | 03/12/2010
Wi400: esperienze
Statistiche venduto
| 51 | 03/12/2010
http:// www. wi400. com
Wi400: riferimenti
http://www.linkedin.com/groups?gid=2896949
| 52 | 03/12/2010
| 52
ARRIVEDERCI
“Non è la specie più forte che sopravvive,né la più intelligente, né la più intelligente, ma quella più ricettiva ai cambiamenti.”
Charles Darwin
- Question Time ?#