Web-Service
Web-Service Schema: Funktionsweise (SOAP, XML-RPC,  WSDL, UDDI, Serviceanbieter, Servicekonsument, Service-Broker) Web-Service Schema: Funktionsweise (SOAP, XML-RPC,  WSDL, UDDI, Serviceanbieter, Servicekonsument, Service-Broker)
Ein Web Service (Netzwerkdienst) ist für Rechner gedacht und stellt für diese im Prinzip einen ähnlichen Service zur Verfügung wie die Webseiten es für Menschen tun.  Web Services (oder Web-Dienste) sind anhand einer URI (Uniform Resource Identifier) ansteuerbar und  kommunizieren mit den Client-Rechnern (Konsumenten) über XML-basierte Dienste und Protokolle.

Service-Broker
Ein Anbieter von Web Services veröffentlicht seine  Dienste über einen Service-Broker. Dieser führt ein Verzeichnisdienst, der technisch mit UDDI (Universal Description, Discovery and Integration) realisiert ist. Der Konsument von Web Services kann in  dem bereitgestellten Verzeichnis nach passenden Web Services suchen und sie auswählen → er wird dann dynamisch mit dem jeweiligen Anbieter direkt verbunden.

UDDI, SOAP und WSDL 
UDDI arbeitet mit einer SOAP-Schnittstelle (Simple Object Access Protocol). Das Suchen von Web Services im Verzeichnisdienst erfolgt über WSDL (Web Services Description Language). WSDL ist eine Metasprache die dazu  dient, Daten und Datentypen, Funktionen sowie Austauschprotokolle eines Netzwerkdienstes zu beschreiben. Die entsprechenden Datentypen werden in einer XML-Repräsentation innerhalb einer WSDL-Datei gespeichert.  Via SOAP wird die entsprechende in WSDL geführte Funktion dann aufgerufen. Wenn der Dienst über den Anbieter mit dem Client (Konsument) verbunden wird, so geschieht dies mit SOAP oder XML-RPC (XML-Remote Procedure Call) → Methodenaufruf. 

Programmlogik und Serviceorientierte Architekturen
Das Konzept und die Programmierung bzw. Programmlogik der Web Services lehnt sich an die  Serviceorientierten Architekturen (SOA, Service Oriented Architecture) an. Die SOA streben eine maximale Wiederverwendbarkeit von Anwendungen an, indem Dienste sukzessive aufgerufen werden können, anstatt  immer jeweils die zugrunde liegenden Programme ändern zu müssen.

