Zend - The PHP Company


Smart Start for IBM i SOW

Dienstvertrag für die Erbringung des Zend SmartStarts für IBM i

Version 1.9 (Februar 2013)


Dieser Dienstvertrag ist an die Allgemeinen Geschäftsbedingungen für Dienstleistungen der Zend Technologies GmbH gebunden.
 
Dieser Dienstvertrag beschreibt die Bedingungen, zu denen der Kunde Zend mit der Erbringung von Leistungen im Bereich Consulting durch entsprechende Annahme des Angebots beauftragen kann.

 
1      Rahmenbedingungen
 
Die zu erbringenden Leistungen basieren auf den Unterlagen bzw. Gesprächen zwischen Zend und dem Kunden, welche zur entsprechenden Angebotserstellung geführt haben. Folgende Rahmenbedingungen werden zugrunde gelegt:
  • Die Umgebung beim Kunden läuft unter der aktuellsten von Zend unterstützten IBM i OS Version.
  • Der Kunde hat den zugehörigen Dienstvertrag gelesen und akzeptiert.
  • Der Kunde wird nach Beendigung der Leistungserbringung ein Abnahmeformular unterzeichnen.
  • Der Kunde stellt den benötigten Plattform-, Hardware- und Datenbank-Support zur Verfügung (z.B. ein Mitarbeiter des Kunden mit Fachwissen über die Kundendatenbank)
  • Der Kunde hat einen Projektmanager und einen Budgetverantwortlichen benannt, die zusammen mit dem Zend-Consultant die Aktivitäten planen und sicherstellen, dass die benötigten Ressourcen beim Kunden verfügbar sind, wenn benötigt.
  • Das Projektentwicklungs-Team auf Kundenseite ist verfügbar während der gesamten Zeit der Leistungserbringung vor Ort komplett verfügbar.
  • Der Kunde benennt ein potentielles Projekt für die Pilot-Entwicklung im Rahmen der Richtlinien, die von Zend zur Verfügung gestellt werden.
  • Der Kunde hat das englischsprachige Formular für die Definition des Pilotprojektes (siehe Anhang) ausgefüllt, an Zend übermittelt und vor Ankunft des Zend-Consultants beim Kunden mit Zend durchgesprochen. Über das finale Projekt muss vor der Ankunft des Zend-Consultants vor Ort beim Kunden ein gemeinsames Verständnis bestehen.

 

2      Zu erbringende Leistungen
2.1         Aufgabenstellung und Vorhabenbeschreibung
  • Definition und Erreichen eines gemeinsamen Verständnisses über die finalen Anforderungen für ein einfaches Pilot-Projekt, welches das Projekt-Team des Kunden im Rahmen des SmartStarts entwickeln soll und welches ein real existierendes Problem auf Kundenseite adressiert.
  • Exklusive Online-Schulung “Zend PHP I: Foundations for i5/OS Programmers” für bis zu 5 Teilnehmer
  • Installation und Konfiguration des Zend PHP Solution Stacks auf einem IBM i Development Server. Ein Teil dieses Prozesses ist auch die Schulung des Kunden, zusätzliche Server selbst installieren zu können. Die Installation wird für 1 Entwicklungssystem mit den folgenden Produkten durchgeführt:
    • Zend Server for IBM i
    • Zend Studio for IBM i
  • Das Projekt-Team des Kunden soll in die Lage versetzt werden, mit PHP zu arbeiten und im Rahmen der Entwicklung und des Deployments des Pilot-Projektes in Best Practices geschult werden.

 

2.2      Abgrenzungen
Nachfolgend benannte Punkte sind nicht Bestandteil der Leistung und werden im Rahmen dieses Vertrages nicht erbracht:
  • Falls im Rahmen des Trainings Begleitmaterialien von Zend zur Verfügung gestellt werden, handelt es sich hierbei nur um solche Materialien, die sich auf die Standardkomponenten der angebotenen Leistung beziehen.
  • Technische Dienstleistungen, die benötigt werden, um Software zu installieren oder zu konfigurieren, die nicht von Zend stammt.
  • Lösung von Problemen mit einer bestehenden Implementierung.
  • Entwicklung von Erweiterungen zu einer bestehenden Applikation.
  • Regressionstesting für andere Applikationen oder externe Integrationen (z.B. APIs) inkl. solcher, die auf derselben Instanz laufen.
 
2.3      Ablauf der Leistungserbringung
 


Servicekomponenten- Aktivität
Geschätzte Zeit
Ressourcen
Erbrachte Leistung/
Agenda
Ziele

Vorbereitung zur Leistungserbringung
 
(ca. 2-3 Wochen vor dem Start onsite)
 
 
 
