SlideShare a Scribd company logo
June, 2007




Integrating PHP with System i using
Web Services

Sam Pinkhasov
Ivo Jansch
Agenda



 • PHP overview
 • PHP products for i5/OS
 • How to create a Web Service wrapper for an RPG
     program
 •   Q&A




                                                    #2
What is PHP?
• PHP is an easy to use, open source,
     platform independent scripting language
           Designed for web application development
           4.5+ Million PHP Developers


• PHP is the leading scripting language
     deployed on the Internet
           22+ Million Internet domains
           Out Pacing Microsoft’s ASP*


• Thousands of PHP applications are
     available
                                                              www.sourceforge.org
           Web applications tied to databases
                                                             www.hotscripts.com,
            Content management
           Wikis and Blogs
                                                              www.phpjunkyard.com/
                                                               www.phpfreaks.com/
                                                              www.phpfreebies.com/
* Source: 2005 Netcraft Survey http://www.php.net/usage.php

                                                                                     #3
Drivers for PHP growth
 • The Migration to Web Applications
       When did you last install a desktop application?
       Emerging generation of software services (Web2.0)
       Web becoming the new UI to existing backend applications
 •   PHP is the perfect Web Integration Platform
       Perfect front-end glue language
       Best support for browser based rich client applications (Ajax)
       Strong support for Web Services, XML & legacy systems
       Powerful SOA capabilities enable new IT approaches (“mashable assets”)
          for reducing application backlogs
 • PHP is backed by a very strong community
         Very easy to learn and adopt
         ~ 1000 committers, ~ 4.5M developers (corporate/community)
         Thousands of opensource projects and applications
         Hundreds of thousands of commercial deployments

                                                                             #4
How does PHP work?




 1.   Browser requests a Web page (HTML) from the Web server.
 2.   The user enters data or performs an action.
 3.   The browser sends a request for a PHP file to the Web server.
 4.   The Web server forwards the PHP file to the PHP engine
 5.   The PHP engine processes the PHP code, optionally accessing
      server resources (such as a database) or performing calculations.
 6.   The PHP engine replaces the PHP code with the results of its
      processing
 7.   The result (all HTML code) is sent to the Web server.
 8.   The Web server sends the result as a response to the browser
 9.   The browser loads the response code.

                                                                          #5
PHP Example
Original HTML                                        HTML Processed by PHP Engine
                                                     <html>
  <html>
                                                     <head><title>Test page></title></head>
  <head><title>Test
      Page</title></head>
                                                     <p>

  <p>




                                          PHP Code
  <?php
                                                     This is my php test page

        echo “This is my PHP test page”

  ?>                                                 </p>

  </p>
                                                     </html>

  </html>




                                                                                              #6
Why use PHP?
• Easy to learn with a large support community

• Most popular server side language on the Web

• Thousands of free PHP applications are available

• Fairly lightweight runtime environment
    Easy to administer (Zend provides tools)

• Provides many extensions for particular programming tasks
      Database APIs (DB2, MySQL, Oracle, SQLServer, etc.)
      i5 PHP Toolkit (only available with Zend Core or Zend Platform)
      XML
      PDF
      Cryptography
      Web services
                                                                         #7
Why Do Developers Use PHP?




Zend's June 2003 market snapshot of the PHP community. The survey had over 10,000 respondents.
http://www.zend.com/zend/php_survey_results.php


                                                                                                 #8
What Types of Applications in PHP?




Zend's June 2003 market snapshot of the PHP community. The survey had over 10,000 respondents.
http://www.zend.com/zend/php_survey_results.php
                                                                                                 #9
Zend Technologies

 • The founders of Zend have been key contributors to the PHP
   language since 1997

 • Zend delivers commercial products that enable developers and IT
   personnel to deliver and operate business-critical PHP
   applications

     Zend has been the leading supplier of PHP products and solutions for
       the last six years. Its products and solutions are being used by more than
       15,000 companies worldwide. The Zend Engine (the PHP kernel) is
       being utilized on more than 22 million websites today

     Zend takes the open source PHP code through rigorous testing for
       additional quality assurance and adds over 35 popular PHP extensions
       to deliver their PHP runtime environment

 • Zend provides enterprise level support for the PHP environment
                                                                                    # 10
What are System i Customer’s Doing
with PHP?

   – Consolidation: Move PHP applications that are running
     on Windows or Linux that access data in DB2 to run in
     i5/OS to speed up or reduce complexity of the applications.

   – Modernization: Use PHP to web-enable green screen
     applications.

   – New application development: Create new applications
     with PHP on i5/OS including applications for the intranet,
     reporting, websites, and extranets.

   – Leveraging PHP portfolio: Run commercial or
     opensource PHP applications on i5/OS.


                                                                   # 11
Market – Products
          • Zend Core for i5/OS (Free)
             A fully tested and enhanced version of the open source PHP runtime
               environement.

          • Zend Studio for i5/OS (Free)
             Provides an integrated IDE for building and debugging PHP applications


          • Zend Support (Free & Chargeable)
             Free web-based support and chargeable premium support



          • Zend Platform for i5/OS (Chargeable)
             A robust PHP production environment providing performance, scalability, and
                 monitoring for PHP applications


          • Zend Guard (Chargeable)
             Provides code protection and license mgmt tools for solution providers


          • Services (Chargeable): Training and Pro Service
                                                                                      # 12
Zend Core           TM




Certified and Supported PHP + Database
               Integration
Zend Core for i5/OS

• Zend Core is a distribution of PHP maintained through
  a partnership between IBM and Zend
    Native DB2/400 UDB/Cloudscape support
    Toolkit - Native access System i objects :
       • Programs, Service programs(*SRVPGM) and CL commands
       • Spooled file, Data Queue, User Space, Job logs
    WebEnabler Technology
    Zend Studio Server for remote debugging
    Everything you need to get started
• You can download Zend Core for free
    Contains everything you need to start building applications
     (Apache web server, PHP 5.x.x and most common extensions)



                                                                   # 14
PHP Environment After Installation

                                                            System i5
                                                             i5/OS
URL:
                                                              PASE
