Archiv für den Monat: November 2008

$foo – das Perl Magazin

Titelblatt der aktuellen Ausgabe

Die technische Informatik unterliegt einem ständigen Prozess der Veränderung und Fortentwicklung. Dieser Prozess erfasst selbstverständlich auch das Software-Engineering, das in den vergangenen Jahren tiefgreifende, ja fundamentale Veränderungen erfahren hat. Während in den 80er Jahren Programme meist kommerziell entwickelt und vertrieben wurden, führten die 90er Jahre eine neue Philosophie ein, die es zuvor schon gab, die sich aber erst jetzt, dank einiger wichtiger Impulse entwickeln und ausformen konnte. Es ist die Philosophie der freien Software, die für alle Menschen frei zugänglich ist. Frei heisst dabei nicht in erster Linie kostenlos, sondern frei im Sinne der Nutzung. Dem Anwender bleibt die Freiheit unbenommen, die Software anzuwenden, den Quelltext einzusehen und die Software selbst zu verändern und zu verwerten. Rund um die Entstehung und Weiterentwicklung eines Programmes bildet sich eine «Community», eine Gruppen von Menschen also, die sich an der Programmierung und Fehlersuche, der Dokumentation und der Portierung auf andere Plattformen, sowie dem Support beteiligt. Auch diese Community ist selbstverständlich offen; jeder der will, kann mitmachen!

Aber welche Impulse waren es, die den Nährboden bildeten, auf dem freie Software innerhalb weniger Jahre gedeihen, wachsen und blühen konnte. Gewiss spielt die weltweite Vernetzung eine bedeutende, wenn nicht zentrale Rolle in diesem Prozess, denn die Kommunikation spielt in einer Community eine essentielle Rolle, da die Mitglieder in aller Regel über den ganzen Globus verteilt sind. Ein anderer, kaum weniger wichtiger Impuls kam aus der Entwicklung freier Betriebssysteme, allen voran Linux und FreeBSD. Dies sind Projekte die nicht nur sehr umfangreich sind, sondern auch Sogwirkung haben: Software von anderen Betriebssystemen will portiert und den Gegebenheiten des neuen «OS» angepasst werden.

Das Perl Maskottchen von O’Reilly

Es ist sicher nicht falsch, wenn ich nun behaupte, dass auch Programmiersprachen bedeutende Impulse und Anregungen für die Community geliefert haben. Für nahezu alle Programmiersprachen gibt es OpenSource Projekte. Ja viele existieren überhaupt nur als freie Sofware, haben also keine zweckgebundene (kommerzielle) Vergangenheit und entstanden aus dem Wunsch heraus, einen neuen Formalismus zu entwerfen, der mit den Schwächen älterer Programmiersprachen nicht mehr behaftet ist. So enstanden Python, PHP, Ruby und …Perl!

Larry Wall entwarf Perl als eine Synthese aus UNIX Tools und C, zum Manipulieren von Text- und Logdateien. Und wie es so oft geschieht: was im Kleinen beginnt, wächst innerhalb weniger Jahre zu einem Giganten heran. Genau dies geschah mit Perl, das heute zu einer der beliebtesten Programmiersprachen gehört. Nicht nur im Web- und Scriptingbereich. Aber wie konnte es zu diesem kometenhaften Aufstieg kommen? Wie bei der freien Software muss es bedeutende Impulse gegeben haben, welche Perl die Schubkraft zu diesem fantastischen Erfolg verliehen. Gewiss, Perl hatte sehr früh das nötige Rüstzeug: eine offene Architektur, Flexibilität und ein modulares Konzept, vermöge dessen die Sprache erweitert werden kann. Hier ein kurzes Exempel: Perl kennt im Kern keine Funktionen für den Zugriff auf Datenbanken. Also wurde ein Modulsystem entwickelt, das es einem Perlprogramm ermöglicht, transparent auf eine Vielzahl unterschiedlicher Datenbanken zuzugreifen.
Eine ebenso wichtige Rolle bildete aber auch die Bewegung der freien Software. Freie Software begünstigte den Erfolg von Perl. Perl wurde ein bedeutender Vertreter freier Sotware und fördert nun seinerseits die Idee freier Software.

