Einfacher SAP ODATA mit Apple nutzen

– von Constantin Frhr. Teuffel von Birkensee, itelligence Bielefeld –

Was erwartet mich in diesem Beitrag?

In diesem Post erhalten Sie Informationen zum SAP Netweaver Gateway developer tool for Xcode. Hierbei handelt es sich um ein aus meiner Sicht sehr hilfreiches Tool für iOS-Entwickler. Als Experte für diesen Fachbereich stößt man relativ schnell auf die Frage, wie sich SAP in Apps integrieren lässt. Eigentlich gar nicht schwierig: die SAP hat Ende letzten Jahres ihren Plan zur Umsetzung  der Kommunikation von mobilen Endgeräten und ihren Systemen bekannt gegeben. Genauere Informationen finden Sie hier oder hier. Generell verfolgt die SAP zwei Ansätze, und zwar die Anwendung von Open Data Protocol (OData) und von Mobile Business Objects (MBO). Der folgende Beitrag beschreibt den OData-Ansatz.

Wo finde ich Informationen zur ODATA bzw. der Sybase API?

Sybase verfügt über eine große Sammlung von Dokumentationen. Für die Entwicklung in Objective C und OData wurde diese erweitert. Diese Dokumentation hilft Ihnen dabei, einen ersten Einblick in die Materie zu bekommen. Weitere Informationen zu OData finden Sie hier.  Zusätzlich macht es Sinn, das SDK in ein Projekt einzubinden und sich mit dem Tool Doxygen eine Quellcode-Dokumentation erstellen zu lassen. Sybase selbst verwendet in ihrem Quellcode Syntaxbefehle dieses Tools, die im Ergebnis zu einer guten API-Beschreibung führen.

Geht das Ganze nicht irgendwie einfacher?

Einfache Frage, einfache Antwort: Ja. Die SAP hat den Entwicklern für ihr OS X und Xcode 4.x ein Tool zur Verfügung gestellt: das „SAP Netweaver Gateway developer tool for Xcode“. Mit diesem Tool kann man sich aus bestehenden Services eine kleine App erstellen lassen oder Proxyklassen erzeugen. Diese Proxyklassen eignen sich sehr gut für eigene Projekte.

Wie verwende ich die Proxyklassen?

Die Proxyklassen, die dazugehörigen „.a-Dateien“ (Archive) und „.h-Dateien“ (Header) müssen in das Xcode-Projekt eingebunden werden. Durch das Importieren der Proxyklassen in den Quellcode lässt sich ganz einfach eine Verbindung zum Gateway aufbauen.

Beispiel:

[sourcecode language=“objc“]
/* Verbindungsaufbau */
SDMConnectivityHelper *supConn = [[SDMConnectivityHelper alloc] initWithUsername:@“GatewayUserName“ andPassword:@“PassWord“];

LiteSUPUserManager *supUserManager = [supConn
activateSUPModeWithHost:@“SUP-Adress“
andSUPPort:80
andSUPFarmId:@“0″
andAppId:@“AppID“];

if ([supUserManager isUserRegistered]) {
NSLog(@“SUP user wurde registriert“);
}
else {
[supUserManager registerUser:@“SUPUserName“ withActivationCode:@“SUP Activation Code“];
NSLog(@“SUP User wurde registriert“);
}

/* OData Serviceaufruf */
ZIS_SFLIGHTService *service = [[ZIS_SFLIGHTService alloc] init];
[service setServiceDocumentUrl:[LiteSUPAppSettings getApplicationEndPoint]];

ODataQuery *dataQuery = service.BookingCollection;
[paramQuery filter:(@“ID eq ‚0300000000000034‘ or ID eq ‚0300000000000027‘“)];

NSError* error = nil;

NSMutableArray *serviceBookingCollection = [service getBookingCollectionWithData:[[supConn executeBasicSyncRequestWithQuery: dataQuery] responseData] error:nil];

if (!error) {
for (BookingCollection *c in serviceBookingCollection) {

}
}
[/sourcecode]

Generell bieten die Proxyklassen nicht nur einen direkten Zugriff auf das Gateway, sondern ermöglichen auch das Tunneln über die SUP (Sybase Unwired Platform) auf das Gateway. Dieser Part ist allerdings im Quellcode auskommentiert. Durch das Entfernen der Kommentarzeichen kann man aber ganz einfach darauf zugreifen (siehe Beispiel).

Fazit:

Das Tool hält, was es verspricht. Die Grundstruktur für die Backendprogrammierung einer App ist damit gegeben. Damit man versteht, was die Proxyklassen eigentlich machen und wie es funktioniert, sollte man sich dennoch mit der Dokumentation auseinandersetzen. Die Proxy Klassen sind leicht erweiterbar und können so den zusätzlich gewünschten Bedürfnissen entsprechend angepasst werden. Meine Empfehlung: Mit dem Tool kann man sehr schnell und effektiv den Gateway-Service testen. Es ist ganz klar ein Projektbeschleuniger und vereinfacht die Anbindung an das Backend. Ich würde es jedem empfehlen, der sich mit dieser Thematik beschäftigt.

Jetzt sind Sie gefragt:

Die Kombinierung von ODATA und der SAP Architektur ist ein reiner online basierter Prozess. Für Offline – Apps wird das Vorgehen mit MBOs empfohlen.

Was meinen Sie: Kann man dennoch mit dem ODATA Ansatz Offline arbeiten?

Ähnliche Beiträge

feature-image-people
Lesen Sie mehr
blog-featured-image-auster
Lesen Sie mehr
featured-image-sundown
Lesen Sie mehr
itelligence Conference Center
Lesen Sie mehr
image blog digitale welt
Lesen Sie mehr
SAP S/4HANA Generationswechsel
Lesen Sie mehr

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Folgen Sie uns: