Allgemein

The Setup

Bei Martin kam die Idee auf, dass man die Idee des Originals The Setup aufgreifen könnte und ich habe mich beteiligt. Mein kleiner Beitrag mit Infos über meine Ausstattung, vorrangig im Freizeitnerdbereich, könnt ihr auf der eingerichtete Seite nachlesen.

Alle Ausgaben kann man auf einer gesonderten Seite von Ad nachlesen und vielleicht macht ja der eine oder andere von euch auch mit; Informationen dazu gibt es im zugehörigen Beitrag von Martin.

Standard
Webküche

Asaph – einfach bloggen

In der Bloggosphäre gibt es eine ganze Reihe von Leuten, die einfach nur Bloggen wollen; vorrangig Links, Zitate oder Bilder. Auch der Begriff Microblog definiert diese Form des Bloggens – einfach, unkompliziert und mit wenig Aufwand, das sind Stichworte die diese Form des Bloggens beschreiben.

Nicht immer ist der Autor eines solchen Blogs mit WordPress oder ähnlichen Puplishing-Applikationen richtig beraten, denn sie sind komplexer und erfordern ein gewisses Maß an Administration.

Daher empfehle ich, schaut euch Asaph an Weiterlesen

Standard
Allgemein

Songbird, ein Open Source Stern?

Get SongbirdEin Player der mit populären Appliaktionen im Backend daher kommt und im iTunes-Stil die Nutzer erobern will.

Songbird ist sehr ausgereift und basiert unter anderem auf dem populären VLC Player und XUL – einer Technologie der Mozilla Foundation, die unter anderem im Firefox Browser eingesetzt wird.

Die Oberfläche erinnert sehr stark an iTunes, was erst mal nicht schlecht ist. Songbird läuft auf allen bekannten Plattformen und wird ständig erweitert. Schon jetzt ist die Software unwahrscheinlich mächtig und vielseitig. Nichts was Songbird nicht kann. Besonders schön für den Einstieg – Songbird ist mehrsprachig und läuft schon jetzt erstaunlich stabil. Eine Software, die man im Auge behalten sollte.
Weiterlesen

Standard
Tools

Diagramme schnell erstellt

Vor geraumer Zeit habe ich die Software yED vorgestellt, mit der man sehr leicht und trotzdem mächtig Diagramme und Abläufe erstellen kann. Seit dem arbeite ich gern und viel mit diesem Tool.

Nun wurde mir die Software Diagram Designer nahengelegt, auch ein Freewaretool, welches aber in der Bedienung und Oberfläche für die Erstellung von Diagrammen, Abläufen und Slideshows optimiert ist. Damit kann auch der Laie schnell und einfach ein Flussdiagramm erstellen, ohne teure und aufwendige Programme zu kaufen oder sich in einer Textverarbeitung zu quälen.

Dieses Werkzeug kann ohne Installation auskommen (1MByte auf der Platte) und bringt auch eine Reihe an Sprachoberflächen mit, so dass der Einsteig leicht fallen sollte. Die Bedienung ist intuitiv, per Drag & Drop werden die Elemente in das Zeichenblatt geholt und miteinander verknüpft. Ansonsten gibt es eine Hilfe, wo man das eine oder andere nachlesen kann. Der Applikation liegen einige Beispiel bei, so dass man schnell einen Überblick über die möglichen Erscheinungen bekommt.

Daten können per Im- und Export-Funktion aus den unterschiedlichsten Formaten beigesteuert werden. Das Tool ermöglicht das Arbeiten auf drei Ebenen und ermöglicht das Erstellen eigener Objekt-Templates. Weiterhin kann man Plugins erstellen, die die Software erweitern.

Screenshot Diagramm Designer

Standard
Entwicklung

Anforderung an Unternehmensapplikationen

