OData bei OASIS zur Standardisierung eingereicht
Vergangene Woche haben Citrix, IBM, Microsoft, Progress Software, SAP und WSO2 gemeinsam einen Vorschlag für die Standardisierung von OData bei OASIS eingereicht, der Organization for the Advancement of Structured Information Standards. Das Open Data Protokoll (OData) ist ein REST-basiertes Webprotokoll zum Abfragen und Aktualisieren von Daten, es basiert auf standardisierten Webtechnologien wie HTTP, Atom Publishing Protocol (AtomPub) und JSON für Zugriff auf Informationen aus einer Vielzahl von Anwendungen und Diensten. Mit OData sind Entwickler in der Lage, Cross-Plattform-Web-Anwendungen und mobile Anwendungen zu erstellen.
Viele Unternehmen arbeiten bereits mit OData, und es hat sich als nützliche und flexible Technologie herausgestellt, um die Interoperabilität zwischen unterschiedlichen Datenquellen, Anwendungen, Diensten und Clients zu ermöglichen. Microsoft unterstützt OData in viele Produkte und Dienstleistungen. Dazu gehören OData-Consumers wie Microsoft Excel (über das kostenlose PowerPivot Add-in) sowie OData-Producers wie Microsoft SharePoint, Microsoft SQL Server Reporting Services und Microsoft Dynamics CRM. Windows Server unterstützt OData, Windows-Azure bietet in vielen Bereichen OData Unterstützung, beispielsweise bei Windows Azure Storage Table Service, Windows Azure Marketplace und ACS Management Service. Microsoft macht auch viele Datenquellen im OData-Format verfügbar. Der OData-Feed von Microsoft Research kann verwendet werden, um Abfragen für Publikationen, Projekte, Veranstaltungen und andere Einrichtungen zu machen. Windows Azure Marketplace DataMarket bietet OData-Feeds für Business, Regierung, Gesundheit, Einzelhandel und viele andere Kategorien.
Eine Vielzahl von OSS Technologien können von OData-Unterstützung profitieren. Es gibt viele Tools, um OSS-Entwickler das Offenlegen von Daten als OData aus einer Vielzahl von Plattformen einfacher zu machen. Anfang dieses Jahres hat Microsoft Open Source OData-Werkzeuge für MySQL und PHP-Entwickler, einschließlich der OData Produzent Bibliothek für PHP sowie den OData Connector für MySQL angekündigt. Microsoft arbeitet weiterhin eng mit verschiedenen OSS Communities an OData-Unterstützung, und wird bald mehr Information ankündigen, wie man OData-Feeds von beliebten OSS-Frameworks und Anwendungen bereitstellen kann.
Der Abfragesyntax von OData ist für Entwickler sehr einfach. Hier ist z.B. eine Abfrage, die Sie in jedem Browser verwenden können, um die Zahl der Produkte in der Northwind-Beispieldatenbank OData-Feed auf OData.org zurückzugeben:
https://Services.odata.org/Northwind/Northwind.svc/Products/$count
In einer typischen Anwendung würde diese Abfrage im Hintergrund generiert werden, und das zurückgegebene Ergebnis würde schön formatiert für die jeweilige Anwendung gerendert werden. Um diese Art von Szenarien zu ermöglichen, benötigen Entwickler OData-Unterstützung für die Sprachen, die Frameworks und die Tools, die sie bereits verwenden.
Viele Entwicklertools unterstützen bereits OData. Microsoft Visual Studio bietet umfassende OData-Unterstützung durch WCF Data Services an. OData wird von OSS-SDKs für iOS, Android und anderen Frameworks unterstützt. Telerik hat eine Vielzahl von Entwickler-Tools und Dienste zum Erstellen von OData Consumers und Producers entwickelt. ComponentOne bietet OData Unterstützung in ihren BarChart und LineChart Controls. Validierung ist ein entscheidender Schritt bei der Schaffung von robuste OData-Dienstleistungen und die Outercurve-Stiftung bietet ein OData Service Validation Tool, das verwendet werden kann, um Implementierungen gegen die OData Spec zu testen. Das OData4j-Projekt ist ein Open-Source-Toolkit um Java Entwickler zu helfen, OData-Unterstützung in ihre Anwendungen und Dienste hinzufügen.
Wenn Sie mehr über OData erfahren möchten, dann schauen Sie die OData.org Website an. Alle Details über die Einreichung zur Standardisierung-Ankündigung finden Sie hier und OData Architekt Pablo Castro hat auch einen Blogeintrag darüber auf dem OData.org Blog veröffentlicht.