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
ZendZend’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:
- Identify and agree upon final requirements for a simple pilot project for Client project team to develop that addresses a real Client issue.
- Train up to 5 students on “Zend PHP I: Foundations for i5/OS Programmers” in exclusive online setting.
- 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.
- 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:
- Client environment will be running most recently Zend supported IBM i OS version.
- Client has reviewed and accepted this Statement of Work.
- Client signs the Project Acceptance form (see Appendix A) at the end of the engagement.
- Client will provide the platform, hardware, and database support required (e.g. Client engineer with knowledge of Client’s database).
- 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.
- Client’s project development team is available and completely dedicated during the scheduled week of onsite delivery.
- Client will identify a potential project for pilot development project within the guidelines provided by Zend.
- The Client has finally agreed with Zend about the chosen pilot project prior to the Zend consultant arriving on site.
- 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 |
|
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
- 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:
- Payment Terms: NET 30
- 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.
- 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.
- 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.
- 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:
- (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.
- (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;
- 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 |
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 PhasePurpose
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
- Production
- Parallel
- Development
Project Requirements (in this section identify the detail list of requirements of the project)
|
Req # |
Description1 |
Priority (1,2,3) |
Requestor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
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 |
|
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