Nimmt man Perl, das auf CPAN.org verfügbare Modulangebot und die Myriade der Hilfsprogramme zusammen, entsteht ein System, das so gut wie alles kann! Ein so grosser Funktionsumfang hat aber auch seinen Preis. Es kann schnell komplex werden und …wird es oft auch! Gewiss, Perl und die verfügbaren Module sind gut dokumentiert, der Hilfesuchende findet im Internet Berichte, Bücher und Foren, die eigentlich jede Frage beantworten (der Verfasser wurde stets fündig). Aber es wäre auch eine erfreuliche Erleichterung, wenn es Periodika gäbe, die regelmässig über Programmierbeispiele, über aktuelle Probleme, neue Produkte und ganz allgemein über Trends in der Community informieren. Oder anders formuliert: ein Magazin, das dem Perlprogrammierer die Information fixfertig auf dem Silbertablett serviert, garniert mit Berichten über wichtige Projekte, Symposien und Aktivitäten in der weiten Welt.

Nicht zuwarten, selbermachen: Renée Bäcker

Nun, so ein Magazin gibt es seit knapp zwei Jahren, es nennt sich – wohl als Anspielung auf Perl Variablennamen – «$foo». Schöpfer und Herausgeber des Magazins ist Renée Bäcker aus Riedstadt. Renée ist selbst ein absolut begeisterter Perl-Programmierer, wie er selbst sagt und ein Mann, der gerne die Initiative ergreift und etwas Neues erschafft: so hat Renée mit Kollegen ein eigenes Unternehmen gegründet und ist ständig auf der Suche nach neuen Projekten. Und als er auf der Suche nach einem informativen Perl-Magazin war und nichts fand, das seinen Ansprüchen genügte, beschloss er, die Sache selbst in die Hand zu nehmen. Seit dem Frühjahr 2007 verlegt Renée Bäcker ein eigenes Perl-Magazin, das sich sehen lassen kann.

Wer $foo gerne gedruckt zuhause im Lehnsessel lesen möchte, der kann das viermal pro Jahr erscheinende Magazin als Print-Version abonnieren und erhält zugleich Zugang zum Abobereich, wo er alle Ausgaben auch als PDF herunterladen kann. Wer das Online-Abo bestellt, bezahlt etwas weniger, muss sich aber mit der PDF-Version begnügen.

Wer $foo das erste Mal in Händen hält, wird überrascht sein, denn auf mehr als 60 Seiten (Ausgabe Winter 2008) bekommt der Leser eine geballte Menge an Informationen geboten. Das in ein schönes Layout gefasste Angebot umspannt einen weiten Bogen: Programmierbeispiele, Praxisberichte, Moduleinführungen, Tips & Tricks und einiges mehr. Ermöglicht wird diese Vielfalt durch ein Autorenteam, zu dem fünf Mitglieder gehören. Werfen wir kurz einen Blick in die aktuelle Ausgabe, um einige Themen herauszugreifen.

Perl Schatztruhe – Gemäss $foo gibt es auf der Perl Modulbibliothek CPAN.org mehr als 50.000 Module – und jeden Tag würden es mehr. Was tut man aber, wenn von einem Modul dringend die aktuelle Version benötigt wird und der Zugriff auf CPAN nicht möglich ist? Antwort von Renée Bäcker: Indem man CPAN::Mini verwendet, einem Tool, das oft verwendete Perl Module lokal speichert und aktuell hält.

Logging für Perl-Programme – In einem weiteren Artikel gibt der zuvor genannte Verfasser eine detaillierte und gut verständliche Einführung in Log4Perl, einem Modul, der Programmlogs erstellt. Was im ersten Moment nicht sehr aufregend klingt, erweist sich bei näherer Betrachtung als essentiell wichtig. Denn: bei der Fehlersuche ist nichts so wichtig wie die Meldungen, die ein Programm während der Ausführung erzeugt.

SQL Statements abstrakt erzeugen – Die meisten Datenbanken werden heute mit SQL Kommandos gesteuert. Wie geht man nun aber vor, wenn aus Gründen der Portabilität SQL Kommandos wie “SELECT * FROM table WHERE…” nicht «hardcodiert» werden sollen. Antwort: Indem SQL::Abstract verwendet wird. Dieser Modul gestattet es, Abfragen abstrakt zu formulieren. So werden in einer Variablenstruktur die zu durchsuchenden Tabellen und Spaltennamen angegeben, ergänzt durch einen Hash, der die Suchkriterien bestimmt. SQL::Abstract erzeugt daraus ein fertiges SQL Kommando, das nur noch an den Server gesendet werden muss.

