| Web-Service | |||||
|
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 | |||||