Eine Applikation zu programmieren, die den hohen Anforderungen eines oder sogar mehrerer Unternehmen gerecht wird, ist schwer. Durch die Integration von Partnern, Kunden und Lieferanten werden die Probleme, welche gelöst werden müssen, zunehmend komplexer.
Um diesen Anforderungen gerecht zu werden, sind bestimmte Grundanforderungen zu erfüllen. Sie sind nur lösbar, indem eigenständige Module in eine hoch entwickelte E-Business-Plattform integriert werden, quasi eine übergreifend genutzte Entwicklungs- und Laufzeitplattform, die sich den speziellen Wünschen der Unternehmen anpasst. Durch die unterschiedlichen Module können sich Entwickler auf die Realisierung der eigentlichen Aufgabe im relativ kleinen Rahmen konzentrieren. Ein Entwicklerteam muss also nicht alle Anforderungen gleichzeitig erfüllen. Somit läuft es auch nicht Gefahr, das eigentliche Ziel des Projektes aus den Augen zu verlieren. Wesentliche Anforderungen an solch eine Plattform sind:

  • Durch die verschiedenen Hardware- und Betriebssysteme muss die genutzte Plattform die Ablauffähigkeit der Software sicherstellen. Sie muss alle vorhandenen Datenbanksysteme unterstützen und mögliche Einschränkungen auf ein System vermeiden.
  • Viele Nutzer müssen simultan an der Applikation arbeiten können. Sie muss über schnelle und langsame Netzwerkverbindungen erreichbar sein. Oft ist das Umfeld, in dem die Applikation genutzt wird, im internationalen Rahmen tätig, so dass verschiedene Sprachen notwendig sind.
  • Die Anwender müssen durch die Software authentifiziert werden. Individuelle Zugriffsberechtigung auf die unterschiedlichen Module und deren Funktion werden vergeben.
  • Die Verwaltung verschiedener Versionen sollte gewährleistet sein. Ebenso muss die Entwicklung in großen Teams möglich sein.
  • Alle systemseitigen und eigenen Programmelemente müssen aus Produktivitätsgründen für andere Entwickler wieder verwendbar sein.
  • Die zahlreichen technischen und betriebswirtschaftlichen Basisdienste und Funktionen müssen innerhalb der Applikation nach Bereichen und Themen strukturiert werden. Nur so ist das System überschaubar und verwaltbar.
Standard
Entwicklung

Schnittstellen

Grundlagen

Als Schnittstellen bezeichnet man „Türen“, durch die Daten zwischen einem System und seiner Umwelt ausgetauscht werden. Die Schnittstelle stellt ein Teil des Systems dar, welches dem Austausch von Informationen mit anderen Systemen dient. Die Informationen können dabei in verschiedener Form vorliegen. Schnittstellen werden durch eine große Menge von Regeln definiert. Die Integration dieser Regeln ermöglicht es den Systemen, welche diese Regeln besitzen, untereinander zu kommunizieren. Die Beschreibungen der Regeln können sich auch voneinander unterscheiden, müssen dann aber kompatibel sein, d.h. zueinander passen (Bsp.: Stecker und Buchse).
Im Unternehmen kommen unterschiedliche Anwendungen zum Einsatz. Es wird mit vielen verschiedenen Firmen, Abteilungen etc. zusammen gearbeitet. Dabei kommen unterschiedliche Anwendungen/ Systeme zum Einsatz. Eine schnelle Arbeitsweise erfordert es, die Daten elektronisch zwischen den Systemen auszutauschen.
Für Schnittstellen sollten die in DIN 44 302 niedergelegten Kurzdefinitionen gelten.

Das Problem