Perl Tutorial – Herbert Breunung hat für $foo ein reichhaltiges und leicht verständliches Tutorial verfasst. In der aktuellen Ausgabe erscheint Teil 5 dieses Tutorials mit Captures und Subroutinen.

Die unendlichen Tiefen von $_ – Perl ist ein wahrer Meister, wenn es um’s Abkürzen geht. Das gefällt nicht allen! Bei Perl ist es in gewissen Situationen sogar möglich, den Namen einer Variablen ganz wegzulassen. Etwa in einer while-Struktur beim Lesen aus einer Datei. Als Platzhalter wird hier eine Variable mit dem kryptischen Namen $_ verwendet. $foo erläutert, wie mit dieser Variablen umgegangen werden sollte und weist auf Gefahren, aber auch auf Vorteile von $_ hin.

Für wen ist $foo? Das Magazin deckt ein breites Spektrum ab, es geht in die Tiefe der Technik, bietet also auch einem erfahrenen Programmierer etwas. Auf der anderen Seite finden auch Einsteiger viel Wissenswertes und eine Einführung in diese Programmiersprache, von der auch der Autors dieses Berichtes fasziniert ist. Ich arbeite seit 15 Jahren mit Perl und habe in der aktuellen Ausgabe von $foo eine spannende und anregende Lektüre gefunden.

Abschliessend noch ein Wort zum Theme Community. Auch $foo leistet seinen Teil. Das Magazin steht auch Dritten offen und nimmt Artikel gerne entgegen. Es wäre schön, wenn sich Autoren finden würden, die zu verschiedenen Aspekten rund um Perl etwas beitragen. Die $foo Verleger freuen sich auf jede Anfrage.

Mail us Rüderswil

I zwe Tage isch ja scho der erscht Advänt. D Wiehnachtszyt isch da. Drum hei mir hüt i der Chile d’Chrippefigure ufgstellt. Im erschte Momänt tönt das nid schwirig u me chönt meine, das sig gletig dänne ta. Aber oha, so isch es de doch nid. Bis jedi Figur der richtig Platz het, bis si o läbig würkt u zäme mit de andere Mitglieder um d’Chrippe ume e Gschicht erzellt, vergeit mängi Stunde, me merkt nie,wie. U de wott de no alles schön dekoriert, büschelete u belüchtet si. So vergeit e ganze Namittag wie im Schwick. Aber es isch e schöni Arbeit gsi u mir hei vil Fröid gha, wo mir vor üsem fertige Wärch gstande si u hei chönne säge: «Wohl, es isch üs glunge!»

Uf em Helgeli gseht Dir ganz rächts der Josef, är isch no am wärche, überchunt de no es Wärchzüg und e Wedelebock vordra. Links näbedra isch, wie Dir’s gwüss scho errate heit, d’Maria. Betreut wird si das Jahr o vo der Elisabeth, der Frou vom Zacharias. Fähle tuet itz no d’Chrippe, die chunt de erscht an heilige Abe derzue.

U zum Schluss, für all die, wo ds’Föteli gfaue het git es hie no es paar witeri.

Mis Ämmitau

E nöie Morge isch erwacht, ds erschte Liecht vom Morge het fründlich u heiter dür mis Pfäischter glüchtet. Wie isch es doch o cho, wie het’s es gä, dass mir jede Tag es grosses Gschänk am Läbeshimmel steit wie e glänzende Stärn? Isch es gar e schöne Troum? O du liebe, guete Troum, blib ume da, blib bi mir, träg mi mit dir furt i das Land wo Du mir zeigt hesch. Aber nei, es isch e ke Troum, i luege dür ds Pfäischter, gseh Höger, gseh grüeni Matte u dunkli Wälder, gseh Bärge im Sunneliecht, gseh der Firneschnee lüchte hinter all der Pracht. I gseh mis liebe Ämmitau.

E Amsle singt im Lindeboum
Es Lied so schön wie-n-e Troum
Schön wie-n-e altvertroute Reim
Singt Es lied vo mim liebe Deheim

