SOAP

SOAP ist ein Netzwerkprotokoll und gilt als Standard

SOAP ist die Abkürzung für Simple Object Access Protocoll und ist von DevelopMentor, IBM, Lotus Development, Microsoft und Userland Software entwickelt worden. Es fungiert als Netzwerkprotokoll, mit dessen Hilfe Daten zwischen Systemen ausgetauscht und Remote Procedure Calls durchgeführt werden können.  Der Hauptentwickler ist Don Box von DevelopMentor, einer der Spezialisten für XML. SOAP ist mittlerweile ein Standard, der vom W3C Konsortium unterstützt wird. In der Web-Service-Technologie steht SOAP als standardisiertes Paketprotokoll für den Nachrichtenaustausch zwischen verteilten Systemen. Diese Spezifikation definiert eine einfache XML-basierte Umgebung, den so genannten Envelope, um Informationen auszutauschen und ein Set von Regeln, um Applikationen und plattform-spezifische Datentypen in XML-Repräsentationen zu transferieren. SOAP ist so konzipiert, dass es eine große Vielfalt von Anwendungsfällen abbilden kann.

SOAP basiert auf XML und HTTP

Jede SOAP-Nachricht ist ein XML-Dokument, das aus drei Segmenten besteht: dem SOAP-Envelope, dem SOAP-Header und dem SOAP-Body. Während der SOAP-Header optional ist, müssen die beiden Elemente SOAP-Envelope und SOAP-Body in jeder SOAP-Nachricht vorhanden sein. SOAP ist ein XML-basiertes Protokoll und basiert auf zwei bestehenden Standards: HTTP, das den Transport einer Nachricht übernimmt und XML, das als Umschlag für die Nachricht fungiert.

SOAP basiert auf XML-Standards wie XML-Schemata und XML-Namensräumen. Eine SOAP-Applikation sollte also für alle Elemente und Attribute die von SOAP vorgegebenen Namensräume einbinden. Desweiteren muss eine Anwendung, die SOAP-Nachrichten verarbeiten soll, in der Lage sein alle Elemente aus dem SOAP-Namensraum zu erkennen und Nachrichten mit nicht korrekten Namensräumen zu verwerfen.

Ziele von SOAP sind Einfachheit, Erweiterbarkeit, der Einsatz auf verteilten Systemen, sogar durch Firewalls hindurch und das Nutzen aktueller Standards wie  HTTP und XML.

Weitere Informationen zum Thema SOAP gibt es auf der Website der Wikipedia Enzyklopädie https://de.wikipedia.org/wiki/SOAP

Softwareentwickler

Softwareentwickler lösen Probleme im Team

Vor 20 Jahre noch kaum bekannt, hat sich der Bereich Softwareentwicklung zu einer festen Größe innerhalb des wirtschaftlichen Lebens entwickelt. Das digitale Zeitalter, die Entwicklung des Internets und der rasante Fortschritt der Personalcomputer und mobilen Geräte haben es aber möglich gemacht, dass das Berufsbild der Softwareentwickler heute so verbreitet ist. Ohne die passende Software funktioniert auch keine Hardware: Softwareentwickler nutzen Programmiersprachen wie .NET, Java, C++ , PHP, SQL oder HTML, um mit diesen Sprachen bestimmte Programme zu erstellen, die wiederum verschiedene Aufgaben und Funktionen übernehmen sollen.

Arbeitsplätze finden Softwareentwickler häufig in Software- und Systemhäusern, wo sie spezielle Probleme lösen. Außerdem bieten auch Internetfirmen, öffentliche Institutionen im Backend oder auch das Militär eine berufliche Perspektive. Softwareentwickler arbeiten oft in Teams und üben verschiedene Rollen aus. So können sie Programmierer, Softwarearchitekten, Tester oder Anforderungsspezialisten sein.

Softwareentwickler brauchen technisches Verständnis und Know-how