Jedes System speichert die Daten intern in einer speziellen Datenbasis, also in verschiedener Art und Weise, auf die die Verarbeitungsalgorithmen der Programme optimal abgestimmt sind. Die Datenbasen der verschiedenen Systeme unterscheiden sich also vollkommen. Ihr Aufbau und Inhalt hängt auch von den Modellierungs- und Verarbeitungsmöglichkeiten der einzelnen Programme ab. Die externen Dateien, welche gespeichert werden, sind also Auszüge aus der internen Datenbasis. Sie sind schlecht aufeinander abstimmbar, da sie so verschieden sind. Es ist also unmöglich, einen einheitlichen Programmcode für alle Systeme zu nutzen.
Probleme mit Schnittstellen kommen aber nicht nur durch ihre unterschiedliche Datenbasis zustande, sondern häufig auch durch Missverständnisse zwischen der verfügbaren Schnittstellen-Hardware. Die Betriebssysteme unterstützen oft nur unzureichend oder gar nicht die Operationen an den Schnittstellen. Es ist beispielsweise so, dass es bei verschiedenen Betriebssystemen am PC zu unterschiedlichen Definitionen der gleichen Schnittstelle kommen kann. Die PCI- Schnittstelle wird z.B. unter Windows anders definiert, als unter Linux, beschreibt aber das gleiche System.
Dazu kommt eine immer steigende Zahl an Neuentwicklungen und Trends, die neue Möglichkeiten erschließen sollen, aber dadurch auch die Vielfalt vergrößern. Schnittstellen müssen angepasst werden und sich immer dem aktuellen Stand der Technik fügen.
Probleme entstehen aber nicht nur bei dem Datenaustausch zwischen Maschinen, die ihre Inhalte nicht richtig identifizieren und damit lesen können. Es gibt immer Datenverlust. Auch die Kommunikation zwischen Mensch – Maschine ist nur schwer möglich. Um diese Kommunikation zu erleichtern, sollten standardisierte Schnittstellen entwickelt werden.

Der Datenaustausch

Beim Datenaustausch werden ganz allgemein Informationen ausgetauscht. Im einfachsten Fall findet das in Papierform statt. In der Rechnerarchitektur werden Daten zwischen verschiedenen Rechnern ausgetauscht. Dabei gibt es viele Möglichkeiten des Datenaustauschs: Diskette, CD-ROM, Datenträger oder über Netzwerke.
Der elektronische Datenaustausch ist auf zwei Arten von Schnittstellen möglich:

Die Direktschnittstelle

Eine Anwendung kreiert die Daten eines Systems in das Zielsystem. Sie formt die Daten exakt so um, als wären die Daten im Zielsystem selbst entstanden – eine so genannte Direktschnittstelle.

Vorteile:

  • Sollten die Regeln der beiden Systeme (Quelle, Ziel) ähnlich sein, ist ein verlustarmer und sicherer Datenaustausch möglich.

Nachteile:

  • Durch Zuhilfenahme eines Übertragungsprogramms funktioniert nur die Datenübertragung von einem speziellen System in ein spezielles Zielsystem. Also nur in eine Richtung, ohne Austauschmöglichkeit.
  • Gibt es größere Unterschiede zwischen den Systemen, so ist kein reibungsarmer und verlustarmer Datenaustausch möglich.
Direktschnittstelle
Direktschnittstelle

Die neutrale Schnittstelle

Durch die Vereinbarung eines neutralen Formates kann der Austausch durch beliebige Systeme erfolgen. Das bedeutet, das jedes beteiligte System seine Daten in einem neutralen Format schreiben und lesen muss und dann in sein internes Format wandelt.

Vorteile:

  • Jedes beteiligte System kann in jede Richtung Daten austauschen.
  • Neue Software, Applikationen, etc. können relativ leicht in den Datenaustausch eingebunden werden.
  • Das Format ist unabhängig von Neuentwicklungen und Trends, es kann in seiner ursprünglichen Form erhalten bleiben.
    Die beteiligten Systeme müssen sich den aktuellen Neuentwicklungen anpassen, was aber Bestandteil des Systems ist.

Nachteil:

  • Das neutrale Datenformat muss sehr umfassend sein, um alle Anforderungen und Möglichkeiten in jedem System zu realisieren.
Neutrale Schnittstelle
Neutrale Schnittstelle

Lösung:

Mit Hilfe des neutralen Datenformates ist der Austausch durch beliebige Systeme möglich.

Standard
Entwicklung, XML

SOAP – Simple Object Access Protocol

SOAP steht jetzt für SOAP!
Die W3C-Arbeitsgruppe hat entschieden, den Namen SOAP für die Spezifikation V1.2 zu übernehmen. In dieser Version steht SOAP nicht mehr als Akronym für Simple Object Access Protocol, sondern ist eine eigenständige Bezeichnung – also ab jetzt nur noch SOAP.