Ds Liecht vom Tag lüchtet häll, so wie-n-e zfridni Seel voller Fröid. U wenn de d’Wulche vo de Alpe här über die grüene Matte wandere, wenn der wiss Näbel us de Schäche u Grebe ufstigt, e fiini, silbrigi Dechi sich über d’Chnuble u Flüeh leit und die erschte Abestunde wei cho, de verwandlet sich mi liebi Heimat i-n-e Wält voller Wunder u Gheimnis. D’Sunne sänkt sich uf ihrer Bahn, Grebe u Bärge begleite ds grosse Läbesfüür wenn es sis Tageswärch vollbracht het und fiischter wird es vor de Ouge. Aber jetz lueg i zum Himmel u gseh die hälli Mondschibe, gseh ds unändliche Stärnemeer lüchte. Lüchte u glitzere über mim liebe Ämmitau.

Lueg im Februar

Ämmitau im Winter

E alti Linde steit da z’mitz im Dorf
U weiss wäger gar mängs z’brichte
Vom Läbe uf de Bärge und im Hof
vo Leid u Fröid, vo vile alte Gschichte

So isch es Nacht worde u wider Tag. Und wo d’Aabe lenger worde si, der Wind die letschte Bletter vo de Böim dervo treit het u der Winter mit sim chalte Szepter sis Rächt het welle ha, si die erschte Schneeflöckli vom Himmel abe uf die chüehli Ärde gschwäbt. Der erscht Schnee het i der Nacht e lüchtend wissi Dechi über mi liebi Heimat gleit, wo im Sunneliecht vom junge Tag gstrahlet het, schöner als tuusig Edelsteine. Es Winterwunder, gwüss so schön, wien-es-ne no nie eis gäh het, het ds ganze Land verzouberet. Het d’Firne la lüchte unter em blaue Winterhimmel. Em Himmel vom mim liebe Ämmitau.

Am Himmel, da lüchtet häll e Stärn
Witt üs säge, ds Glück isch nid färn
Isch für üs da, immer und überau
Bi üs deheim, im liebe Ämmitau

Neues vom Kreuzackerpark

Saatkrähe

Saatkrähe im Kreuzacker

Auch im Kreuzackerpark hält der Winter Einzug, auf dem Platz liegt Schnee, ein kalter Wind weht durch die kalten Platanen und vor der Aaremauer füttern Passanten die Tauben, die in der kalten Winterszeit für jedes Körnchen dankbar sind. Aber auch zahlreiche Saatkrähen sind noch da. Nicht nur Leser dieses Blogs wissen, dass der Kreuzacker ein beliebter Nistplatz für die klugen Vögel ist, die bisher allen stadtamtlichen Vertreibungsaktionen erfolgreich getrotzt haben. So wie die Tauben sind auch die listigen Rabenvögel auf Futtersuche und warten auf den Ästen der Platanen geduldig auf eine günstige Gelegenheit, um ein Stück Brot zu ergattern.

Die schwarzen Krächzer warten aber nicht einfach nur, sie haben auch eigene Strategien entwickelt, um den Tauben das Futter blitzschnell vor dem Schnabel wegzuschnappen. Eines dieser Manöver hat der Autor mit eigenen Augen beobachtet und gibt es hier gerne zum Exempel: sobald ein Vogelfreund vor der Brücke Körner oder Brotkrümel streut, stösst die Krähe von ihrem sicheren Versteck im Baum zum Futterplatz vor und fliegt ca. fünf Meter über dem Boden an Ort und Stelle. Nun wartet der Rabenvogel, bis alle Passanten mindestens vier bis fünf Meter entfernt sind, ohne dabei seine Position zu verändern. Dann lässt er sich fallen, packt seine Beute und fliegt davon.

PC Probleme in Rüderswil?

Ich lebe seit bald sechs Monaten in Rüderswil und bin glücklich, an diesem schönen Ort ein neues Zuhause gefunden zu haben. Da ich mich nun schon etwas eingelebt habe, möchte ich gerne neue Bekanntschaften machen, am liebsten hier im Dorf Rüderswil selbst. Und da ich seit mehr als 20 Jahren in der technischen Informatik arbeite (…eine biblisch lange Zeit für dieses Gewerbe!) kam ich auf die Idee, etwas vom meinem gesammelten Wissen weiterzugeben: wenn Sie mir Ihrem PC (oder Drucker, oder Modem oder iPhone) Probleme haben oder einfach wissen möchten, wie eine bestimmte Aufgabe mit dem Computer gelöst wird, dann kontaktieren sie mich bitte. Ich helfe gerne und unentgeltlich und ich freue mich auf neue Bekanntschaften. Meine Adresse finden Sie rechts unter der Rubrik «Über mich».

