wi400 - the php i-framework

54
Wi400 the PHP i-framework by S.I.R.I. Informatica : quando il funzionale è anche bello

Upload: wi400

Post on 07-Apr-2015

61 views

Category:

Documents


2 download

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 open

TRANSCRIPT

Page 1: WI400 - The PHP i-Framework

Wi400Wi400

the PHP i-framework

by S.I.R.I. Informatica

: quando il funzionale è anche bello

Page 2: WI400 - The PHP i-Framework

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

Page 3: WI400 - The PHP i-Framework

Evoluzione dei modelli culturali

rss – feed – wsdl

notebook

| 3 | 03/12/2010

| 07/05/10| 3

smartphoneb2b

Page 4: WI400 - The PHP i-Framework

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.

Page 5: WI400 - The PHP i-Framework

Nuovi strumenti Open-Source

- la storia php#

Page 6: WI400 - The PHP i-Framework

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

Page 7: WI400 - The PHP i-Framework

Trend linguaggi programmazione

java

dot.net

PHP

| 7 | 03/12/2010

Page 8: WI400 - The PHP i-Framework

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

Page 9: WI400 - The PHP i-Framework

PHP in IBMi

- quali sono le novità ?#

Page 10: WI400 - The PHP i-Framework

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

Page 11: WI400 - The PHP i-Framework

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

Page 12: WI400 - The PHP i-Framework

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

Page 13: WI400 - The PHP i-Framework

PHP & IBMi – scalabilità: easycom-toolkit

No ODBC Driver

| 13 | 03/12/2010

Page 14: WI400 - The PHP i-Framework

Integrazione in IBMi

- in che modo ?#

Page 15: WI400 - The PHP i-Framework

–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

Page 16: WI400 - The PHP i-Framework

da uno script PHPè possibile eseguireun i5/OS command

PHP & IBMi – integrazione

un i5/OS command

| 16 | 03/12/2010

| 16

Page 17: WI400 - The PHP i-Framework

risultato di un i5/OS command

PHP & IBMi – integrazione

| 17 | 03/12/2010

| 17

Page 18: WI400 - The PHP i-Framework

PHP & IBMi – integrazione

visualizza gli spoolin una pagina web

| 18 | 03/12/2010

| 18

Page 19: WI400 - The PHP i-Framework

PHP & IBMi – integrazione

| 19 | 03/12/2010

| 19

Page 20: WI400 - The PHP i-Framework

PHP & IBMi – risorse

| 20 | 03/12/2010

| 20

versione “community”di librerie PHP pdf

versione “community”di librerie PHP pdf

Page 21: WI400 - The PHP i-Framework

�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

Page 22: WI400 - The PHP i-Framework

�......una settimana dopo....“send my invoices via mail”

PHP & IBMi – i5OS/PASE

| 22 | 03/12/2010

| 22

Page 23: WI400 - The PHP i-Framework

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

Page 24: WI400 - The PHP i-Framework

�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

Page 25: WI400 - The PHP i-Framework

OpenSource & IBMi – F.O.S.S.

| 25 | 03/12/2010

Page 26: WI400 - The PHP i-Framework

OpenSource & IBMi – F.O.S.S.

| 26 | 03/12/2010

| 26

Page 27: WI400 - The PHP i-Framework

Cosa posso fare con PHP

- quali tematiche- l'open-source

#- l'open-source

Page 28: WI400 - The PHP i-Framework

Wiki E-CommerceContent Management

Utilizzo del PHP

| 28 | 03/12/2010

| 28

CRMBug Tracking GDO

Page 29: WI400 - The PHP i-Framework

L'Azienda

- PHP e S.I.R.I.#

Page 30: WI400 - The PHP i-Framework

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

Page 31: WI400 - The PHP i-Framework

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

Page 32: WI400 - The PHP i-Framework

Sviluppare per il Web con PHP

- metodologia- strumenti rapidi

#- strumenti rapidi

Page 33: WI400 - The PHP i-Framework

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

Page 34: WI400 - The PHP i-Framework

Sviluppare Web con PHP – l'mvc

HTTP request

Executionparameters

browser controller modelResultingData arrays

HTTPresponse

| 34 | 03/12/2010

ResultingData arrays

GuiContent

Data arraysresponse

view

Page 35: WI400 - The PHP i-Framework

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

Page 36: WI400 - The PHP i-Framework

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

Page 37: WI400 - The PHP i-Framework

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

Page 38: WI400 - The PHP i-Framework

Il risultato con 5 righe di codice

Sviluppare Web con Wi400: codice

| 38 | 03/12/2010

esportazionerecord

personalizzazionedella “griglia”

paginazioneautomatica

record

Page 39: WI400 - The PHP i-Framework

<?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”

Page 40: WI400 - The PHP i-Framework

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

Page 41: WI400 - The PHP i-Framework

Sviluppare Web con Wi400: il controllo

| 41 | 03/12/2010

Controllo evisualizzazionedel job e dei log

Page 42: WI400 - The PHP i-Framework

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

Page 43: WI400 - The PHP i-Framework

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

Page 44: WI400 - The PHP i-Framework

Sviluppare Web con Wi400: news -JSC

� Job Schedulation Control

| 44 | 03/12/2010

Gestione opzioniper singolo lavoro

Page 45: WI400 - The PHP i-Framework

Wi400: cases

- esperienze - casi di successo

#- casi di successo

Page 46: WI400 - The PHP i-Framework

Wi400: cases

| 46 | 03/12/2010

Page 47: WI400 - The PHP i-Framework

Wi400: esperienze

| 47 | 03/12/2010

Page 48: WI400 - The PHP i-Framework

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

Page 49: WI400 - The PHP i-Framework

Wi400: esperienze

| 49 | 03/12/2010

Page 50: WI400 - The PHP i-Framework

Wi400: esperienze

| 50 | 03/12/2010

Page 51: WI400 - The PHP i-Framework

Wi400: esperienze

Statistiche venduto

| 51 | 03/12/2010

Page 52: WI400 - The PHP i-Framework

http:// www. wi400. com

Wi400: riferimenti

http://www.linkedin.com/groups?gid=2896949

[email protected]

| 52 | 03/12/2010

| 52

[email protected]

Page 53: WI400 - The PHP i-Framework

ARRIVEDERCI

“Non è la specie più forte che sopravvive,né la più intelligente, né la più intelligente, ma quella più ricettiva ai cambiamenti.”

Charles Darwin

Page 54: WI400 - The PHP i-Framework

- Question Time ?#