Statement of Work

Version 2.1 (January 2017)




This document is the property of, and is proprietary to, Zend Technologies.  It is not to be disclosed, in whole or in part,  without written authorization from Zend Technologies.  



Any product names mentioned in this document may be trademarks or registered trademarks of their respective companies and are hereby acknowledged as such by Zend.


1.    Scope


The Zend Smart Start Service for IBM i offering is a training and consulting engagement to help clients rapidly and successfully adopt PHP on IBM System i.  

Service Objectives:


  1. Identify and agree upon final requirements for a simple pilot project for Client project team to develop that addresses a real Client issue.
  2. Train up to 5 students on “Zend PHP I: Foundations for i5/OS Programmers” in exclusive online setting.
  3. Install and configure the Zend PHP Solution Stack on one IBM i development server.  As part of the process, Client will be trained to install additional servers.
  4. Enable Client project team to exercise PHP skills and coach them in best practices through the development and deployment of the pilot project.


1.1    Assumptions and Pre-Requisites


  1. Client environment will be running most recently Zend supported IBM i OS version.
  2. Client has reviewed and accepted this Statement of Work.
  3. Client will provide the platform, hardware, and database support required (e.g. Client engineer with knowledge of Client’s database).
  4. Client has identified a project manager and sponsor to work jointly with the Zend consultant to plan activities and ensure that required Client resources are available as needed.
  5. Client’s project development team is available and completely dedicated during the scheduled week of onsite delivery.
  6. Client will identify a potential project for pilot development project within the guidelines provided by Zend.
  7. The Client has finally agreed with Zend about the chosen pilot project prior to the Zend consultant arriving on site.

This service package does NOT include:


1.2    Delivery Timelines and Activities


Service Task

Est-imated Time





Pre-Delivery Preparation


(2-3 weeks prior to onsite visit)




Pilot Project Definition is initiated with Client

Client returns a high-level summary to Zend


Zend Consultant

Client Project lead



A high-level summary defines the objectives and expectations of the Pilot

Establish a clear understanding of the scope and objectives of the Pilot project

Phone conference with Client project lead

1-2 hrs

Zend Consultant

Client project lead

Discuss and select project for pilot. Pilot project must be selected and agreed upon prior to consultant arriving onsite.

Ensure successful Smart Start Service engagement

Phone conference with Client Sys Admin 1h Zend Consultant

Client Sys Admin
Review installation prerequisites Validate environment for installation
Preparation of the development system for Remote Installation   Client Sys Admin   Have the system ready for remote installation by Zend
Remote Installation of Zend software on the chosen development environment 2-4h Zend Consultant

Client Sys Admin
  Have the Zend software running and ready for the upcoming pilot development phase

Week 1 - Remote





“Zend PHP I: Foundations (i5/OS Programmers)” Training

See Appendix for course description

5 days

Zend Online training

Client team

“Zend PHP I: Foundations (i5/OS Programmers)” course provided exclusively for Client

Provide basic understanding of PHP


Provide knowledge bridge from RPG to PHP

Class schedule:





Day 1-4

2 hrs


1st Session



1 hr





2 hrs


2nd Session


Day 5



3rd Session


Week 2 - Onsite





Day 1-4        

Kickoff meeting

½ day

Zend Consultant

Client Sponsor

Client Team-Lead

Client team

Introduce service & delivery agenda

Introduce team members

Review roles & responsibilities


Introductions, outline of service, expectation setting

Development of Pilot begins with customer developing and consultant mentoring

3,5 days

Zend consultant

Client team

Provide a fully functional application at the conclusion of the service

Monitor, guide, mentor the customer project team to create and develop a real  PHP application

Day 5





Finalize development project


½ day

Zend Consultant

Client team


Deploy final pilot application

Wrap-up (see detail below)

2 hours

Zend Consultant

Client team

Client sponsor

Client Team-Lead

Sales Representative on phone

Review the week

Q & A

Closing and Client sign-off of engagement

Final questions, close-out of engagement


2.    Deliverables


This service has an installation component, an education component and a consulting component.  Installation is for 1 development system for the following products:


Education is to be provided in the form the online course exclusive to the Client:


3.    Project Pricing and Payment


The price for this engagement is as listed on the order/quote.


3.1 Payments

The above fees shall be due and payable as follows:

Upon execution of this SOW, Client shall issue a PO for the Engagement and Rogue Wave shall issue invoices against the PO in accordance with the payment schedule set forth above. Client shall pay correct and undisputed invoices on a net thirty (30) day basis. Late payments, other than those disputed in good faith, shall bear interest at lesser of one and one-half percent (1.5%) per month or the highest amount permitted by applicable law.

If Client disputes any invoiced amount for any reason whatsoever, Client shall notify Rogue Wave in writing (via email shall suffice for this limited purpose) within thirty (30) calendar days of Client’s receipt of the invoice. All disputed amounts that Client subsequently agrees in writing to pay, or that are required to be paid pursuant to a proper court order or award from any mutually submitted arbitration, shall be paid on the payment terms set forth in Terms above.

