In den ersten beiden Teilen (1, 2) wurde das Deployment weitgehend automatisiert. Es wurde ein Archiv erstellt, auf einen Server hochgeladen und dort wieder mit Phing verarbeitet. Gibt es keinen Grund für eine solche prozessbedingte Aufteilung, kann man das weiter automatisieren.
Nachdem im ersten Teil beschrieben wurde wie man ein Archiv für das Deployment erstellt, wird hier gezeigt wie man dieses auf dem Zielsystem weiterverarbeiten kann. Da die meisten Server unter Linux laufen, wird eine Kombination aus Shell-Script und Phing genutzt
Oft möchte man für das Deployment bestimmte Dateien oder Verzeichnisse ausschließen, weil diese umgebungsspezifisch sind. Das jedes Mal per Hand zu machen ist sehr fehleranfällig. Dafür verwendet man hierfür Buildtools. Phing ist im PHP-Bereich recht verbreitet.
Jira und Confluence sind für mich die besten Tools im Bereich Projektverfolgung bzw. Kolaborationssoftware für Teams. Für die Installation stehen bequeme Installer bereit. Weiterhin ist die Software gut vorbereitet für den Einsatz im eigenen Netzwerk.
Textbasierte Backups eignen sich für Datenbanken, die nicht sehr groß sind. Nicht besonders groß ist relativ. Hängt sehr von der Hardware ab. Mit entsprechender Hardware sind auch Datenbanken mit einigen hundert MB kein Problem. Die Backups kann man mit vergleichsweise einfachen Mitteln automatisieren.
Die JPA (Java Persistence API) ist eine Spezifikation aus dem Java Enterprise Bereich. Wie der Name schon sagt geht es um eine Schnittstelle für die Speicherung von Daten mit Java. Die Spezifikation wird von verschiedenen Anbietern implementiert. Die bekanntesten sind Hibernate und EclipseLink.
Joomla! ist eines der am weitesten verbreiteten Content Management Systeme überhaupt. Auch wenn in großen Unternehmen hierzulande kaum verwendet, hat es doch seine Berechtigung vor allem für kleine und mittlere Webseiten.
RogueWave Software, der neue Eigentümer von Zend, hat die Entwicklung des Zend Frameworks an die Linux-Foundation abgegeben. Das Projekt wird dort weitergeführt unter dem Namen Laminas.
Nachdem ein generischer Datenlayer steht geht es nun an die Abfragen. Ein wichtiger Punkt ist die Sortierung und die Paginierung von Ergebnissen. Die kann man ebenfalls sehr weit schematisieren was zu weniger Fehlern führt und die Entwicklungszeit verringert.
In einem Spring-Boot 2 Projekt wird Hibernate eingebunden, sobald man den JPA-Starter als Dependency definiert. Hibernate implementiert die JPA-Spezifikation. Somit können alle JPA Features, insbesondere die Annotationen verwendet werden.