http://myproxy:89/core/registration.php



                                                                            I5/OS
                               Request
                                            HTTP:89
                                                             HTTP:8000     resources
                                             Server
                                                               Server
                                          (Reverse Proxy)
                               Response
                                                                   PHP
                                                                  Module

HTML + PHP                                                   Zend Core
                                                                           DB2 UDB
                                                               Zend
                                                              Platform

                                                                                     # 15
Zend Core: DEMO




                  # 16
i5 Toolkit APIs
  • Are shipped with Zend products
     Zend core for i5/OS
  • Geared towards accessing i5 data and resources
    from PHP
     Similar in purpose to the IBM Tookbox for Java




                                                       # 17
i5 Toolkit APIs
                                                   • Native file access
                             • Data retrieval
• Connection management
                                                      i5_open
  i5_connect                   i5_fetch_array
                                                      i5_addnew
  i5_close                     i5_fetch_assoc
  i5_adopt_authority                                 I5_edit
                                i5_fetch_object
  i5_error                                           I5_delete
                                i5_fetch_row
  i5_errno                                           i5_cancel_edit
                                i5_info
  i5_errormsg                                        i5_setvalue
                                i5_field_len
                                                      i5_update
                                i5_field_name
• Command calls
                                                      i5_range_from
                                i5_field_scale
  i5_command
                                                      i5_range_to
                                i5_field_type
                                                      i5_range_clear
                                i5_list_fields
• Program calls
                                                      i5_data_seek
                                i5_num_fields
  i5_program_prepare
                                                      i5_seek
  i5_program_prepare_PCML      i5_result
                                                      i5_bookmark
  i5_program_call
  i5_program_close                                   i5_free_file
                                                      i5_new_record
                                                      i5_update_record
                                                      i5_get_keys
                                                                          # 18
i5 Toolkit APIs
• System values           • Job logs                • User space
  i5_get_system_value      i5_jobLog_list           i5_userspace_crearte
                            i5_jobLog_list_read      i5_userspace_prepare
• Data areas                i5_jobLog_list_close     i5_userspace_get
  i5_data_area_prepare                               i5_userspace_put
                          • Active jobs
  i5_data_area_receive
                                                    • Data Queue
  i5_data_area_send        i5_job_list
  i5_data_area_close       i5_job_list_read         i5_dtaq_prepare
                            i5_job_list_close        i5_dtaq_recieve
•Print/Get spooled file                               i5_dtaq_send
                          • Objects list              i5_dtaq-close
  i5_spool_list
                            i5_object_list
  i5_spool_list_read
                            i5_object_list_read
  i5_spool_list_close
                            i5_object_list_close
  i5_spool_get_data
  i5_spool_from_file




                                                                              # 19
Demo Application – WRKACTJOB




                               # 20
Demo Application – WRKSPLF




                             # 21
Demo Application – WRKUSRPF




                              # 22
PHP DEVELOPMENT ENVIRONMENTS

     The Most Complete
Development Environment for
           PHP
Zend Studio Professional for i5/OS
• Special, freely-available version
    for i5/OS servers
•   The most productive
    development environment for
    PHP
      Highly advanced PHP editor
      Client/Server debugging & profiling
      Database integration
      Fully supports PHP 5 and the latest
      technologies
     Runs on Windows, Linux, MAC
     Tightly integrated with the Zend
      product line

                                             # 24
Zend Studio DEMO




                   # 25
Zend Studio for i5/OS System
Requirements
  Supported Operating Systems,
    Platforms and OS versions:
      Windows x86 2000, XP, 2003
      Linux x86
      Linux x86-64
      Mac OS X Power 10.4
  • Zend Studio Client - PHP
    Compatibility:
    Supports all PHP versions

                                    # 26
Zend Platform

  Complete Web Production
       Management