Die Berufsbezeichnungen Softwareentwickler oder Programmierer sind eher umgangssprachlich und stehen im allgemeinen für die Absolventen eines Informatikstudiums. Softwareentwickler ist keine geschützte Berufsbezeichnung. Softwareentwickler benötigen vor allen Dingen das technische Verständnis für Zusammenhänge im Bereich der Informationstechnologie. Das ist die Grundvoraussetzung, hinzu kommt das Beherrschen der gängigen und verwendeten Programmiersprachen.

In der Regel beschäftigen sich Softwareentwickler mit Problemstellungen, die gelöst werden müssen. Aus diesem Grund ist analytisches und lösungsorientiertes Denken im beruflichen Alltag notwendig. Eine gute Kommunikationsfähigkeit im Team und gegenüber dem Kunden ist für die Arbeit wichtig, denn bei größeren Projekten arbeiten Softwareentwickler nicht allein, sondern in größeren Teams.

Weitere Informationen zum Thema Softwareentwickler finden Sie auf der Website der Wikipedia Enzyklopädie https://de.wikipedia.org/wiki/Softwareentwickler

oder auf den entsprechenden Websiten von Wiktionary zum Thema Softwareentwickler https://de.wiktionary.org/wiki/Softwareentwickler und Programmierer https://de.wiktionary.org/wiki/Programmierer

Softwaretester

Ein Softwaretester ist auf der Suche nach Softwarefehlern

Softwaretests sind mit der Softwaretechnik eng verbunden: Softwaretester sind Profis darin, Software zu testen und Fehler zu entdecken, die der Entwickler des zu testenden Codes weder eingeplant noch vorausgesehen hat. Softwaretester sollen das Vertrauen in die Software erhöhen und Fehler aufdecken. Der Hintergrund: Immer wieder kommt es vor, dass Software nicht so funktioniert, wie sie soll. Softwaretester sollen im Vorfeld diese Fehler, die ganz unterschiedliche Ursachen haben können, aufspüren und die Nutzerzufriedenheit erhöhen.

Softwaretester arbeiten auf allen Ebenen der Softwareentwicklung: Die kleinsten Einheiten des Codes werden genauso Tests unterzogen wie die fertige Software als Ganze. Nicht nur Fehler die im Code für das Versagen der Software verantwortlich sind, sondern auch Fehler die durch Missverständnisse zwischen Nutzer und Entwickler entstehen, werden durch Softwaretester aufgespürt.

Softwaretester verhindern Softwarefehler, die teuer werden können

Der professionelle Softwaretester kennt nicht die Annahme des Entwicklers: Er versucht sich in die Rolle des Anwenders hineinzudenken. Hier beginnt nun der kreative Denkprozess des Softwaretesters. Er versucht Eingaben des Anwenders zu antizipieren, die falsch sind. Ein Beispiel: Bei der Eingabe eines Passwortes ist üblicherweise auf Groß- und Kleinschreibung zu achten. In den meisten Fällen wird bei der Eingabe eines fehlerhaften Passwortes heute darauf hingewiesen. Heute wird noch ein zusätzlicher Hinweis gegeben: Achten Sie darauf, dass die CAPS-LOCK-Taste (Feststelltaste) nicht gedrückt ist. Ob sie gedrückt ist, zeigt ein kleines Lämpchen an. Ohne diesen Hinweis wäre der Anwender komplett irritiert. Vielleicht hat er sich wirklich vertippt. Er versucht die Eingabe mehrere Male und landet plötzlich in einer neuen Anzeige: Ihr Passwort wurde gesperrt, setzen Sie sich mit ihrem Systemadministrator in Verbindung.

Dieses Szenario passiert in abgewandelter Form auch heute noch in jeder Software. Die Eingabe des Nutzers verletzt eine Geschäftsregel, von der der Nutzer nichts wissen kann. Gute Programme geben eine entsprechende Fehler-und Hilfemeldung. Softwaretester spüren solche Fehler auf und geben ihre Erkenntnisse an die entwickelnde Firma zurück, die für Optimierung sorgt.

