.NET RIA Services – úvod

V okamžiku, kdy jsem začal přemýšlet nad obsahem přednášky o .NET RIA Services jsem měl velice smíšené pocity. Jedním z nich byl i ten, že se jedná o technologii, která je teprve v plenkách, tedy v CTP verzi, a přitom by si po jejím představení jistě spoustu vývojářů přálo, aby již byla dostupná pro produkční prostředí.

Tím dalším pocitem pak byl ten, že na jedné přednášce se nedá předvést vše, co .NET RIA Services nabízejí vývojáři při vývoji data entry aplikací. To se však dá vyřešit celkem jednoduše, jedna varianta je uspořádat přednášku druhou, nebo o této technologii – projektu nebo šabloně, záleží, jak se na to podíváme – napíši několik článků. Jak je jasné ze čtení těchto písmenek, rozhodl jsem se pro druhou variantu, kdy se pokusím představit .NET RIA Services v sérii článků. Mojí snahou bude věnovat se nejen samotné technologii, ale i jejímu zasazení do návrhu projektu.

n-vrstvá architektura aplikací

Když se podíváme na spoustu vyvíjených aplikací, které se snaží využívat objektového návrhu a výhod n-vrstvých aplikací, zjistíme, a to především u začínajících vývojářů, že se jedná vlastně jen o dvouvrstvé aplikace. Taková aplikace se vyznačuje tím, že hned v obsluze událostí uživatelského rozhraní se přistupuje k datové vrstvě a zároveň se v této prezentační vrstvě řeší i aplikační logika aplikací.

Jak jistě každý hned vidí, tento stav není vůbec ideální a přináší s sebou spoustu kódu, který je při rozšiřování aplikace třeba refaktorovat, v horším případě pak kód duplikovat.

Umístění servisní vrstvy s aplikační logikou

S příchodem RIA (Rich Internet Application), které je možné vyvíjet za pomoci .net frameworku však vzniká další požadavek, který je nutné řešit a to je nejen oddělení servisní vrstvy, ale zpřístupnění této vrstvy jako endpoint pro přístup z prezentační vrstvy přes internet. Samozřejmě nyní můžete navrhnout, že toto zpřístupnění je možné vytvořit například pomocí WCF, nebo jen vytvořením web services v již existující web aplikaci. Ti kteří vyvíjejí nad poslední verzí .net frameworku pak budou znát ADO.NET Data Services, jakožto přístupový bod k jejich datům.

Jak však vidíte, není to stále to pravé, vždy je potřeba udělat ještě jeden krok, který naší RIA aplikaci poskytne data a zapojí servisní vrstvu s aplikační logikou do celé aplikace.

RIA aplikace

Nyní si dovolím krátkou odbočku a pokusím se přiblížit ze svého pohledu RIA aplikace. Jsou to aplikace, jejichž prezentační vrstvu stále tvoří tenký klient. Tento klient však již není úplně “hloupý” a nabízí uživateli komfort blížící se tlustým nebo smart klientům. Tyto aplikace se nemusí instalovat, nebo k jejich instalaci je nutný jen minimální instalační balíček (framework), který využívají.

RIA aplikace můžeme využít všude tam, kde potřebujeme zajišťovat vstup dat od uživatelů tzv. data entry aplikace, kde právě komfort při zadávání dat zpříjemňuje uživateli jeho práci. Stejně tak do těchto aplikací můžeme zařadit LOB – Line Of Business – aplikace.

Které technologie můžeme očekávat ve spojení s RIA aplikacemi? Pokud zůstanu jen u .net aplikací, tak sem patří asp.net webové aplikace s bohatým využitím AJAXu, dalším silným zástupcem můžeme považovat Silverlight aplikace. Obecně by se pak dalo říci, že se jedná o takové aplikace, které umožňují interaktivitu aplikace s koncovým uživatelem na klientské straně a data jsou poskytována vzdáleně přes internet.

.NET RIA Services

Po přečtení předchozích odstavců mohu konečně přistoupit k popisu toho, k čemu byly vytvořeny .NET RIA Services, a které možnosti a usnadnění nám nabízejí při vývoji.

Jak již samotný název napovídá, jedná se o servisní vrstvu, která nám usnadňuje zapouzdření aplikační logiky na serverové straně a vytvoření n-vrstvé aplikace. Tato servisní vrstva pak bude obsahovat nejen aplikační logiku, ale též validaci vstupních dat, přístup a využití datové vrstvy k získávání dat, jejich uložení a modifikaci. Ale také může a nejspíše bude řešit authentikaci a řízení přístupu pomocí rolí.

Kompletní balíček však není jen o vytvoření servisní vrstvy, ale je zde zahrnut i balík komponent, které můžeme využít při tvorbě Silverlight aplikace, stejně tak zde najdeme prvky, které využijeme při vývoji asp.net webform aplikace. V neposlední řadě je to potom velice důležitý samotný projekt, který obsahuje připravené šablony a build akce, které se starají o generování kódu pro klientskou stranu – tak, aby byla zajištěna její bohatost.

DomainService

Na asi nejdůležitější část .NET RIA Services a to třídu DomainService a její potomky se podívám podrobněji v příští části tohoto seriálu.

1 Comment

Add a Comment