Seite wählen

NETWAYS Blog

Weekly Snap: RT for mobiles, REST, Nagios Training and Jobs galore

9-13 August offered two jobs, Nagios training courses, Request  Tracker mobile interface and look into the REST architectural style.
Julian tipped off a new mobile web interface for Request Tracker. The plugin automatically recognises the iPhone, Android and Blackberry, offering an optimised display of tickets and history. Tickets can be created and searched, attachments downloaded, and authenthication can be normal or external.
Karo was on the hunt for new colleagues to join the NETWAYS team, posting two positions – a Systems Engineer and a Developer. The Systems Engineer will join the Managed Services boys to implement and maintain internet platforms and independent projects, support customers on 1st and 2nd levels, prepare documentation and handover to customers. Of course all is based on open source and experience with Linux, MySQL, LVS, Heartbeat, DRBD is necessary. The Developer will have good knowledge of PHP and MVC frameworks, web technologies (HTML, AJAX, XML, XSLT and Java Script), Perl, and Object Oriented Perl, Eclipse GIT and Subversion, databanks (MySQL, PostgreSQL) and Linux systems and network technologies (Debian, Ubuntu). Applicants who enjoy customer contact and working on their own initiative are welcome to apply.
Bernd continued his development series on SOAP and REST with a look at the architecutural style of REST. As opposed to SOAP, Representational State Transfer offers an architectural model that is often found in the www,and a concrete method to deal with such interfaces. With the classic web commands- GET, POST, PUT and DELETE, developers can quickly and easily create applications, without needing to keep to defined transfer formats that SOAP requires. The decision lies however in the complexity and need for complex transactions to be bundled and routed. Most systems do come out nonetheless fine with REST and benefit from its simplicity.
Finally Manuela announced the latest dates for our Nagios training course for newbies. If you want to learn how Nagios works, how to configure it and monitor Windows and integrate SNMP based network components, keep the 6-9 September or 15-18 November free – or register with our „Blog 10%“ code to get 10% discount. Hope to see you there!

Architekturstile: REST

Vor einiger Zeit sind wir ja bereits auf SOAP intensiv eingegangen. SOAP ist zwar zu Beginn oft Komplex und konfrontiert die Entwickler mit einer etwas anstrengenderen Lernkurve, spielt jedoch auf der Geraden den ein oder anderen Vorteil in Bezug auf komplexe Übermittlungen in heterogenen Umgebungen aus.
REST steht für REpresentational State Transfer und beschreibt ein Architekturmodell, dass man täglich an vielen Stellen des WWW, seinem logischen Vorbild, wiederfindet. Während SOAP „nur“ ein Transfermedium von Nachrichten ist, hat REST eine konkrete Vorstellung wie mit entsprechenden Schnittstellen umgegangen wird.
Hierfür stehen die klassischen Web-Methoden GET, POST, PUT und DELETE zur Verfügung. Abhängig von Ihrer Verwendung ist somit auch die grundlegende Funktion beschrieben.
Ein Beispiel:
[code lang=“xml“]
GET
[/code]
Hier ist klar zu erkennen, dass die Ressourcenauflösung über Pfade dazu verwendet wird ein Objekt eindeutig zu identifizieren und den Status zu ermitteln. Soll ein neuer Status hinzugefügt werden, kann das folglich mit einem POST-Request erfolgen. Die Ausgabe des REST-Kommandos ist im Vergleich zu SOAP nicht im Detail spezifiziert, jedoch wird häufig XML verwendet, da sich die Weiterverarbeitung deutlich einfacher gestaltet. Über den Verweis auf anderer REST-Ressourcen mit Hilfe der sogenannten XLinks’s können auch hierarchische Beziehungen abgebildet und aufgelöst werden.
In dieser Einfachheit liegt der klare Vorteil von REST, da sich der Entwickler, mit Ausnahme der strukturierten Verzeichnisauflösung, an keine definierten Übertragungsformate halten muss und die Anwendung leichtgewichtig gestalten kann. Daraus ergibt sich jedoch auch eine stark verzahnte Kommunikationsebene zwischen Client und Server, da der Spezifikation kein Routingmodell hinterlegt ist.
Die Entscheidung für SOAP oder REST ist, wie bereits im vorhergehenden Artikel erläutert, abhängig vom Bedarf an Komplexität und der Möglichkeit komplexere Transaktionen zu bündeln und zu routen. Der überwiegende Teil an Systemen wird jedoch leicht mit REST auskommen und von den agilen Möglichkeiten profitieren.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.

Architekturstile: SOAP