SOAP – Das Zugriffsprotokoll

SOAP ist ein Protokoll für den Austausch von strukturierten Daten zwischen verteilten Anwendungen. Es ist von großer Bedeutung bei Webanwendungen. Der Datenaustausch erfolgt mittels XML-Dokumenten. Das zu versendende Dokument wird bei SOAP mit einen „Umschlag“ versehen, der die eigentlichen Daten mit den Verwaltungsinforationen anreichert. Nachrichten auf der Basis SOAP können mit jedem herkömmlichen Protokoll der Transport- und Anwendungsschicht (vgl. TCP/IP-Referenzmodell) versendet werden (z.B. http, https, SSL). Die gängigste Kombination ist SOAP über http und TCP. Außerdem kann SOAP in jede Programmiersprache implementiert werden und ist plattformunabhängig. Daraus resultiert die hohe Geschwindigkeit und die breite Akzeptanz. Ursprünglich war SOAP die Abkürzung für Simple Object Access Protocol (Einfaches Objekt-Zugriffs-Protokoll), seit Version 1.2 ist SOAP jedoch offiziell keine Abkürzung mehr, da es nicht (nur) dem Zugriff auf Objekte dient.

Der Aufbau der SOAP-Nachricht

Aufbau einer SOAP-Nachricht
Aufbau einer SOAP-Nachricht

In jeder SOAP-Nachricht ist ein XML-Dokument enthalten, welches einen Umschlag (SOAP Envelope), einen optionalen Kopf (SOAP Header) und einen Datenbereich (SOAP Body) enthält.
Das Envelope umschließt die Nachricht wie ein Umschlag und muss in jeder Nachricht enthalten sein. In diesem Umschlag wird unter anderem angegeben: was in der Nachricht enthalten ist; von wem sie erarbeitet werden soll (URL der Zielapplikation) und welche Angaben der Nachricht optional sind.
Der Header, der Kopf der Nachricht, ist optional und dient für zusätzliche Informationen. Durch ihn kann die Funktionalität der Nachricht erweitert werden, welche im Vorfeld nicht zwischen den Applikationen vereinbart worden ist. Dabei werden bestimmt Attribute definiert.
Der Body, die eigentliche Nachricht, ist dagegen nicht optional und muss in jeder Nachricht vorhanden sein. Er beinhaltet die eigentlichen Informationen, die für den Empfänger gedacht sind. Im Body können beliebig viele Sub-Elemente vorhanden sein, in denen die bestimmten Parameter vorhanden sind.

Standard
Tools

Tools – yED, die Alternative zu MS Visio

Seit ca. zwei Jahren arbeite ich mit der Software MS Visio, mit der ich komplexe Abläufe für Softwareentwicklungen und Schnittstellen darstelle. Schon immer war ich auf der Suche nach einer Alternative – nun, dank Stephan Lamprecht habe ich sie nun gefunden – yED-Java Graph Editor.

Nach dem ich mir das gute Stück mal angesehen habe, bin ich direkt auf auf yED umgestiegen. Die Software läuft wirklich klasse und die Anwendungen entsprechen meinen Vorstellungen. Ähnlich verhält es sich mit der Bedienung, die intuitiv ist und sich dem User schnell erschließt. Falls nicht, ist ein deutsches Tutorial beigepackt, bei dem alles kurz und übersichtlich erläutert wird.
Schön ist außerdem, das die Software in deutsch verfügbar ist und das notwendige Icons, Bilder leicht hinzugefügt werden können. Von Hause aus bringt yED aber eine meist ausreichende Bibliothek von Icons und Bildern mit und ist dabei trotzdem recht schlank (5,7Mbyte) auf der Platte.

Seine Projekte kann man dann in den unterschiedlichsten Formaten speichern, unter anderem die üblichen Bildformate (png, jpg, bmp, gif) aber auch als Vector-file (svg, svgz) oder im Geometrie-Format (gml, xgml) und einige mehr.

Screenshot YED

Standard