Läbesfröid

Wie doch die Tage wider chürzer u chelter wärde, es vernachtet scho i de späte Stunde am Nachmittag, es wird dunkel vor de Ouge. Wie isch es da doch schön, deheim e gmüetlichi u warmi Stube z’finde und es Cherzli a z’zündte. U denn, wenn der erscht Schnee e wissi Dechi über ds Ämmitau leit und wenn unter der Wintersunne Wald u Fäld glitzeret und glänzt, de zieht es üs use, use uf e Stimbärg oder uf e Bänzebärg, vo wo us mir die ganzu Pracht chöi gseh, chöi gschoue u stuune.

U we’s o mängisch chalt u trüeb isch, was wei mir o Chummer ha. Wenn mir i Spiegel lache, de lachet doch das Gsicht wo mit dert gseh, zrügg. U wenn mir i d’Wält lache, de isch d’Wält akkurat wie e Spiegel, si lachet zrügg.

Mail us Rüderswil

Nöizuezügerabe – Ja, das git es no hie z’Rüderswil u das isch e gfröiti Sach. Aui, wo nöi im heimelige Ämmitauer Dorf es Deheim funge hei, wärde vom Gmeindrat iiglade, erfahre mängs über ds Dorf u wärde am Schluss sogar bewirtet mit feine Sache us der Region. Hürigs Jahr het der Nöizuezügerabe i dr Pfrundschür grad näb der Chiuche stattgfunde. U die nöie Rüderswiler si cho: us Schwande, us Zollbrügg, vom Mützlebärg oder zmitz us em Dorf hei si der Wäg i d Schür funde u si häreghocket zum lose, was itz chunt. Uf sehr sympathischi und fründschaftlichi Art isch druf vo de Gmeindrätinne u Gmeindrät ds Dorf vorgstellt worde, derzue het es Bilder z’gseh gä vo de verschidene Plätz rund um Rüderswil. Mängs Wüssenswärts hei mir erfahre, vom Gwärb, vo de Schuele, vo de Dörfer rings um Rüderswil ume u no einiges meh. Bi der Vorstellig het natürlich o der berüemtischt Rüderswiler, der Niklous Löiebärger nid dörfe fähle, em Bärner Burefüehrer isch ja ds Dänkmal am Igang zum Dorf gwidmet.

Nach der Präsentation hei alli Neuzuezüger d’Glägeheit übercho, sich sälber mit es paar Wort vor z’stelle und uf das Abe het es es Apéro gäh. Das hei mir natürlich gnosse, hei nöis brichtet, hei Lüt lehre kenne u bi me Glesli Wi e schöni Zyt gha. Ja, es isch e gäbige Abe gsi u wo mir üs de wider uf e Heiwäg gmacht hei, isch gwüss i mängem Chopf der Gedanke läbändig gsi: Schön isch es, i üsem Rüderswil. Zum Schluss möcht i danke säge: allne, wo dä Abe müglich gmacht hei, bsunders em Rüderswiler Gmeindrat u der Christina, wo der Abe gleitet het.

«Am Abend ist Weinen, am Morgen ist Freude»

Am vergangenen 1. November wurde im Kirchgemeindehaus Aeschi (SO) an die Verstorbenen des vergangenen Jahres gedacht. Pfarrer Achim Wollmershäuser nahm in seiner Predigt Bezug auf die Seligpreisung nach Matthäus und fand darin Worte, die trösten und Mut spenden. Begleitet wurde die würdevolle Feier von Elsbeth Rösch an der Orgel und vom Alphorntrio Steiweid.