Wie vor einigen Wochen versprochen, möchte ich heute einmal auf das SOAP-Protokoll eingehen. SOAP steht für Simple Object Access Protocol, besser gesagt stand. Seit den letzteren Versionen hat man dieses Akronym aufgrund der hohen Komplexität, die zugegeben mit Simple nicht viel zu tun hat, aufgegeben.
Als Protokoll beschreibt SOAP unter Nutzung von XML eher den Aufbau einer Nachricht als die eigentliche Übertragung. Eine SOAP-Nachricht besteht aus einer Hülle, dem so genannten SOAP-Envelop und beinhaltet einen entsprechenden Header und Body. Während der SOAP-Header optional ist, muss der Body ausgeführt sein und kann noch ein entsprechendes SOAP-Fault Element enthalten um Fehlersituationen zu übermitteln.
Ein Beispiel für eine gültige SOAP-Nachricht:
[code lang=“xml“]
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.icinga.org/status">
<m:GetStatus>
<m:ServerStatus>srv-lin-01</m:StockName>
</m:GetStatus>
</soap:Body>
</soap:Envelope>
[/code]
Zwar ist HTTP oder HTTPS der häufigste Standard um entsprechende Nachrichten zu übermitteln, es ist jedoch auch eine alternative Nutzung von JMS, SMTP oder anderen Transportmodellen möglich.
Im Unterschied zu REST, dazu bald mehr, ist SOAP kein leichtgewichtiges Unterfangen. Es Bedarf wohl definierten Schnittstellen und Namespaces um sich bei verschiedenen Services in größeren Umgebungen nicht in die Quere zu kommen und ist aufgrund des entsprechenden XML-Overheads bei der Übertragung von großen Datenmengen nicht besonders performant. Diese Nachteile verlieren durch immer größere Bandbreiten und entsprechende Performance jedoch zunehmend an Bedeutung und auch die entsprechende XML-Parser haben in Sachen Geschwindigkeit ordentlich zugelegt.
Der große Vorteil von SOAP liegt darin, dass ein entsprechender Service genau auf die Beantwortung bestimmter Requests vorbereitet werden muss und somit schon auf Schnittstellenebene gewisse Unstimmigkeiten eliminiert werden können. Ein „ungefähr“ Request wird freundlich vom Server zurückgewiesen und vermeidet eine fehlerhafte Verarbeitung auf Definitionsebene.
Die beliebige Komplexität eines SOAP-Envelops ermöglicht jedoch die Zusammenfassung komplexer Transaktionen und Strukturen in einer Nachricht. So kann der Overhead der Einzelabfrage reduziert werden und komplexe Zusammenhänge einfacher dargestellt werden als durch Abbildung einer Vielzahl von REST-Requests.
Eine Entscheidung zugunsten von SOAP sollte nur bei Notwendigkeit der entsprechenden Komplexität fallen, ist dann aber oft auch sinnvoll.
Handle with Care!

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.

Weekly Snap: Heatmap for Icinga, JIT cool, Windows 2000 and SOAP/REST?

14 – 18 June warned Windows 2000 users of looming support freezes, gawked in awe at JIT, shared Julian’s LinuxTag presentation, introduced the SOAP and REST developer conflict and announced our first Icinga addon.
Reflecting on hot summer days in data centers, Jannis revealed Heatmap for Icinga. Now while enjoying ice cream, admins can view their server room and react quickly to temperature problems. With a drag and drop, servers and sensors can be laid out on the map and intervals for temperature processing set. Replete with dashboard, it integrates seamlessly into Icinga Web and is ready for download at netways.org as always.
We paid our respects to JIT (JavaScript InfoVis Toolkit) while Julian shared his presentation slides from LinuxTag in Berlin on Nagios and Icinga. He then went on to bring bad news to Windows 2000 users – as of 13 July 2010, Microsoft will end support for all Windows 2000 regardless of type. This means no free updates or security updates, which may also mean security problems will no longer be fixed. On the same day, normal support for Windows 2003 Server (and Server R2) will run out and only extended support will be provided. So only issues critical to security will be fixed, for all others a patch will be offered only to those in their paid support program. This extended support will be available to 14 July 2015- so it seems now is high time to switch out!
Finally, Bernd introduced his new series to tackle the SOAP or REST question which all developers inevitably face in service oriented development. He plans to look at both architectures in detail and compare their advantages and disadvantages. In the meantime he pointed to a previous post from Julian for a good starting point. Till then, keep your eyes peeled!

SOAP oder REST: Was ist los?

Im Bereich der serviceorientierten Entwicklung steht der Developer häufig zu Beginn vor der entscheidenden Frage:
SOAP oder REST
Gleich vorweggenommen sei die Tatsache, dass auch diese kleine Serie keine universelle Antwort auf eine solche Frage geben kann. Es ist vielmehr der Versuch etwas Licht ins Dunkle zu bringen und die Vorteile beider Möglichkeiten zu erörtern. Letztendlich geht es wie immer um die richtig Lösung für die vorhandene Aufgabenstellung und vorhandenem Knowhow.
Grundsätzlich trifft es das Bild von Julian’s Blog Post ganz gut, jedoch ist die Tatsache das wenig „gesprochen“ wird nicht nur ein Vorteil.
Die nächsten Tage werde ich auf beide Architekturmodelle etwas detaillierter eingehen und deren Vor- und Nachteile erörtern.

(via Geek And Poke)

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startete er früher das wöchentliche Lexware-Backup, welches er nun endlich automatisiert hat. So investiert er seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinen beiden Söhnen und seiner Tochter.