Novell Open Enterprise Server – webové a aplikační služby
ing. Oldřich PřichystalTento článek je dalším ze série zabývající se problematikou služeb, jež nabízí síťová platforma Novell Open Enterprise Server (NOES). Vedle již dříve zmíněných služeb adresářových, souborových a tiskových zaujímají významné místo i zde popisované služby webové a aplikační.
V souvislosti s uvedeným tématem se běžně používají pojmy, jako jsou webové služby, webové aplikace, Apache, MySQL, Java, PHP, Perl, J2EE, JSP, EJB, XML, SOAP, UDDI atd. Podívejme se tedy v následujícím textu nejdříve na to, co obecně znamenají, a poté jakým způsobem jsou tyto součásti implementovány v síťové platformě NOES.
Obecný úvod do problematiky
Jedením ze současných významných typů softwarových řešení jsou webové služby. Jedná se o množinu úzce souvisejících softwarových součástí, které vzájemně spolupracují, a to i v různých sítích. V rámci specifické architektury (tzv. service-oriented architecture) jsou spojovány do funkčních celků. Z hlediska organizací, které je používají, mohou být tyto služby interní (tzn. dostupné v jejich síti) nebo externí (dostupné na Internetu).
V souvislosti s webovými službami se používá řada moderních technologií a standardů. Klienti posílají těmto službám své požadavky prostřednictvím standardních internetových protokolů a stejnou cestou od nich dostávají odpovědi. Většina webových služeb používá v rámci komunikace s okolím pro definici formátu požadavků a odpovědí jazyk XML. Ten poskytuje flexibilitu, která je potřebná při přenosu dat mezi různými součástmi. Standardem pro zasílání zpráv v tomto prostředí je protokol SOAP (Simple Object Access Protocol). Je to specifikace založená na XML, která popisuje formát zpráv a pravidla pro výměnu dat. Jedním z prostředků, který umožňuje vyhledávat poskytovatele zmiňovaných služeb, je registr UDDI (Universal Description, Discovery and Integration).
K frekventovaným pojmům patří také webové aplikace. Jedná se o aplikace typu klient-server, k jejichž charakteristickým znakům patří skutečnost, že s nimi klienti komunikují přes webový prohlížeč a že úzce spolupracují s webovým serverem. Webový server je zde totiž prostředníkem mezi klientem a webovou aplikací. Řídí její činnost, předává jí požadavky od klientů a vrací klientům její odpovědi. Pomocí webových aplikací se provádějí funkce, které jsou pro standardní webové servery náročné nebo nerealizovatelné. Jedná se např. o sběr informací od uživatelů, získávání informací z databází pro uživatele, zpracování rozsáhlých podnikových agend apod. V roli zmíněného webového serveru často nacházíme Apache. Je v současnosti velmi populární a je k dispozici na všech hlavních operačních platformách.
Standardním programovacím jazykem pro webové aplikace se stala Java, a to především díky své multiplatformnosti. Pro spouštění webových aplikací je v jejím případě potřebný pouze příslušný modul JVM (Java Virtual Machine). Tyto moduly jsou k dispozici pro téměř všechny existující platformy včetně SUSE LINUX Enterprise Server, Novell NetWare, Sun Solaris, Microsoft Windows, Apple Macintosh atd.
Standard vývojových prostředí pro webové aplikace představuje technologie J2EE (Java 2 Platform, Enterprise Edition). Umožňuje vytvářet použitím součástí a služeb, které k těmto součástem poskytuje, rozsáhlé vícevrstvé distribuované aplikace. Aplikace vyvinuté tímto způsobem nejsou vázány na konkrétního tvůrce softwaru ani aplikační programové rozhraní.
V rámci J2EE jsou specifikovány mimo jiné entity, jako např. servlety, stránky JSP a součásti EJB. Servlety jsou skripty používané na straně serveru (na rozdíl od appletů spouštěných na straně klienta). Představují jednoduchý prostředek pro rozšiřování funkčnosti webových serverů. Obvykle jsou používány pro zpracování formulářů, autentizaci uživatelů, vytváření dynamického obsahu apod. Stránky JSP (JavaServer Pages) jsou podobné Java servletům. Na rozdíl od nich, kde se vše píše v jazyce Java, je zde však možné vytvářet v Javě jen dynamické části stránek a statické části psát snadněji ve formě html. Umožňují vývojářům zrychlit vývoj a usnadnit údržbu dynamických webových stránek. Součásti EJB (Enterprise JavaBeans) jsou základní součástí architektury, která umožňuje vývojářům vytvářet objekty, jež přesně modelují strukturu a logiku podnikových aplikací. Díky nim se nemusí zabývat detaily na spodních úrovních řešení a mohou se soustředit na úrovně vyšší.
V souvislosti s webovými aplikacemi jsou využívány různé podpůrné technologie. Patří mezi ně zejména skriptovací jazyky, servletové kontejnery, webové databázové servery a aplikační servery. Skriptovací jazyk PHP nabízí obdobnou výkonnost a pružnost jako stránky JSP, má ale nižší nároky na paměť a procesor. Perl, tzn. další jazyk tohoto typu, používá syntaxi podobnou jazyku C a snadno se v něm realizují datové filtry a přístupy do databází. Servletový kontejner si lze představit jako jednoduchý aplikační server, který řídí činnost použitých servletů a stránek JSP a poskytuje jim různé služby. Známým představitelem je Tomcat. Asi nejpopulárnějším webovým databázovým serverem je MySQL. Využívá dotazovací jazyk SQL a je navržen pro spolupráci s webovými servery. Používají jej často vývojáři pracující se skriptovacími jazyky PHP a Perl, kterým vyhovuje podobná syntaxe.
Sofistikované webové aplikační modely obsahují vedle součástí, jež byly zatím zmíněny, navíc aplikační server. Ten totiž poskytuje znatelně vyšší výkonnost, než může nabídnout skriptování či webové aplikace využívající servletový kontejner. Aplikační servery pracují jako zprostředkovatelé mezi na jedné straně klienty používajícími webové prohlížeče a na druhé straně back-end databázemi a podnikovými aplikacemi. Obvyklým standardem v této oblasti je J2EE.
Webové a aplikační služby v NOES
Novell Open Enterprise Server obsahuje všechny výše zmíněné součásti související s webovými a aplikačními službami. Část z nich pochází z oblasti open source, tvůrcem ostatních je Novell. Tyto součásti pak umožňují v sítích NOES např. realizovat webové servery, vytvářet pomocí populárních skriptovacích jazyků vlastní dynamický webový obsah, vybírat si ze stovek volných webových aplikací dostupných na Internetu a provozovat je na svých serverech, vyvíjet a provozovat vlastní jednoduché i výkonné webové aplikace atd.
V roli webového serveru najdeme v systému NOES populární Apache Web Server 2.0. Je zde k dispozici pro obě platformy, tzn. Linux i NetWare. V NetWare disponuje navíc několika vlastnostmi: je těsně integrován s eDirectory a SSL (což zvyšuje zabezpečení přenášených informací), je kompatibilní s Novell exteNd Application Server a je vybaven nástrojem Apache Manager, který umožňuje spravovat z jednoho místa i více serverů Apache umístěných dokonce na různých platformách.
Funkci servletového kontejneru plní v NOES na obou platformách Tomcat Servlet Container. Defaultní verzí je zde Tomcat 4.1, k dispozici je ale i Tomcat 5, který implementuje specifikace Java Servlet 2.4 a JSP 2.0. Platforma NetWare obsahuje navíc jednak webový nástroj pro jeho správu, jednak modul mod_jk, jenž zajišťuje jeho spojení s Apachem.
Co se týče skriptovacích jazyků, je v celém NOES k dispozici PHP a Perl. Platforma NetWare pak poskytuje navíc další skriptovací technologie, které zjednodušují vývoj aplikací určených pro toto prostředí (oproti tradičnímu psaní nlm-modulů v C/C++). Jedná se především o objektově orientované vývojové prostředí Novell Script for NetWare (NSN), které emuluje použití Visual Basicu na straně serveru. Dále je zde obsažen systém Universal Component System, který poskytuje služby NetWare skriptovacím strojům a umožňuje tak vytvářet řešení, v nichž jsou spojeny součásti NSN, JavaBeans, Perl skripty apod. Zmínku si zaslouží i součást Novell ScriptPages, která plní obdobnou roli, jako má v jiných prostředích Microsoft Active Server Pages.
Na pozici databázového serveru najdeme v NOES známý MySQL. Pro jeho správu lze použít webovou aplikaci phpMyAdmin. Platforma NetWare má i v tomto případě své specifické rysy. Je zde např. standardně instalován i nástroj MySQL Monitor, který umožňuje přímý přístup na MySQL server pomocí příkazů SQL.
Pro případ vysokých nároků nabízí NOES dva aplikační servery, tzn. komplexní prostředí pro vývoj a provozování podnikových webových aplikací. Oba odpovídají standardu J2EE. JBoss je k dispozici na platformě Linux a Novell exteNd Application Server v prostředí NetWare.
Platforma NOES disponuje v oblasti webových služeb i zatím nezmíněnou službou, která umožňuje vyhledávat požadované informace uložené na různých webových a souborových serverech. Jedná se o tzv. QuickFinder Server. Jeho bližší popis lze nalézt např. v článku „Vyhledávací server Novell QuickFinder Server“.
Instalace webových a aplikačních služeb v NOES
Instalace jednotlivých součástí webových a aplikačních služeb má v sítích NOES jisté odlišnosti v závislosti na cílové platformě. Na servery OES NetWare lze tyto součásti umístit s využitím instalačních vzorů (tzn. v rámci generování serverů určených pro specifické účely) nebo je lze instalovat na již existující server dodatečně individuálně. Jako instalační vzory se v této souvislosti nabízí AMP Server (Apache, MySQL, PHP, Perl), Apache/Tomcat Server, ExteNd J2EE Application Server a QuickFinder Server. Při dodatečné instalaci lze požádat o součásti (obr.2) Apache2 Web Server and Tomcat 4 Servlet Container, MySQL, exteNd Application Server, QuickFinder Server, Apache 2 Admin Server a Tomcat 4 Admin Container (obě poslední součásti se používají při upgradu).
Na servery OES Linux mohou být zmiňované součásti instalovány už při generování systému nebo dodatečně pomocí nástroje YaST. V prvním případě lze např. snadno vytvořit jednoduchý webový server tím, že se použije při instalaci volba Full Installation. Ta obsahuje navíc oproti defaultní instalaci balíčky Apache a MySQL. Podpora Perlu je v instalaci zahrnuta vždy a PHP lze přidat dodatečně přes YaST. V případě dodatečné instalace se další webové a aplikační služby instalují standardním způsobem pomocí YaSTu průchodem přes jeho volby Software a Správce programů.
Na závěr tohoto článku lze zřejmě konstatovat, že vybavenost síťové platformy Novell Open Enterprise Server v oblasti webových a aplikačních služeb je skutečně bohatá.
Zpracováno volně podle dokumentace produktu Novell Open Enterprise Server (web_overview.pdf).

