OpenRasta – ReSTful Web Development Framework
OpenRasta ist ein ressourcenorientiertes Webentwicklungs Framework für die Microsoft. NET Plattform. Es können damit Web basierte Applikationen und Services erstellt werden. OpenRasta steht unter der Open-Source MIT Lizenz.
Es wird besonderen Wert auf Ressourcen und HTTP Methoden gelegt und so die Erstellung von ReST freundlichen APIs vereinfacht.
Weiters werden moderne Entwicklungs Praktiken berücksichtigt und ein Inversion of Control (IoC) Container mitgeliefert. So wird Dependency Injection durch das Framework eingehalten. OpenRastas Architekturstil ist dem Model-View-Controller (MVC) ähnlich und wird als Ressource-Codec-Handler bezeichnet.
OpenRasta unterstützt erweiterte HTTP Features wie Content Negotation, Digest Access Authentication und erlaubt die volle Kontrolle von Response Codes die an den Client zurückgesendet werden.
OpenRasta kann in mehreren Varianten gehostet werden: ASP.NET, In-Memory, In-Process durch Windows HTTP APIs oder durch jede andere Umgebung, die HTTP Requests empfangen kann. Das Framework hat keine Abhängigkeiten an ASP.NET.
Im folgenden Beispielhandler wird eine Get Methode zur Verfügung gestellt, die ein TeaCup Objekt zurückgibt.
public class TeaCupHandler
{
public OperationResult Get()
{
var cup = teacupService.Get();
return new OperationResult.OK(cup);
}
}
Die Uri und das Encoding zu dem oberen Handler wird in einer Zeile Code festgelegt:
ResourceSpace.Has.ResourcesOfType()
.AtUri("/teacup")
.HandledBy()
.AsJsonDataContract()
.And.AsXmlDataContract()
.And.RenderedByAspx("~/Views/TeaCup.aspx");
In dem Beispiel wird die Uri “/teacup” definiert und drei verschiedene Encodings festgelegt: Json, XML und Html (von einer Aspx Seite gerendert). Da OpenRasta Content Negotiation unterstützt, wird erkannt welches Format der Client vom Server erhalten will und die entsprechende Repräsentation an den Client gesendet.
OpenRasta wurde von Sebastien Lambla entwickelt. Er ist am 14. September 2012 auf der Community Konferenz Professional .NET 2012 zu Gast in Wien und spricht unter anderem über OpenRasta. Ihr könnt ihn auch bei den Konferenz Parties treffen.
Die OpenRasta Projektseite und die Dokumentation befindet sich auf GitHub.