Zend Platform for i5/OS

    Complete Web Production Management

        Performance                                                         Scalability &
                                        Reliability
                                                                            Integration
                                                                     Central Hub-and-Spoke
                                Proactive Monitoring, PHP
 Run-time Code
                                                                        Management
                                   Intelligence
    Optimization
                                                                    
                                                                       Event Consolidation
                                   Run-time Profiling and
   Code Acceleration and
                                                                    
                                   Performance Monitoring               Centralized PHP
    Pre-Compilation
                                                                        Configuration
                                  Report and Track Run-time
   Full Caching Solution
                                                                       Job Queues
                                   Issues
   Download Optimization
                                                                    
                                                                       Java Bridge
                                   Audit trail (Error Re-creation
    and Acceleration
                                   and Full Problem Context            Business Intelligence &
   Benchmarking and Insight                                           Reporting Tools (BIRT)
                                   Online Debugging
    Validation
                                  Web-based Management
   Performance Tuning



                                                                                            # 28
PHP Production Environment
Stack




                             # 29
Reliability - PHP Intelligence
Fix Errors Immediately - Ensures full business
availability
   Integration with Zend Studio provides direct access to the affected source
      code - Immediate Debugging & Profiling enables code problems to be
                      identified and fixed within seconds




                                                                                # 30
Integration - Java Bridge
Java Bridge – Easy Integration


             Integrating with Java is as simple as
              instantiating the object, and using it
             Java objects are mapped to PHP objects

<?
$system = new Java(quot;java.lang.Systemquot;);
print $system.quot;nquot;; // will use toString in PHP5
print quot;Java version=quot;.$system->getProperty(quot;java.versionquot;).quot; <br>nquot;;
print quot;Java vendor=quot;.$system->getProperty(quot;java.vendorquot;).quot; <p>nnquot;;
print quot;OS=quot;.$system->getProperty(quot;os.namequot;).quot; quot;.
$system->getProperty(quot;os.versionquot;).quot; on quot;.
$system->getProperty(quot;os.archquot;).quot; <br>nquot;;
?>


                                                                  # 31
Integration - BIRT Reporting
Reporting Framework Integration

• Create graphical reports using Actuate API through PHP
• Based on the
   Eclipse Open Source Business Intelligence Reporting and Tools (BIRT)
   project




                                                                          # 32
Zend Guard
Zend Guard for i5/OS
• Encoding & Obfuscation
    Enables the PHP source code protection, against copyright infringement
     and reverse-engineering, of commercial PHP applications
    Provides IT Managers with a solution that prohibits modification of their
     internal PHP application source code so they can effectively support them
• Licensing
    Allows ISVs to impose a variety of licensing policies on commercial PHP
     applications
    Vendors can increase their revenue by choosing from a variety of licensing
     models such as concurrent users, time limited, segment of network, server
     specific or i5/OS processing group
• Product Components
    Front End GUI
    Encoder CLI
    Zend Optimizer



                                                                                 # 34
Zend Guard for i5/OS




                       # 35
Zend PHP Components for i5/OS
Windows/Linux
                                            System i
                Browser
 Zend Studio
                            Apache
 Zend Guard                 webserver
                                                   Pgm, CMD,
                                                   Spooled file
                                        Business
                Zend Core with
                                         Database
                Toolkit APIs
                Zend Platform
                                                     DB2/400




                                                                  # 36
Let’s create a Web Service for an RPG
program
Web Services
• Definition
     The W3C defines a Web service as a software system
        designed to support interoperable machine-to-machine
        interaction over a network. Web services are frequently
        just application programming interfaces (API) that can
        be accessed over a network, such as the Internet, and
        executed on a remote system hosting the requested
        servicesg group
•   A Web Service enables an application to expose what
    it does or what it knows so that other applications can
    make use of it. .



                                                              # 38
Web Services
• Web Services web site www.programmableweb.com
• Lists more than 350 APIs
• Web Services opens the door for software
  applications written in different languages to be able
  to exchange data and services.




                                                           # 39
Web Services
• Web Service is not a trivial task
• Knowledge of OOP, XML and SOAP.
• Zend’s products shield developers from development
    complexity
•   Demo:
     Create Web Service using Zend’s tools that will wrap existing
      RPG program




                                                                      # 40
Web Services

  0022.00 ***************
  0023.00 C *ENTRY PLIST
  0024.00 C              PARM          CODE        10
  0025.00 C              PARM          NAME        10
  0026.00 **********************
  0027.00 C CODE IFEQ            '1'
  0028.00 C              movel 'IBM'    name
  0029.00 C              ELSE
  0030.00 C CODE IFEQ            '2'
  0031.00 C              movel 'Zend'    name
  0032.00 C              ELSE
  0033.00 C              movel 'wrong code' code
  0034.00 C              ENDIF
  0035.00 C              ENDIF
  0036.00 C*
  0037.00 C              SETON                     LR
  0038.00 C              RETURN
  •

  •




                                                        # 41
Web Services




               # 42
Web Services




               # 43
Web Services




               # 44
Web Services




               # 45
Web Services




               # 46
Web Services




               # 47
Zend DevZone
• Devzone.zend.com
  http://devzone.zend.com/node/view/id/1912




                                              # 48
Web Services Benefits
• Shortens the development cycle
• Re-usability
• Building blocks for SOA




                                   # 49
Zend for i5/OS Resources

• Monthly Newsletter - Email JDILLARD@ZEND.COM to receive
    Zend i5/OS Newsletter


•                                   WWW.IBUILDINGS.NL
    Dutch PHP Zend partner
•   PHP Tutorial     http://php.net/manual/en/tutorial.php
•   Zend forum for i5/OS      http://www.zend.com/forums/index.php?t=index&cat=7

•   IBM Redbooks:
    Building SOA-based Solutions for IBM System i5 Platform
      http://www.redbooks.ibm.com/redpieces/abstracts/sg247284.html?Open
• IBM RedWiki
     PHP Zend for i5/OS
    http://www-941.haw.ibm.com/collaboration/ibmwiki/display/sg247327/Home



                                                                                   # 50
Zend for i5/OS Resources

  • Check out the thousands of PHP scripts available that can be
    used as-is or as the starting point for Web projects.
        http://www.hotscripts.com
        http://www.phpjunkyard.com/
        http://www.phpfreaks.com/
        http://phpfreebies.com/




                                                               # 51
Q&A

More Related Content

What's hot

Architecting your app in ext js 4, part 1 learn sencha
Architecting your app in ext js 4, part 1   learn   senchaArchitecting your app in ext js 4, part 1   learn   sencha
Architecting your app in ext js 4, part 1 learn senchaRahul Kumar
 
PixelCrayons: Hire India's Top PHP Developers
PixelCrayons: Hire India's Top PHP DevelopersPixelCrayons: Hire India's Top PHP Developers
PixelCrayons: Hire India's Top PHP Developers
Pixel Crayons
 
JBoss Forge - Breaking new ground in developer productivity
JBoss Forge - Breaking new ground in developer productivityJBoss Forge - Breaking new ground in developer productivity
JBoss Forge - Breaking new ground in developer productivity
Vineet Reynolds
 
Developer Productivity with Forge, Java EE 6 and Arquillian
Developer Productivity with Forge, Java EE 6 and ArquillianDeveloper Productivity with Forge, Java EE 6 and Arquillian
Developer Productivity with Forge, Java EE 6 and Arquillian
Ray Ploski
 
Php5doc
Php5docPhp5doc
Basic Java script handouts for students
Basic Java script handouts for students Basic Java script handouts for students
Basic Java script handouts for students
shafiq sangi
 
SynapseIndia gives an overview on comparison in PHP & ASP.NET in Terms of Cos...
SynapseIndia gives an overview on comparison in PHP & ASP.NET in Terms of Cos...SynapseIndia gives an overview on comparison in PHP & ASP.NET in Terms of Cos...
SynapseIndia gives an overview on comparison in PHP & ASP.NET in Terms of Cos...
SynapseIndia
 
Gsm library for proteus the engineering projects
Gsm library for proteus   the engineering projectsGsm library for proteus   the engineering projects
Gsm library for proteus the engineering projects
ZerihunDemere
 
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Nuxeo
 
PHP framework difference
PHP framework differencePHP framework difference
PHP framework difference
iScripts
 

What's hot (11)

UDG - PHP osnove
UDG - PHP osnoveUDG - PHP osnove
UDG - PHP osnove
 
Architecting your app in ext js 4, part 1 learn sencha
Architecting your app in ext js 4, part 1   learn   senchaArchitecting your app in ext js 4, part 1   learn   sencha
Architecting your app in ext js 4, part 1 learn sencha
 
PixelCrayons: Hire India's Top PHP Developers
PixelCrayons: Hire India's Top PHP DevelopersPixelCrayons: Hire India's Top PHP Developers
PixelCrayons: Hire India's Top PHP Developers
 
JBoss Forge - Breaking new ground in developer productivity
JBoss Forge - Breaking new ground in developer productivityJBoss Forge - Breaking new ground in developer productivity
JBoss Forge - Breaking new ground in developer productivity
 
Developer Productivity with Forge, Java EE 6 and Arquillian
Developer Productivity with Forge, Java EE 6 and ArquillianDeveloper Productivity with Forge, Java EE 6 and Arquillian
Developer Productivity with Forge, Java EE 6 and Arquillian
 
Php5doc
Php5docPhp5doc
Php5doc
 
Basic Java script handouts for students
Basic Java script handouts for students Basic Java script handouts for students
Basic Java script handouts for students
 
SynapseIndia gives an overview on comparison in PHP & ASP.NET in Terms of Cos...
SynapseIndia gives an overview on comparison in PHP & ASP.NET in Terms of Cos...SynapseIndia gives an overview on comparison in PHP & ASP.NET in Terms of Cos...
SynapseIndia gives an overview on comparison in PHP & ASP.NET in Terms of Cos...
 
Gsm library for proteus the engineering projects
Gsm library for proteus   the engineering projectsGsm library for proteus   the engineering projects
Gsm library for proteus the engineering projects
 
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
 
PHP framework difference
PHP framework differencePHP framework difference
PHP framework difference
 

Viewers also liked

Yabwap for VCCS
Yabwap for VCCSYabwap for VCCS
Yabwap for VCCS
ccosmato
 
Mothers in all colours
Mothers in all coloursMothers in all colours
Mothers in all coloursblackangel
 
Migrating from PHP4 To PHP5 - Zend Webinar
Migrating from PHP4 To PHP5 - Zend WebinarMigrating from PHP4 To PHP5 - Zend Webinar
Migrating from PHP4 To PHP5 - Zend Webinar
Ivo Jansch
 
Creative Challenge Call @ Congres Matching
Creative Challenge Call @ Congres MatchingCreative Challenge Call @ Congres Matching
Creative Challenge Call @ Congres Matching
Kennisland
 
Rulang Cooling Robot
Rulang Cooling RobotRulang Cooling Robot
Rulang Cooling Robot
Kwan Tuck Soon
 
Microformats, a web semântica com letra minúscula
Microformats, a web semântica com letra minúsculaMicroformats, a web semântica com letra minúscula
Microformats, a web semântica com letra minúscula
Elcio Ferreira
 
Publizitatearen Historia 4
Publizitatearen Historia 4Publizitatearen Historia 4
Publizitatearen Historia 4
katixa
 
ONS Dissemination Event 16.05.11
ONS Dissemination Event 16.05.11ONS Dissemination Event 16.05.11
ONS Dissemination Event 16.05.11alewis
 
PHP in a mobile ecosystem
PHP in a mobile ecosystem PHP in a mobile ecosystem
PHP in a mobile ecosystem
Ivo Jansch
 
Shakespeare revealed 02.ppt
Shakespeare revealed 02.pptShakespeare revealed 02.ppt
Shakespeare revealed 02.ppt
rwakefor
 
Flickr Justgiving & MOO
Flickr Justgiving & MOOFlickr Justgiving & MOO
Flickr Justgiving & MOO
Jonathan Waddingham
 
Commitbell2.0
Commitbell2.0Commitbell2.0
Commitbell2.0
Shuhei KONDO
 
Introductie Web 2.0
Introductie Web 2.0Introductie Web 2.0
Introductie Web 2.0
Ivo Jansch
 
The girls are coming! Gender, youth and the new Basque literature
The girls are coming! Gender, youth and the new Basque literatureThe girls are coming! Gender, youth and the new Basque literature
The girls are coming! Gender, youth and the new Basque literature
katixa
 

Viewers also liked (20)

Yabwap for VCCS
Yabwap for VCCSYabwap for VCCS
Yabwap for VCCS
 
Mothers in all colours
Mothers in all coloursMothers in all colours
Mothers in all colours
 
Fotomuseum
FotomuseumFotomuseum
Fotomuseum
 
Migrating from PHP4 To PHP5 - Zend Webinar
Migrating from PHP4 To PHP5 - Zend WebinarMigrating from PHP4 To PHP5 - Zend Webinar
Migrating from PHP4 To PHP5 - Zend Webinar
 
Book Trailers2
Book Trailers2Book Trailers2
Book Trailers2
 
Creative Challenge Call @ Congres Matching
Creative Challenge Call @ Congres MatchingCreative Challenge Call @ Congres Matching
Creative Challenge Call @ Congres Matching
 
Tag!
Tag!Tag!
Tag!
 
Rulang Cooling Robot
Rulang Cooling RobotRulang Cooling Robot
Rulang Cooling Robot
 
Microformats, a web semântica com letra minúscula
Microformats, a web semântica com letra minúsculaMicroformats, a web semântica com letra minúscula
Microformats, a web semântica com letra minúscula
 
Publizitatearen Historia 4
Publizitatearen Historia 4Publizitatearen Historia 4
Publizitatearen Historia 4
 
Know Your Copyright
Know Your CopyrightKnow Your Copyright
Know Your Copyright
 
ONS Dissemination Event 16.05.11
ONS Dissemination Event 16.05.11ONS Dissemination Event 16.05.11
ONS Dissemination Event 16.05.11
 
PHP in a mobile ecosystem
PHP in a mobile ecosystem PHP in a mobile ecosystem
PHP in a mobile ecosystem
 
Shakespeare revealed 02.ppt
Shakespeare revealed 02.pptShakespeare revealed 02.ppt
Shakespeare revealed 02.ppt
 
Flickr Justgiving & MOO
Flickr Justgiving & MOOFlickr Justgiving & MOO
Flickr Justgiving & MOO
 
Commitbell2.0
Commitbell2.0Commitbell2.0
Commitbell2.0
 
Introductie Web 2.0
Introductie Web 2.0Introductie Web 2.0
Introductie Web 2.0
 
job
jobjob
job
 
The girls are coming! Gender, youth and the new Basque literature
The girls are coming! Gender, youth and the new Basque literatureThe girls are coming! Gender, youth and the new Basque literature
The girls are coming! Gender, youth and the new Basque literature
 
Visual image
Visual imageVisual image
Visual image
 

Similar to Integrating PHP With System-i using Web Services

Php unit i
Php unit i Php unit i
Php unit i
prakashvs7
 
Training ppt
Training pptTraining ppt
Training ppt
nikita vijay
 
Building and managing applications fast for IBM i
Building and managing applications fast for IBM iBuilding and managing applications fast for IBM i
Building and managing applications fast for IBM i
Zend by Rogue Wave Software
 
DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)
dpc
 