Formular zur Definition des Pilotprojektes wird zum Kunden geschickt
Der Kunde schickt das ausgefüllte Formular an Zend zurück
 
Zend Consultant
Projektleiter Kunde 
 
Das ausgefüllte Formular definiert die Ziele und Erwartungen des Pilotprojekts
Erreichen eines klaren Verständnisses über den Umfang und die Ziele des Pilotprojekts
Telefonkonferenz mit dem Projektleiter des Kunden
1-2 Stunden
Zend Consultant
Projektleiter Kunde 
Auswahl und Besprechung des Projekts für die Pilotentwicklung. Festlegung des Projekts bevor der Zend Consultant zum Kunden onsite kommt.
Überprüfung der Umgebung
Sicherstellen eines erfolgreichen SmartStarts.
Woche 1 - Remote
 
 
 
 
Online-Training:
“Zend PHP I: Foundations (i5/OS Programmers)”
5 Tage
Zend Online Training
Kundenteam
Der Kurs “Zend PHP I: Foundations (i5/OS Programmers)” wird exklusiv für das Team des Kunden abgehalten.
Grundlegende PHP-Kenntnisse vermitteln
Hilfe zur „Brückenbildung“ von RPG zu PHP
Kursplan
 
 
 
 
Tag 1-4
2 Stunden
 
1. Session
 
 
1 Stunde
 
Pause
 
 
2 Stunden
 
2. Session
 
Tag 5
2 Stunden
 
3. Session
 
Woche 2 - Onsite
 
 
 
 
Kickoff Meeting
½ Tag
Zend Consultant
Budgetverantwortlicher beim Kunden
Teamlead Kunde
Team beim Kunden
Einführung in die Dienstleistung und die Agenda
Vorstellen der Teammitglieder
Festlegung der Rollen und Verantwortlichkeiten
Einführung, Skizzierung der Dienstleistung, Erwartungen definieren
Installation
(Installation und Konfigurationsind auf ein Entwicklungssystem beschränkt. is limited to one development system.  Ein Teil dieses Prozesses ist auch die Schulung des Kunden, zusätzliche Server selbst installieren zu können)
 
½ Tag
Zend Consultant
 
Installation von Zend Server, Zend Studio for IBM i
Installieren, konfigurieren und testen des Zend Software Stacks 
Tag 2-4 - Onsite
 
 
 
 
Die Entwicklung des Piloten beginnt mit der Programmierung durch das Kundenteam und paralleles Mentoring durch den Zend Consultant
3 Tage
Zend Consultant
Kundenteam
Fertigstellen einer voll funktionalen Applikation zum Ende des SmartStarts
Überwachen, anleiten und mentoring des Projektteams des Kunden um eine echte PHP Applikation zu erstellen und zu programmieren
Tag 5 - Onsite
 
 
 
 
Abschluss des Entwicklungsprojekts
½ Tag
Zend Consultant
Kundenteam
 
Deployment der finalen Pilotapplikation
Nachbereitung
2 Stunden
Zend Consultant
Budgetverantwortlicher beim Kunden
Teamlead Kunde
Team beim Kunden
Zend Sales Verantwortlicher per Telefon
Rückblick auf die letze Woche
Fragen & Antworten
Abschluss und Unterzeichnen der Abnahme der Dienstleistung
Letzte Fragen, Abschluss der Dienstleistung
 
2.4      Leistungsort
Ort der Leistungserbringung ist ein Standort des Kunden in Deutschland, Österreich oder der Schweiz.
 
2.5      Leistungszeiten
Die Leistungen werden in der Zeit von Montag - Freitag von 9:00 Uhr bis 18:00 Uhr mit Ausnahme der Mittagspause, an einem Standort des Kunden in Deutschland, Österreich oder der Schweiz erbracht. Die Leistungen finden nicht an den in Baden-Württemberg gültigen Feiertagen sowie jeweils nicht am 24.12. und 31.12. eines Jahres statt.
Ein genauer Termin für die Ableistung der angebotenen Leistungen ist noch nicht definiert.

 
3      Rollen, Verantwortlichkeiten und Erwartungen
 
