Fachkonferenz für Softwareentwickler – Django Con Europe 2018


Vom 23. bis zum 25.05.2018 fand in Heidelberg die diesjähre Fachkonferenz für Django Software Entwickler statt. Wir waren dabei und berichten von unseren Eindrücken!

Was ist überhaupt Django?
Django ist ein auf der Programmiersprache Python basierendes Web Framework. Also eine Art Grundgerüst für Softwareanwendungen, das die Basis für viele Programme und Internetseiten darstellt. Die Webseiten der NASA und vom Browserhersteller Mozilla basieren beispielsweise zu großen Teilen auf dem Django Webframework und große Netzwerke wie Pinterest und Instagram nutzen diese Technologie für Ihre Services. Auch Banking-Services wie Holvi bauen ihre Infrastruktur für Zahlungsdienstleistungen auf diesem Framework auf. Unsere Entwickler sind ebenfalls sehr vertraut mit der Technologie hinter Django und entwickeln regelmäßig Anwendungen mit diesem Setup.

Wofür eine Fachkonferenz?
Python und das Django Framework werden beständig weiter entwickelt. Jedes Jahr kommen neue Erweiterungen zum Django Core hinzu und es werden hunderte Erweiterungen und Module bereitgestellt, die die Funktionen erweitern und verbessern.

Auf Fachkonferenzen wie der DjangoCon Europe treffen sich Entwickler des Frameworks, Entwickler von Erweiterungen und Programmierer von Softwarelösungen, die das Framework einsetzen. Der Austausch von Entwicklern über Erfahrungen, Neuerungen, Ideen und neue Konzepte ist wichtig, damit die Entwicklung mit Django weiter voranschreiten kann.

 


Highlights der Django Con Europe 2018
Wie bei jeder Fachkonferenz hielten verschiedene Fachleute (Speaker) Vorträge zu verschiedenen Themen. Viel diskutiert wurden Themen wie Datenschutz in Softwarelösungen, effiziente Verarbeitung von großen und komplexen Datenmangen sowie neue Möglichkeiten für so genannte Echtzeit-Anwendungen (Real-Time Applications), bei denen immer mehr Prozesse gleichzeitig ablaufen können sodass akkurate Daten zu jeder Zeit aktuell dargestellt und verarbeitet werden können. Auch die Zusammenarbeit verschiedener Tools über Schnittstellen war ein großes Thema.

Besonders hervorzuheben sind auch die so genannten Lightning Talks. Während die Themen für große Konferenzen üblicherweise lange im voraus angemeldet und vorbereitet werden müssen geben Lighting Talks den Anwesenden am Ende jedes Tages die Möglichkeit spontan in 5-minütigen Vorträge zu aktuellen Themen ihre neusten Erkenntnisse und Erfahrungen mit den Anwesenden zu teilen.

Die Mitschnitte der Fachkonferenz wurden noch während der Konferenz frei zugänglich bei YouTube eingestellt.

Wir bedanken uns ganz herzlich bei den Organisatoren der diesjährigen Django Con Europe für die tolle Veranstaltung und ihre Einsatz für die Entwickler-Community. Wir freuen uns sehr im nächsten Jahr wieder dabei zu sein.

NEU: Wir programmieren Skills für Amazon Echo / Alexa


Was ist Amazon Alexa?

Seit dem 13.02.2017 kann der Sprachassistent „Amazon Echo“ (auch bekannt als „Alexa“) auch in Deutschland ohne Einschränkungen bestellt und verwendet werden. Den Amazon Echo gibt es in zwei Varianten (Echo und Echo Dot) für einen Preis von derzeit 179,99 für den großen Echo bzw. 59,99 für den Echo Dot.

Der Sprachassistent, den man sich mittels Amazon Echo ins heimische Wohnzimmer holen kann hört auf den Namen „Alexa“ und kommt von Haus aus mit vielen sprachgesteuerten Funktionen. So kann Alexa Musik und Hörbücher abspielen, das Smart Home steuern oder Bestellungen bei Amazon für den User auslösen. Doch das ist nicht alles!

Was sind Alexa Skills?

Mittels der so genannten „Alexa Skills“ ist es externen Entwicklern und Programmierern möglich Alexa neue Dinge beizubringen! Entwickler programmieren Anwendungen, die auf Zurufe an Alexa bestimmte Aufgaben durchführen oder Informationen zurück liefern. Zudem konfigurieren Sie den Skill so, dass Alexa auf bestimmte Anfragen reagiert, die Sie zuvor noch nicht verarbeiten konnte. So gibt es beispielsweise Skills von der Deutschen Bahn oder von Chefkoch.de, die es Alexa ermöglichen viele neuartige Fragen zu beantworten („Wann fährt der nächste Zug nach Berlin?“, „Was kann ich heute kochen?“). Die Skills verarbeiten diese Fragen, die an Alexa gestellt wurden, und liefern wertvolle Informationen zurück, die Alexa dann entweder vorliest oder dem Nutzer direkt auf sein Handy schicken kann.