Introduction to PHP - SDPHP
Introduction to PHP - SDPHPIntroduction to PHP - SDPHP
Introduction to PHP - SDPHP
Eric Johnson
 
PHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor IntroductionPHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor Introduction
Oto Brglez
 
Php verses .net
Php verses .netPhp verses .net
Php verses .net
CBitss Technologies
 
Php hypertext pre-processor
Php   hypertext pre-processorPhp   hypertext pre-processor
Php hypertext pre-processorSiddique Ibrahim
 
Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...
Combell NV
 
Lamp Zend Security
Lamp Zend SecurityLamp Zend Security
Lamp Zend Security
Ram Srivastava
 
unit1 part 1 sem4 php.docx
unit1 part 1 sem4 php.docxunit1 part 1 sem4 php.docx
unit1 part 1 sem4 php.docx
charvi parth Lastpatel
 
PHP ITCS 323
PHP ITCS 323PHP ITCS 323
PHP ITCS 323
Sleepy Head
 
PHP
PHPPHP
Unit 1 php_basics
Unit 1 php_basicsUnit 1 php_basics
Unit 1 php_basicsKumar
 
Introduction to Server-Side Development with PHP.ppt
Introduction to Server-Side Development with PHP.pptIntroduction to Server-Side Development with PHP.ppt
Introduction to Server-Side Development with PHP.ppt
DestaBelayneh1
 
