Zend - The PHP Company


Smart Start for IBM i SOW

Statement of Work

Version 1.9 (February 2013)


Notice:
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. 

Trademarks
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.

Table of Contents

1.      Executive Summary   
2.      Scope
2.1    Assumptions and Pre-Requisites
2.2    Delivery Timelines and Activities   
3.      Deliverables
4.      Project Pricing
5.      Terms and Conditions
5.1    Limitation of Remedies and Liability   
5.2    Non-solicitation of Employees   
5.3    Other Terms & Conditions

Appendix I: Project Acceptance Form
Appendix II: Zend PHP I: Foundations (i5/OS Programmers) Course Description
Appendix III: Smart Start for IBM i Pilot Project Definition Template
Appendix IV: Example IFS folder Definitions including a development environment

1.    Executive Summary

Zend
Zend’s mission is to provide amazing PHP software and services that help our clients change the world.  Our solutions enable clients to optimize every aspect of their web application lifecycle, from mastering the basics, to reliable quality assurance and debugging, to successful staging and production, to monitoring and managing high performance, business-critical applications.  Zend’s products offer our clients a consistent, high-performance environment for development and production, thereby accelerating the time-to-value realized for Web applications. 

Through Zend’s personalized support and internationally respected Internet architects and PHP experts, Zend is able to provide our clients with a level of service and support unequaled in the industry. From the development of new core PHP modules, to the architecture of service oriented systems, Zend and its partners provide cost effective end-to-end web application solutions to meet even the most demanding business needs.

Zend Technologies Qualifications
Zend Professional Services has the following unique qualifications for providing PHP consulting services:

Extensive Experience: Zend Professional Services is responsible for some of the largest commercial PHP deployments on record worldwide. Zend has direct experience in the design, development, and improvement of enterprise class content management systems, Software development kits (SDKs) for PHP, corporate portals and open source software customizations.

