Skripte

Unter Skripten werden in der IT Programme verstanden, mit der in der Regel Aufgaben linear abgearbeitet werden können. Skripte werden zwar auch in einer definierten Programmiersprache verfasst, in der Regel fehlen ihnen aber viele der üblichen Merkmale für eine Softwareentwicklung. So sind Skripte oft nicht modularisiert aufgebaut und kommen oft auch ohne Funktionen aus, wenn auch nicht immer. Von Skripten wird üblicherweise bei den folgenden Sprachen gesprochen, die daher auch Skript-Sprachen genannt werden.

  • Shell Skripte (UNIX und Linux Kommandos)
  • SQL (Datenbankabfragen)
  • HTML (Seitenbeschreibungssprache)
  • Perl, Python, PHP

Die letzten Sprachen sind zwar vollständige Programmiersprachen, lassen sich aber auch hervorragend zur Lösung kleiner Aufgaben nutzen.

VisualCron

VisualCron ist eine Automatisierungssoftware für Windows Server. Sie zeichnet sich durch eine besonders intuitive Bedienoberfläche aus. Aus VisualCron heraus können verschiedene Aufgaben automatisiert angestoßen werden. Grundsätzlich kann VisualCron Aufgaben zeitbasiert oder triggerbasiert anstoßen. Weiterhin können viele Abhängigkeiten und Bedingungen definiert werden, die einen Jobablauf steuern. So ließe sich beispielsweise jeden Tag eine SQL Abfrage zu einer definierten Uhrzeit anstoßen. Diese kann aber bedingt nur ausgeführt werden, wenn vorher ein bestimmtes Shell Skript auf einem Server gelaufen ist und einen Rückgabewert von 0 geliefert hat.

Besonders hilfreich bei VisualCron ist die Arbeit mit Variablen. In die Jobabläufe lassen sich verschiedene Variablen einbauen, die zum Beispiel mit den Rückgabewerten oder dem Verarbeitungsstatus eines Jobs gefüllt sind. Auch Berechnungen von Datumswerten sind in VisualCron sehr umfangreich enthalten.

Das Scheduling Tool kennt viele verschiedene Aufgaben Typen die wenig Wünsche offen lassen. Neben der Ausführung von Windows Shell Skripten lassen sich über SSH auch Skripte auf Unix-basierten Umgebungen anstoßen. Sogar Host Umgebungen können angesteuert werden. Verbindungen zu SQL Datenbanken sind über ODBC oder OLEDB herzustellen. Zum MS-SQL Server besteht eine native Verbindung.

Neben der übersichtlichen Bedienbarkeit ist vor allem der Support lobend zu erwähnen. Das Team von VisualCron sitzt in Schweden und ist wirklich schnell wenn es darum geht, offene Fragen zu klären.

SEO Strategie für ein städtisches Veranstaltungsunternehmen

Die Stadt Rosenheim unterhält mit dem VKR eine GmbH zum Betrieb der Veranstaltungszentren „Kuko“ und „Lokschuppen“. Trotz der hohen Bekanntheit dieser Veranstaltungsorte waren die Besucherzahlen auf den Webseiten nicht zufriedenstellend.

Um langfristig den gewünschten Traffic aufzubauen und auch zukünftigen Herausforderungen der Online Nutzung gerecht zu werden soll eine SEO Strategie für die Webseiten erarbeitet werden.

Der einfachste Schritt war der erste: die OnPage Optimierung. Mit Hilfe des Tools Sistrix und den Google Webmaster Tools ließen sich schnell viele Schwachstellen auf den Seiten feststellen. Diese konnten durch entsprechende Maßnahmen auch bald eingedämmt werden. Die einzige Schwierigkeit dabei zeigt ein häufiges Problem im SEO Bereich auf: um die OnPage Optimierungsmaßnahmen sauber durchführen zu können, musste die vorhandene Version des CMS Systems auf die aktuelle Version gehoben werden. Dies wurde länger vernachlässigt, da mit dem Dienstleister für den Webseiten Aufbau keine Vereinbarung zur technischen Pflege gab und im Haus zu wenig technisches Know How gab um die Konsequenzen richtig einschätzen zu können.