Mit einem schönen Sinnbild der Jahreszeiten eröffnete Achim Wollmershäuser die Gedenkfeier, die rege besucht wurde. Mit dem Sterben kommt auch die Trauer, die voller Bitterkeit und Hoffnungslosigkeit sein kann, wenn ein Mensch unerwartet aus dem Leben gerissen wird. Stirbt aber ein Mitmensch in hohem Alter, vielleicht gar unter schweren Schmerzen, dann ist die Trauer von anderer Art, ja vielleicht gepaart mit Dankbarkeit, weil eine Seele von ihrem Leiden erlöst worden ist. Trauer ist wie Winter: das Leben ist erloschen, in Kälte, ja in Verzweiflung erstarrt unsere Existenz. Doch wenn der Winter sein Szepter führt, dann ist der Frühling nicht mehr fern. So wie der Winter in einen neuen Frühling übergeht, so erblüht auch in uns neue Hoffnung und Lebensfreude, wenn die Zeit der Trauer endet.


Feierlich geschmückter Abendmahltisch

Nachdem für allen Heimgegangenen des vergangenen Jahres ein Kerze brannte, kam Achim Wollmershäuser in seiner Predigt auf die matthäische Seligpreisung zu sprechen, die zuvor von Barbara Jäggi vorgelesen wurden. Da preist Jesus Christus die Menschen selig, die leiden, trauern und schwere Prüfungen auf sich nehmen müssen (Matth. 5, 2b-12). Aber was heisst es denn, «seelig» zu sein, fragte Pfarrer Wollmershäuser? Wir sind doch gerade dann seelig, wenn es uns gut geht, uns das Glück lacht und wir das Erstrebte erreicht haben. Aber gerade dies fehlt ja den Trauernden und Leidenden. Warum nennt Jesus sie seelig? Es ist ein Versprechen, das Jesus hier gibt: das Versprechen, dass alles Leiden und Trauern in Gottes Reich sein Ende finden wird. Christus ist am Kreuz gestorben und wurde begraben. Aber am dritten Tag wurde er von Gott zum ewigen Leben auferweckt; Jesus ging durch den Tod hindurch in das ewigen Leben. Und er hat uns, die wir ihm nachfolgen versprochen, dass wir durch die Finsternis des Todes zum ewigen Licht gelangen. So wendet sich Jesus allen Menschen zu, den Glücklichen wie den Trauernden, denen er Trost und Halt geben will.

Umrahmt wurde der Gottesdienst von Vorträgen des Alphorntrio Steiweid. Gespielt wurden vor allem Alphorn-Chorale, die zu der Gedenkfeier gut passten.

Fünf Jahre stocki@SolNet

Vor zwei Jahren schrieb ich auf meinem Blog etwas über meine Anstellung bei SolNet und über die Aufgaben, die mir hier anvertraut worden sind. In der Zwischenzeit sind zwei weitere erlebnisreiche Jahre vergangen, neue Techniken und Standards haben sich etabliert, während andere an Bedeutung verloren haben. Die Informatiktechnik wird auch in den kommenden Jahren so bleiben, wie sie schon zuvor war: kurzlebig und spannend. Da ich im vergangenen März mein fünftes Anstellungsjahr beim Solothurner Internet-Provider begann, folgt hier ein Abriss der Änderungen und Neuerungen dieser zwei Jahre.

Etwas hat sich bei SolNet nicht verändert und das ist sehr erfreulich. Es ist die Offenheit. Einerseits in bezug auf die verwendete Software: zum Zuge kommen fast ausschliesslich freie Programme: FreeBSD, Linux, OpenOffice, LaTeX, usw. Freie Software hat markante Vorteile gegenüber kommerzieller Produkte wie etwa MS Windows. Bei freier Software haben wir beispielsweise Zugriff auf den Quelltext, wir können bei Problemen direkt den Sourcecode analysieren und selbst Änderungen vornehmen, um die Applikation unseren eigenen Bedürfnissen anzupassen. Bei der Telefoniesoftware Asterisk geschah dies in der Vergangenheit mehrfach. Die Erfahrung, dass es auch mehr Spass macht, mit Linux & Co. zu arbeiten, hat sich nicht geändert.
Andererseits gibt es bei SolNet eine erfreuliche Offenheit im Team, die sich auf das Miteinander und auf die gemeinsam realisierten Projekte günstig auswirkt. Weniger Hierarchie zugunsten von mehr Freiheit und Eigenverantwortung lautet die Devise.

