IBM i: Fertile Ground for PHP Developers

6,641 views
6,556 views

Published on

The IBM i platform, which evolved from System i, i5, iSeries, and AS/400, is a highly reliable, secure, self-managing, and integrated operating environment with a loyal, devoted following among thousands of businesses. A PHP developer who knows how to speak "IBM i" will be differentiated in the job market, gaining interesting employment and consulting opportunities.

In this talk, Alan Seiden will introduce you to the world of IBM i, covering the basics of this unique platform.

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,641
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
33
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

IBM i: Fertile Ground for PHP Developers

  1. 1. IBM i Fertile ground for PHP developers Alan Seiden Consulting alanseiden.com Thursday, February 6, 14
  2. 2. My focus Advancing PHP on IBM i • PHP project leader, Zend/IBM Toolkit • Contributor, Zend Framework DB2/i enhancements • Developer, Best Web Solution, IBM/Common • Authority, subsecondweb performance on IBM i/iSeries Alan Seiden Consulting Thursday, February 6, 14 2 IBM i: Fertile Ground for PHP Developers
  3. 3. Contact information Alan Seiden alan@alanseiden.com 201-447-2437 alanseiden.com twitter: @alanseiden Alan Seiden Consulting Thursday, February 6, 14 3 IBM i: Fertile Ground for PHP Developers
  4. 4. Where to download these slides From my site http://alanseiden.com/presentations On SlideShare http://slideshare.net/aseiden The latest version will be available on both sites Alan Seiden Consulting Thursday, February 6, 14 4 IBM i: Fertile Ground for PHP Developers
  5. 5. What we’ll discuss today • • • • • • Why work with IBM i ? PHP a perfect fit for i Opportunities How to speak ‘i’ Resources Q&A To rate this talk: https://joind.in/6820 Alan Seiden Consulting Thursday, February 6, 14 5 IBM i: Fertile Ground for PHP Developers
  6. 6. IBM i for your career Alan Seiden Consulting Thursday, February 6, 14 6 IBM i: Fertile Ground for PHP Developers
  7. 7. Advantages to knowing IBM i • Work with midsize to large size companies  IBM i runs mission-critical operations  Real budgets • Raise your profile in a specialized universe  Gain interesting assignments  Make an impact  Command premium fees for your expertise • In the words of an IBM’er: “Once joined to the IBM i application brotherhood you may be set for life” Alan Seiden Consulting Thursday, February 6, 14 7 IBM i: Fertile Ground for PHP Developers
  8. 8. IBM i Facts • Designed, marketed, built by IBM in Rochester, Minnesota • Heritage dates back to the 1970s • Currently runs on Power Systems hardware, also used by AIX ibm.com/systems/id/power/hardware/power7ent.html Alan Seiden Consulting Thursday, February 6, 14 8 IBM i: Fertile Ground for PHP Developers
  9. 9. Who uses ‘i’? Alan Seiden Consulting Thursday, February 6, 14 9 IBM i: Fertile Ground for PHP Developers
  10. 10. Who uses IBM i? • Over 150,000 companies in more than 115 countries  40 language translations  51 national language versions • From small to very large  70%: small-to-medium size organizations  30%: larger, with 1000+ employees • Reference: IBM i Strategy and Roadmap white paper • ibm.com/systems/power/software/i/strategy.html Alan Seiden Consulting Thursday, February 6, 14 10 IBM i: Fertile Ground for PHP Developers
  11. 11. Typical industries • The ‘i’ was designed to sail through commercial transaction processing workloads • According to IBM, typical industries include:      Wholesale and retail distribution Manufacturing Financial services such as banking, insurance Travel, transportation Media, entertainment • music publishing, casino management  Local government • including lottery agencies  School administration Alan Seiden Consulting Thursday, February 6, 14 11 IBM i: Fertile Ground for PHP Developers
  12. 12. Selected companies using IBM i  Transportation/Logistics • Enterprise Rent-a-Car • FedEx  Education management • EDR/Crosspointe (software for school districts)  Food and beverage • AriZona Beverages (iced tea) • Polar Beverages (Worcester, Mass.)  Retail • Bed Bath & Beyond • Starbucks • United Rentals Alan Seiden Consulting Thursday, February 6, 14 12 IBM i: Fertile Ground for PHP Developers
  13. 13. Integrated system Alan Seiden Consulting Thursday, February 6, 14 13 IBM i: Fertile Ground for PHP Developers
  14. 14. Resilient business processing • How IBM describes IBM i: • More than an OS: an operating environment  #IBMi question for @Steve_Will_IBMi Is IBM i an OS or an Operating Environment? http://linkd.in/ArNo5w  @stevencpitcher #IBMi DB2 is architecture. On other platforms, it is a software package. Alan Seiden Consulting Thursday, February 6, 14 14 IBM i: Fertile Ground for PHP Developers
  15. 15. IBM i Architecture IBM i architecture diagram © 2012 IBM Corporation. From Steve Will’s “You and i” blog: http://ibmsystemsmag.blogs.com/you_and_i/ Alan Seiden Consulting Thursday, February 6, 14 15 IBM i: Fertile Ground for PHP Developers
  16. 16. DB2 database at its heart • DB2 built in  Transaction processing workhorse  Database implemented below operating system level! • IBM i’s “Machine Interface (MI)” between OS and hardware  Journaling, auditing, commitment control very commonly used  Never corrupted • Doesn’t lose data even if knock out power plug • Database often taken for granted  So self-managing that DBAs are rare • MySQL also supported (Zend DBi)  Can connect to DB2 via DB2 Storage Engine Alan Seiden Consulting Thursday, February 6, 14 16 IBM i: Fertile Ground for PHP Developers
  17. 17. Data and programs last forever • IBM has been dedicated to legacy app longevity and data longevity  RPG (and occasionally COBOL) running for 30-40 years  DB2 data evolving 30-40 years  Middleware insulates applications from hardware changes  IBM i Heritage chart from Trevor Perry http://blog.angustheitchap.com/?p=415 Alan Seiden Consulting Thursday, February 6, 14 17 IBM i: Fertile Ground for PHP Developers
  18. 18. Long-serving back ends, new front ends • What does this mean to you?  RPG and DB2, mature and evolving for years, can be part of your data model, accessed by PHP  Create web GUI interfaces and web services around these venerable resources • Business logic is encapsulated in RPG/COBOL/DB2 • You can keep your hands somewhat clean of business details  Case studies later in this presentation Alan Seiden Consulting Thursday, February 6, 14 18 IBM i: Fertile Ground for PHP Developers
  19. 19. Reliable Alan Seiden Consulting Thursday, February 6, 14 19 IBM i: Fertile Ground for PHP Developers
  20. 20. Nondisruptive business growth • Scales vertically • One system can handle large and diverse workloads • Total Cost of Ownership (TCO), including reduced operator costs, is said to be competitive or cheaper than assembling server farms • Can activate additional processors without restarting system • Dependable • Resistant to viruses • Object-based system since the 1970s • Journaling, commitment control, replication, high availability • Security features galore • Keeps on running • You will sleep soundly at night Alan Seiden Consulting Thursday, February 6, 14 20 IBM i: Fertile Ground for PHP Developers
  21. 21. IBM i can “phone home” with problems Alan Seiden Consulting Thursday, February 6, 14 21 IBM i: Fertile Ground for PHP Developers
  22. 22. PHP’s role on i Alan Seiden Consulting Thursday, February 6, 14 22 IBM i: Fertile Ground for PHP Developers
  23. 23. PHP on i • 2004: i5php.net  Unofficial PHP binary for “i” available online • 2005: IBM and Zend got together • 2006: Zend Core for i5/OS  Official release with help from IBM, technical support from Zend • 2007: Zend Studio: IDE/code editor and Zend Platform: performance booster and code tracer/monitor • 2008: Zend Framework supports “i” variant of db2 • 2009: Zend Server Beta for “i” • 2010: Zend Server released • 2011: New toolkit on “i” beta...GA in 2012 Pin from IBM booth, ZendCon 2011 Alan Seiden Consulting Thursday, February 6, 14 23 IBM i: Fertile Ground for PHP Developers
  24. 24. Zend/IBM’s commitment from 2005-6 from 2006: “[Andi] Gutmans says Zend intends to port all its products to System i, treating the platform's users as first-class citizens.” http://mcpressonline.com/programming/web-languages/zend-brings-php-to-ibms-i5os.html Alan Seiden Consulting Thursday, February 6, 14 24 IBM i: Fertile Ground for PHP Developers
  25. 25. IBM + Zend • IBM i systems ship with Zend Server (PHP) • PHP on IBM i packaged and supported by Zend IBM’s Tony Cairns and Alan S. working on new toolkit, ZendCon 2011 IBM booth, ZendCon 2010 Alan Seiden Consulting Thursday, February 6, 14 25 IBM i: Fertile Ground for PHP Developers
  26. 26. Zend Server for IBM i • PHP stack for IBM i • Download • http://www.zend.com/en/products/server/downloads-ibmi • Zend Server 5.x license types • Zend Server Community Edition (CE) and regular Zend Server • Same download, different license • Zend Server 6.x editions • http://www.zend.com/en/products/server/editions • Free, Small Business, Professional, Enterprise • Same download, different license Alan Seiden Consulting Thursday, February 6, 14 26 DB2 and PHP Best Practices on IBM i
  27. 27. Installation •Prerequisites • http://static.zend.com/topics/ZS-560-IBMi- ReleaseNotes-20111215-04.txt • Zend Server 5.6 works on v5r4 and higher • Zend Server 6.x needs 6.1 or higher •Try Zend Studio’s IDE (no charge, courtesy of IBM) • “Zend Studio for Eclipse, IBM i Edition” • http://zend.com/en/products/studio/downloads • Look for “IBM i Edition” Alan Seiden Consulting Thursday, February 6, 14 27 DB2 and PHP Best Practices on IBM i
  28. 28. Zend Server event list Alan Seiden Consulting Thursday, February 6, 14 28 IBM i: Fertile Ground for PHP Developers
  29. 29. ibm_db2 middleware • Manual page  http://php.net/ibm_db2 • Source code and additional documentation at the “PECL” PHP extension repository  http://pecl.php.net/package/ibm_db2 Alan Seiden Consulting Thursday, February 6, 14 29 IBM i: Fertile Ground for PHP Developers
  30. 30. db2_connect() example with $options $database = 'MYDB'; $user = 'MYUSER'; $password = 'MYPASS'; $options = array('i5_naming' => DB2_I5_NAMING_ON, 'i5_libl' => 'MYLIB1 MYLIB2' ); $conn = db2_connect($database, $user, $password, $options); if ($conn) { echo "Connection succeeded."; } else { echo "Connection failed."; } // MYTABLE will be found, if in library MYLIB1 or MYLIB2 $stmt=db2_exec($conn,"SELECT * FROM MYTABLE"); Alan Seiden Consulting Thursday, February 6, 14 30 IBM i: Fertile Ground for PHP Developers
  31. 31. e-Commerce Case Study #1 Alan Seiden Consulting Thursday, February 6, 14 31 IBM i: Fertile Ground for PHP Developers
  32. 32. Medrano Express: four into one Alan Seiden Consulting Thursday, February 6, 14 32 IBM i: Fertile Ground for PHP Developers
  33. 33. Screen #1, Order header Alan Seiden Consulting Thursday, February 6, 14 33 IBM i: Fertile Ground for PHP Developers
  34. 34. Screen #2, Order detail Alan Seiden Consulting Thursday, February 6, 14 34 IBM i: Fertile Ground for PHP Developers
  35. 35. Screen #3, Content package from detail (Option 4 from order header) Alan Seiden Consulting Thursday, February 6, 14 35 IBM i: Fertile Ground for PHP Developers
  36. 36. Screen #4, Notes from order detail F9 key launches this Alan Seiden Consulting Thursday, February 6, 14 36 IBM i: Fertile Ground for PHP Developers
  37. 37. Web page combines all 4 “green screens” Alan Seiden Consulting Thursday, February 6, 14 37 IBM i: Fertile Ground for PHP Developers
  38. 38. One PHP script, four RPG programs • Call each RPG, filling a table with data to read  Repeat 4x !  “header” RPG returns useful information for calling “detail” RPG, etc. • Show results in one PHP view • Zend/IBM PHP Toolkit helps PHP call RPG  Info about Toolkit coming up • (application by Jessie Clark) Alan Seiden Consulting Thursday, February 6, 14 38 IBM i: Fertile Ground for PHP Developers
  39. 39. Toolkit welcomes PHP to ‘i’ family • Call RPG, COBOL, CL • Including IBM i apis • Most popular use of toolkit • Commands • ADDLIBLE LIB(MYLIB) • More command types (details later) • Read/write objects that store data • Data areas • User spaces • Send/receive data queues • Get lists, read data or attributes from these: • • • • • Spooled files Job logs Active jobs Objects System values Alan Seiden Consulting Thursday, February 6, 14 39 IBM i: Fertile Ground for PHP Developers
  40. 40. Where to get new toolkit •Included with Zend Server 5.6+ • http://zend.com/en/products/server/downloads • Approved QA version in latest PTF or hotfix • Look for latest PTF and hotfix, install in sequence •Young i Professionals (YiPs) site • Latest version is here • http://youngiprofessionals.com/wiki/XMLSERVICE • Also: a Git repository for collaboration Alan Seiden Consulting Thursday, February 6, 14 40 IBM i: Fertile Ground for PHP Developers
  41. 41. How it’s put together • PHP calls XMLSERVICE through generic stored procedures (installed automatically with package) • Any environment that can send/receive XML can use XMLSERVICE • PHP is the first major “client” to use XMLSERVICE but there will be more, further strengthening XMLSERVICE as a back-end Alan Seiden Consulting Thursday, February 6, 14 41 IBM i: Fertile Ground for PHP Developers
  42. 42. e-Commerce Case Study #2 Alan Seiden Consulting Thursday, February 6, 14 42 IBM i: Fertile Ground for PHP Developers
  43. 43. Allied Beverage Group Alan Seiden Consulting Thursday, February 6, 14 43 IBM i: Fertile Ground for PHP Developers
  44. 44. Original 5250-mode order entry process • Aimed at expert customer service users • Sales reps accessed it using Jadvantage java applet in browser  Better than nothing  S-l-o-w logon  Forced reps to have expert knowledge of system • Dicey wireless signals on the road = lost sessions • RPG was powerful but too complex to be updated with major new functionality Alan Seiden Consulting Thursday, February 6, 14 44 IBM i: Fertile Ground for PHP Developers
  45. 45. Intro screen Alan Seiden Consulting Thursday, February 6, 14 45 IBM i: Fertile Ground for PHP Developers
  46. 46. Intro with error message (customer) •f Alan Seiden Consulting Thursday, February 6, 14 46 IBM i: Fertile Ground for PHP Developers
  47. 47. Intro with error message (“return to number”) Alan Seiden Consulting Thursday, February 6, 14 47 IBM i: Fertile Ground for PHP Developers
  48. 48. Main screen Alan Seiden Consulting Thursday, February 6, 14 48 IBM i: Fertile Ground for PHP Developers
  49. 49. Search for a product by description Alan Seiden Consulting Thursday, February 6, 14 49 IBM i: Fertile Ground for PHP Developers
  50. 50. Select a product Alan Seiden Consulting Thursday, February 6, 14 50 IBM i: Fertile Ground for PHP Developers
  51. 51. Help! Alan Seiden Consulting Thursday, February 6, 14 51 IBM i: Fertile Ground for PHP Developers
  52. 52. What Allied wanted in web-based order entry • Good for sales reps and customers  Keep speed while making it easier for newcomers  Reps can copy from past orders  Lots of information at fingertips (fewer clicks) • Users can save drafts of orders  Drafts are brand-new functionality  We use the old RPG logic, but we’re not tied to it • No problem if temporarily disconnected  Stateless web connection can easily resume later • Overcome 90-item limit  So we didn’t have to treat that as an error  Internally we split order into 90-item bunches and sent multiple orders to RPG Alan Seiden Consulting Thursday, February 6, 14 52 IBM i: Fertile Ground for PHP Developers
  53. 53. Web ordering intro page Alan Seiden Consulting Thursday, February 6, 14 53 IBM i: Fertile Ground for PHP Developers
  54. 54. Web with account type/search box Alan Seiden Consulting Thursday, February 6, 14 54 IBM i: Fertile Ground for PHP Developers
  55. 55. Web Mode #1: Quick Order Entry Alan Seiden Consulting Thursday, February 6, 14 55 IBM i: Fertile Ground for PHP Developers
  56. 56. Search results Alan Seiden Consulting Thursday, February 6, 14 56 IBM i: Fertile Ground for PHP Developers
  57. 57. Web Mode #2: Standard Order Entry Alan Seiden Consulting Thursday, February 6, 14 57 IBM i: Fertile Ground for PHP Developers
  58. 58. AJAX loads dynamic info Alan Seiden Consulting Thursday, February 6, 14 58 IBM i: Fertile Ground for PHP Developers
  59. 59. How to speak ‘i’ Alan Seiden Consulting Thursday, February 6, 14 59 IBM i: Fertile Ground for PHP Developers
  60. 60. What veteran users call the ‘i’ • IBM i (correct modern name) • You will also hear  iSeries  System i  The AS/400 • or “The ’400” Alan Seiden Consulting Thursday, February 6, 14 60 IBM i: Fertile Ground for PHP Developers
  61. 61. Database terms • Modern and traditional terminology coexist Modern term Traditional term or phrase Schema Library Table Index File or Physical File Logical File* Row Record Column Field * a logical file resembles an “index + view” Modern views, triggers, etc. are supported by DB2 Alan Seiden Consulting Thursday, February 6, 14 61 IBM i: Fertile Ground for PHP Developers
  62. 62. Learning more Alan Seiden Consulting Thursday, February 6, 14 62 IBM i: Fertile Ground for PHP Developers
  63. 63. Conferences and User Groups • ZendCon  Has an IBM i track  Speaking opportunities for ‘i’ savants • Common  Common.org  Largest IBM i and Power Systems user group • Other user groups  https://www.ibm.com/developerworks/community/wikis/home? lang=en#!/wiki/Power%20Systems/page/IBM%20i%20Local %20User%20Groups Alan Seiden Consulting Thursday, February 6, 14 63 IBM i: Fertile Ground for PHP Developers
  64. 64. Searching the ’net • Official IBM i site  ibm.com/systems/power/software/i/ • Midrange.com: treasure trove of information  midrange.com, wiki.midrange.com/index.php/Main_Page • Search for “IBM i”  Lowercase ‘i’ not easily indexed  If no luck, try: • • • • iSeries System i i5 AS/400 (for older information) Alan Seiden Consulting Thursday, February 6, 14 64 IBM i: Fertile Ground for PHP Developers
  65. 65. IBM i on the cloud (practice your ‘i’ skills) • IBM i Infrastructure as a Service (IaaS) • Several vendors:     iDevCloud.com (for personal, noncommercial projects) iInTheCloud.com (commercial hosting) us.logicalis.com/microsites/cloud-computing.aspx MindShift.com • Full list of i-cloud vendors, compiled by Joe Hertvik  http://joehertvik.com/?p=816 Alan Seiden Consulting Thursday, February 6, 14 65 IBM i: Fertile Ground for PHP Developers
  66. 66. Zend Server and PHP resources • Support  Zend Server CE includes one year of email support • Upgrade to Zend Server for more years and fast phone support  Register at http://www.zend.com/en/products/server/downloadsibmi and also get Zend’s IBM i newsletter • Web:  Zend’s recorded webinars: http://www.zend.com/resources/ webinars/i5-os  Zend Forums: forums.zend.com • Look for IBM i Zend Server forums  http://alanseiden.com • Blog, articles, tips newsletter Alan Seiden Consulting Thursday, February 6, 14 66 IBM i: Fertile Ground for PHP Developers
  67. 67. DB2 and PHP Resources • IBM  IBM_DB2 manual and open source repository • http://php.net/ibm_db2, http://pecl.php.net/package/ibm_db2  DeveloperWorks wiki • http://ibm.com/developerworks/ibmi  Performance tips from IBM’s Tony Cairns • http://www.youngiprofessionals.com/wiki/FastCGI • Zend  Zend Server for IBM i • http://www.zend.com/en/products/server/zend-server-ibm-i  Forums for PHP on IBM i • http://forums.zend.com/viewforum.php?f=67 Alan Seiden Consulting Thursday, February 6, 14 67 IBM i: Fertile Ground for PHP Developers
  68. 68. More resources • IBM i blogs     Jon Paris, Susan Gantner: ibmsystemsmag.blogs.com/iDevelop/ Trevor Perry: blog.angustheitchap.com Mandy Shaw: iperimeter.blogspot.com Steve Will: ibmsystemsmag.blogs.com/you_and_i/ • PHP on i blogs  Mike Pavlak: mikepavlak.blogspot.com  Alan Seiden: alanseiden.com • Publications:  iPro Developer, MC Press Online, IBM Systems Magazine Alan Seiden Consulting Thursday, February 6, 14 68 IBM i: Fertile Ground for PHP Developers
  69. 69. Questions Alan Seiden Consulting Thursday, February 6, 14 69 IBM i: Fertile Ground for PHP Developers
  70. 70. Alan’s upcoming appearances http://alanseiden.com/presentations/upcoming Feb. 27 PHP Performance on IBM i, online March 11-13 Numerous talks WMCPA conf, Wisconsin May 4-7 Numerous talks COMMON conf, Orlando Alan Seiden Consulting Thursday, February 6, 14 70 IBM i: Fertile Ground for PHP Developers
  71. 71. Contact | Get tips Alan Seiden Alan Seiden Consulting Ho-Ho-Kus, NJ alanseiden.com alan@alanseiden.com Alan Seiden Consulting Thursday, February 6, 14 ● 201-447-2437 ● twitter: @alanseiden 71 IBM i: Fertile Ground for PHP Developers

×