Über die Alexa Skills können die Nutzer sich Ihren eigenen Sprachassistenten so konfigurieren, wie sie ihn brauchen.

Was wir für Sie tun können: Skill-Programmierung

Der neue Markt der Sprachassistenten im heimischen Wohnzimmer der Kunden ist für viele Firmen interessant. Services direkt zu den Menschen nach Hause zu bringen ist eine tolle Chance für viele Branchen.

Wir, die SD Software-Design GmbH, entwickeln seit kurzem für unsere Kunden individuelle Amazon Alexa Skills, die hinterher über den Amazon-Store für alle Amazon Echo User bereitgestellt werden können.

Wenn Sie planen Ihren Service demnächst auf Amazon Echo bereitzustellen sprechen Sie uns an! Unser Entwicklerteam berät Sie gerne zu den Möglichkeiten und dem Einsatz von Amazon Echo.

Ihr Ansprechpartner:

Herr Daniel Kemen
Entwicklung und IT-Beratung
info@software-design.de
+49 (0) 7633 80 69 311

Wir freuen uns auf Ihr Projekt!

Schnittstellenprogrammierung & individuelle API Anbindungen


Haben Sie verschiedene Software-Systeme im Einsatz und verbringen viel Zeit damit Daten aus verschiedenen Systemen zusammen zu suchen oder händisch zu übertragen? Wünschen Sie sich eine einfachere Zusammenarbeit der Software-Lösungen die Sie kennen und schätzen? Wünschen Sie sich einfachere und effizientere Arbeitsabläufe für sich und Ihr Team?

Viele Software-Lösungen stellen genau zu diesem Zweck eine eigene Software-Schnittstelle (kurz: „API“ für „Application Programming Interface“) zur Verfügung!

Mit Hilfe von API-Schnittstellen können Sie über externe Programmaufrufe Daten aus einem System abgreifen oder diese maschinell und automatisiert  eintragen lassen. Mit Hilfe von Schnittstellenentwicklung lassen sich so zwei einander völlig fremde Systeme verbinden.

Nehmen wir an Sie setzen beispielsweise ein CRM System für die Stammdaten Ihrer Kunden ein. Zudem betreiben Sie einen Online-Shop und pflegen Ihre Produkte und Lagerbestände in einer externen Warenwirtschaft oder einem ERP System.

Während der Wareneingang über das ERP / WaWi System erfolgt stellt das Shop-System die Stammdaten der Kunden / Käufer bereit. Zudem tragen Sie händisch Kunden in das CRM ein, die eine Bestellung per Telefon vorgenommen haben. Diese Bestellungen erfassen Sie wiederum im Shop und passen die Lagerbestände im ERP System an.

Oder mit anderen Worten: Es herrscht komplettes Chaos!

Mit Hilfe von Schnittstellenprogrammierung können Sie diese Probleme schnell und effizient lösen. So können Sie automatisiert die Lagerbestände und die Produktdaten aus dem ERP System in Ihren Shop (und beliebige weitere Systeme wie beispielsweise die Händlerportale Amazon, Ebay,…) integrieren und gleichzeitig alle Bestellungen, die über den Shop laufen an das ERP System zurück melden, sodass dieses die Lagerbestände automatisch anpasst. Die Kundendaten aus der Bestellung können Sie parallel dazu in Ihr CRM System übertragen lassen.

Auch individuelle Software können Sie über diese Schnittstellen realisieren. Planen Sie beispielsweise eine Auftragsverfolgung über die Webseite zur ermöglichen so können Sie über die Schnittstelle auch ganz einfach Daten aus Ihren externen Systemen abgreifen und dem Kunden so ein noch besseres Nutzererlebnis schaffen.

Mit Hilfe von Schnittstellen-Entwicklung können Sie die Effektivität Ihrer eingesetzten Software um ein Vielfaches steigern und mehr aus den Vorteilen einer digitalen Bürowelt herausholen.

Sprechen Sie mit unseren Software-Entwicklern über die Möglichkeiten zur Anbindung Ihrer Systeme! Wir beraten Sie gerne!

 

easyVerein – Unsere professionelle Vereinsverwaltungssoftware


Vereins-Management

Vereinsverwaltung leicht gemacht!

Im August 2016 veröffentlichen wir, die SD Software-Design GmbH, unsere eigene Verwaltungssoftware für Vereine, Clubs und Organisationen als „Software-As-A-Service“ Plattform. Das neue Projekt hört auf den Namen „easyVerein“ und ist unter https://easyverein.com im Internet erreichbar.

Mit der neuen Softwarelösung möchten wir Vereinen und Organisationen die Verwaltung des täglichen Arbeitsablaufs vereinfachen. Unsere Vereinssoftware enthält dafür verschiedene Module die über die verschiedenen Lizenz-Gruppen jeweils individuell in den verschiedenen Paketen hinzugebucht werden können. Zu den verfügbaren Modulen gehören:

Die Mitgliederverwaltung