Die eigentliche Herausforderung bestand darin, eine langfristige Strategie zur Optimierung zu entwickeln, die nicht nur den Content der Webseiten berücksichtigte. Vielmehr mussten auch die finanziellen und personellen Möglichkeiten des Hauses mit berücksichtigt werden. Zudem lässt sich eine Strategie nicht planen, wenn nicht auch die technischen Rahmenbedingungen in die Planung einbezogen werden.

Architektur

In der IT wird unter einer Architektur der Aufbau und die Beziehung der verschiedenen Komponenten untereinander verstanden. IT-Landschaften werden heute in der Regel schnell komplexer und bedürfen daher genauer Planung. Selbst ein kleiner Privathaushalt  wartet heute oftmals schon mit einer kleinen Architektur auf: es gibt einen Router, in der Regel mehrere Laptops, die mit diesem verbunden sind, nicht selten auch einen zentralen Netzwerkdrucker und einen zentral nutzbaren Speicher wie eine NAS Festplatte.

ein einfaches privates Netzwerk in dem mehrere Rechner zusammengeschlossen sind

 

Bereits in einem kleinen privaten Netzwerk gilt es zu überlegen, welche Komponenten Bestandteil des Netzwerkes sind, wie die Komponenten geschützt werden, welche Zugriffe erlaubt sind und welche Austauschmöglichkeiten erlaubt werden sollen. So ist eine Firewall (heute in der Regel Bestandteil jedes Routers) entsprechend einzuplanen, vielleicht kommen schon Multimediakomponenten wie ein Smart TV hinzu und vieles mehr.

Um so komplexer ist die Planung einer Architektur in einem Unternehmen oder einem Konzern. In einem Unternehmen werden funktionelle Bestandteile heute nur noch über eine IT Infrastruktur abgebildet. Diese müssen mit anderen Komponenten in Beziehung treten (z. B. ein Warenwirtschaftssystem mit einem Online Shop oder einem Mailserver). All diese Beziehungen und Schnittstellen müssen innerhalb einer Architekturplanung sorgfältig geplant und ausgewogen werden. Daher ist diese Aufgabe sinnvoll bei einem IT-Architekten aufgehoben, der viel Erfahrung mit verschiedenen Soft- und Hardwarekomponenten kennt und die möglichen Probleme im Zusammenspiel einschätzen kann. Ziel einer Architektur ist es, der IT eine möglichst genaue Vorstellung davon zu geben, welche Komponenten aufzubauen sind, wie diese zu Konfigurieren sind und welche Schnittstellen benötigt werden. Eine Architekturplanung kommt daher nie ohne ein ausführliches Dokument aus, in dem die einzelnen Komponenten mit ihren jeweiligen Anforderungen innerhalb der Gesamtarchitektur beschrieben werden.

Server

Ein Server ist ein Computer der auf die Erfüllung besonderer Aufgaben ausgelegt ist. Oft versteht man unter einem Server aber auch eine Software, die spezielle Aufgaben erledigt. Wie der Name schon andeutet geht es bei diesen speziellen Aufgaben immer darum, etwas zu „servieren“, also anzubieten.

Wenn im Kontext von Hardware über einen Server gesprochen wir, ist damit eine bestimmte Architektur gemeint. Vereinfacht gesagt wird der Begriff auch verwendet, um eine Architektur von einem Host System oder einem PC abzugrenzen. Grundsätzlich ist ein Server nicht auf ein bestimmtes Betriebssystem angewiesen, in komplexeren IT-Landschaften verbindet man den Serverbegriff in der Regel allerdings mit UNIX-basierten Architekturen. Die Serverhardware ist zudem auf den dauerhaften Betrieb ausgelegt. Anders als in einem PC sind spezielle Festplatten (Serielle SCSI statt SATA), ausgereifte Sicherungssysteme und mehrere Rechenkerne typisch. Server werden heute vernetzt betrieben und beherbergen in der Regel virtuelle Umgebungen.