Learn PHP Lacture1
Learn PHP Lacture1Learn PHP Lacture1
Learn PHP Lacture1ADARSH BHATT
 
Applied+Web+Development+[Autosaved].pptx
Applied+Web+Development+[Autosaved].pptxApplied+Web+Development+[Autosaved].pptx
Applied+Web+Development+[Autosaved].pptx
voot1
 

Similar to Integrating PHP With System-i using Web Services (20)

Php unit i
Php unit i Php unit i
Php unit i
 
Training ppt
Training pptTraining ppt
Training ppt
 
Building and managing applications fast for IBM i
Building and managing applications fast for IBM iBuilding and managing applications fast for IBM i
Building and managing applications fast for IBM i
 
DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)
 
Introduction to PHP - SDPHP
Introduction to PHP - SDPHPIntroduction to PHP - SDPHP
Introduction to PHP - SDPHP
 
PHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor IntroductionPHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor Introduction
 
Php verses .net
Php verses .netPhp verses .net
Php verses .net
 
Php hypertext pre-processor
Php   hypertext pre-processorPhp   hypertext pre-processor
Php hypertext pre-processor
 
Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...
 
Lamp Zend Security
Lamp Zend SecurityLamp Zend Security
Lamp Zend Security
 
Php On Windows
Php On WindowsPhp On Windows
Php On Windows
 
unit1 part 1 sem4 php.docx
unit1 part 1 sem4 php.docxunit1 part 1 sem4 php.docx
unit1 part 1 sem4 php.docx
 
PHP ITCS 323
PHP ITCS 323PHP ITCS 323
PHP ITCS 323
 
PHP
PHPPHP
PHP
 
Introduction to php
Introduction to phpIntroduction to php
Introduction to php
 
Unit 1 php_basics
Unit 1 php_basicsUnit 1 php_basics
Unit 1 php_basics
 
Wc13
Wc13Wc13
Wc13
 
Introduction to Server-Side Development with PHP.ppt
Introduction to Server-Side Development with PHP.pptIntroduction to Server-Side Development with PHP.ppt
Introduction to Server-Side Development with PHP.ppt
 
Learn PHP Lacture1
Learn PHP Lacture1Learn PHP Lacture1
Learn PHP Lacture1
 
Applied+Web+Development+[Autosaved].pptx
Applied+Web+Development+[Autosaved].pptxApplied+Web+Development+[Autosaved].pptx
Applied+Web+Development+[Autosaved].pptx
 

More from Ivo Jansch

Own Your Apps
Own Your Apps Own Your Apps
Own Your Apps
Ivo Jansch
 
PHP Development In The Cloud (php|tek edition)
PHP Development In The Cloud (php|tek edition)PHP Development In The Cloud (php|tek edition)
PHP Development In The Cloud (php|tek edition)
Ivo Jansch
 
Mobile for PHP developers
Mobile for PHP developersMobile for PHP developers
Mobile for PHP developers
Ivo Jansch
 
Building an SSO platform in PHP (Zend Webinar Edition)
Building an SSO platform in PHP (Zend Webinar Edition)Building an SSO platform in PHP (Zend Webinar Edition)
Building an SSO platform in PHP (Zend Webinar Edition)
Ivo Jansch
 
The Business Case For Telecommuting
The Business Case For TelecommutingThe Business Case For Telecommuting
The Business Case For Telecommuting
Ivo Jansch
 
Php Development In The Cloud
Php Development In The CloudPhp Development In The Cloud
Php Development In The Cloud
Ivo Jansch
 
27 Ways To Be A Better Developer (PHPBenelux 2011)
27 Ways To Be A Better Developer (PHPBenelux 2011)27 Ways To Be A Better Developer (PHPBenelux 2011)
27 Ways To Be A Better Developer (PHPBenelux 2011)
Ivo Jansch
 
Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)
Ivo Jansch
 