Ermöglicht eine schnelle und einfache Verwaltung von Beitritten, Austritten und aktiven Mitgliedern, deren Stammdaten und deren Mitgliedschaftsgebühren.

Termine und Teilnahmeverwaltung

Über einen Kalender können geplante Termine, Sitzungen und Veranstaltungen ganz einfach erfasst werden. Jedes Mitglied kann per E-Mail eingeladen werden und kann seine Teilnahme direkt online eintragen.

Buchhaltung und Finanzmodul

Alle Buchungen (ob eingehend oder ausgehend) können spielend leicht erfasst werden. Über verschiedene Buchungsgruppen können komplexe Auswertungen und Bilanzen erstellt werden.

Raum- und Inventarlisten

Erfassen Sie Ihre Räume und Plätze und ordnen Sie den einzelnen Terminen einen Veranstaltungsort zu. Zudem können Sie Inventargegenstände erfassen und den Räumen zuordnen.

Adressbuchverwaltung

Im gemeinsamen Adressbuch können Sie Adressen von Sponsoren, Lieferanten und natürlich Mitgliedern erfassen und austauschen.

Sitzungen & Protokolle Modul

Planen Sie Ihre Vorstandssitzungen und erfassen Sie die Tagesordnung sowie die protokollierten Beschlüsse. Die Protokolle können ganz einfach exportiert und ausgedruckt werden.

Dateifreigabe für Mitglieder

Geben Sie Bilder und Dokumente aus Ihrer Dropbox frei, sodass auch die anderen Vereinsmitglieder zugriff auf Ihre Dropbox-Daten haben.
 

Die Software läuft komplett im Browser, sodass sie plattformunabhängig auf Windows, Mac OS und Linux funktioniert. Sie benötigen lediglich einen aktuellen Webbrowser und eine Internetverbindung.

Registrieren Sie sich jetzt für eine kostenlose Demo und testen Sie, welche Vorteile unsere Vereinssoftware für SIE bringt!

Accelerated Mobile Pages – wie Google HTML schneller macht


Ende 2015 hat Google im Rahmen seiner „Digital News Initiative“ einen angepassten / erweiterten HTML Standard veröffentlicht, der auf den Namen „AMP HTML“ hört. Die Idee hinter dem neuen Standard ist es Webseiten und Artikel auf mobilen Endgeräten schneller laden zu lassen. Mit Hilfe von AMP soll die Webseiten Ladezeit bis zu viel mal schneller werden und das verbrauchte Datenvolumen soll auf bis zu ein zehntel reduziert werden. Doch was steckt eigentlich hinter den „Accelerated Mobile Pages“ von Google?

Zunächst einmal ist festzuhalten: Google macht ernst mit seinem neuen Standard!

Bereits nach kurzer Zeit haben AMP Webseiten eine besonders hervorgehobene Darstellung in den Suchergebnissen auf mobilen Endgeräten erhalten. Es scheint als hätte die Unterstützung von AMP bereits jetzt einen spürbaren Einfluss auf das natürliche Ranking.

Stellt eine Webseite auch eine AMP Version bereit zieht Google diese Version in der mobilen Suche stets vor. Über den klar strukturierten Aufbau und einige angepasste HTML Tags wie den „amp-img“ Tag baut Google ein Framework welches ein ansynchrones Laden der Webseite ermöglicht. Die Idee hinter AMP ist es, dass die Inhalte, die wirklich relevant sind, stets zuerst geladen werden. Inhalte die erst nach dem Scrollen sichtbar werden oder große Bilder und mediale Inhalte werden erst später nachgeladen.

Hält man sich an die etwas gewöhnungsbedürftigen Vorgaben von Googles AMP kann das Framework schon beim Laden der Seite ohne vorheriges Checken von externen Ressourcen evaluieren welche Inhalte sofort bereit stehen müssen und welche Inhalte asynchron nach geladen werden können. Für den Besucher erscheint der Inhalt der Webseite damit sofort und er kann direkt mit dem Lesen beginnen. Bilder, Werbung und Hintergrund-Scripte werden erst im Nachhinein eingefügt.

Nutzt man die Google Caching Server optimiert Google sogar noch nach: Eine valide AMP Seite wird von Google auf den eigenen Servern weiter optimiert und komprimiert um die Ladegeschwindigkeit noch weiter zu verbessern. Die Webseite wird dann über den Google Cache Server ausgeliefert und steht dem Besucher somit noch schneller zur Verfügung.

Doch es gibt auch Einschränkungen: Der AMP Standard sieht einige Einschränkungen in der Verwendung von Script Dateien (werden für die Darstellung dynamischer Webseiten benötigt) und in der Verwendung von CSS Layouting vor. Damit die Inhalte vom Framework ohne Nachladen von Dateien analysiert werden können muss der Entwickler sich hier an einige Standards halten was die Anpassung einer normalen HTML Seite für den AMP Standard unter Umständen etwas erschwert.