Beispiele
Beispiele für Web Services sind der Datenaustausch von Reisedaten zwischen Airlines und Reisebüros: die Fluggesellschaften bieten über einen  Web Service einen Dienst zum Recherchieren und Buchen von Flügen an. Die Reisebüros binden diese Informationen in Echtzeit per UDDI auf ihren Web-Präsenzen ein. Google unterhält einen Web Service  (http://code.google.com) der die gleichen Möglichkeiten bietet, wie die Benutzerschnittstelle auf der Webseite selber. Entsprechende Programme suchen über diese Schnittstelle nach Informationen im WWW und können die daraus gewonnen Daten direkt für ihre  eigenen Bedürfnisse verwenden.

Fortschritte in der EDV durch Web Services
Web Services könnten einen grösseren Fortschritt in der Datenverarbeitung bedeuten.  Die Standardisierung des XML Schemas nimmt Fortschritte an. Im Business Internet Consortium (BIC) sind Unternehmen zusammengeschlossen, die  E-Business Standards fördern wollen (u.a. Microsoft, Intel, Sun Microsystems, Computer Associates, Dell, HP, Compaq, IBM, SAP, Ford, Gillette), darunter auch XML-Standards (u.a. XML-Schema, XSL, XSLT, XPath, X-Link, XML Query oder SGML und SVG).  Diese XML Standards sollen helfen, Richtlinien für B2B-Prozesse und B2B-Lösungen sowie eine Roadmap für Unternehmen, die sich diesem Anpassungsprozess unterwerfen wollen, zu erarbeiten.  Der Windows .NET-Server ist beispielsweise eine Plattform für Web Services; Visual Studio  ist geeignet um Web Services zu entwickeln. Web Services bieten Kostenvorteile, sind flexibel und umgehen das Firewall- Problem, da sie über das HTTP-Protokoll übertragen werden. Andererseits erfordern sie  Sicherheitsmassnahmen (HTTPS, SAML, XML Signature oder XML Encryption), ein anspruchsvolles Wissen, einen grossen Verwaltungsaufwand und erzeugen einen grossen Daten-Overhead (z. B. wegen der Verwendung von SOAP und WSDL).                   
Siehe auch:    WSDL   SOAP   XML   XAML   SAML   SGML   RPC   OASIS   SAP   ASP-Dot-NET

  Windows-Communication-Foundation

Die Windows Communication Foundation (WCF, Codename Indigo) ist eine dienstorientierte Kommunikationsplattform für verteilte Anwendungen, die von Microsoft ab 2006 in Windows Vista (Codename Longhorn) integriert wird.  Die WCF führt viele Netzwerkfunktionen zusammen und standardisiert sie. Es werden in einer API die Kommunikationstechnologien MSMQ (Message Queuing), DCOM (Distributed Component Object Model)  .NET Application Services (Com+, .NET Enterprise Services), .NET Remoting, Web Services Enhancement (WSE) und XML-ASP.NET-Webservices zusammengefasst.  Verschiedene Standards sind in der WCF integriert: WSDL (Web Services Description Language), SOAP (Simple Object Access Protocol), WS-Trust,  WS-Security, WS-SecureConversation, WS-AtomicTransactions, WS-ReliableMessaging u.a.  Genau wie die Windows Presentation Foundation (WPF, Codename Avalon) soll die Windows Communication Foundation auch in Windows XP und Windows 2003 Server verfügbar sein.                                               
Siehe auch:    WinFX   Windows-Presentation-Foundation   Dot-NET-Framework-3-0   Dot-NET   Datei-Endung-ASMX   Windows-Vista   Windows-API   WinFS   

  WSDL

Web Services Description Language. WSDL ist eine auf XML basierende Beschreibungssprache, die Web Services (Netzwerkdienste) ansteuert. WSDL ist unabhängig von der Plattform, dem Protokoll oder der Entwicklungsumgebung  und eignet sich beispielsweise zur Automatisierung von  Geschäftsprozessen. Mit WSDL werden innerhalb von Netzwerkdiensten Nachrichten ausgetauscht. Die Funktionen, Daten, Datentypen und Protokolle eines Web Services werden dargestellt. WSDL basiert auf NASSL  (Network Accessible Service Specification Language), einer XML-basierten Sprache zur Beschreibung von Web Services von IBM, welche nicht mehr weiterentwickelt wird. 2001 hat sich IBM mit Microsoft auf WSDL verständigt. WSDL wird häufig mit  dem Netzwerkprotokoll SOAP (Simple Object Access Protocol)  und dem XML Schema zur Anwendung gebracht. Ein Client ruft einen Netzwerkdienst auf und bringt durch WSDL in Erfahrung, welche Funktionen auf dem Server verfügbar sind. Die entsprechenden Datentypen sind in der WSDL-Datei in XML-Form eingebettet.  Über SOAP wird die in WSDL verfügbare Funktion dann abgerufen.                                             
Siehe auch:    Web-Service   SOAP   XML   XAML   LDAP   SAML   OASIS   ASP-Dot-NET   SGML   

  OASIS

Organization for the Advancement of Structured Information Standards. Internationale Non-Profit Organisation, welche die (Weiter)Entwicklung, Konvergenz und Verbreitung von Standards im E-Business fördert. OASIS ist verantwortlich für die  meisten Standards von Web-Services zusammen mit Sicherheits- und E-Business-Standards sowie Standardisierungs-Bestrebungen sowohl im Öffentlichen Sektor als auch im Bereich von Anwendungen. OASIS hat über 5000, Teilnehmer welche 600 Organisationen  in über 100 Ländern repräsentieren. Dazu gehören beispielsweise Firmen wie SAP, Sun, EDS, BEA Systems, Innodata Isogen, Nokia, IBM, Fujitsu, Hewlett Packard, General Motors, AMD, AOL, Symantec, US-Verteidigungsministerium uvam.  OASIS wurde 1993 gegründet als SGML Open, ein Konsortium von Verkäufern und Anwendern, welches Richtlinien entwickeln soll für die Interoperabilität zwischen Produkten, die SGML (Standard-Generalized-Markup-Language)  unterstützen. Der Name wurde 1998 in OASIS geändert, um dem expandierenden technischen Anwendungsbereich inklusive XML und anderer Standards Rechnung zu tragen. Arbeitsgruppen von OSAIS sind UDDI  (Universal Description, Discovery and Integration), CGM-Open (Computer Graphics Metafile), DCML (Data Center Markup Language -> für Dienstprogramme), LegalXML (Standards für den elektronischen Austausch  von Daten) und PKI (Public-Key-Infrastruktur). Bekannte Standards von OASIS sind OpenDocument und DocBook.                                             
Siehe auch:    SAML   WSDL   IBM   Sun-Microsystems   SAP   
Link: http://www.oasis-open.org


  SAML

Security Assertion Markup Language. SAML ist eine XML-basierte Markup-Sprache für den sicheren Austausch von Authentifizierungsinformationen zwischen Netzwerkdiensten (Web-Services). Begründer von SAML war 2001 das OASIS-Konsortium.  Der Focus bei der Entwicklung liegt auf den folgenden Anwendungsbereichen: Einmalanmeldung (Single Sign-On (SSO), der User kann nach einer einmaligen Authentifizierung alle Dienste des Web-Services, für die er berechtigt ist, nutzen,  ohne sich neu anmelden zu müssen), verteilte Transaktionen und Authorisierungsdienste.                                                     
Siehe auch:    WSDL   XML   Web-Service   OASIS   SOAP   CORBA   

  CORBA

Common Object Request Broker Architecture. CORBA wurde von der Object Management Group (OMG) entwickelt. 1992 verabschiedet,  dient CORBA zur Kommunikation zwischen verschiedenen Programmen. Es ist eine Art Universaladapter für Programme. CORBA  definiert als objektorientierte Middleware plattformübergreifende Protokolle und Dienste, quasi als Objekt-Broker. Damit CORBA nicht an eine Programmiersprache gebunden ist, wird mittels der Interface Definition Language (IDL) eine formale  Abbildung der OOP-Struktur (Objekte, Klassen) sowie deren Parameter und Datentypen erstellt. Die resultierende Beschreibung der Schnittstellen wird danach in ein Objektmodell der jeweiligen Programmiersprache (z. B. Java, C++) übersetzt.  Ein Programm fordert Objekte mit Hilfe eines Object Request Broker (ORB) an. Dabei sind keine Kenntnisse hinsichtlich der Strukturen des Programms, aus dem das Objekt stammt, nötig.  CORBA ist für den Einsatz in objektorientierten Umgebungen konzipiert. COM (Component Object Model) und DCOM (Distributed Component Object Model) sowie OLE (Object Linking and Embedding)  sind Ansätze von Microsoft, eine CORBA-ähnliche Struktur in die Windows-Betriebssysteme einzubauen. Webdienste (Web Services) ersetzen CORBA zunehmend, da CORBA nicht kompatibel genug zu allen Standards und Implementierungen ist.  Weitere Implementierungen sind: SOM und DSOM von IBM, und ONE von Netscape, The ACE ORB (TAO), ORBit, OmniORB, Orbix, VisiBroker, MiddCor oder MICO.                                           
Siehe auch:    SOAP   Component-Object-Model   Java   C-Plus-Plus   OLE   Web-Service   protokoll   

  Dot-NET

.NET ist eine Entwicklungsplattform von Microsoft. Folgende Attribute beschreiben deren Strategie: Modularität, Wiederverwendbarkeit, Plattformunabhängigkeit, Sprachunabhägigkeit, Selbstbeschreibung sowie Internetausrichtung und -technologie. 

Common Language Runtime, WinFX und Common Language Infrastructure
Die .NET-Plattform besteht aus einer Laufzeitumgebung (die Common Language Runtime, CLR),  einer Sammlung von Klassenbibliotheken (WinFX bzw. Framework Class Library (FCL)), den unterstützenden Programmiersprachen, der grafischen Entwicklungsumgebung  Visual Studio, sowie einer Reihe von Diensten. Das .NET-Framework ist eine Spezifikation der Common Language Infrastructure (CLI), einem ECMA-Standard (European Computer Manufacturers Association)  für sprach- und plattformunabhängige Anwendungsentwicklung und -ausführung.

.NET-Geschichte und .NET-Strategie
Die .NET-Strategie entwickelte sich in den 90er Jahren aus der Gefährdung der Vorherrschaft von  Microsoft in PC-Schlüsseltechnologien durch die plattformunabhängige Programmiersprache Java von Sun Microsystems.  Eine eigene Java-Version von Microsoft gefährdete die Plattformunabhängigkeit von Java und wurde zudem von Sun gerichtlich unterbunden. Die .NET-Strategie sollte die Unabhängigkeit von Microsoft wieder herstellen und als  plattformunabhängige Entwicklungsumgebung gegen Java antreten. Zudem sollten veraltete Technologien wie COM und DCOM sowie API-Aufrufe auf der Windows-Plattform ersetzt werden. Software, welche im Rahmen der .NET-Umgebung erstellt wurde, läuft  plattformunabhängig auf internetfähigen Geräten, indem der Code mehr als bisher abstrahiert wird und unabhängiger von der verwendeten Sprache gehalten wird. 

.NET-Sprachen und Common Intermediate Language
Dies wird erreicht, indem die Common Language Runtime sprachübergreifend funktioniert, da  angepasste Programmiersprachen wie C#, C++.NET oder Visual Basic.NET zuerst in einen Zwischencode, der Common Intermediate Language (CIL), ehemals Microsoft Intermediate Language (MSIL) und dann erst zur Laufzeit von einem Echtzeitcompiler  (Just-in-Time Compiler) in lauffähigen Sourcecode umgewandelt wird. 

Managed-Code
Programme die innerhalb der CLR laufen werden als "managed" bezeichnet, alle anderen als "unmanaged". Die Interop-Technik ermöglicht es, alte COM-Programme mit .NET-Hüllen zu  versehen und sie wie .NET-Klassen aufzurufen oder vice versa: .NET-Klassen als COM-Klassen aufrufen. Implementiert sind gleich 3 Konzepte: Web-Services, .NET Remoting Services und die .NET Enterprise Services.                               
Siehe auch:    Dot-NET-Framework-3-0   CLR   WinFX   JIT-Compiler   C-Plus-Plus-CLI   Managed-C-Plus-Plus   Windows-Communication-Foundation   Component-Object-Model   ASP-Dot-NET   Mono

  XAML

XAML (eXtensible Application Markup Language) ist eine Microsoft-proprietäre, domänenspezifische XML-basierte Beschreibungssprache für Web Services und XML-Schnittstellen. Mit XAML werden .NET-Objektbäume in XML-Form dargestellt: insbesondere  dient XAML zur Beschreibung und Programmierung der Präsentations-Programmierschnittstelle (API) Windows Presentation Foundation (WPF, Codename Avalon). Damit gehört XAML zum Grundgerüst der .NET-3.0 API von Windows Vista. Mit XAML ist es möglich,  Programmlogik und Oberfläche zu trennen. Ein Designer musste früher für seine Arbeiten erst ein User-Interface (UI) erstellen, woraus die Entwickler eine Anwendung mit Front-End programmierten. Mit XAML kann der Designer seine Vektorgrafik vollständig  selber erstellen und das UI an die Programmierer weitergeben, welche dann nur noch die Programmlogik mit der grafischen Benutzeroberfläche verbinden müssen. Die Designer sind so in den Entwicklungsprozess besser einbezogen, wodurch der ganze  Produktionsprozess beschleunigt wird. In Zukunft können interaktive UIs auf XAML-Basis mit dem Entwickler Werkzeug Expression von Microsoft selber erstellt werden. XAML beschreibt in der WPF GUIs, Animationen und Dokumente mit dem Dokumentenformat XPS  (XML Paper Specification, ein Konkurrenzprodukt zu Adobe PDF) sowie Workflows in der Windows Workflow Foundation (WF).  Mit XAML sollen in der .NET Framework 3.0 Umgebung Anwendungen mit deklarativen Sprachen erstellt werden. XAML ist domänenspezifisch,  d.h. sehr gut für bestimmte Aufgaben geeignet: .NET Objekte deklarativ initialisieren. Ein XAML-Dokument stellt die serialisierte Form eines .NET Objektmodells dar. Es ist vergleichbar mit ASP.NET: dort wurde diese Strategie in der .NET Umgebung schon  mit den ASP.NET-Serversteuerelementen und dem Konfigurationsmodell des .NET Framework umgesetzt. Auch in ASP.NET gibt es eine Trennung von Oberfläche (XHTML) und Code (ASP-Syntax). XAML stellt eine Weiterentwicklung der Syntax des in ASP.NET benutzten  Formates da. Durch die Vektororientierung und der XML-Ausrichtung ähnelt es dem Scalable Vector Graphics Standard (SVG). XAML födertert den Windows Vector Graphics Standard (WVG). Mit dem .NET Framework 3.0 und der WPF ist eine zentrale  Entwicklung und Verteilung sowie die Darstellung im Webbrowser möglich. Silverlight (WPF/E, Windows Presentation Foundation/Everywhere) stellt eine direkte Konkurrenz zu Flash dar. Die XAML-Technik steht in Konkurrenz zu dem Open Source Projekt  XML User Interface Language (XUL) von Mozilla.                                   
Siehe auch:    Dot-NET-Framework-3-0   Dot-NET   Windows-Presentation-Foundation   Web-Service   XML   ASP-Dot-NET   GUI   Windows-API   WSDL   Silverlight