0
How to Start up with PHP in IBM i June, 2007 Sam Pinkhasov Project Manager for IBM products [email_address]
Agenda <ul><li>First steps </li></ul><ul><li>Accessing DB2/400 </li></ul><ul><li>PHP Toolkit for i5/OS </li></ul><ul><li>5...
Zend Platform with 5250 Bridge  IBM i DB2/400 Pgm, CMD, Spooled file Database Business Zend Studio Zend Core  with Toolkit...
<ul><li>Setting up PHP in IBM i  </li></ul><ul><li>Verify installation </li></ul><ul><li>Setup debug in Zend Studio and Ze...
<ul><li>Install Zend Core </li></ul><ul><ul><li>Requirements </li></ul></ul><ul><ul><ul><li>5722SS1 -  - PASE  Option (Opt...
Setting up PHP in IBM i <ul><li>Requirements </li></ul><ul><ul><li>5722SS1 -  PASE  Option (Option 33) </li></ul></ul><ul>...
Setting up PHP in IBM i <ul><li>Download Zend Studio for i5/OS from zend.com </li></ul><ul><ul><li>Integrated development ...
<ul><li>Start Zend Core console :  http://i5_server:89 </li></ul><ul><li>Run  WRKACTJOB SBS(ZEND)  CL command </li></ul><u...
Zend Core Console  http://i5_server:89
Zend Subsystem –  wrkactjob sbs(Zend)
<ul><li>Run Zend Navigator demo application </li></ul><ul><ul><ul><li>URL:  http://i5_server:89/Zend_Navigator_Demo/login....
Run Zend Navigator http://i5_server:89/Zend_Navigator_Demo/login.php
Zend Core – Debug Set Up
Zend Core – Restart Apache <ul><li>GO ZENDCORE/ZCMENU </li></ul>
Zend Studio - Debug Set Up
Writing a simple PHP code <ul><li>Map IFS directory /www/zendcore/htdocs to Windows driver </li></ul><ul><li>Start Zend St...
Writing a simple PHP code
Running PHP command line <ul><li>From the default PASE shell. </li></ul><ul><ul><li>call qp2term </li></ul></ul><ul><ul><u...
Accessing DB2/400 <ul><li>Server/connection </li></ul><ul><ul><li>db2_bind_param  </li></ul></ul><ul><ul><li>db2_client_in...
<ul><li>There are few connections options in PHP </li></ul><ul><ul><li>db2_connect(“”,””,””)  – local server  </li></ul></...
<ul><li>DB2 functions  </li></ul><ul><ul><ul><li>db2_connect – Connects to server </li></ul></ul></ul><ul><ul><ul><li>db2_...
Program Result  http://i5_server:89/DB2_example .php
Recommendations <ul><li>CCSID = 65535 </li></ul><ul><ul><li>PHP scripts getting “junk” back from their DB2 SQL queries. Ro...
Other File Functions <ul><li>PHP has number of functions allowing access and update information contained in flat files an...
PHP Toolkit for i5/OS <ul><li>Bundled with Zend Core  </li></ul><ul><li>Geared towards accessing data and resources from P...
PHP Toolkit for i5/OS – list of functions <ul><li>Connection management </li></ul><ul><ul><li>i5_connect </li></ul></ul><u...
PHP Toolkit functions <ul><li>System values </li></ul><ul><ul><li>i5_get_system_value </li></ul></ul><ul><li>Data areas </...
<ul><li>RPG program </li></ul>Sample code calling an RPG program
<ul><li>PHP Toolkit functions  </li></ul><ul><ul><ul><li>I5_connect –  opens server connection </li></ul></ul></ul><ul><ul...
PHP Toolkit  Resources <ul><li>Zend Core User Guide </li></ul><ul><ul><li>Zend Core for i5/OS product page –  http://www.z...
PHP Toolkit Templates <ul><li>PHP Toolkit Templates are available in Zend Studio  </li></ul><ul><ul><li>RAD </li></ul></ul...
Product Definition <ul><ul><li>The 5250 Bridge is a PHP based solution for running interactive applications in the i5/OS e...
Technical Overview  <ul><li>PHP library containing set of PHP functions/classes accessing 5250 data stream allowing to run...
|  5250 Bridge Diagram
|  Demo Program – Subfile Application
Resources:  Books <ul><li>Sklar, David.  Learning PHP 5 .  O'Reilly Media, Inc.  2004. </li></ul><ul><ul><li>http://www.or...
Resources:  Web sites <ul><li>PHP documentation at php.net </li></ul><ul><ul><li>http://www.php.net/docs.php </li></ul></u...
Resources :  Web sites <ul><li>Zend Developer Zone - Tutorials  </li></ul><ul><ul><li>http://devzone.zend.com/public/view/...
Resources:  Sample Code <ul><li>Check out the thousands of PHP scripts available that can be used as-is or as the starting...
Upcoming SlideShare
Loading in...5
×

How To Start Up With Php In Ibm I

6,888

Published on

Presentation about how to start up with PHP on IBM system I.
Givem by Sam Pinkhasov at 1 day seminar in IBM on 3/6/2009

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
6,888
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
74
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Transcript of "How To Start Up With Php In Ibm I"

    1. 1. How to Start up with PHP in IBM i June, 2007 Sam Pinkhasov Project Manager for IBM products [email_address]
    2. 2. Agenda <ul><li>First steps </li></ul><ul><li>Accessing DB2/400 </li></ul><ul><li>PHP Toolkit for i5/OS </li></ul><ul><li>5250 Bridge </li></ul><ul><li>PHP is ready for production by OpeniVew </li></ul><ul><li>Q&A </li></ul>
    3. 3. Zend Platform with 5250 Bridge IBM i DB2/400 Pgm, CMD, Spooled file Database Business Zend Studio Zend Core with Toolkit APIs Apache webserver Zend PHP Products for IBM I Diagram Zend Guard Windows/Linux Browser
    4. 4. <ul><li>Setting up PHP in IBM i </li></ul><ul><li>Verify installation </li></ul><ul><li>Setup debug in Zend Studio and Zend Core </li></ul><ul><li>Write a simple PHP code </li></ul>First Steps
    5. 5. <ul><li>Install Zend Core </li></ul><ul><ul><li>Requirements </li></ul></ul><ul><ul><ul><li>5722SS1 - - PASE Option (Option 33) </li></ul></ul></ul><ul><ul><ul><li>5733SC1 - IBM Portable Utilities For I5/OS (Option *BASE) </li></ul></ul></ul><ul><ul><ul><li>5733sc1 - OpenSSH ,OpenSST,Zlib (Option 1) </li></ul></ul></ul><ul><ul><li>Download Zend Core for i5/OS from Zend Network </li></ul></ul><ul><ul><ul><li>http://www.zend.com/products/zend_core/zend_core_for_i5_os </li></ul></ul></ul><ul><ul><li>Install </li></ul></ul><ul><ul><ul><li>RSTLICPGM LICPGM(1ZCORE5) DEV(*SAVF) SAVF(QGPL/ZCORESAVF) </li></ul></ul></ul><ul><ul><ul><li>SBMJOB (RSTLICPGM LICPGM(1ZCORE5) DEV(*SAVF) SAVF(QGPL/ZCORESAVF) </li></ul></ul></ul><ul><li>Install Zend Studio Eclipse Edition for i5/OS </li></ul><ul><ul><li>Download from Zend Network </li></ul></ul><ul><ul><li>Install </li></ul></ul><ul><ul><li>Registration </li></ul></ul>Install Zend Core and Zend Studio
    6. 6. Setting up PHP in IBM i <ul><li>Requirements </li></ul><ul><ul><li>5722SS1 - PASE Option (Option 33) </li></ul></ul><ul><ul><li>5733SC1 - IBM Portable Utilities For I5/OS (Option *BASE) </li></ul></ul><ul><ul><li>5733sc1 - OpenSSH ,OpenSST,Zlib (Option 1) </li></ul></ul><ul><li>Download Zend Core for i5/OS from zend.com </li></ul><ul><ul><li>RSTLICPGM installation </li></ul></ul><ul><ul><li>Creates the ZENDCORE library, /usr/local/Zend directory, and Zend-specific user profiles </li></ul></ul><ul><li>Start the Zend subsystem and the HTTP servers </li></ul><ul><ul><li>GO ZENDCORE/ZCMENU </li></ul></ul><ul><ul><li>Option 5 (Service Management menu) </li></ul></ul><ul><ul><li>Option 1 (Start Zend Core subsystem) or Option 4 (Start Apache server instances) </li></ul></ul>
    7. 7. Setting up PHP in IBM i <ul><li>Download Zend Studio for i5/OS from zend.com </li></ul><ul><ul><li>Integrated development environment </li></ul></ul><ul><ul><li>Runs on Windows and Linux </li></ul></ul>
    8. 8. <ul><li>Start Zend Core console : http://i5_server:89 </li></ul><ul><li>Run WRKACTJOB SBS(ZEND) CL command </li></ul><ul><li>Run PHP demo application installed with the product </li></ul>Installation verification
    9. 9. Zend Core Console http://i5_server:89
    10. 10. Zend Subsystem – wrkactjob sbs(Zend)
    11. 11. <ul><li>Run Zend Navigator demo application </li></ul><ul><ul><ul><li>URL: http://i5_server:89/Zend_Navigator_Demo/login.php </li></ul></ul></ul>Run PHP Application The demo application sources are available in www/zendcore/htdocs/Zend_Navigator_Demo .
    12. 12. Run Zend Navigator http://i5_server:89/Zend_Navigator_Demo/login.php
    13. 13. Zend Core – Debug Set Up
    14. 14. Zend Core – Restart Apache <ul><li>GO ZENDCORE/ZCMENU </li></ul>
    15. 15. Zend Studio - Debug Set Up
    16. 16. Writing a simple PHP code <ul><li>Map IFS directory /www/zendcore/htdocs to Windows driver </li></ul><ul><li>Start Zend Studio </li></ul><ul><li>Start project wizard: New->Project </li></ul><ul><li>Select Windows mapped IFS drive </li></ul><ul><li>Write the following code </li></ul><ul><ul><li><?php </li></ul></ul><ul><ul><li>echo phpinfo(); </li></ul></ul><ul><ul><li>?> </li></ul></ul><ul><li>Save as test.php </li></ul><ul><li>Run http://i5_server:89/test.php </li></ul>
    17. 17. Writing a simple PHP code
    18. 18. Running PHP command line <ul><li>From the default PASE shell. </li></ul><ul><ul><li>call qp2term </li></ul></ul><ul><ul><ul><li>/usr/local/Zend/core/bin/php-cli -help </li></ul></ul></ul><ul><li>From the System i command line (or CL program) </li></ul><ul><ul><li>CALL PGM(QP2SHELL) PARM('/usr/local/Zend/core/bin/php-cli' '-help') </li></ul></ul><ul><li>From QSH. </li></ul><ul><ul><li>QSH </li></ul></ul><ul><ul><ul><li>/usr/local/Zend/core/bin/php-cli –help </li></ul></ul></ul><ul><li>Example: </li></ul><ul><ul><li>/usr/local/Zend/core/bin/php-cli /usr/local/Zend/apache2/htdocs/DB2_example.php </li></ul></ul>
    19. 19. Accessing DB2/400 <ul><li>Server/connection </li></ul><ul><ul><li>db2_bind_param </li></ul></ul><ul><ul><li>db2_client_info </li></ul></ul><ul><ul><li>db2_close </li></ul></ul><ul><ul><li>db2_connect </li></ul></ul><ul><ul><li>db2_cursor_type </li></ul></ul><ul><ul><li>db2_exec </li></ul></ul><ul><ul><li>db2_execute </li></ul></ul><ul><ul><li>db2_prepare </li></ul></ul><ul><ul><li>db2_pconnect </li></ul></ul><ul><ul><li>db2_server_info </li></ul></ul><ul><ul><li>db2_statistics </li></ul></ul><ul><li>Result </li></ul><ul><ul><li>db2_free_result </li></ul></ul><ul><ul><li>db2_next_result </li></ul></ul><ul><ul><li>db2_result </li></ul></ul><ul><li>Commit/Rollback </li></ul><ul><ul><li>db2_autocommit </li></ul></ul><ul><ul><li>db2_commit </li></ul></ul><ul><ul><li>db2_rollback </li></ul></ul><ul><li>Errors </li></ul><ul><ul><li>db2_conn_error </li></ul></ul><ul><ul><li>db2_conn_errormsg </li></ul></ul><ul><ul><li>db2_stmt_error </li></ul></ul><ul><ul><li>db2_stmt_errormsg </li></ul></ul><ul><li>Column/Procedure </li></ul><ul><ul><li>db2_column_privileges </li></ul></ul><ul><ul><li>db2_columns </li></ul></ul><ul><ul><li>db2_procedure_columns </li></ul></ul><ul><ul><li>db2_procedures </li></ul></ul><ul><ul><li>db2_special_columns </li></ul></ul><ul><li>Table information </li></ul><ul><ul><li>db2_num_fields </li></ul></ul><ul><ul><li>db2_num_rows </li></ul></ul><ul><ul><li>db2_table_privileges </li></ul></ul><ul><ul><li>db2_tables </li></ul></ul><ul><li>Fetch </li></ul><ul><ul><li>db2_fetch_array </li></ul></ul><ul><ul><li>db2_fetch_assoc </li></ul></ul><ul><ul><li>db2_fetch_both </li></ul></ul><ul><ul><li>db2_fetch_object </li></ul></ul><ul><ul><li>db2_fetch_row </li></ul></ul><ul><li>Field information </li></ul><ul><ul><li>db2_field_display_size </li></ul></ul><ul><ul><li>db2_field_name </li></ul></ul><ul><ul><li>db2_field_num </li></ul></ul><ul><ul><li>db2_field_precision </li></ul></ul><ul><ul><li>db2_field_scale </li></ul></ul><ul><ul><li>db2_field_type </li></ul></ul><ul><ul><li>db2_field_width </li></ul></ul><ul><li>Key information </li></ul><ul><ul><li>db2_foreign_keys </li></ul></ul><ul><ul><li>db2_primary_keys </li></ul></ul><ul><li>Statement </li></ul><ul><ul><li>db2_free_stmt </li></ul></ul>
    20. 20. <ul><li>There are few connections options in PHP </li></ul><ul><ul><li>db2_connect(“”,””,””) – local server </li></ul></ul><ul><ul><ul><li>The database connection job is create under the same user as the Apache httpd server profile NOBODY (*USER). </li></ul></ul></ul><ul><ul><li>db2_connect(“127.0.0.1&quot;, “SAM&quot;, “PASSWROD&quot;) – local server </li></ul></ul><ul><ul><ul><li>The database connection job is created under the user profile SAM/PASSWROD. </li></ul></ul></ul><ul><ul><li>db2_connect(“10.1.1.33&quot;, “SAM&quot;, “PASSWROD&quot;) – remote remote database connection job is created under the user server </li></ul></ul><ul><ul><ul><li>The profile SAM/PASSWROD. </li></ul></ul></ul>Server connection – db2_connect API <ul><ul><li>Tip: Use WRKRDBDIRE to get the database name on the remote </li></ul></ul>
    21. 21. <ul><li>DB2 functions </li></ul><ul><ul><ul><li>db2_connect – Connects to server </li></ul></ul></ul><ul><ul><ul><li>db2_prepare – Prepares an SQL statement </li></ul></ul></ul><ul><ul><ul><li>db2_bind_param – Binds the an SQL statement </li></ul></ul></ul><ul><ul><ul><li>db2_execute – Executes an SQL command </li></ul></ul></ul><ul><ul><ul><li>db2_fetch_array – Reads records </li></ul></ul></ul><ul><li>View attached program DB2_example.php </li></ul>Sample code accessing database
    22. 22. Program Result http://i5_server:89/DB2_example .php
    23. 23. Recommendations <ul><li>CCSID = 65535 </li></ul><ul><ul><li>PHP scripts getting “junk” back from their DB2 SQL queries. Root problem is often QCCSID setting 65535 (binary default from manufacturing) </li></ul></ul><ul><ul><li>Change CCSID before starting Apache </li></ul></ul><ul><ul><ul><li>signon as QSECOFR </li></ul></ul></ul><ul><ul><ul><li>GO ZENDCORE/ZCMENU -> stop apache </li></ul></ul></ul><ul><ul><ul><li>CHGJOB LANGID(ENU) CNTRYID(US) CCSID(37) </li></ul></ul></ul><ul><ul><ul><li>GO ZENDCORE/ZCMENU -> start apache </li></ul></ul></ul><ul><li>Journaling (transactions) </li></ul><ul><ul><li>php.ini setting ibm_db2.i5_allow_commit=0 is the default. </li></ul></ul><ul><ul><li>If all of your schemas/libraries have journal enabled change php.ini to ibm_db2.i5_allow_commit=1 </li></ul></ul>
    24. 24. Other File Functions <ul><li>PHP has number of functions allowing access and update information contained in flat files and streams on IBM i. </li></ul><ul><ul><li>Open, read, write and close a flat file </li></ul></ul><ul><ul><ul><li>fopen () </li></ul></ul></ul><ul><ul><ul><li>fclose () </li></ul></ul></ul><ul><ul><ul><li>fread () </li></ul></ul></ul><ul><ul><ul><li>fwrite () </li></ul></ul></ul><ul><ul><li>Read a CSV file </li></ul></ul><ul><ul><ul><li>fgetcsv() </li></ul></ul></ul>Look it up in the PHP manual to see files examples .
    25. 25. PHP Toolkit for i5/OS <ul><li>Bundled with Zend Core </li></ul><ul><li>Geared towards accessing data and resources from PHP </li></ul><ul><ul><li>Programs and/or service programs </li></ul></ul><ul><ul><li>Data Queue </li></ul></ul><ul><ul><li>CL commands </li></ul></ul><ul><ul><li>Spooled files </li></ul></ul><ul><ul><li>Record-level file access </li></ul></ul><ul><ul><li>User Space </li></ul></ul>
    26. 26. PHP Toolkit for i5/OS – list of functions <ul><li>Connection management </li></ul><ul><ul><li>i5_connect </li></ul></ul><ul><ul><li>i5_pconnect </li></ul></ul><ul><ul><li>i5_close </li></ul></ul><ul><ul><li>i5_pclose </li></ul></ul><ul><ul><li>i5_adopt_authority </li></ul></ul><ul><ul><li>i5_error </li></ul></ul><ul><ul><li>i5_errno </li></ul></ul><ul><ul><li>i5_errormsg </li></ul></ul><ul><li>Command calls </li></ul><ul><ul><li>i5_command </li></ul></ul><ul><li>Program calls </li></ul><ul><ul><li>i5_program_prepare </li></ul></ul><ul><ul><li>i5_program_prepare_PCML </li></ul></ul><ul><ul><li>i5_program_call </li></ul></ul><ul><ul><li>i5_program_close </li></ul></ul><ul><li>Data retrieval </li></ul><ul><ul><li>i5_fetch_array </li></ul></ul><ul><ul><li>i5_fetch_assoc </li></ul></ul><ul><ul><li>i5_fetch_object </li></ul></ul><ul><ul><li>i5_fetch_row </li></ul></ul><ul><ul><li>i5_info </li></ul></ul><ul><ul><li>i5_field_len </li></ul></ul><ul><ul><li>i5_field_name </li></ul></ul><ul><ul><li>i5_field_scale </li></ul></ul><ul><ul><li>i5_field_type </li></ul></ul><ul><ul><li>i5_list_fields </li></ul></ul><ul><ul><li>i5_num_fields </li></ul></ul><ul><ul><li>i5_result </li></ul></ul><ul><li>Native file access </li></ul><ul><ul><li>i5_open </li></ul></ul><ul><ul><li>i5_addnew </li></ul></ul><ul><ul><li>I5_edit </li></ul></ul><ul><ul><li>I5_delete </li></ul></ul><ul><ul><li>i5_cancel_edit </li></ul></ul><ul><ul><li>i5_setvalue </li></ul></ul><ul><ul><li>i5_update </li></ul></ul><ul><ul><li>i5_range_from </li></ul></ul><ul><ul><li>i5_range_to </li></ul></ul><ul><ul><li>i5_range_clear </li></ul></ul><ul><ul><li>i5_data_seek </li></ul></ul><ul><ul><li>i5_seek </li></ul></ul><ul><ul><li>i5_bookmark </li></ul></ul><ul><ul><li>i5_free_file </li></ul></ul><ul><ul><li>i5_new_record </li></ul></ul><ul><ul><li>i5_update_record </li></ul></ul><ul><ul><li>i5_get_keys </li></ul></ul><ul><li>SQL access </li></ul><ul><ul><li>I5_query </li></ul></ul><ul><ul><li>I5_prepare </li></ul></ul><ul><ul><li>i5_bind_result </li></ul></ul><ul><ul><li>i5_execute </li></ul></ul><ul><ul><li>i5_getblob </li></ul></ul><ul><ul><li>i5_setblob </li></ul></ul><ul><li>Transactions </li></ul><ul><ul><li>i5_transactions </li></ul></ul><ul><ul><li>i5_commit </li></ul></ul><ul><ul><li>i5_rollback </li></ul></ul>
    27. 27. PHP Toolkit functions <ul><li>System values </li></ul><ul><ul><li>i5_get_system_value </li></ul></ul><ul><li>Data areas </li></ul><ul><ul><li>i5_data_area_prepare </li></ul></ul><ul><ul><li>i5_data_area_receive </li></ul></ul><ul><ul><li>i5_data_area_send </li></ul></ul><ul><ul><li>i5_data_area_close </li></ul></ul><ul><li>Print/Get spooled file </li></ul><ul><ul><li>i5_spool_list </li></ul></ul><ul><ul><li>i5_spool_list_read </li></ul></ul><ul><ul><li>i5_spool_list_close </li></ul></ul><ul><ul><li>i5_spool_get_data </li></ul></ul><ul><ul><li>i5_spool_from_file </li></ul></ul><ul><li>Job logs </li></ul><ul><ul><li>i5_jobLog_list </li></ul></ul><ul><ul><li>i5_jobLog_list_read </li></ul></ul><ul><ul><li>i5_jobLog_list_close </li></ul></ul><ul><li>Active jobs </li></ul><ul><ul><li>i5_job_list </li></ul></ul><ul><ul><li>i5_job_list_read </li></ul></ul><ul><ul><li>i5_job_list_close </li></ul></ul><ul><li>Objects list </li></ul><ul><ul><li>i5_object_list </li></ul></ul><ul><ul><li>i5_object_list_read </li></ul></ul><ul><ul><li>i5_object_list_close </li></ul></ul><ul><li>User space </li></ul><ul><ul><li>i5_userspace_crearte </li></ul></ul><ul><ul><li>i5_userspace_prepare </li></ul></ul><ul><ul><li>i5_userspace_get </li></ul></ul><ul><ul><li>i5_userspace_put </li></ul></ul><ul><li>Data Queue </li></ul><ul><ul><li>i5_dtaq_prepare </li></ul></ul><ul><ul><li>i5_dtaq_recieve </li></ul></ul><ul><ul><li>i5_dtaq_send </li></ul></ul><ul><ul><li>i5_dtaq-close </li></ul></ul>
    28. 28. <ul><li>RPG program </li></ul>Sample code calling an RPG program
    29. 29. <ul><li>PHP Toolkit functions </li></ul><ul><ul><ul><li>I5_connect – opens server connection </li></ul></ul></ul><ul><ul><ul><li>i5_program_prepare – defines the program parameters </li></ul></ul></ul><ul><ul><ul><li>i5_program_call – calls a program </li></ul></ul></ul><ul><ul><ul><li>i5_program_close – clears program handles </li></ul></ul></ul><ul><ul><ul><li>i5-_close – closes server connection </li></ul></ul></ul>Sample code calling an RPG program
    30. 30. PHP Toolkit Resources <ul><li>Zend Core User Guide </li></ul><ul><ul><li>Zend Core for i5/OS product page – http://www.zend.com/products/zend_core/zend_core_for_i5_os </li></ul></ul><ul><ul><li>Zend Core installation directory - /usr/local/Zend/ Zend_Core_User_Guide_i5OS.pdf </li></ul></ul>
    31. 31. PHP Toolkit Templates <ul><li>PHP Toolkit Templates are available in Zend Studio </li></ul><ul><ul><li>RAD </li></ul></ul><ul><ul><li>Error free code </li></ul></ul><ul><ul><li>Good learning tool </li></ul></ul><ul><ul><li>Code standardization </li></ul></ul><ul><ul><li>Create your company specific logic </li></ul></ul><ul><li>How to access? </li></ul><ul><ul><li>Toolkit templates list - Window -> Preference -> Templates </li></ul></ul><ul><ul><li>Import/Export </li></ul></ul><ul><li>Documentation </li></ul><ul><ul><li>Zend Core and Zend Studio User Guide </li></ul></ul>
    32. 32. Product Definition <ul><ul><li>The 5250 Bridge is a PHP based solution for running interactive applications in the i5/OS environment </li></ul></ul>|
    33. 33. Technical Overview <ul><li>PHP library containing set of PHP functions/classes accessing 5250 data stream allowing to run any 5250 interface/applications in PHP </li></ul><ul><ul><li>Utilizing IBM WebFace server – part of i5/OS TCP/IP </li></ul></ul><ul><ul><li>All screen information available: </li></ul></ul><ul><ul><ul><li>Input and Output fields and attributes </li></ul></ul></ul><ul><ul><ul><li>Format name </li></ul></ul></ul><ul><ul><li>Maintainable 5250 session </li></ul></ul><ul><ul><li>No Java </li></ul></ul>|
    34. 34. | 5250 Bridge Diagram
    35. 35. | Demo Program – Subfile Application
    36. 36. Resources: Books <ul><li>Sklar, David. Learning PHP 5 . O'Reilly Media, Inc. 2004. </li></ul><ul><ul><li>http://www.oreilly.com/catalog/learnphp5/ </li></ul></ul><ul><li>Kelly, Brian. Getting Started with PHP for i5/OS, MC Press </li></ul><ul><ul><li>http://www.mc-store.com/5934.html </li></ul></ul><ul><li>Jeff Olen , Kevin Schroeder, The IBM i Programmer's Guide to PHP </li></ul><ul><ul><li>http://www.mc-store.com/5096.html </li></ul></ul><ul><li>PHP: Zend for i5/OS </li></ul><ul><ul><li>Redbook SG24-7327-00 http://www.redbooks.ibm.com/abstracts/sg247327.html </li></ul></ul>
    37. 37. Resources: Web sites <ul><li>PHP documentation at php.net </li></ul><ul><ul><li>http://www.php.net/docs.php </li></ul></ul><ul><li>DB2 documentation </li></ul><ul><ul><li>http://phpbuilder.com/manual/en/ref.ibm-db2.php </li></ul></ul><ul><li>Zend and i5/OS </li></ul><ul><ul><li>Overview, benefits, products, getting started </li></ul></ul><ul><ul><li>http://www-03.ibm.com/systems/i/software/php/ </li></ul></ul><ul><li>ReadWiki – online documentation </li></ul><ul><ul><li>http://www-941.ibm.com/collaboration/wiki/display/sg247327/Home </li></ul></ul><ul><li>PHP for i5/OS forums – discussion groups </li></ul><ul><ul><li>http://www.zend.com/forums </li></ul></ul>
    38. 38. Resources : Web sites <ul><li>Zend Developer Zone - Tutorials </li></ul><ul><ul><li>http://devzone.zend.com/public/view/tag/tutorials </li></ul></ul><ul><ul><li>“ Integrating PHP Using Web Services” http://www.ibmsystemsmag.com/i5/april07/tipstechniques/12365p1.aspx </li></ul></ul><ul><li>Tips </li></ul><ul><ul><li>Installing Zend Core - http://www.mcpressonline.com/mc?50@252.8sVbe2ZbLxe.1@.6b507b23 </li></ul></ul><ul><ul><li>Use PHP to Bring i5/OS Resources to the Web </li></ul></ul><ul><ul><ul><li>http://www.itjungle.com/fhg/fhg103107-story01.html </li></ul></ul></ul><ul><ul><ul><li>http://www.itjungle.com/fhg/fhg011608-story01.html </li></ul></ul></ul>
    39. 39. Resources: Sample Code <ul><li>Check out the thousands of PHP scripts available that can be used as-is or as the starting point for Web projects . </li></ul><ul><ul><li>http://www.hotscripts.com </li></ul></ul><ul><ul><li>http://www.phpjunkyard.com/ </li></ul></ul><ul><ul><li>http://www.phpfreaks.com/ </li></ul></ul><ul><ul><li>http://phpfreebies.com/ </li></ul></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×