Aktuell lohnt sich die Umstellung auf AMP in erster Linie für Blogs und News-Seiten. Ob sich die Verwendung von AMP auch für „normale“ Webseiten lohnt bleibt abzuwarten. Auch wird aktuell empfohlen stets beide Versionen der Webseite bereit zu stellen (AMP und Non-AMP Version). Wenngleich Google eine Kompatibilität mit älteren Browsern verspricht ist hier Vorsicht geboten, da es sich bei AMP doch um einen recht jungen Standard handelt.

Die AMP Spezifikation ist OpenSource und ist auf der zugehörigen Projektwebseite nochmal detailliert beschrieben und dokumentiert.

 

Webhosting, vServer oder Managed Server?


Wenn Sie Ihre Webseite oder Ihren Onlineshop ins Netz bringen möchten stellt sich zunächst die Frage: Woher bekomme ich die Server und die richtige Anbindung? Die Antwort bieten die unzähligen Webhosting Anbieter die ihnen verschiedene Hosting-Pakete für Ihre Seite anbieten. Doch was brauchen Sie wirklich?

Zunächst unterscheiden Hoster (oder auch Provider) zwischen verschiedenen Formen des Hostings. Die einfachste und „kleinste“ Form ist das so genannte Web- oder Shared-Hosting. Hier stellt man Ihnen etwas Speicherplatz, eine Domain und meist eine limitierte Anzahl an eMail- und Datenbankaccounts zur Verfügung. Auf Ihrem Server werden jedoch bis zu 100 andere Webseiten untergebracht. Sie haben also beinahe keine Einstellungsmöglichkeiten und nur eine sehr beschränkte Performance. Sie teilen sich mit den anderen Seiten Rechnerleistung, Bandbreite und Systemeinstellungen. Für eine einfache Homepage mit kleineren Addons reicht dies jedoch meist bereits aus. Da das Ausführen von PHP fast immer möglich ist können auch kleinere CMS Systeme (WordPress, Joomla) eingesetzt werden. Fachkenntnis ist meist nicht vorausgesetzt. Die meisten Einstellungen können über einfache Bedienoberflächen geregelt werden.

Für performante Seiten – zum Beispiel auf Basis von Frameworks oder großen CMS oder Shop-Systemen (Typo3, Magento) bieten Webhoster meist als nächst größere Einheit die vServer (Virtual Server) an. Anders als beim Webhosting ist hier Kenntnis über die Serververwaltung erforderlich. Sie erhalten eine virtuelle Serverumgebung mit dem vollem Funktionsumfang eines herkömmlichen Webservers und können entsprechend ganz verschiedene Serveranwendungen installieren, konfigurieren und nach eigenen Vorstellungen nutzen. Sie teilen sich hier nur die Serverhardware mit anderen vServern. Softwaretechnisch sind sie völlig autonom. Die Möglichkeiten sind deutlich größer und die Performance ebenso viel stärker. Wenn sie selbst Fachfremd sind sollten Sie bei Programmierern, Webagenturen und IT-Dienstleistern nach Serververwaltungsangeboten bzw. Servereinrichtung anfragen.

Möchten Sie hardwarebeschleunigte Anwendungen nutzen oder benötigen aus anderem Gründen die volle Server- oder Bandbreitenkapazität werden Ihnen von den Meisten Hostern auch Dedizierte Server angeboten. Hier erhalten Sie den vollen Umfang einer ihnen zugewiesenen (dedizierten) Serverhardware. Fachkenntnis ist zwingend erforderlich.

Das letzte und deutlich spürbar teuerste Angebot ist der Managed Server. Hier erhalten Sie zwar den vollen Zugriff auf den Server und können beinahe jede Anwendung installieren – jedoch legen die Experten vom Anbieter zusätzlich Hand an. In welchem Umfang die Provider Ihnen beim Management des Servers helfen sowie die konkreten Preismodelle sind je nach Hostinganbieter unterschiedlich. Es empfiehlt sich jedoch meist, insofern Sie eine Webagentur mit der Entwicklung Ihrer Seite betraut haben, die Serververwaltung und die Entwicklung aus einer Hand zu nehmen. Dies spart Ihnen meist Zeit und Geld, da die Entwickler die benötigten Kapazitäten am Besten einschätzen können und wissen wo man mit Optimierungen und Updates ansetzen muss.

Wie sind IPv4 IP-Adressen aufgebaut?


IP-Adressen werden im Internetprotokoll zur eindeutigen Adressierung von Geräten innerhalb eines Netzwerks verwendet. Hierbei spielt es keine Rolle ob es sich um kleinere Netzwerke, beispielsweise ein heimisches Computernetzwerk, oder das gesamte Internet handelt. Die IP-Adresse sorgt für die eindeutige Zustellung von Daten an den richtigen Empfänger.