PHP in a Mobile Ecosystem (Zendcon 2010)
PHP in a Mobile Ecosystem (Zendcon 2010)PHP in a Mobile Ecosystem (Zendcon 2010)
PHP in a Mobile Ecosystem (Zendcon 2010)
Ivo Jansch
 
PHP and the Cloud (phpbenelux conference)
PHP and the Cloud (phpbenelux conference)PHP and the Cloud (phpbenelux conference)
PHP and the Cloud (phpbenelux conference)
Ivo Jansch
 
Content Management Selection and Strategy
Content Management Selection and StrategyContent Management Selection and Strategy
Content Management Selection and Strategy
Ivo Jansch
 
PHP and the Cloud
PHP and the CloudPHP and the Cloud
PHP and the Cloud
Ivo Jansch
 
PHP in the Real World
PHP in the Real WorldPHP in the Real World
PHP in the Real World
Ivo Jansch
 
Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)
Ivo Jansch
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)
Ivo Jansch
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008
Ivo Jansch
 
Enterprise PHP Development (Dutch PHP Conference 2008)
Enterprise PHP Development (Dutch PHP Conference 2008)Enterprise PHP Development (Dutch PHP Conference 2008)
Enterprise PHP Development (Dutch PHP Conference 2008)
Ivo Jansch
 
Hello Enterprise, my name is PHP
Hello Enterprise, my name is PHPHello Enterprise, my name is PHP
Hello Enterprise, my name is PHP
Ivo Jansch
 
Introduction to PHP (Casino Affiliate Convention 2008)
Introduction to PHP (Casino Affiliate Convention 2008)Introduction to PHP (Casino Affiliate Convention 2008)
Introduction to PHP (Casino Affiliate Convention 2008)
Ivo Jansch
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)
Ivo Jansch
 

More from Ivo Jansch (20)

Own Your Apps
Own Your Apps Own Your Apps
Own Your Apps
 
PHP Development In The Cloud (php|tek edition)
PHP Development In The Cloud (php|tek edition)PHP Development In The Cloud (php|tek edition)
PHP Development In The Cloud (php|tek edition)
 
Mobile for PHP developers
Mobile for PHP developersMobile for PHP developers
Mobile for PHP developers
 
Building an SSO platform in PHP (Zend Webinar Edition)
Building an SSO platform in PHP (Zend Webinar Edition)Building an SSO platform in PHP (Zend Webinar Edition)
Building an SSO platform in PHP (Zend Webinar Edition)
 
The Business Case For Telecommuting
The Business Case For TelecommutingThe Business Case For Telecommuting
The Business Case For Telecommuting
 
Php Development In The Cloud
Php Development In The CloudPhp Development In The Cloud
Php Development In The Cloud
 
27 Ways To Be A Better Developer (PHPBenelux 2011)
27 Ways To Be A Better Developer (PHPBenelux 2011)27 Ways To Be A Better Developer (PHPBenelux 2011)
27 Ways To Be A Better Developer (PHPBenelux 2011)
 
Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)
 
PHP in a Mobile Ecosystem (Zendcon 2010)
PHP in a Mobile Ecosystem (Zendcon 2010)PHP in a Mobile Ecosystem (Zendcon 2010)
PHP in a Mobile Ecosystem (Zendcon 2010)
 
PHP and the Cloud (phpbenelux conference)
PHP and the Cloud (phpbenelux conference)PHP and the Cloud (phpbenelux conference)
PHP and the Cloud (phpbenelux conference)
 
Content Management Selection and Strategy
Content Management Selection and StrategyContent Management Selection and Strategy
Content Management Selection and Strategy
 
PHP and the Cloud
PHP and the CloudPHP and the Cloud
PHP and the Cloud
 
PHP in the Real World
PHP in the Real WorldPHP in the Real World
PHP in the Real World
 
Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008
 
Enterprise PHP Development (Dutch PHP Conference 2008)
Enterprise PHP Development (Dutch PHP Conference 2008)Enterprise PHP Development (Dutch PHP Conference 2008)
Enterprise PHP Development (Dutch PHP Conference 2008)
 
Hello Enterprise, my name is PHP
Hello Enterprise, my name is PHPHello Enterprise, my name is PHP
Hello Enterprise, my name is PHP
 
Introduction to PHP (Casino Affiliate Convention 2008)
Introduction to PHP (Casino Affiliate Convention 2008)Introduction to PHP (Casino Affiliate Convention 2008)
Introduction to PHP (Casino Affiliate Convention 2008)
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 

