Abschlussprojekt - Fachinformatiker Anwendungsentwicklung


Name:

Abschlussprojekt - Fachinformatiker Anwendungsentwicklung

Description:

Kapselung der auf REST basierenden „OnTime Group Calendar“ Webservice-API als .Net Library in C#

Author:

Oliver Haucke

Author URL:

https://blog.gadean.de

License:

BSD-3-Clause

Download:

Abschlussprojekt-FIAE-ohaucke.zip

Github:

https://github.com/ohaucke/OnTimeGC-API-Library

Beschreibung

Meine Projektarbeit für die Abschlussprüfung zum Fachinformatiker – Anwendungsentwicklung (Sommer 2013).

Das Archiv beinhaltet den Projektantrag, die Dokumentation, die Präsentation, ein Technisches Handbuch, den Quellcode der Library sowie der dazugehörigen grafischen Testanwendung. Der Quellcode der Library ist definitiv verbesserungs würdig und nicht mehr auf dem aktuellen Stand der API.

Bewertung durch die IHK

Für die Betriebliche Projektarbeit gab es, da den Prüfern in der Doku u.a. tiefergehende Details zu der grafischen Testanwendung fehlten (es gab noch weitere Mängel, jedoch war dies der Hauptpunkt), 60 Punkte (ausreichend), die Präsentation und das anschliessende Fachgespräch gaben 87 Punkte (gut). Damit erreichte ich in Teil A der Prüfung 74 Punkte (befriedigend) und mit Teil B bestand ich die Prüfung zum FIAE insgesamt mit der Note befriedigend.

Projektbeschreibung

Für künftige Kunden-Projekte bei der ******** und ******** soll die Webservice-Schnittstelle des „OnTime Group Calendar“ vom Hersteller IntraVision als .Net Library gekapselt werden. Die API ist ein auf „Representational State Transfer“ (Akronym: REST) basierender Webservice. Da REST kein Definitionsschema, wie SOAP mit der „Web Services Description Language“ (Akronym: WSDL), zur Verfügung stellt, muss diese Kapselung manuell erstellt und kann nicht mittels sogenannter „Webservice Proxy“-Generatoren eine Proxy-Klasse generiert werden.

Hinzu kommen einige Besonderheiten. So arbeitet zum Beispiel die API nicht mit dem Datentyp „DateTime“ für Datums- und Uhrzeitangaben, sondern mit einem eigenen Datentyp. Dieser baut auf der Unixzeit (Unixtimestamp) auf. Damit das „Jahr-2038“-Problem, welches bei EDV-Systemen, die die Unixzeit als vorzeichenbehaftete 32-Bit-Ganzzahl definieren, auftritt, zu umgehen, wird von dem ursprünglichen Zeitstempel der Wert „946688400“ abgezogen.

Die Wahl der zu verwendenden Programmiersprache schränkte sich aufgrund der Vorgabe, .Net Framework von Microsoft zu nutzen, auf „Visual C-Sharp“ und „Visual Basic“ ein. Es wurde entschieden, die Library in Visual C-Sharp zu realisieren, da ich mit dieser Sprache vertraut bin. Als Entwicklungsumgebung dient „Visual Studio 2010 Professional“ von Microsoft.