Die IP-Adresse funktioniert quasi wie eine Postanschrift. Sie stellt sicher, dass das Datenpaket, welches über das Netzwerk versendet werden soll, beim richtigen Empfänger ankommt. Es ist möglich, dass eine einzelne IP Adresse mehrere Empfängergeräte adressiert (Broadcasting) oder aber ein Gerät auf mehrere IP Adressen reagiert. Es muss jedoch gewährleistet sein, dass innerhalb des Netzwerkes jede IP Adresse nur einmalig vergeben ist.

Die bisher am häufigsten verbreitete Notierung von IP-Adresse ist IPv4. Sie besteht aus 4 Zahlen zwischen 0 und 255, die durch einen Punkt voneinander abgetrennt werden. So ist zum Beispiel die netzwerkinterne Adresse 192.168.178.1 im IPv4 Format notiert. Heute gibt es mit IPv6 bereits einen Nachfolger im Hexadezimalsystem, der deutlich mehr Kombinationsmöglichkeiten  zulässt. In diesem Artikel wollen wir uns jedoch auf die Zusammensetzung von IPv4-Adressen eingehen, da sich die IPv6 Adressen erst sehr langsam durchsetzen können.

Das IPv4 Format ermöglich 4.294.967.296 eindeutige Adressen. Hierbei wird die IP Adresse in einen Host- und einen Netzwerkteil unterteilt. Der „Host“-Teil der IP wird vom zuständigen Router zuhause oder einem Administrator vergeben und ist somit nur innerhalb des Hosts interessant. Der Netzwerk-Block wird vom jeweiligen Netzwerkverwalter zugeteilt. Im Internet ist dies die IANA, die die einmaligen IPs vergibt und verwaltet.

Hier findet nun eine weitere Klassifizierung statt. Die IP-Netzwerk-Blöcke werden in die Klassen A bis E unterteilt. Die unterschiedlichen Klassen unterscheiden sich in der jeweiligen Länge der Host- bzw. Netzwerk-Blöcke.

blog_ip

Bei Klasse C Netzwerken können nur 8 Bit für den Host vergeben werden. Dies bedeutet, dass nur der letzte Zahlenblock vom Administrator/Router des Netzwerkes vergeben werden kann (z.B. 192.168.170.1 bis 192.168.170.255). Das Netzwerk kann also maximal 255 Geräte umfassen. Für den Privatgebrauch (z.B. das heimische PC-Netzwerk) reichen diese Klasse C Netzwerke völlig aus.

Bei Klasse A Netzwerken hingegen ist der Host-Block ganze 24 Bit lang und der Netzwerk-Teil gerade einmal 8 Bit. Daraus ergeben sich Möglichkeiten von z.B. 71.0.0.0 bis hin zu 71.255.255.255. Es ergeben sich 16.777.214 mögliche IP Adresse beziehungsweise eindeutige Geräte innerhalb des Host-Netzwerkes. Klasse A Netzwerke werden daher vorwiegend von Internetprovidern, Regierungen oder Großkonzernen wie Apple, Google oder Microsoft beansprucht.

Klasse A Netzwerke sind sehr begrenzt und werden nur im Bereich 0 – 127 vergeben. Daher sind tatsächlich nur sehr große Netzwerke für diese Klassen vorgesehen. Klasse B Netzwerke haben im ersten Block zahlen zwischen 128 bis 191 sowie – unterschiedlich je nach Netzwerk – eine weitere dreistellige Zahl im 2. Block, die von der IANA vergeben werden. Alle nachfolgenden Blöcke (Host-Teil) werden dann innerhalb des Netzwerks vergeben.

Die Zahl er IP Adressen, die IPv4 zur Verfügung stellt ist theoretisch noch lange nicht ausgeschöpft. Das Problem liegt jedoch in den ungenutzten IP Adressen. So müssen für Netzwerke mit 500 Geräten bereits Klasse B IPs vergeben werden, auch wenn diese nicht vollständig ausgefüllt wird.

Kann man einen Computer also allein an seiner IP zurückverfolgen?

An dieser Stelle gibt es ein ganz klares „Jain“ als Antwort. Der Netzwerkteil lässt sich oft recht leicht von jedermann zurückverfolgen. Bei Klasse A Netzwerken ist dies – wie oben beschrieben – immer nur der erste Block. So lassen sich beispielsweise die folgenden Zuordnungen machen:

  • Ist der erste Block mit einer 9 vergeben (z.B. 9.0.0.0) gehören die IP-Adressen zum Klasse A Netzwerk vom IBM
  • Ist der erste Block mit einer 17 vergeben (z.B. 17.0.0.0) gehören die IP-Adressen zum Klasse A Netzwerk vom Apple Inc.
  • Ist der erste Block mit einer 25 vergeben (z.B. 25.0.0.0) gehören die IP-Adressen zum Klasse A Netzwerk des britischen Verteidigungsministeriums

Diese Zuordnung ist mehr als ungenau, da nicht auf eine bestimmtes Gerät oder Routernetzwerk geschlossen werden kann.

