Platforma .Net: Klasický server a chytří klienti

Strategie .Net společnosti Microsoft prodělala v posledních třech letech od svého představení několik změn, přepraco...


Strategie .Net společnosti Microsoft prodělala v posledních třech letech od
svého představení několik změn, přepracování i rozšíření. Pro mnohé bylo
překvapující např. to, že do rodiny technologií nesoucí označení .Net byl
zařazen i nový Windows Server 2003. V základech architektury orientované na
webové služby však firma zachovává původní směr s tím, že klade větší důraz na
klientskou stranu.
Architektura .Net byla představena zhruba v polovině roku 2000, a to zpočátku
jako technologická platforma se dvěma podstatnými rysy: Na jedné straně
umožňovala vývoj i nasazení webových služeb založených na XML, na straně druhé
pak představovala novou alternativu ke všudypřítomnému, ovšem už ne
nejnovějšímu programovacímu modelu COM (Component Object Model), bez něhož se
dosud programování komponent pod Windows neobešlo.
Zatímco v první fázi se jednalo zejména o to, jak na novou architekturu zaměřit
pozornost vývojářů, vzápětí se spěšně objevilo i několik produktů označených
zkratkou .Net. Příslušné aplikace, jako např. BizTalk Server, sice disponovaly
určitými možnostmi práce s XML, nicméně mezi programátorskou veřejností byla
"nálepka" .Net ještě nějakou dobu vystavena nejedné kritice namířené vůči ne
zcela naplněným slibům.
S nedávno vydaným operačním systémem Windows Server 2003 však Microsoft učinil
překvapivý obrat: S tímto strategicky nejdůležitějším serverovým produktem
totiž "společnost Billa Gatese" spustila závěrečnou fázi vývoje architektury
zastřešené koncovkou .Net. "Přitom se v žádném případě nejedná o změnu
strategie, nýbrž způsobu komunikace," podotýká John Rymer, analytik společnosti
Giga Information Group. "Na jednu stranu zde totiž byli poněkud znejistělí
zákazníci, kteří .Net Server považovali čistě za platformu pro webové služby,"
vysvětluje analytik. "Na druhé straně v mnoha podnicích kolovaly domněnky o
tom, že .Net je řešení typu ,všechno, nebo nic, které vyžaduje úplně novou
infrastrukturu."
Ve skutečnosti je Windows Server 2003 v širším pohledu přepracovanou verzí
operačního systému Windows 2000 Server, která je z převážné části založena na
tradičním programovém rozhraní Win-32. Novinkou je integrace .Net frameworku v
aktuální verzi 1.1. Tím je vytvořen základ pro implementaci a běh .Net
programů, které jsou k dispozici ve formě tzv. řízeného kódu (Managed Code). V
protikladu k tomu byly "staré" Win-32 aplikace označeny za neřízený kód
(Unmanaged Code). Výhoda řízeného kódu spočívá mimo jiné v jeho kontrolovaném
provádění založeném na konceptu autorizace (oprávnění).