3.1       
Um den Einsatz erfolgreich abschließen zu können, ist es notwendig, dass Einigkeit zwischen dem Kunden und den Zend-Mitarbeitern hinsichtlich der Rollen und Erwartungen besteht. Diese Erwartungen werden nachfolgend aufgeführt. Wo passend, kann auch ein einzelnes Individuum mehrere der unten aufgeführten Rollen parallel übernehmen. Zend behält sich vor, auf die Dienste von Subunternehmern für einzelne Rollen zurückzugreifen.
3.2       
Von dem Kunden wird erwartet, dass folgende Vorgaben entweder vor, jedoch spätestens bis zum Beginn des Einsatzes erfüllt werden:
  • Bereitstellung aller notwendigen Informationen und des Detailwissens rund um das zu behandelnde Projekt/Produkt, damit Zend die jeweiligen Entwicklungs-, Betreuungs- oder Supportaktivitäten reibungslos durchführen kann;
  • Bereitstellung von evtl. notwendigen Übersetzungen von Produkten, Dokumentationen oder anderen Ressourcen, welche von Zend benötigt werden, um die jeweiligen Entwicklungs-, Betreuungs- oder Supportaktivitäten reibungslos durchführen zu können;
  • Bereitstellung der Hardware und Systeme, auf denen die Softwareinstallation erfolgen soll

 

4      Termine, Verzug des Kunden
 
4.1       
Zend erbringt die Leistung in einem noch zwischen dem Kunden und Zend zu vereinbarenden Zeitraum.
4.2       
Soweit der Kunde Terminverzögerungen zu vertreten hat, insbesondere indem sie Pflichten gem. Ziffer 3 unterlässt oder nicht fristgerecht erbringt, verschieben sich die vereinbarten Ausführungstermine und müssen zwischen den Parteien einvernehmlich neu festgelegt werden. Die resultierenden Terminverschiebungen führen nicht zum Verzug seitens von Zend. Die dadurch entstehenden Warte-/Ausfallzeiten gehen zu Lasten des Kunden und werden nach Aufwand in Rechnung gestellt. Soweit Zend die von Warte-/Ausfallzeiten betroffenen Mitarbeiter anderweitig einsetzt, reduziert sich der Anspruch auf Vergütung um den anderweitig erzielten Erlös. 


5      Vergütung/Nebenkosten
 
5.1       
Für die Durchführung der aufgeführten Tätigkeiten gehen die Vertragsparteien von einem fest definierten Aufwandsrahmen aus. Die Leistungen von Zend werden mit einem Festpreis vergütet, welcher dem zugehörigen Angebot zu entnehmen ist.
Sollte sich im Laufe des Projektes der Aufwand erhöhen, ist dieser nach Abstimmung mit dem Kunden entsprechend dem festgelegten Tagessatz zu vergüten. 

Sofern nichts anderes ausdrücklich vereinbart wurde, hat der Kunde die vereinbarten Leistungen innerhalb von sechs Monaten nach Bestellung vollständig abzurufen. Im Falle der vollständigen Bezahlung der Vergütung vor dem ersten Leistungsabruf beträgt der Zeitraum zwölf Monate. Soweit der Kunde die vereinbarten Leistungen nicht innerhalb des betreffenden Zeitraums abruft, ist die Vergütung dennoch vollständig zu entrichten. § 615 Satz 2 BGB ist ausgeschlossen.
 
5.2       
Der genannte Gesamtpreis versteht sich zuzüglich Nebenkosten. Nebenkosten werden gesondert in Rechnung gestellt und gemäß nachfolgender Aufstellung abgerechnet:
  • EUR 0,36 je gefahrenen Kilometer bei Fahrten mit dem PKW
  • Einzelnachweise bei Fahrten mit sonstigen Verkehrsmitteln
  • Reisezeit wird mit dem halbem Stundensatz der eingesetzten Personen in Rechnung gestellt
  • Tagesspesen werden gemäß der jeweils gültigen gesetzlichen Regelung berechnet
  • Übernachtungen werden nach Beleg bzw. bis max. EUR 150 je Nacht in Rechnung gestellt. Zu Messezeiten kann dieser Betrag überschritten werden.
5.3       
Zend stellt die Vergütung nach Erbringung der Tätigkeit monatlich in Rechnung.
Nebenkosten werden monatlich in Rechnung gestellt.
5.4       
Zahlungen sind binnen 14 Tagen ab Rechnungsdatum zur Zahlung fällig. Skonto wird nicht gewährt.
5.5       
Alle Preise verstehen sich zuzüglich der zur Zeit der Abnahme gültigen gesetzlichen Umsatzsteuer.
5.6       
Sollten sich zwischenzeitlich (weitere) Realisierungsteile zu Festpreisen ergeben, werden diese getrennt angeboten und gegebenenfalls zeitlich eingeschoben. Entsprechende Auswirkungen auf die definierten Zeiträume, Verträge und Absprachen sind anzupassen.
5.7
Die minimale Ableistung von Remote-Beratungsdienstleistungen pro Tag beträgt 4 Stunden. Sollte der Kunde weniger Stunden anfordern, werden dennoch 4 Stunden in Rechnung gestellt. Für Beratungsdienstleistungen vor Ort beim Kunden beträgt die minimale Ableistung 2 aufeinanderfolgende Werktage. Sollte der Kunde weniger Tage bzw. Stunden anfordern, werden dennoch 2 Tage in Rechnung gestellt. Fest terminierte Einsätze (egal ob remote oder vor Ort), die nicht mindestens 3 Werktage vorher abgesagt und/oder neu terminiert worden sind, werden voll in Rechnung gestellt. 
 