Durch den Aufbau des Netzwerks des Providers lässt sich hier bei privaten IPs eine etwas feinere Zuordnung machen:
Zunächst ist völlig klar, dass die IP zu einem Telekom-Kunden gehört. Diese Information lässt sich direkt an der IP ablesen. Ihr Router ist nun jedoch nicht direkt mit der zentralen Vergabestelle der Telekom verbunden sondern verbindet sich seinerseits zunächst mit einer Einwahlstelle. Diese liegt meist irgendwo in der nächst größeren Stadt in Ihrer Nähe und hat von der Telekom wiederum selbst einen festen Namen zugeordnet bekommen. Auch dieser lässt sich anhand der Zuordnung zur vergebenen IP ermitteln. Dieser Name kann nun, sofern man Kenntnis über den Vergabe-Mechanismus dieser Namen beim jeweiligen Provider hat, Aufschluss darüber geben, von welchem Einwahlpunkt Sie die Verbindung benutzen. Je nach Provider lässt sich also auch diese Information ablesen und man kann Ihrer IP einen „angenäherten“ Standort zuordnen. Die weitere Zuordnung der IP zu einem speziellem Haushalt kann ausschließlich der Provider selbst vornehmen, der diese IP für Sie verwaltet hat. Dieser hat Ihre Daten jedoch zu schützen, sodass diese Daten nicht öffentlich einsehbar sind. Welcher PC innerhalb Ihres Heimnetzwerks nun adressiert wurde wird nur in Ihrem Router zuhause gespeichert und ist somit ebenfalls privat.

Abschließend lässt sich sagen, dass die „Ortung“ eines Geräts anhand der IP Adresse sehr ungenau beziehungsweise sogar fehlerhaft sein kann und keineswegs aus der IP Adresse auf eine bestimmte Person geschlossen werden kann.

Wie funktioniert das Internet? Wie entstehen Verbindungen im World Wide Web?


Heute gibt es im Internet mehrere Millionen Webseiten – die Meisten davon werden täglich mehrere hundert oder tausende Male aufgerufen. Doch wie funktioniert das, dass nach dem eintippen der URL Adresse die richtige Information am richtigen Server angefragt werden kann? Wie verständigen sich die Millionen Webserver weltweit? Wie kommt das „Internet“ zustande?

Jeder von Ihnen ist über einen Provider (z.b der Deutschen Telekom) mit dem Internet verbunden. Jede Ihrer Anfragen auf eine Website landet zunächst direkt bei Ihrem Provider – die nächst größere Instanz mit der Ihr Computernetzwerk zuhause verbunden ist. Dieser übernimmt nun die eigentliche Arbeit für Sie und begibt sich auf die Suche nach der von Ihnen angefragten Information – in diesem Fall zum Beispiel der Webseite www.software-design.de. Hierbei kommen so genannte DNS Server zum Einsatz (Domain Name System). Die Aufgabe eines DNS Servers besteht darin eine Zuordnung von IP Adressen zu verwalten. Eine IP Adresse spricht immer genau einen festgelegten Server an. Ein DNS Server weiß genau, welcher Name welcher IP und somit welchem Server zugeordnet ist.

Doch gehen wir das Ganze einmal langsam – Schritt für Schritt – durch:

Bei Ihrem Provider liegt nun die Information vor, dass sie den Server zu „software-design.de“ am Port 80 (Web) erreichen möchten. Da es gänzlich unmöglich wäre einem Server die Verwaltung aller Domainnamen anzuvertrauen Unterteilt man nun in so genannte „Top Level Domains“ (TlD). Jeder Top Level Domain ist ein spezieller Anbieter und somit ein eigener DNS Server zugeordnet. Die TLDs entsprechen jeweils der Endung der Domain – in diesem Fall „.de“. Rufen wir die Domain „software-design.com“ auf ist also wieder ein völlig anderer DNS Server für die Anfrage zuständig.

Damit Ihr Provider nun weiß welcher Anbieter für welche Endung (TLD) „.de“ zuständig ist, gibt es weltweit 13 große Root-Server. Diese speichern exakt die Informationen, unter welcher IP die DNS Server der jeweiligen TLD erreichbar sind. Ihre Anfrage für „software-design.de“ wird also vom Provider an einen Root-Server gesendet. Dieser gibt die Information weiter, dass für die Endung „.de“ die Firma DENIC unter einer ganz bestimmten IP einen DNS Server anbietet.

Somit ist die Lage des „.de“ DNS geklärt und Ihr Provider sendet die nächste Anfrage – diesmal an den DENIC DNS Server und „erkundigt“ sich nach der Domain mit dem Namen „software-design“. Die DNS Server von DENIC wissen nun welcher spezifische DNS Server die DNS Einträge für die Domain verwaltet. (Hinweis: Wenn Sie eine Website mit „.de“ erstellen wollen, bezahlen Sie derzeit 11,90€ im Jahr für den Eintrag in die DENIC DNS Systeme – nur so ist Ihre Website hinterher über den Domainnamen erreichbar.)

Vereinfachte DNS Darstellung