Integrating PHP With System-i using Web Services

  • 1. June, 2007 Integrating PHP with System i using Web Services Sam Pinkhasov Ivo Jansch
  • 2. Agenda • PHP overview • PHP products for i5/OS • How to create a Web Service wrapper for an RPG program • Q&A #2
  • 3. What is PHP? • PHP is an easy to use, open source, platform independent scripting language  Designed for web application development  4.5+ Million PHP Developers • PHP is the leading scripting language deployed on the Internet  22+ Million Internet domains  Out Pacing Microsoft’s ASP* • Thousands of PHP applications are available www.sourceforge.org  Web applications tied to databases  www.hotscripts.com, Content management  Wikis and Blogs www.phpjunkyard.com/ www.phpfreaks.com/ www.phpfreebies.com/ * Source: 2005 Netcraft Survey http://www.php.net/usage.php #3
  • 4. Drivers for PHP growth • The Migration to Web Applications  When did you last install a desktop application?  Emerging generation of software services (Web2.0)  Web becoming the new UI to existing backend applications • PHP is the perfect Web Integration Platform  Perfect front-end glue language  Best support for browser based rich client applications (Ajax)  Strong support for Web Services, XML & legacy systems  Powerful SOA capabilities enable new IT approaches (“mashable assets”) for reducing application backlogs • PHP is backed by a very strong community  Very easy to learn and adopt  ~ 1000 committers, ~ 4.5M developers (corporate/community)  Thousands of opensource projects and applications  Hundreds of thousands of commercial deployments #4
  • 5. How does PHP work? 1. Browser requests a Web page (HTML) from the Web server. 2. The user enters data or performs an action. 3. The browser sends a request for a PHP file to the Web server. 4. The Web server forwards the PHP file to the PHP engine 5. The PHP engine processes the PHP code, optionally accessing server resources (such as a database) or performing calculations. 6. The PHP engine replaces the PHP code with the results of its processing 7. The result (all HTML code) is sent to the Web server. 8. The Web server sends the result as a response to the browser 9. The browser loads the response code. #5
  • 6. PHP Example Original HTML HTML Processed by PHP Engine <html> <html> <head><title>Test page></title></head> <head><title>Test Page</title></head> <p> <p> PHP Code <?php This is my php test page echo “This is my PHP test page” ?> </p> </p> </html> </html> #6
  • 7. Why use PHP? • Easy to learn with a large support community • Most popular server side language on the Web • Thousands of free PHP applications are available • Fairly lightweight runtime environment  Easy to administer (Zend provides tools) • Provides many extensions for particular programming tasks  Database APIs (DB2, MySQL, Oracle, SQLServer, etc.)  i5 PHP Toolkit (only available with Zend Core or Zend Platform)  XML  PDF  Cryptography  Web services #7
  • 8. Why Do Developers Use PHP? Zend's June 2003 market snapshot of the PHP community. The survey had over 10,000 respondents. http://www.zend.com/zend/php_survey_results.php #8
  • 9. What Types of Applications in PHP? Zend's June 2003 market snapshot of the PHP community. The survey had over 10,000 respondents. http://www.zend.com/zend/php_survey_results.php #9
  • 10. Zend Technologies • The founders of Zend have been key contributors to the PHP language since 1997 • Zend delivers commercial products that enable developers and IT personnel to deliver and operate business-critical PHP applications  Zend has been the leading supplier of PHP products and solutions for the last six years. Its products and solutions are being used by more than 15,000 companies worldwide. The Zend Engine (the PHP kernel) is being utilized on more than 22 million websites today  Zend takes the open source PHP code through rigorous testing for additional quality assurance and adds over 35 popular PHP extensions to deliver their PHP runtime environment • Zend provides enterprise level support for the PHP environment # 10
  • 11. What are System i Customer’s Doing with PHP? – Consolidation: Move PHP applications that are running on Windows or Linux that access data in DB2 to run in i5/OS to speed up or reduce complexity of the applications. – Modernization: Use PHP to web-enable green screen applications. – New application development: Create new applications with PHP on i5/OS including applications for the intranet, reporting, websites, and extranets. – Leveraging PHP portfolio: Run commercial or opensource PHP applications on i5/OS. # 11
  • 12. Market – Products • Zend Core for i5/OS (Free) A fully tested and enhanced version of the open source PHP runtime environement. • Zend Studio for i5/OS (Free) Provides an integrated IDE for building and debugging PHP applications • Zend Support (Free & Chargeable) Free web-based support and chargeable premium support • Zend Platform for i5/OS (Chargeable) A robust PHP production environment providing performance, scalability, and monitoring for PHP applications • Zend Guard (Chargeable) Provides code protection and license mgmt tools for solution providers • Services (Chargeable): Training and Pro Service # 12
  • 13. Zend Core TM Certified and Supported PHP + Database Integration
  • 14. Zend Core for i5/OS • Zend Core is a distribution of PHP maintained through a partnership between IBM and Zend  Native DB2/400 UDB/Cloudscape support  Toolkit - Native access System i objects : • Programs, Service programs(*SRVPGM) and CL commands • Spooled file, Data Queue, User Space, Job logs  WebEnabler Technology  Zend Studio Server for remote debugging  Everything you need to get started • You can download Zend Core for free  Contains everything you need to start building applications (Apache web server, PHP 5.x.x and most common extensions) # 14
  • 15. PHP Environment After Installation System i5 i5/OS URL: PASE http://myproxy:89/core/registration.php I5/OS Request HTTP:89 HTTP:8000 resources Server Server (Reverse Proxy) Response PHP Module HTML + PHP Zend Core DB2 UDB Zend Platform # 15
  • 17. i5 Toolkit APIs • Are shipped with Zend products  Zend core for i5/OS • Geared towards accessing i5 data and resources from PHP  Similar in purpose to the IBM Tookbox for Java # 17
  • 18. i5 Toolkit APIs • Native file access • Data retrieval • Connection management  i5_open i5_connect  i5_fetch_array  i5_addnew i5_close  i5_fetch_assoc i5_adopt_authority  I5_edit  i5_fetch_object i5_error  I5_delete  i5_fetch_row i5_errno  i5_cancel_edit  i5_info i5_errormsg  i5_setvalue  i5_field_len  i5_update  i5_field_name • Command calls  i5_range_from  i5_field_scale i5_command  i5_range_to  i5_field_type  i5_range_clear  i5_list_fields • Program calls  i5_data_seek  i5_num_fields i5_program_prepare  i5_seek i5_program_prepare_PCML  i5_result  i5_bookmark i5_program_call i5_program_close  i5_free_file  i5_new_record  i5_update_record  i5_get_keys # 18
  • 19. i5 Toolkit APIs • System values • Job logs • User space i5_get_system_value i5_jobLog_list i5_userspace_crearte i5_jobLog_list_read i5_userspace_prepare • Data areas i5_jobLog_list_close i5_userspace_get i5_data_area_prepare i5_userspace_put • Active jobs i5_data_area_receive • Data Queue i5_data_area_send i5_job_list i5_data_area_close i5_job_list_read i5_dtaq_prepare i5_job_list_close i5_dtaq_recieve •Print/Get spooled file i5_dtaq_send • Objects list i5_dtaq-close i5_spool_list i5_object_list i5_spool_list_read i5_object_list_read i5_spool_list_close i5_object_list_close i5_spool_get_data i5_spool_from_file # 19
  • 20. Demo Application – WRKACTJOB # 20
  • 21. Demo Application – WRKSPLF # 21
  • 22. Demo Application – WRKUSRPF # 22
  • 23. PHP DEVELOPMENT ENVIRONMENTS The Most Complete Development Environment for PHP
  • 24. Zend Studio Professional for i5/OS • Special, freely-available version for i5/OS servers • The most productive development environment for PHP  Highly advanced PHP editor  Client/Server debugging & profiling  Database integration  Fully supports PHP 5 and the latest technologies  Runs on Windows, Linux, MAC  Tightly integrated with the Zend product line # 24
  • 26. Zend Studio for i5/OS System Requirements Supported Operating Systems, Platforms and OS versions:  Windows x86 2000, XP, 2003  Linux x86  Linux x86-64  Mac OS X Power 10.4 • Zend Studio Client - PHP Compatibility: Supports all PHP versions # 26
  • 27. Zend Platform Complete Web Production Management
  • 28. Zend Platform for i5/OS Complete Web Production Management Performance Scalability & Reliability Integration  Central Hub-and-Spoke  Proactive Monitoring, PHP  Run-time Code Management Intelligence Optimization   Event Consolidation Run-time Profiling and  Code Acceleration and  Performance Monitoring Centralized PHP Pre-Compilation Configuration  Report and Track Run-time  Full Caching Solution  Job Queues Issues  Download Optimization   Java Bridge Audit trail (Error Re-creation and Acceleration and Full Problem Context  Business Intelligence &  Benchmarking and Insight  Reporting Tools (BIRT) Online Debugging Validation  Web-based Management  Performance Tuning # 28
  • 30. Reliability - PHP Intelligence Fix Errors Immediately - Ensures full business availability Integration with Zend Studio provides direct access to the affected source code - Immediate Debugging & Profiling enables code problems to be identified and fixed within seconds # 30
  • 31. Integration - Java Bridge Java Bridge – Easy Integration  Integrating with Java is as simple as instantiating the object, and using it  Java objects are mapped to PHP objects <? $system = new Java(quot;java.lang.Systemquot;); print $system.quot;nquot;; // will use toString in PHP5 print quot;Java version=quot;.$system->getProperty(quot;java.versionquot;).quot; <br>nquot;; print quot;Java vendor=quot;.$system->getProperty(quot;java.vendorquot;).quot; <p>nnquot;; print quot;OS=quot;.$system->getProperty(quot;os.namequot;).quot; quot;. $system->getProperty(quot;os.versionquot;).quot; on quot;. $system->getProperty(quot;os.archquot;).quot; <br>nquot;; ?> # 31
  • 32. Integration - BIRT Reporting Reporting Framework Integration • Create graphical reports using Actuate API through PHP • Based on the Eclipse Open Source Business Intelligence Reporting and Tools (BIRT) project # 32
  • 34. Zend Guard for i5/OS • Encoding & Obfuscation  Enables the PHP source code protection, against copyright infringement and reverse-engineering, of commercial PHP applications  Provides IT Managers with a solution that prohibits modification of their internal PHP application source code so they can effectively support them • Licensing  Allows ISVs to impose a variety of licensing policies on commercial PHP applications  Vendors can increase their revenue by choosing from a variety of licensing models such as concurrent users, time limited, segment of network, server specific or i5/OS processing group • Product Components  Front End GUI  Encoder CLI  Zend Optimizer # 34
  • 35. Zend Guard for i5/OS # 35
  • 36. Zend PHP Components for i5/OS Windows/Linux System i Browser Zend Studio Apache Zend Guard webserver Pgm, CMD, Spooled file Business Zend Core with Database Toolkit APIs Zend Platform DB2/400 # 36
  • 37. Let’s create a Web Service for an RPG program
  • 38. Web Services • Definition  The W3C defines a Web service as a software system designed to support interoperable machine-to-machine interaction over a network. Web services are frequently just application programming interfaces (API) that can be accessed over a network, such as the Internet, and executed on a remote system hosting the requested servicesg group • A Web Service enables an application to expose what it does or what it knows so that other applications can make use of it. . # 38
  • 39. Web Services • Web Services web site www.programmableweb.com • Lists more than 350 APIs • Web Services opens the door for software applications written in different languages to be able to exchange data and services. # 39
  • 40. Web Services • Web Service is not a trivial task • Knowledge of OOP, XML and SOAP. • Zend’s products shield developers from development complexity • Demo:  Create Web Service using Zend’s tools that will wrap existing RPG program # 40
  • 41. Web Services 0022.00 *************** 0023.00 C *ENTRY PLIST 0024.00 C PARM CODE 10 0025.00 C PARM NAME 10 0026.00 ********************** 0027.00 C CODE IFEQ '1' 0028.00 C movel 'IBM' name 0029.00 C ELSE 0030.00 C CODE IFEQ '2' 0031.00 C movel 'Zend' name 0032.00 C ELSE 0033.00 C movel 'wrong code' code 0034.00 C ENDIF 0035.00 C ENDIF 0036.00 C* 0037.00 C SETON LR 0038.00 C RETURN • • # 41
  • 48. Zend DevZone • Devzone.zend.com http://devzone.zend.com/node/view/id/1912 # 48
  • 49. Web Services Benefits • Shortens the development cycle • Re-usability • Building blocks for SOA # 49
  • 50. Zend for i5/OS Resources • Monthly Newsletter - Email JDILLARD@ZEND.COM to receive Zend i5/OS Newsletter • WWW.IBUILDINGS.NL Dutch PHP Zend partner • PHP Tutorial http://php.net/manual/en/tutorial.php • Zend forum for i5/OS http://www.zend.com/forums/index.php?t=index&cat=7 • IBM Redbooks: Building SOA-based Solutions for IBM System i5 Platform http://www.redbooks.ibm.com/redpieces/abstracts/sg247284.html?Open • IBM RedWiki  PHP Zend for i5/OS http://www-941.haw.ibm.com/collaboration/ibmwiki/display/sg247327/Home # 50
  • 51. Zend for i5/OS Resources • Check out the thousands of PHP scripts available that can be used as-is or as the starting point for Web projects.  http://www.hotscripts.com  http://www.phpjunkyard.com/  http://www.phpfreaks.com/  http://phpfreebies.com/ # 51
  • 52. Q&A