Ein Webservice aufbauen und in einer Anwendung nutzen (Grundlegendes)

Webservices werden in der heutigen Zeit immer wichtiger und diese bieten auch für viele Applikation einige nette Dienste, wie z.B. die Validierung einer Seriennummer, abfragen von Updates und mehr. Aber was benötigt man hierfür? Ich verwende für diesen Fall in der Regel einen C# .NET SOAP-Service, der einen IIS sprich einen Windows-Server benötigt. Eine ebenfalls – wie ich finde – sehr gute Alternative ist ein Webservice in PHP mit z.B. NuSOAP, der ohne Windows-Server Systeme auskommt und deswegen auch in der Regel relativ beliebt ist. Und genau mit diesen beiden werden wir uns befassen. Zunächst werde ich im nächsten Teil den IIS-Webservice erläutern, wie dieser zu erstellen ist usw. und im folgenden Teil den PHP-Webservice. Im letzten anschließenden Abschlussteil werde ich einen der beiden referenzieren und nutzen (da bei beiden Services die Nutzung gleich ist und mir derzeit nur ein Linux-Server zur Verfügung steht, wird dies auf NuSOAP mit PHP hinauslaufen).

Aber was sind die Vor- und Nachteile eines solchen Services? Nun die Vorteile sind ganz klar, dass die Anwendung nur kontrollierte Dinge tut und auch die Validierung von Seriennummern etc. sicher abläuft. Natürlich sollte man die Verbindung zum Webservice auch noch per SSL absichern, aber dies ist ein eigenes Thema für sich. Es könnte aber gut sein, dass dies ebenfalls bald kommt. Einer der Nachteile ist mit Sicherheit, dass die Verbindung zum Service notwendig ist und somit eine Lokale- oder Ethernetschnittstelle vorhanden sein muss. Natürlich kann man dies aber auch umgehen und den Service mehr optional als erforderlich gestalten.

Der Weg zum eigenen MVVM-Framework – Part 4 (Einbindung der Services-Funktionalität)

Weiter geht es mit unserer Reihe zum eigenen Framework. Dieses Mal kümmern wir uns um die Einbindung unserer Service-Funktionen. Also quasi das Registrieren, das rückgängig machen einer Service Registration sowie das holen von Services. Aber zunächst einmal sollten wir klären, was ein Service ist. Ein Service ist ein Dienst, welcher innerhalb einer gewissen Gültigkeits-Reichweite definiert wird. In diesen Fall sind die Services alle für die Applikation und auch nur innerhalb dieser sichtbar. Hierbei sollte man wissen, dass dies bei unserer Umsetzung nicht mehr darstellt als eine Interface gesteuerte Singleton Sammlung unserer Klassen. Auch wird dies nun das Komplexeste, was unser Framework bisher zu bieten hat. Erneut werden wir wieder so vorgehen, das zunächst die Definitionen erfolgen anschließend die Tests und zum Abschluss die Implementierung. Ebenfalls sollte beachtet werden, dass das Wissen aus diesen Part noch relevant sein wird in zukünftige Parts. Aber nun gut lasst und das proggen beginnen!
Weiterlesen

Der Weg zum eigenen MVVM-Framework – Part 3 (Einbindung der Core-Funktionalität)

Dieses Mal wollen wir uns darum kümmern, die noch offene Kern-Funktionalität komplett einzubinden. Dies wäre jedoch für die erste Version dieses Frameworks lediglich eine Klasse welche die Standard.NET-String-Klasse um einige Funktionen erweitert. Aber nichts des so trotz lasst und damit beginnen, den auch diese Klasse will erst mal geschafft sein! Beginnen wir also erneut damit, zunächst die Ordner Struktur festzulegen, in welcher unsere Klasse einmal liegen soll.Anschließend werden wir wieder die leere Klasse definieren. Wenn dies auch geschehen ist, wird es aufgrund des Grey-Box-Testverfahren dazu übergehen, die UnitTests zu implementieren. Und zu guter Letzt wird natürlich wieder die eigentliche Funktionalität implementiert. Nun gut, also lasst uns beginnen!
Weiterlesen

Der Weg zum eigenen MVVM-Framework – Part 2 (Implementierung bestehender Funktionen)

In diesen Part kümmern wir uns um die Einbindung der bereits im Blog entstanden Funktionen (ViewModel, ExtendedPropertyBase sowie PropertyChangedBase). Um hierbei den Grey-Box-Verfahren zu entsprechen, werden zunächst alle Grundgerüste der Reihe nach angelegt, anschließend die UnitTests und erst dann die Implementierung der Funktionalität. Beginnen wir mit der Definition, was sinnvoll zu testen ist. Zunächst ist es natürlich Sinnvoll unsere beiden Property-Klassen “PropertyChangedBase” sowie “ExtendedPropertyBase” nahezu vollständig zu testen (AusnahmeDispose). Aber was ist mit unserer ViewModel-Klasse? Hier finde ich, sind Tests un-sinnvoll Die nötigen Tests wären aufgrund der Asynchronität komplex und da wir nur fertige .NET-Funktionen direkt aufrufen, ist das testen auch nahe zu unsinnvoll.  Weiterlesen

Der Weg zum eigenen MVVM-Framework – Part 1 (Projektstruktur)

Im ersten Schritt auf dem Weg zum eigenen MVVM-Framework liegt neben der Planung auch schnell die Projektstruktur. In diesen Tutorial werde ich jedoch die bereits erledigte Planungsphase Stück für Stück mit den passenden „Tutorial“-Part veröffentlichen. Auch möchte ich darauf Hinweisen, dass es Hilfreich ist folgende Posts zunächst zu lesen, bevor Ihr mit diesen fortfahrt:

Bitte beachtet hierbei das ebenfalls bereits ein Grundverständnis für C# und .NET Framework bestehen sollte. Hier reichen allerdings Grundkenntnisse. Nun gut, fangen wir an mit unserer Projektstruktur.

Zunächst einmal hätten wir da unseren Aufbau. Dieser ist das Elementarste überhaupt im Framework, den nur wer weiß wo sich was befindet kann auch damit Arbeiten. Zunächst habe ich mir deshalb darüber Gedanken gemacht, welche Projekte es geben soll und wie diese zusammenhängen. Siehe hierfür die folgende Grafik.

Aufbaustruktur.png

Aufbaustruktur des SmallMvvm-Frameworks

Nun gut, was haben wir hier also nun. Weiterlesen