Nun geht also die Anfrage ein einen weiteren DNS Server der zumeist bei Ihrem Hoster betrieben wird. Hier liegt nun die tatsächlich gefragte Information, welcher Server die Anfrage an den Web-Port 80 der Domain software-design.de verarbeiten kann. Ihre Anfrage kann nun zugestellt werden. Der Webserver speichert seinerseits Informationen wie er spezifische Anfrage auf spezielle, auf ihn registrierte, Domains zu verarbeiten hat (vHosts). Dies einzurichten fällt in den Aufgabenbereich eines Webentwicklers.

Die Kommunikation zwischen Webserver und Ihrem Browser findet nun über das HTTP Protokoll statt – einer standardisierten „Protololl-Sprache“ die beide Partner verstehen können, jedoch nicht unbedingt für den Laien lesbar sind. (Hinweis: Es sind auch andere Protokolle wie FTP oder SSH denkbar. Für Websiteaufrufe wird jedoch meist nur HTTP verwendet)

Das HTTP Protokoll beinhaltet nun die Information an den Server was meine genaue Anfrage eigentlich war – in diesem Fall einen GET Befehl auf die Startseite der Domain. Der Server weiß mit dieser Anfrage etwas anzufangen und versucht sie gemäß der vom Programmierer gesetzten Routinen zu bearbeiten. Hierbei spielen teilweise Informationen eine Rolle, die ihr Browser bei der Anfrage mitgesendet hat (erlaube Verschlüsselung oder Komprimierung, Art Ihres Systems, Gewünschte Sprache,…).

In jedem Fall quittiert der Server die Anfrage ebenfalls mit einer HTTP Antwort. Es gibt verschiedene Antwort Codes die darüber Auskunft geben wie die Anfrage verlaufen ist. So gibt HTTP 200 eine erfolgreiche Anfrage aus. HTTP 404 heißt hingegen, dass die Datei nicht gefunden wurde. HTTP 500 spricht für Fehler bei der Verarbeitung am Server.

Um in diesem Rahmen noch einen weiteren Begriff zu klären: Die tatsächliche Website, die vom Webserver über das HTTP Protokoll ausgeliefert wird ist zumeist ebenfalls vom Webentwickler in einer nicht menschenlesbaren Sprache verfasst: der Hyper Text Markup Language (HTML). Reiner Text würde nämlich tatsächlich nur als solcher dargestellt. Die HTML Codes, die die „Gestaltung“ und Aufteilung des Inhalts markieren, müssen erst von Ihrem Browser umgesetzt werden, damit die fertige Website auf Ihrem Monitor erscheint.

Unterschiede RSS und Atom Feed – die richtige Wahl


RSS and ATOM Feed

Viele Websiten bieten Ihren Nutzern RSS oder Atom Feeds an, um Ihre Inhalte auch über einen RSS Reader mitzuverfolgen. Ein RSS-Reader aktualisiert die Inhalte aus dem RSS Feed in regelmäßigen Abständen und zeigt die Inhalte in chronologischer Ordnung an. Häufig laufen RSS Feeds in Seitenleisten und senden „Notifications“ an den Nutzer, sobald ein neuer Beitrag entdeckt wurde. RSS Feeds werden ganz besonders in „News“-Seiten oder Blogs eingesetzt, bei denen regelmäßig journalistische Inhalte eingestellt werden. Heute finden RSS Feeds jedoch auch in anderen Programmen wie iTunes oder in Podcast-Programmen immer häufiger eine Anwendung.

Auf vielen Seiten wird nun jedoch zwischen einem RSS-Feed und einem Atom-Feed unterschieden. Was ist der Unterschied? Was soll ich abonnieren? Wenn ich selbst einen Feed erstellen möchte: Welches Format wähle ich? 

Zunächst einmal sollten wir klären: Was sind eigentlich Feeds ganz genau?

RSS stand ursprünglich für Rich Site Summary (seit Version 2.0 für Really Simple Syndication) und beschreibt einen leicht lesbaren syntaktischen Aufbau von Informationen. Es wird benutzt, um Neuigkeiten einer Website in ein chronologisches Format zu bringen. Während der original Standard seit dem Jahhr 2000 beständig weiter entwickelt wurde, ATOM wurde einige Jahre später (2005) als Nachfolgestandard veröffentlicht.

Feeds können von Feed-Reader Programmen gelesen und chronologisch wiedergegeben werden. Zumeist werden RSS oder ATOM Feeds für Blogs, Newsletter, Podcasts und Newsseiten verwendet. Wer den Feed abonniert bekommt regelmäßig die neusten Beiträge in chronologischer Reihenfolge ausgeliefert. RSS-Reader helfen dabei die Abonnements zu verwalten und regelmäßig über die Updates und Neuerungen zu informieren.

Was ist der Unterschied zwischen RSS und Atom Feeds?

Es gibt zwei verschiedene Arten von Feeds die sich im Laufe der Zeit durchgesetzt haben. Hierzu zählt neben dem RSS-Feed der so genannte ATOM-Feed. In Ihrer Funktionsweise und Verwendung unterscheiden sich die beiden Formate eher unwesentlich. Beide Formate basieren auf der „Auszeichnungssprache“ (Markup Language) XML und folgen ziemlich ähnlichen Formatvorgaben.