CLR jako řídicí instance
Uvedený koncept je realizován pomocí běhového (runtime) prostředí, které je
označováno jako Common Language Runtime (CLR) a je založeno na podobném
principu jako Java Virtual Machine. Zcela odlišně ovšem pracují dosavadní
nativní programy pro Windows: Ty běží "nekontrolovaně" na každé platformě PC a
otevírají tak vrátka virům a dalším typům škodlivého kódu. Program pro .Net je
překládán za běhu pomocí Just In Time (JIT) kompilátoru podobným způsobem do
strojového kódu počítače. Prostřednictvím běhového prostředí CLR přitom mohou
být ohlídány všechny přístupy k datovým systémům, do sítě nebo k hardwaru a
podle konceptu autorizace jsou také omezeny či znemožněny. V případě, že bude
např. v prohlížeči vyvolán spustitelný kód integrovaný ve webové stránce, mohl
by takový program sice kupříkladu přehrát nějakou animaci nebo zvukový
doprovod, nikoliv ovšem přistupovat k datům či údajům v databázi registru nebo
je číst, potažmo s těmito daty manipulovat.
Komerční software určený speciálně pro platformu .Net zatím ovšem není příliš
rozšířen. To je dáno především tím, že se vývojářská komunita musí nejprve
lépe, resp. detailně obeznámit s novými programátorskými nástroji. Zde jde
především o nový programovací jazyk C# jakož i o Visual Basic .Net modifikovaný
na základě požadavků .Net Frameworku. K tomu je ale ještě třeba přičíst fakt,
že mezi nezbytné předpoklady pro možnost spuštění .Net programu patří rovněž
instalace (bezplatně dostupného) .Net Frameworku. Alespoň v případě podniků
tato podmínka neznamená žádný problém. Zde jsou komponenty, které chybějí v
dosavadních verzích Windows, ale jsou nezbytnou součástí platformy .Net,
rozděleny podle pravidel daných v rámci IT projektů mezi server a klienty.
Vezmeme-li v úvahu rozšířenost řízených aplikací, existuje v současnosti ještě
jasná dělicí čára mezi operačním systémem a serverovými produkty na jedné
straně a na nich provozovanými (hostovanými) aplikacemi na straně druhé.
Microsoft sází také u serverů prodávaných pod značkou .Net stále ještě na
techniku neřízeného kódu. V rámci tohoto scénáře tak slouží Internet
Information Services (IIS) a databázový SQL Server jako neřízená aplikační
serverová platforma, která poskytuje prostředí Common Language Runtime a ASP
.Net (Active Server Pages). Na ní by pak měla být nasazena obchodní logika a ta
má podle doporučení Microsoftu běžet jako řízená Net aplikace.
Než bude celá produktová paleta Microsoftu převedena na řízený kód, uplyne
ještě nějaký čas. U budoucích produktů, jako je tomu např. v případě následníka
SQL Serveru (s kódovým označením Yukon), příští verze Biztalk Serveru (Jupiter)
nebo balíku Office 12, je ale už třeba počítat s jejich dalekosáhlým přechodem
(přebudováním) pro platformu .Net Framework. Podle Andrease Siebeho, vedoucího
technologického konzultanta německé pobočky Microsoftu, je nyní přechod na .Net
Framework stále aktuálním tématem. Faktem ale také je, že se .Net Framework
stále ještě neobejde bez nativních služeb systému Win-32, na něž sahá přes
Enterprise Services.

Také aplikační server
Novinkou je v případě Microsoftu také zavedení pojmu "Application Server"
(aplikační server). Tím zřejmě firma reaguje na očekávaný postoj trhu, který je
ovlivněn situací na poli aplikačních serverů pro platformu Java/J2EE. Systém
Windows plnil až dosud se svými integrovanými serverovými službami všechny
předpoklady pro to, aby se Microsoft při snaze o uplatnění na trhu bez
zmíněného označení obešel. Spolu s Windows Serverem 2003 však nyní byla
zavedena i nová konzole pro správu s označením "Application Server". V rámci ní
je možné provádět správu .Net Frameworku, služeb Internet Information Services
stejně jako služeb komponent. Zajímavé jsou také kvantitativní souvislosti
spojené se zavedením Windows Application Serveru. Společnost Giga Information
Group provedla průzkum všech možností použití, přičemž vychází najevo, že v
roce 2002 bylo mezi 15-25 % Windows Serverů nasazeno v roli aplikačního serveru
a zbytek pak v běžných segmentech datových a tiskových služeb či jako platforma
pro Exchange nebo SQL Server.