Weitere Informationen zum Thema Softwaretester, bzw. Softwaretest gibt es auf der Website der Wikipedia Enzyklopädie https://de.wikipedia.org/wiki/Softwaretest

Und auf der Website der Enzyklopädie der Wirtschaftsinformatik http://www.enzyklopaedie-der-wirtschaftsinformatik.de/lexikon/is-management/Systementwicklung/Hauptaktivitaten-der-Systementwicklung/Software-Implementierung/Testen-von-Software/

Softwaretesting

Softwaretesting findet Fehler in der Software

Softwaretestings gehören zu den grundlegenden Prinzipien in der Softwaretechnik. Softwaretester sind Experten darin, Software zu testen und Fehler zu finden, die der Entwickler des zu testenden Codes nicht vorausgesehen hat. Der Hintergrund: Immer wieder kommt es im Wirtschaftsleben zu Softwarepannen. Spektakuläre Pannen in den vergangenen Jahren beispielsweise sind eine Flughafeneröffnung, die verschoben werden musste, weil das Gepäcksystem versagte – so geschehen in London Heathrow – oder Kundenkonten, die tagelang bei einer Bank nicht abrufbar waren, weil die neue Software nicht funktionierte. Weniger spektakuläre Pannen kommen im IT-Bereich immer wieder mal vor: Softwaretestings sollen sie im Vorfeld verhindern und die Nutzerzufriedenheit erhöhen.

Softwaretestings finden auf allen Ebenen der Softwareentwicklung statt – die kleinsten Einheiten des Codes werden genauso Softwaretestings unterzogen wie die fertige Software als Ganzes. Oft fehlen Motivation oder Verständnis dafür, Tests für eine Routine, die auf den ersten Blick korrekt aussieht und erwartete Ausgaben produziert, zu entwickeln. Softwaretestings aber sollen das Vertrauen in die Software erhöhen und Fehler aufdecken. Nicht nur Fehler die beispielsweise im Code dafür verantwortlich sind, dass falsche Ausgaben produziert werden, sondern auch Fehler in Spezifikationen, die dadurch entstehen, dass Nutzer und Entwickler sich falsch verstanden haben – oder Fehler, die aufgrund nicht kompatibler Elemente unterschiedlicher Software entstehen. Außerdem muss durch ein Softwaretesting verifiziert werden, dass die Software alle Anforderungen, die in der Softwarespezifikation formuliert sind, erfüllt werden.

Softwaretesting verhindert Softwarepannen, die viel Geld kosten

Fest steht: Die Programme sind komplexer geworden und mittlerweile müssen Softwareunternehmen deshalb mehr Aufwand im Bereich des Softwaretestings betreiben als früher. Im Bereich des Softwaretestings unterscheidet man zwischen Validierung und Verifizierung. Auf allen Ebenen der Softwareentwicklung findet man den gleichen Prozess – es existieren Anforderungen, aus denen Spezifikationen abgeleitetet werden und anhand dieser Spezifikation findet eine Implementation statt. Wann immer etwas gegen eine Spezifikation getestet wird, spricht man von einer Verifizierung, während Tests gegen die Anforderungen Validierungen sind. Auch in welchem Maße Softwaretesting stattfinden sollte, ist eine Frage, die sich immer wieder stellt. Testabdeckung bezeichnet das Verhältnis zwischen den tatsächliche gemachten Tests und den insgesamt möglichen Tests.

Weitere Informationen zum Thema Softwaretesting gibt es auf der Website der Wikipedia Enzyklopädie https://de.wikipedia.org/wiki/Softwaretest

Und auf der Website der Enzyklopädie der Wirtschaftsinformatik http://www.enzyklopaedie-der-wirtschaftsinformatik.de/lexikon/is-management/Systementwicklung/Hauptaktivitaten-der-Systementwicklung/Software-Implementierung/Testen-von-Software/