ATOM Feeds können jedoch anders als herkömmliche RSS Feeds zwischen den Inhaltsformaten, den so genannten MIME Types unterscheiden. Zur Wahl steht „PlainText“ was tatsächlich reinen unformatierten Text darstellt (die Formatierung wird vom RSS-Reader vorgenommen) und das HTML-Format (Formatierung über HTML-Tags vom Ersteller des Feed vorgegeben und einbettung von Medien möglich).

Der RSS Standard unterstützt im Gegensatz zu ATOM ausschließlich „escaped“ HTML oder reinen Text. Eine Unterscheidung dieser beiden Format ist technisch nicht vorgesehen und daher muss der RSS-Reader selbst entscheiden ob die Seite mit HTML oder „PlainText“ ausgeliefert wurde. Bei „escaped“ HTML im RSS Feed besteht daher unter anderem die Gefahr, dass Sonderzeichen und Umlaute nicht korrekt dargestellt werden.

Zudem ist der Aufbau eines ATOM Feeds im Unterschied zu RSS sehr modular und erlaubt diverse zusätzliche Attribute die diese Darstellungsprobleme des RSS Standards ausbessern sollen.

Grundsätzlich erlaubt RSS leere Elemente im Feed, was häufig bei einer unsauberen Programmierung in Readern zu Problemen führen kann. In ATOM hingegen Titel des Blogs und Zeitstempel (Datum der Erstellung / des Updates) zwingend erforderlich, da ein ATOM Feed ohne chronolgische Ordnung nicht dem definierten Standard entspricht.

Welchen Feed sollte ich verwenden? RSS oder ATOM?

Auch wenn RSS der deutlich stärker verbreitete Standard ist, sollte man dem ATOM Feed heute den Vorzug geben. ATOM behebt die gröbste Mängel in der RSS Spezifikation und bietet ein verlässliches Format für Feedinformationen. Da die meisten Reader heute längst beide Formate unterstützen sollte Ihnen die Wahl keineswegs schwer fallen.

Warum HTML5 Flash ablösen wird


Webseiten mit Flashanimationen waren lange Zeit modern und spiegelten den aktuellen Stand der Technik wieder. Die vielen visuellen Möglichkeiten zur Animation und Interaktion lockten viele Webdesigner an. Seit sich der HTML5 Entwurf des W3Cs bereits zu großen Teilen durchgesetzt hat, finden die Flashanimationen jedoch einen Ablöser.

Das von Adobe entwickelte Flash Player-Plugin bot lange Zeit die einzige Möglichkeit aufwendig animierte Seiteninhalte darzustellen, Interaktionen wie „Drag & Drop“ zu realisieren und es war die einfachste und verbreitetste Art, Video- und Audio-Elemente in eine Website zu integrieren. Auch heute gilt es als eine der sichersten Möglichkeiten Videos auf eine Website einzubetten, da der Großteil der Internetbenutzer das Plugin im Browser installiert hat.

Das W3C (World Wide Web Consortium) hat mit dem aktuellen HTML5 Entwurf erstmals eine umfassende Alternative für das Flash-Plugin bereitgestellt. Durch die jüngsten Performanceupdates in den Browser Engines, lassen sich nun auch komplexe Animationen direkt über die in allen Webbrowsern implementierte Sprache JavaScript realisieren. HTML5 sieht dafür eigene „Canvas“-Elemente vor, die als „Zeichenoberfläche“ für Animationen, Grafiken und Interaktionen dienen. Auch Drag & Drop und direkter File-Upload über JavaScript zählt zum aktuellen Standard.

Für Audio- und Video-Wiedergabe sind eigene Spezifikationen in HTML5 integriert worden. Moderne und aktuelle Webbrowser können somit Ton und Bild direkt und ohne vorher zu installierendes Plugin darstellen.

Ein weiterer Vorteil der HTML5 Lösung ist die Konformität zur Suchmaschinenoptimierung. Flash Player Elemente sind für die Crawler der Suchmaschinen nicht zu lesen. Dies bedeutet, dass ganz auf Flash basierende Seiten in keiner Suchmaschine effektiv aufgelistet werden können. Da der HTML5 Quellcode offen lesbar ist, können Suchmaschinen die Inhalte dort zumeist in gewohnter Routine auslesen.

Was bringt die Zukunft?

Es ist abzusehen, dass HTML5 den Flash Player auf lange Sicht ablösen wird. YouTube bietet mitlerweile für moderne Browser eine „HTML5 Video“-Alternative und viele Onlinespiele laufen schon ganz ohne Plugins. Adobe selbst hat mitlerweile HTML5-Tools entwickelt und die Programmiersprache ActionScript, die dem Flash-Plugin zu Grunde liegt auf mobile Plattformen portiert. Flashwebseitenbetreiber sollten schnell umsteigen.