Sehr spannend war in den beiden vergangenen Jahren die Entwicklung eines ACS (TR-069) Servers, den ich bereits in einem Beitrag erwähnt habe. Mit TR-069 kann die Konfiguration eines Router/Modems automatisiert werden: sobald ein Kunde das Gerät am Netz anschliesst, werden alle wichtigen Einstellungen vom ACS Server geliefert: Login, Wireless- und Voice-Einstellungen, ISDN-Parameter, usw. Ebenso kann mit TR-069 ein Protokoll über die Veränderungen geführt werden. Damit lässt sich der Zustand des Gerätes nach einem Reset auf Werkseinstellungen jederzeit wiederherstellen. Ebenso ist eine automatische standortabhängige Konfiguration möglich: je nachdem wo ein Kunde seinen Router anschliesst, erhält er unterschiedliche, zum Standort passende Einstellungen.

TR-069 baut auf etablierten Protokollen wie HTTPS, XML und SOAP auf. Ich habe den ACS-Server mit Perl entwickelt, weil es zu dieser Scripting-Sprache eind Myriade an Software-Bibliotheken gibt. Leider war es gerade bei SOAP nicht ganz einfach. Zwar gibt es einen Perl Modul SOAP::Lite; allein es gelang mir nicht, diesen so zu konfigurieren, dass er HTTP-Requests erzeugt, die von einem TR-069-fähigen Gerät, wie etwa der AVM Fritz!box, akzeptiert werden. Also schrieb ich eine eigene Bibliothek, SOAP::Message, die eine möglichst einfache aber flexible Schnittstelle zum SOAP-Protokoll bietet. Weiterführende SOAP Infos gibt es auch hier: http://wiht.co/soap-intro.

Apropos Programmiersprachen: an Perl führt weiterhin kein Weg vorbei, es ist die Scripting Sprache für das Automatisieren von Server-Prozessen. Perl bietet zudem ausgereifte Sprachelemente zum Erstellen von Modulen und Klassen. Geschickt angewendet können so grosse Teile des Codes wiederverwendet werden. Es gibt aber auch einen Erlkönig in der Welt der Scripting-Sprachen: Ruby.

Webservices liegen im Trend. Auch Swisscom bietet anstelle des eher trägen Filetransfer-Protokolles nun auch Webservices an, mit denen auf die BBCS Dienste zugegriffen werden kann. Erfreulicherweise kommt auch hier SOAP zum Zuge, so dass ich meine eigenen Bibliotheken sofort weiterverwenden konnte. Auch für ULL-Funktionen (Entbündelung) gibt es seit kurzem Webservices, mit denen Teilnehmeranschlüsse qualifiziert und verwaltet werden können. Swisscom bietet für alle Dienste einheitlich drei Schnittstellen an: Webservices, Filetransfer und eine Website für manuelle Veränderungen.

Etwas hat sich in den vergangenen zwei Jahren verändert: ich verwende PostgreSQL als Datenbank für alle gestellten Aufgaben. MySQL kommt kaum mehr zum Einsatz. Das liegt einerseits daran, dass wir Postgres schon lange für interne Aufgaben nutzen. Andererseits konnte ich mich bei den Projekten der vergangenen Jahre von der Flexibilität und Leistungsfähigkeit dieser DB überzeugen. Postgres ist nicht nur schnell und zuverlässig, es bietet auch fantastische Möglichkeiten für Entwickler: so können Teile einer Applikation direkt als Trigger und Stored Procedures in die DB verlagert werden – in verschiedenen Programmiersprachen. Ein DB-internes Benachrichtigungs-System (NOTIFY/LISTEN) ermöglicht es, einen fremden Prozess über Änderungen in der DB zu informieren. So wird es möglich, dass Anpassungen ohne Verzögerung in eine Konfigurationsdatei geschrieben werden können. Eine deutliche Erleichterung sind auch die Savepoints, mit denen sich eine Transaktion unterteilen lässt. Damit können eine Reihe von Änderungen «ettapiert» werden. Bei allfälligen Fehlern ist die Rückkehr zu einer bestimmten Etappe möglich. Eine feine Sache.

Und mit diesem letzten Satz will ich schliessen und wiederholen, was ich schon vor zwei Jahren geschrieben habe: Es ist eine feine Sache, bei SolNet arbeiten zu dürfen!