Chytrý klient přichází
Velký význam v rámci současných aktivit kolem platformy .Net přikládá Microsoft
také problematice klientů. Teprve přednedávnem byl v souvislosti s tím zaveden
pojem "Smart Client", aby bylo možné nově definovat roli Windows na koncových
zařízeních. Nejedná se přitom v žádném případě o nový produkt, nýbrž o snahu
prosadit aplikační model platformy .Net na klientské straně klient přitom může
mít podobu od zařízení typu smart phone až po běžná PC. Charakteristické přitom
je, že v rámci tohoto modelu je odpovídající software založený na řízeném kódu,
který lze provozovat podle typu koncového zařízení na platformě .Net Framework
nebo .Net Compact Framework.
Základem pro tento princip jsou Windows Forms nové knihovny tříd pro programy s
grafickým uživatelským rozhraním (GUI) pro Windows. Microsoft tak řeší klíčový
problém dosavadních aplikací pro Windows v internetovém věku: COM aplikace
nemohou být na základě zmíněných bezpečnostních rizik poskytovány či
distribuovány přes web ani jako Active X elementy integrované prohlížeči, ani
jako běžné Windows aplikace. Především velké firmy pak dosud musely na PC
klienty pracně nasazovat nákladný software pro distribuci a správu.
Jako alternativa byly v posledních letech často vyvíjeny aplikace založené na
webových prohlížečích. Ty nejenže umožňují jednoduché nasazení a správu, ale
velkou výhodu představuje rovněž možnost přístupu odkudkoliv a z jakékoliv
platformy (i prostřednictvím tenkého klienta). Závažnou nevýhodou takových
řešení se ovšem ukázaly být možnosti obsluhy (tedy použitelnost), které byly
výrazně omezenější ve srovnání s aplikacemi založenými na tradičním GUI
(Graphical User Interface), což mělo příčinu v základních omezeních HTML. Kromě
toho webové aplikace zpravidla vyžadují trvalé internetové připojení.
Software založený na Windows Forms pro platformu .Net disponuje přinejmenším
stejnými vnějšími vlastnostmi jako Win-32 aplikace tedy rozhraním s velkým
počtem grafických řídicích a interaktivních elementů. Ty jsou ovšem v určitém
kontextu nasazovány a automaticky updatovány přes web bez toho, aby byla nutná
lokální instalace. Navíc se nabízejí také pro využití jakožto front-end pro
webové služby. Na základě nových technických konceptů jsou vyloučeny DLL
konflikty a zbytečné jsou záznamy do registrů. S novým databázovým rozhraním je
možný i vývoj aplikací, které umějí pracovat i s přerušovaným síťovým
připojením (díky tomu, že aplikační logika je na klientské straně).
Pro vývojáře však ze zmíněného přístupu vyplývají ještě jiné výhody. Při
použití integrovaných programovacích prostředí, jako je např. Visual Studio
.Net, je možné vytvářet jak aplikace založené na Windows Forms, tak také jejich
deriváty s rozhraním založeným na prohlížeči (využívající knihovnu tříd Web
Forms v ASP .Net). To bývá výhodné zejména ve velkých podnicích (např. banky,
pojišťovny), kde je jako cílová platforma využívána řada různých typů zařízení
od tenkých klientů až po Tablet PC.
Obchodní logika je v takovém prostředí realizována v ideálním případě pomocí
webových služeb založených na XML na ně pak sahají různé speciální aplikace. Ty
jsou vyvinuty podle požadavků, které jednotlivá oddělení firmy kladou na
uživatelské rozhraní, jež je založeno na bázi Web Forms nebo Windows Forms.
Platforma .Net přitom nabízí atraktivní variantu v podobě Self Deploying
Windows Forms jako inteligentního (smart) klienta, který využívá technologii
metadat pro snazší nasazení aplikací. Tato flexibilita má v praxi velký význam:
Ačkoliv ve většině případů je rozhraní založené na prohlížeči zcela vyhovující,
např. aplikace určené pro call centra vyžadují vysokou míru ergonomie, které
není možné s rozhraním vytvořeným pomocí HTML ve srovnatelné podobě dosáhnout.

Běžně více platforem
Ke zřetelnému zklidnění došlo podle hodnocení mnohých expertů v otázkách
konkurence mezi platformami .Net a Java/J2EE. To spočívá podle názoru Waltera
Seemvayera, který je jako ředitel Developer Group v Microsoftu zodpovědný za
aktivity kolem .Netu, především v otevřenosti systému zajištěné nasazením
rozhraní pro webové služby. Zatímco v předchozích letech se dohady expertů
točily převážně kolem jednoduché otázky "buďto Java, nebo .Net", dnes mohou být
v rámci podniku bez problémů nasazeny obě platformy současně bez větších
problémů.
Důvodem pro takovou obousměrnou strategii bývají požadavky na zajištění
možností volby. Mnohé z firem totiž do budoucna nechtějí být vázány na jedinou
platformu či dokonce na jediného dodavatele. Navíc zejména ve větších firmách
je často k dispozici know-how zasahující do obou platforem, které lze takto
lépe a efektivněji využít.
Také dodavatelé vývojových nástrojů už začínají počítat s koexistencí obou
zmíněných platforem. Schopnost ovládat smíšené prostředí už proto v současnosti
nepředstavuje žádný problém. To potvrzuje i Wolfgang Bertol, šéf marketingu ve
firmě Rational Software/IBM Software Group: "Nabízíme integrovaná vývojová
prostředí, která podporují jak J2EE, tak také .Net. Díky tomu je pro nás otázka
cílové platformy vývojářů prakticky irelevantní."
Vývoj vlastních hostovaných webových služeb (jeden z projektů první fáze
spojené s realizací platformy .Net) zatím Microsoft zastavil. Současné ohnisko
zájmu týkající se .Netu leží jednoznačně v podnikovém sektoru. Webové služby
jsou totiž dosud (v neposlední řadě i z důvodů bezpečnosti) nasazovány převážně
interně v rámci firem. Také .Net aplikace na bázi řízeného kódu hrají většinou
roli v takových projektech, u nichž lze počítat s dostupností .Net Frameworku
na všech strojích. Následující rozšíření této platformy tak závisí především na
dalších aktivitách samotného Microsoftu.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.