Please remit payment to:

Rogue Wave, Inc.

1315 West Century Drive, Suite 150
Louisville, CO 80027


3.2 Expenses

Client is responsible for travel and lodging expenses if and as incurred in the course of this Engagement, as well as all reasonable and necessary expenses Rogue Wave incurs in connection with the services for Client in accordance with Client’s then current practices and/or policies.

Hotel, Air and Car Rental (including Parking) are charged to the Client at actual rates. Air travel shall be coach or economy class for domestic travel.  Meals are charged at a flat rate of 56.00 USD per day. Expenses will be itemized, documented and submitted upon completion of the Engagement.   Rogue Wave will be solely responsible for any and all taxes that may be due on any payments it receives from the Client.


3.3 Scheduling

Standard scheduling for delivery is generally 4-6 weeks from date of signed purchase order (PO).

The Engagement must be scheduled and delivered within 6 months (if the engagement was not 100% prepaid) or 12 months (if the engagement was 100% prepaid) from the date of signed PO that refers to this SOW. It is the Client’s responsibility to schedule and facilitate completion of this Engagement within the respective number of months from date of signing the PO. In the event this does not occur, Rogue Wave’s obligation to perform the services per SOW is terminated and any prepayment will not be refunded.

Prices are valid for 30 days from the date of this Statement of Work.


3.4 Minimum Billing Fees

Remote consulting deliveries have a four hour minimum billing fee per day. For Onsite consulting deliveries the minimum billing fee is 2 person days plus travel and out of pocket expenses. Scheduled Engagements (of both types) that are not cancelled or rescheduled at least three working days in advance will be invoiced in full for the scheduled time.


4.     Terms and Conditions


4.1    Limitation of Remedies and Liability

(a) Zend's services and all deliverables shall be provided on an "as-is" basis and without warranty.  Zend specifically disclaims any and all express and implied warranties, including any implied warranties of merchantability, fitness for a particular purpose, title, and non-infringement.

(b)  In no event shall Zend be liable to client, whether in contract, tort (including negligence) or otherwise, for any indirect, incidental or consequential damages (including lost profit or business interruption) even if Zend is notified in advance of such possibility arising out of the performance or breach of, or otherwise pertaining to the subject matter of, this agreement.


4.2    Non-solicitation of Employees

During the period of Zend's performance under this Agreement, and for one (l) year thereafter, Client agrees not to hire, solicit, nor attempt to hire or solicit, the services of any employee or subcontractor of Zend without the prior written consent of Zend. Violation of this provision shall entitle Zend to assert liquidated damages against the Client equal to one hundred fifty (150) percent of the solicited person's annual compensation.  Nothing contained herein shall preclude the hiring of any Employee who: (i) contacts the hiring party on his or her own initiative; (ii) the hiring party was in discussion with regarding possible employment prior to the signing of this Statement of Work; or (iii) responds to a general solicitation of employment through advertisements or search firm general solicitations that are not targeted specifically at the non-hiring party or its employees.   


4.3    Other Terms & Conditions

  1. Payment Terms: NET 30
  2. Payments are to be made once service is delivered by Company.
  3. Purchase order number required, but the terms of this Statement of Work, when accepted and signed by client shall be the entire agreement of the parties and shall supersede and entirely replace the terms of any and all other agreements or forms, including client purchase order forms, all of which are hereby specifically rejected by Zend. 
  4. Zend retains all rights in its intellectual properties.  Client rights to use any Zend Products shall require separate acceptance of Zend's applicable licensing terms and conditions.
  5. Each party represents and warrants to the other that its performance of its obligations under this Agreement will not conflict with or result in a breach or violation of any of the terms or provisions or constitute a default under any agreement by which it is bound and that it is not a party to any agreement containing a non-competition clause or other restriction with respect to (i) the activities and services which it is required to perform hereunder, or (ii) the use or disclosure of any information directly or indirectly related to the transactions contemplated by this Agreement.  Further, Zend represents and warrants that in performing the services: 
    1. (i) That the services to be delivered and rendered hereunder, will be of the kind and quality designated in the “Deliverables” section of this document, and will be performed by qualified personnel in a professional and workmanlike manner consistent with industry standards; 
      (ii) It will strictly comply with the timelines, descriptions and representations as to the services which appear within;
      (iii) The services rendered will not be in violation of any law, rule or regulation and Vendor will have obtained all permits required to comply with such laws and regulations; 
      (iv) The services rendered will not knowingly violate or in any way infringe upon the right of third parties, including proprietary information and nondisclosure rights or any trademark, copyright or patent rights.
  6. This Statement of Work and Agreement shall be governed by California law.  Any  proceedings under or in connection with this Agreement shall be brought exclusively in state or federal courts sitting in the Northern District of California.



Appendix I: Zend PHP I: Foundations (i5/OS Programmers) Course Description


