Aufrufe
vor 3 Jahren

01 | 2013 NEWS

  • Text
  • Risikovorsorge
  • Banken
  • News
  • Service
  • Experten
  • Performance
  • Risiken
  • Ziele
  • Sicherheit
  • Security
  • Banking
  • Technologie
  • Anforderungen
  • Ermittlung
  • Institute
  • Kapitalmarktfloater
  • Unternehmenssteuerung
  • Laufzeit
  • Bewertung
  • Produkte
Ein Balanceakt

u Business u

u Business u Informationstechnologie Gleiches gilt auch für automatisierte Unit- und Integrationstests: Je feingranularer und je öfter getestet wird, umso schneller werden Probleme gefunden und können behoben werden. Und je früher Fehler behoben werden, desto weniger aufwendig ist die Korrektur in der Regel. Um sicherzustellen, dass einmal gefundene Fehler auch tatsächlich behoben sind, müssen für jeden Fehler Regressionstests ausgeführt werden – über die Lebenszeit einer Applikation entsteht dadurch hoher Testaufwand für jedes Release. In der Praxis führt das dazu, dass manuelle Tests oft nur unzureichend ausgeführt werden, was wiederum das Auftreten von Fehlern in der Produktion nach sich ziehen kann. Also müssen auch Tests so weit wie möglich automatisiert werden. Hierfür steht eine ganze Reihe von Werkzeugen und Methoden zur Verfügung, die im nächsten Abschnitt beschrieben werden. Der Schlüsselfaktor auf dem Weg zu hoher und qualitativ hochwertiger Testabdeckung ist, dass die Tests nicht erst im Nachgang entwickelt werden, sondern parallel mit den jeweiligen Komponenten. Ein weiterer positiver Nebeneffekt der Automatisierung von Build und Deployment ist, dass der Zeitaufwand für Releases deutlich abnimmt und dadurch häufigere Releases – sei es nur auf Test- oder Integrationsumgebung – möglich werden. Durch eine frühzeitige Bereitstellung von teilweise fertiggestellten Testversionen („Inkrementen“, also einzelnen aufeinander aufbauenden Bestandteilen) können in der Designphase gemachte Annahmen zeitnah direkt am System verifiziert werden. Auch für die Definition neuer Anforderungen kann das bestehende System als Hilfsmittel herangezogen werden. Die Definition neuer Geschäftsprozesse bzw. deren Abbildung in der Applikation fällt so deutlich leichter als auf einer rein abstrakten und rationalen Ebene. Das Experimentieren an einer bestehenden Anwendung ist eine gute Unterstützung, um einheitliche und für den Endnutzer intuitive Prozesse umzusetzen. Voraussetzung dafür ist, dass die Geschäftsprozesse / User Stories jeweils vertikal umgesetzt werden. Das bedeutet, dass zum Start des Projektes ein Durchstich durch die Gesamtarchitektur implementiert und – zumindest auf Versionskontrolle Publikation der Build-Artefakte Component Repository Check-In Automatischer Build bei jedem Check-In Continuous Integration System Maven, Ant, sh, ... Automatisierte Installation Code Analyse Entwicklungsumgebung / Plug-Ins Entwicklung, statische Code Analyse, Unit Tests Regelmäßig eingeplante Builds Testumgebung Abbildung 1: msgGillardon-Entwicklungsplattform im Überblick 54 I NEWS 01/2013