PHP Expertise: Zend and the broader ecosystem of PHP-focused partners are the driving force behind Zend Framework, a powerful and robust PHP 5 based open source framework for the development of enterprise, easy to assemble yet powerful and scalable PHP applications (http://framework.zend.com/).

Market leading PHP products: The vast majority of commercialization around PHP is being done at Zend with its team of 50+ engineers and R&D team, based in the U.S., Israel, Germany, Russia and Japan.

Industry Leadership in PHP Education: Certification of PHP engineers and best practices is solely available through Zend Technologies.

2.    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.

2.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 signs the Project Acceptance form (see Appendix A) at the end of the engagement.
  4. Client will provide the platform, hardware, and database support required (e.g. Client engineer with knowledge of Client’s database).
  5. 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.
  6. Client’s project development team is available and completely dedicated during the scheduled week of onsite delivery.
  7. Client will identify a potential project for pilot development project within the guidelines provided by Zend.
  8. 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:
  • Technical services required to install or configure non-Zend application software, fix problems with an existing implementation, or develop enhancements to an existing application
  • Regression testing for other applications or external integrations (e.g. APIs) including those that may reside on the same instance

2.2    Delivery Timelines and Activities:



Service Task

Est-imated Time

Resources

Deliverables/

Agenda

Goals

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 C 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

 

Break

 

 

2 hrs

 

2nd Session

 

Day 5

2hrs

 

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

3.    Deliverables

This service has an installation component and an education component.  Installation is for 1 development system for the following products:
  • Zend Server for IBM i
  • Zend Studio for Eclipse i5 Edition
Education is to be provided in the form the online course exclusive to the Client:
  • Zend PHP I: Foundations (i5/OS Programmers)

4.    Project Pricing

The price for this engagement is as listed on the order/quote.
Client is responsible for travel and lodging expenses incurred in the course of this project.  Hotel, Air and Car Rental (including Parking) are charged to the client at actual cost. Meals are charged at a flat rate of $56.00 USD per day.

Payment Terms:
  • 50% due on signing.
  • Balance 50% plus T&E charges due on completion of on-site engagement.

Standard scheduling for delivery is generally 4-6 weeks from date of signed purchase order (PO).
 
The service 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 customer’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, Zend’s obligation to perform the services per SOW is terminated and any prepayment will not be refunded.

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.

5.     Terms and Conditions

5.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.

5.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.  

5.3    Other Terms & Conditions:

  1. Payment Terms: NET 30
  2. Payments are to be made once service is accepted by client, as indicated by the execution of the Project Acceptance Form substantially in the form attached hereto Appendix I.
  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: Project Acceptance Form



Account:  
<<CLIENT NAME>>
Project: Smart Start Service
Zend Project Manager: <<Insert Zend PM>>
Client Project Manager:
   <<Insert name, email address, phone number here>>
Date of Issue    
This document describes the closing status of the Services provided by Zend Technologies, Inc. (hereby known as Zend) to “Client”.

1. References

Statement of Work accepted by signing the quote for the Smart Start for IBM i engagement.

2. Major Milestones/Deliverables

The project outcome has been measured against its approved deliverables as described in the agreed upon Statement of Work (SOW) and any approved amendments and/or change requests listed as references above.

3. Acceptance

Zend requests signature and return of this Project Acceptance Form by the Client’s Project Manager. Should Client believe that any of the relevant criteria have not been met for project acceptance, written notice within five (5) working days of receipt of this Form is required (a “Notice of Non-compliance”), stating the specific reason for non-compliance. The Zend project team will promptly meet to resolve any issues.

On receipt of this document, or after five (5) working days with no written notice being received, Zend will conclude that this project is closed.

Table 1 - Authorized Signatures

Job title:                             Name:                                  Signature:                                         Date:
                                                                                                                                                                                        

Please fax a signed copy of this document to the number below:

Entity:   Zend Technologies, Inc.
Fax #: 
Attention:  

Appendix II: 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.

Audience:
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.

Pre-requisite(s):
Active i5/OS programming experience (ILE language DB2 experience)

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

Topics Include:

  • Why use PHP: What is PHP, Why use it, Benefits for RPG programmers, connecting to a DB2 data source & accessing data demonstration
  • Zend Server Management: What an ILE programmer needs to know about Zend Server
  • Development Tools: Increasing code efficiency & performance through Zend Studio for i5, including code completion, syntax highlighting, context sensitive templates for the PHP i5 Toolkit, DB2 extensions, 5250 bridge
  • Language Basics: Syntax, Quotes, Comments, Data Types
  • Variable Basics: Numbers, Constants, Variables, Strings, and Arrays
  • Control Flow Basics: Operators, Conditionals, Loops
  • Function Basics: Functions, Libraries, Array functions, File Handling functions
  • Programming Basics: Best Practices, Debugging, Introduction to HTML
  • Web Basics: Introduction to Server Communications, Sessions, Security
  • Database Basics: Introduction focused on how databases relate to PHP and websites
  • Application Basics: Course project

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

Pilot Project Phase

Purpose

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.

Requirements
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
  • PHP-New
  • PHP-Legacy
  • 5250 Bridge
Environment

  • Production
  • Parallel
  • Development
Application Narrative


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


Req #

Description1

Priority (1,2,3)

Requestor

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1Enter 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

Description

New **

Library

 

 

 

 

 

 

 

 

 

 

 

 


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



Physical File Name

 

Field  Name

Description

Length

Type

Key#

Values

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

** 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

 

Field  Name

Link Type

Field Name

Comments

 

 

 

 

 

 

 

 

 

 

 

 




Physical File #1

 

Physical File #3

 

Relationship Type

 

Field  Name

Link Type

Field Name

Comments

 

 

 

 

 

 

 

 

 

 

 

 




Physical File #2

 

Physical File #3

 

Relationship Type

 

Field  Name

Link Type

Field Name

Comments

 

 

 

 

 

 

 

 

 

 

 

 


Locations of common IFS files.



File Type

Environment***

Path

CSS

 

 

HTML

 

 

Images

 

 

PHP

 

 

Documents

 

 

 

 

 

***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

CSS

COBOL

HTML

AJAX

Java script

SQL

XML

RPGILE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


APPENDIX IV: 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