The Zend PHP I: Foundations (i5/OS Version) course is designed to provide ILE programmers
with a solid foundation in the PHP language. This course guides you through the basics of PHP
with an experiential approach, filled with numerous examples and hands-on exercises. You will
also learn about the exciting new 5250 Bridge for your legacy content, as well as tools for i5
system programmers, such as the PHP i5 Toolkit and DB2 extensions. By the end of the course,
you will complete a major project while you learn the essentials you need to program in PHP.

This course is designed for experienced developers with practical experience developing for
the i5 system using RPG or COBOL, and who want to explore using PHP to create web-based
application front ends to existing RPG applications or take advantage of the many open source
applications available on the Internet.

Active i5/OS programming experience (ILE language DB2 experience)

To learn the basics of the PHP programming language and its relation to the i5/OS system

Topics Include:



Appendix II: Smart Start for IBM i Pilot Project Definition Template


Pilot Project Phase

The Pilot Project portion of Smart Start for IBM i is a step in the process to independence in developing applications using the Zend platform on the i5. The pilot template is used to assist in determining a viable project that can be successful and completed in the time allotted for onsite development. 

Installed and running Zend Server on the i5. 
Completion of Phase 1 – Training 

Pilot Project Selection Guidelines
Selection of a project that can be completed in the time frame of Phase 3 of Smart Start is crucial to a successful project. The proof of concept phase is an extension of the training session, it has a dual role of continuing training and developing a useful mini-application that can be used after training is complete. 

Selection of project should include a small project that is on the IT staff project list. It can be a straight new PHP application, a rewrite of an existing application using PHP, or using the 5250 bridge. It is suggested that a simple inquiry program be selected as the first project with a very basic maintenance program as a secondary option. Selecting an inquiry into legacy (normalized) i5 data that has been requested is a good starting point. 

Pilot Project Definition
Client will aid the selecting of the project through identifying the files and fields on files prior to sending to Zend for pilot selection. Please forward at least two desired pilot projects. 

Type of Project




Application Narrative

Project Requirements (in this section identify the detail list of requirements of the project)

Req #


Priority (1,2,3)


























1 Enter requirements that the application must meet to fulfill the requestor’s incident.

Physical Files to be Used (Identify i5 Physical files to be used new and existing).

Physical File Name


New **














Physical File Fields (Create layout of fields for  the new  files listed  above. Copy Table as needed.).

Physical File Name


























** Please have any new files created prior to arrival of Zend consultant.

Physical File Relationships (Create relationships of Keys for all  files related to each other listed above. Copy Table as needed.).

Physical File #1


Physical File #2


Relationship Type



Link Type

Field Name















Physical File #1


Physical File #3


Relationship Type



Link Type

Field Name















Physical File #2


Physical File #3


Relationship Type



Link Type

Field Name














Locations of common IFS files.

File Type





















***May be different for each environment.  May have multiple entries in this table for each file type.

5250 Bridge Requirements (Information needed for a 5250 Bridge Project.).


Program Name…..:


Screen 1 Name…..:


Screen 2 Name…..:


Screen 1 Field Names vs. 5250 Stream Field Numbers


Screen Field Name

5250 Stream Field Number













Screen 2 Field Names vs. 5250 Stream Field Numbers


Screen Field Name

5250 Stream Field Number















Skill Level Assessment of Customer Developers in Pilot Project


Please identify the skill set of the developers that will be assisting/developing the pilot project from the customer side. Either enter an ‘X’ in cells where the developer has experience or, if possible,enter a ranking denoting level of skill in the areas. 1=Minimal Exposure, 2= Moderately skilled , 3=Highly skilled.


Developer Name


Java script


























































APPENDIX III: Example IFS folder Definitions including a development environment


Below is an example of IFS folder naming convention that could be used for segregating projects in development from projects operating in a production mode. Using best practices thru procedures, or using a change management application, development is promoted properly from development to test to Production.
Development Environment Example 
/www/dev/htdocs     -  Contains php script available to the “outside”
/www/dev/etc              -  Contains configuration data
/www/dev/htdocs/img    -  Contains images for the development environment
/www/dev/lib          -  Contains All functions that can be included in any request. 
/www/dev/log         -  Used for log files

The DocumentRoot should point to the htdocs folder. 

Test Environment Example 
/www/Systest/htdocs         -  Contains php script available to the “outside”
/www/Systest /etc                 -  Contains configuration data
/www/Systest /htdocs/img    -  Contains images for the development environment
/www/Systest /lib          -  Contains All functions that can be included in any request. 
/www/Systest /log         -  Used for log files

Additional environments can be configured thru the Apache web server using virtual hosts. 
The DocumentRoot should point to the htdocs folder related to this environment. 

Production Environment Example 
/www/Prod/htdocs         -  Contains php script available to the “outside”
/www/Prod/etc                 -  Contains configuration data
/www/Prod/htdocs/img        -  Contains images for the development environment
/www/Prod/lib              -  Contains All functions that can be included in any request. 
/www/Prod/log             -  Used for log files