Business t Informationstechnologie t eine Testumgebung – ausgerollt wird. Zu jedem Release wird dann ein Teil der Anwendung vollständig fertiggestellt und kann getestet und validiert werden. So muss nicht abgewartet werden, bis die Applikation in ihrer Gesamtheit fertiggestellt ist; konkretes Feedback wird zu jedem Inkrement abgegeben. Fehlentwicklungen werden so frühzeitig erkannt und können korrigiert werden. Man spricht in diesem Zusammenhang von inkrementeller oder iterativer Entwicklung. Während die Herausforderungen und Aufgaben in einer Vielzahl von Projekten sich auf konzeptioneller Ebene gleichen, so unterscheiden sich die konkreten Anforderungen je nach Projekttyp, -technologie und -größe. Zudem müssen selbstverständlich spezielle Kundenrichtlinien eingehalten werden. Um die jeweiligen Aufgaben flexibel abbilden zu können, setzt msgGillardon nicht auf eine One-size-fits-all-Application-Lifecyle-Management-Lösung, sondern auf eine modular aufgebaute Plattform. Bei der Auswahl der einzelnen Komponenten wird primär auf etablierte Open-Source-Produkte mit aktiver Community gesetzt. Der größte Teil der eingesetzten Werkzeuge hat sich seit Jahren als De-facto-Standard bewährt. Im Folgenden betrachten wir eine Auswahl dieser Werkzeuge im Rahmen eines typischen Java- / JEE-Entwicklungsprojektes. Als Versionskontrollsystem verwendet msgGillardon Subversion oder Mercurial. Mercurial bietet als verteiltes Versionskontrollsystem einige Vorteile gegenüber Subversion, weshalb bei neuen Projekten primär auf dieses System gesetzt wird. Neben der höheren Geschwindigkeit sind auch das Erstellen und Zusammenführen einzelner Entwicklungszweige deutlich einfacher, sicherer und schneller zu realisieren als mit Subversion. Zudem ist es mit verteilten Versionskontrollsystemen einfach möglich, offline zu arbeiten, ohne darauf zu verzichten, den Entwicklungsstand regelmäßig einzuchecken und somit eine lückenlose Historie des Source Codes zu bewahren. Bibliotheken von Drittanbietern sowie aus dem Projekt erzeugte Artefakte werden im Component Repository abgelegt. Darin werden alle Abhängigkeiten zu weiteren Komponenten an einer zentralen Stelle aufgelöst. Bei msgGillardon ist hier Nexus im Einsatz. Sollten Sie mit IT-Projekten oder insbesondere mit agiler Softwareentwicklung vertraut sein, so werden Sie den vorangegangenen Abschnitt mit beiläufigem Nicken oder „verhaltenem Gähnen“ gelesen haben – so weit, so plakativ. Wie sieht es aber mit konkreten Werkzeugen für die Praxis aus? Unser Werkzeugkasten Für die Automatisierung des Build-Prozesses kommt Apache Maven oder Gradle zum Einsatz. Während Maven eine standardisierte Projektstruktur und einen festen Build-Lebenszyklus – das Project Object Model und den Maven Build Lifecycle – bereitstellt, setzt Gradle auf höhere Flexibilität. Für typische Java- / JEE-Web- oder Desktop-Anwendungen ist Maven seit vielen Jahren etabliert und bildet die Anforderungen entsprechender Projekte hervorragend ab. Gradle nimmt viele Konventionen von Maven als Default auf, bietet aber mehr Freiheit in der Automatisierung beliebiger Tasks und ermöglicht kompaktere und ausdrucksstärkere Build-Skripte, was neuen Projektmitgliedern den Einstieg erleichtern kann. Auf welches der Systeme die Entscheidung auch fällt: Der resultierende Build-Prozess kann auf lokalen Entwicklungsmaschinen und auf der Continuous-Integration-Umgebung ausgeführt werden und erledigt folgende Aufgaben automatisch: > > Vorbereitung der Build-Umgebung, z. B. Entfernen alter Daten > > Auschecken des aktuellsten Source Codes aus dem Versionskontrollsystem > > Auflösen der benötigten Bibliotheken / Projektabhängigkeiten > > Kompilieren der Quellen > > Ausführung der automatisierten Testfälle > > Erstellen der Installationspakete > > Analyse des Source Codes anhand bestimmter Qualitätsmetriken und Richtlinien > > Gegebenenfalls automatisierte Installation auf dem Testsystem > > Gegebenenfalls automatisierte Erstellung von Dokumentation wie API Dokumentation und Release Notes > > Ablage der erzeugten Artefakte im Component Repository NEWS 01/2013 I 55

msg

01 | 2018 public
02 | 2017 public
01 | 2017 public
02 | 2016 public
01 | 2016 public
02 | 2015 public
01 | 2015 public
01 | 2014 public
01 | 2014 msg systems study
01 | 2015 msg systems Studienband
Future Utility 2030
Lünendonk® Trendstudie
Digitale Transformation | DE
Digital Transformation | EN
DE | inscom 2014 Report
EN | inscom 2014 Report

msgGillardon

02 | 2018 NEWS
03 | 2016 NEWS
02 | 2016 NEWS
01 | 2016 NEWS
03 | 2015 NEWS
02 | 2015 NEWS
01 | 2015 NEWS
02 | 2014 NEWS
01 | 2014 NEWS
02 | 2013 NEWS
01 | 2012 NEWS
02 | 2011 NEWS
01 | 2010 NEWS
MaRisk
01 | 2017 banking insight
01 | 2015 banking insight
01 | 2014 banking insight
01 | 2013 banking insight
01 | 2012 banking insight
02 | 2011 banking insight
01 | 2011 banking insight
01 | 2010 banking insight
2018 | Seminarkatalog | Finanzen

Über msg



msg ist eine unabhängige, international agierende Unternehmensgruppe mit weltweit mehr als 6.000 Mitarbeitern. Sie bietet ein ganzheitliches Leistungsspektrum aus einfallsreicher strategischer Beratung und intelligenten, nachhaltig wertschöpfenden IT-Lösungen für die Branchen Automotive, Banking, Food, Insurance, Life Science & Healthcare, Public Sector, Telecommunications, Travel & Logistics sowie Utilities und hat in über 35 Jahren einen ausgezeichneten Ruf als Branchenspezialist erworben.

Die Bandbreite unterschiedlicher Branchen- und Themenschwerpunkte decken im Unternehmensverbund eigenständige Gesellschaften ab: Dabei bildet die msg systems ag den zentralen Kern der Unternehmensgruppe und arbeitet mit den Gesellschaften fachlich und organisatorisch eng zusammen. So werden die Kompetenzen, Erfahrungen und das Know-how aller Mitglieder zu einem ganzheitlichen Lösungsportfolio mit messbarem Mehrwert für die Kunden gebündelt. msg nimmt im Ranking der IT-Beratungs- und Systemintegrationsunternehmen in Deutschland Platz 7 ein.


© 2018 by msg systems ag - powered by yumpu Datenschutz | Impressum