IBM i: Fertile Ground for PHP Developers
-
Upload
alan-seiden -
Category
Technology
-
view
4.047 -
download
0
description
Transcript of IBM i: Fertile Ground for PHP Developers
alanseiden.comAlan Seiden Consulting
IBM iFertile ground for PHP developers
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
My focus
2
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
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Contact information
3
Alan Seiden
201-447-2437
alanseiden.comtwitter: @alanseiden
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Where to download these slides
From my sitehttp://alanseiden.com/presentations
On SlideSharehttp://slideshare.net/aseiden
The latest version will be available on both sites
4
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
What we’ll discuss today
• Why work with IBM i ?• PHP a perfect fit for i• Opportunities• How to speak ‘i’• Resources• Q&A
5
To rate this talk:https://joind.in/6820
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
IBM i for your career
6
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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”
7
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
8
ibm.com/systems/id/power/hardware/power7ent.html
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Who uses ‘i’?
9
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
10
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
11
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
12
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Integrated system
13
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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.
14
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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/
15
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
16
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
17
IBM i Heritage chart from Trevor Perryhttp://blog.angustheitchap.com/?p=415
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
18
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Reliable
19
Thursday, February 6, 14
• 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
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Nondisruptive business growth
20
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
IBM i can “phone home” with problems
21
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
PHP’s role on i
22
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
23
Pin from IBM booth, ZendCon 2011
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
24
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
IBM + Zend
• IBM i systems ship with Zend Server (PHP)• PHP on IBM i packaged and supported by Zend
25
IBM booth, ZendCon 2010 IBM’s Tony Cairns and Alan S.working on new toolkit, ZendCon 2011
Thursday, February 6, 14
DB2 and PHP Best Practices on IBM iAlan Seiden Consulting
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
26
Thursday, February 6, 14
DB2 and PHP Best Practices on IBM iAlan Seiden Consulting
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”
27
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Zend Server event list
28
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
29
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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");
30
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
e-Commerce Case Study #1
31
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Medrano Express: four into one
32
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Screen #1, Order header
33
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Screen #2, Order detail
34
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Screen #3, Content package from detail
(Option 4 from order header)
35
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Screen #4, Notes from order detail
F9 key launches this
36
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Web page combines all 4 “green screens”
37
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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)
38
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
39
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
40
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
41
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
e-CommerceCase Study #2
42
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Allied Beverage Group
43
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
44
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Intro screen
45
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Intro with error message (customer)
• f
46
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Intro with error message (“return to number”)
47
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Main screen
48
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Search for a product by description
49
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Select a product
50
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Help!
51
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
52
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Web ordering intro page
53
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Web with account type/search box
54
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Web Mode #1: Quick Order Entry
55
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Search results
56
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Web Mode #2: Standard Order Entry
57
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
AJAX loads dynamic info
58
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
How to speak ‘i’
59
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
What veteran users call the ‘i’
• IBM i (correct modern name)
• You will also hear iSeries System i The AS/400
• or “The ’400”
60
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Database terms
• Modern and traditional terminology coexist
* a logical file resembles an “index + view”Modern views, triggers, etc. are supported by DB2
61
Modern term Traditional term or phrase
Schema LibraryTable File or Physical FileIndex Logical File*Row Record
Column Field
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Learning more
62
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
63
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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)
64
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
65
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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/downloads-
ibmi 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
66
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
67
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
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
68
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Questions
69
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Alan’s upcoming appearances
http://alanseiden.com/presentations/upcoming
Feb. 27 PHP Performance on IBM i, online March 11-13 Numerous talks WMCPA conf, WisconsinMay 4-7 Numerous talks COMMON conf, Orlando
70
Thursday, February 6, 14
IBM i: Fertile Ground for PHP DevelopersAlan Seiden Consulting
Contact | Get tips
Alan Seiden Alan Seiden ConsultingHo-Ho-Kus, NJ
alanseiden.com
71
[email protected] ● 201-447-2437 ● twitter: @alanseiden
Thursday, February 6, 14