6      Kündigung
 
6.1       
Der Vertrag kann von beiden Seiten mit einer Frist von vier Wochen zum Monatsende gekündigt werden.
6.2       
Die Kündigung bedarf der Schriftform.



7      Schlussbestimmungen
7.1       
Es gelten ergänzend die beigefügten allgemeinen Geschäftsbedingungen für Dienstverträge von Zend. Dieses Dokument, das Angebotsschreiben sowie die allgemeinen Geschäftsbedingungen von Zend enthalten/enthält die vollständige Vereinbarung der Vertragsparteien über den Vertragsgegenstand. Entgegenstehende allgemeine Geschäftsbedingungen oder sonstige abweichende Bedingungen des Kunden werden nicht anerkannt, es sei denn Zend hat diesen im Einzelfall schriftlich zugestimmt.
7.2       
Nach Erbringung der Leistungen darf Zend den Kunden bis auf Widerruf als Referenzkunden angeben.
7.3       
Mündliche Nebenabreden sind nicht getroffen. Zuvor im Rahmen von Vertragsverhandlungen gemachte Aussagen einer der Vertragsparteien sind gegenstandslos, sofern sie nicht in den Vertrag eingeflossen sind.
7.4       
Sämtliche Vertragsänderungen und -ergänzungen bedürfen der Schriftform. Auch die Abänderung dieser Bestimmung bedarf der Schriftform.
7.5       
Sollten Teile dieses Angebotes unwirksam sein oder unwirksam werden, so werden die übrigen Bestimmungen hiervon nicht berührt. Die Vertragsparteien verpflichten sich, die unwirksamen oder nichtigen Teile durch wirtschaftlich gleichwertige, rechtsbeständige Bestimmungen zu ersetzen, die dem mit den unwirksamen Bestimmungen verfolgten wirtschaftlichen Zweck möglichst nahe kommen.
7.6       
Es gilt ausschließlich das Recht der Bundesrepublik Deutschland unter Ausschluss des UN-Übereinkommens über den internationalen Kauf beweglicher Güter.
7.7       
Gerichtsstand für alle im Rahmen der Durchführung des jeweiligen Einzelvertrages entstehenden Streitigkeiten ist beim Landgericht Stuttgart.


Anhang: Formular: Projektabnahme




Kunde    KUNDE
Projekt    Zend SmartStart
Projekt-Manager: Zend
Projekt-Manager: Kunde
Datum der Ausstellung

Dieses Dokument beschreibt den Abschlussstatus der von Zend Technologies GmbH (nachfolgend: Zend) gelieferten Dienstleistungen an KUNDE.

1. Referenzen

„Zeit und Material“ Dienstleistungsvertrag, zu finden unter http://www.zend.com/de/services/consulting/tm-sow inklusive dem zugehörigen Angebot welches auf diesen Dienstleistungsvertrag referenziert.

2. Leistungsgegenstände

Das Ergebnis der gelieferten Beratungsleistungen wurde geprüft und als komplett fertiggestellt im Rahmen des oben genannten beauftragten Angebots befunden.

3. Abnahme

Die Unterzeichnung dieses Dokuments durch den für das Projekt verantwortlichen Projektmanager von KUNDE ist erforderlich. Sollte KUNDE der Auffassung sein, dass relevante Kriterien für die Abnahme nicht gegeben sind, ist eine schriftliche Benachrichtigung innerhalb von fünf (5) Arbeitstagen erforderlich, welche die spezifischen Gründe/Abweichungen enthält. Das Zend-Projektteam wird sich in der Folge mit der Lösung der Probleme befassen.

Nach Erhalt dieses unterzeichneten Dokuments oder innerhalb von fünf (5) Arbeitstagen, in denen keine schriftliche Benachrichtigung erhalten wurde, wird Zend die oben genannten Leistungsgegenstände als von KUNDE abgenommen und beendet betrachten.

Tabelle 1 – Authorisierte Unterzeichner




Titel    Name    Unterschrift    Datum
 
 

Bitte schicken Sie eine unterzeichnete Kopie dieses Dokuments per Fax an die folgende Nummer:

An: Zend Technologies GmbH
Faxnummer: +49-711-67447255
Zu Händen: Axel Schinke


Anhang: 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

Anhang: 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 Server 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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Anhang: 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