Scheduling Software

Unter einer Scheduling Software (Automatisierungssoftware) wird ein Programm verstanden, mit dem mehrere Programme in Abhängigkeit voneinander automatisiert gesteuert werden. So ein Programm wird auf Servern benötigt. Da eine Automatisierung den manuellen Eingriff in eine Programmausführung überflüssig machen soll, laufen Scheduler in der Regel auf durchgehend erreichbaren Servern.

Eine Automatisierungssoftware stößt Programme auf einem oder mehreren Servern an und regelt die darauf basierenden Abläufe. Die Software steuert die Reaktion auf verschiedene Vorkommnisse. So können Automatisierungsprogramme auf unvorhergesehene Abbrüche von Programmabläufen reagieren oder Nachrichten versenden, wenn bestimmte Abläufe korrekt oder nicht korrekt abgelaufen sind. Zudem lässt sich mit einer Scheduling Software erkennen, wo genau in einer Jobverarbeitung ein Fehler aufgetreten ist. Im Vergleich zu einem einfachen Unix Crontab können Programmketten in einer Automatisierungssoftware nicht nur zeit- sondern auch bedingungsabhängig ausgelöst werden. Zudem können Bedingungen und Aktionen im Gesamtablauf eingebaut werden. Nicht zuletzt liefern solche Werkzeuge auch ein Monitoring, um Probleme in Programmabläufen zu erkennen. Bekannte Vertreter sind:

  • UC4 Automic
  • Control^M
  • Tivoli

Eine ausführliche Übersicht über Scheduling Programme liefert Wikipedia.

Migrationen

Als Migrationen werden in der IT Vorhaben bezeichnet, bei denen größere Veränderungen notwendig sind. Dies kann die Hardware, die Software oder auch die Prozesse eines Unternehmens betreffen. Beispiele für Migrationen sind

Umstellung einer Host-basierten Infrastruktur auf eine serverbasierte Infrastruktur

Upgrade einer Software von einer veralteten Version auf eine aktuelle Version

Einführung neuer Organisationsprozesse, in der Regel verbunden mit der Einführung neuer Software.

Migrationen können kleine Projekte umfassen, die in wenigen Tagen von einer Person erledigt werden oder auch umfassende Projekte die von einem größeren Team in mehreren Monaten gestemmt werden. Das Vorgehen ist dabei im Grundsatz immer ähnlich:

  1. Auswahlprozess des Zielzustandes (z.B. die einzuführende Soft- oder Hardware)
  2. Planung des Vorgehens
  3. ggf. Teststellung oder PoC
  4. Analyse des bestehenden Zustandes
  5. Umsetzung
  6. Test
  7. Coaching/Schulung der Nutzer

 

Migration eines Schedulings für einen Online Händler

Summary:

Thema: Migration eines Schedulings

Herausforderung: Ablösung der historisch gewachsenen Lösung ohne Know-How Träger

Vorgehen: Evaluation alternativer Lösungen, Analyse des bestehenden Systems, Migrationskonzept, Big Bang

Dauer: ca. 20 Personentage

Eingesetzte Tools: VisualCron, Teradata, Shell Skripte

Eine klassische Ausgangssituation für eine notwendige Migration: ein engagierter Mitarbeiter verlässt das Unternehmen und nimmt das Know-How für eine Kernsoftware mit. So geschehen bei unserem Kunden, einem großen Online Händler. Dabei geht es um eine umfangreiche Software zur Steuerung von Programmabläufen (Automatisierung) auf Unix Servern. Nicht UC4 (inzwischen: Automic) oder Control^M haben hier den Ablauf bestimmt, eine eigens entwickelte Skriptsprache steuert eine Sammlung von SQL Abfragen und Shell Skripten. Die Oberfläche liefert MS-ACCESS. Wohin migriert man so eine Spezialanfertigung? „Migration eines Schedulings für einen Online Händler“ weiterlesen