UNIVERZITA PARDUBICE PROJEKT MONO



Podobné dokumenty
Seznámení s prostředím dot.net Framework

Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Nové jazykové brány do Caché. Daniel Kutáč

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

IT ESS II. 1. Operating Systém Fundamentals

Matematika v programovacích

v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) by: Ing. Jan Steringa

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

APS Administrator.OP

VirtualBox desktopová virtualizace. Zdeněk Merta

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

1 - Úvod do platformy.net. IW5 - Programování v.net a C#

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

úvod Historie operačních systémů

Střední odborná škola a Střední odborné učiliště, Hořovice

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

Instalace a konfigurace web serveru. WA1 Martin Klíma

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23

PROGRAMOVÁNÍ PRO MS WINDOWS 2

Windows a real-time. Windows Embedded

O projektu OpenOffice.org a IBM OS/2 OS/2 a Open Source

O projektu Nasazení OpenOffice.org v praxi

Programovací jazyky Přehled a vývoj

IB111 Programování a algoritmizace. Programovací jazyky

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

Informační Systém pro Psychiatrii HIPPO

Projekt implementace OS Linux do výuky informačních technologií

Úvod. Programovací paradigmata

NetIQ imanager Instalační příručka. Leden 2016

INSTALACE SW V GNU/LINUXU

BI-AWD. Administrace Webového a Databázového serveru Instalace webového serveru Apache httpd

Úvod do Linuxu SŠSI Tábor 1

Compatibility List. GORDIC spol. s r. o. Verze

Úvod. Leden Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 22

Instalace produktu Ontopia. ver (open-source verze)

Nastavení DCOM. Uživatelský manuál

A p a c h e h t t p d Lukáš Zapletal lukas.zapletal@liberix.cz

Programovací jazyk Úvod do programování v C#

Messenger. Novell 1.0 UMÍSTĚNÍ DOKUMENTACE K PROGRAMU NOVELL MESSENGER. STRUČ NÁ ÚVODNÍ PŘ ÍRUČ KA

3. Základy programovacího jazyka Java

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

Střední odborná škola a Střední odborné učiliště, Hořovice

AIDA64 Extreme. Příručka k nastavení. v

Programovací jazyk C# Úvod do programování v C#

09. Operační systémy PC 1. DOS. Nejdůležitější zástupci DOSu:

Základy informatiky. Operační systémy

Server-side technologie pro webové aplikace

11. Přehled prog. jazyků

Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows

Architektury informačních systémů

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Informační Systém PINEL plus

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Střední odborná škola a Střední odborné učiliště, Hořovice

Nastavení programu pro práci v síti

SQL Server Data Tools (SSDT) RNDr. David Gešvindr MVP: Azure MCSE: Data Platform MCSD: Windows Store

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA

Identifikátor materiálu: ICT-1-17

Programovací jazyk C# Úvod do programování v C#

Ročníkový projekt DYNAMICKÉ HTML. Projektová dokumentace. Jan Ehrlich, Petr Marek, Tomáš Marván, Martin Paľo. Vedoucí projektu: RNDr.

[ASP].NET Core Demystified. Miroslav Holec. Konzultant a lektor [ASP].NET Core.

TÉMATICKÝ OKRUH Softwarové inženýrství

Nejprve je třeba spustit správce serveru: V něm je třeba vybrat přidání rolí:

Střední odborná škola a Střední odborné učiliště, Hořovice

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Instrukce pro vzdálené připojení do učebny 39d

modrana: flexibilní navigační systém Martin Kolman

Architektury informačních systémů

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

IB111 Úvod do programování skrze Python Přednáška 13

Excel a externí data KAPITOLA 2

Softwarové komponenty a Internet

Instalace aplikace 602XML Filler

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Tvorba informačních systémů

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

S2. Vytvoření Windows balíku pro vývoj na STM32 architektuře

JAZYK C# A.NET FRAMEWORK NA LINUXU

Činnost operačních systémů. Beránek Pavel 1. KŠPA

Importy a exporty KLIENTSKÝ DOPLNĚK PRO PODPORU IMPORTŮ VERZE 3.2.0

Nápověda k aplikaci EA Script Engine

Instalace webové služby Mydlinka

Novinky v ASP.NET MVC6

Téma 1: Práce s Desktop. Téma 1: Práce s Desktop

Django. Webový framework pro Python Projekt = webová stránka Aplikace = určitá funkcionalita webu

DISTRIBUCE GNU/LINUXU

Rocrail. Nejprve: Obecný úvod. Instalace

Semestrální projekt do předmětu SPS

Transkript:

UNIVERZITA PARDUBICE Ústav Elektrotechniky a Informatiky PROJEKT MONO Semestrální práce z předmětu Správa Webserveru Březen 2007 dytrych@webovy-servis.cz Karel Dytrych

Obsah Obsah... 2 Co je to projekt Mono... 3 Součásti projektu Mono... 3 Ecma 334... 3 Ecma 335 Common Language Infrastructure... 3 Technologie.NET... 3.NET Framework... 3 Zásadní změna v přístupu k prostředkům systému... 4 Schéma.NET Frameworku... 4 Hlavní rysy projektu Mono... 5 Mono na Windows... 5 Příklad kompilace programu... 5 Grafické aplikace... 6 Vlastní implementace Windows.Forms... 6 Instalace na Linux... 6 Mono na zkoušku... 6 VMware image opensuse Linux... 7 Live CD Ubuntu Linux... 7 Vývojové prostředí pro Mono aplikace... 7 Cíle MonoDevelopu do budoucna... 7 MonoDevelop vs Visual Studio... 7 Převod aplikací na Mono... 8 Webové aplikace ASP.NET a Mono... 9 ASP.NET hosting s Apachem... 9 Instalace modulu mod_mono, konfigurace Apache...10 ASP.NET hosting pouze na webserveru XSP...11 Konfigurace XSP...11 Některé parametry konfigurace XSP serveru...12 Závěr...12 Literatura...12 2/13

Co je to projekt Mono Mono je sada open source programů a nástrojů umožňující vývoj a provoz aplikací založených na technologiích.net i mimo operační systém Windows. Aplikace lze pomocí Mona provozovat na operačních systémech Linux, Solaris, Mac OS X, Windows, a Unix. Jde především o desktopové aplikace, a serverové aplikace vyvíjené v prostředí ASP.NET. vede firma Novell, která ho převzala po firmě Ximian. Projekt odstartoval v roce 2001, ale první stabilní verze 1.0 se dočkal až ve druhém čtvrtletí 2004. Projektu se ve velké míře věnuje zakladatel společnosti Ximian Miguel de Icaza (v současné době zaměstnanec Novellu), který stál u zrodu desktopového prostředí Gnome. Jeho plánem do budoucna je Gnome kompletně postavené na technologii Mono. Součásti projektu Mono V Monu jsou implementovány mezinárodní standardy ECMA (European Computer Manufacturers Association) použité v.net a některé základní nástroje. Především jde o kompilátor jazyka C#, a Common Language Runtime - základní kámen.net. Ecma 334 Standard specifikující jazyk C# - syntaxe, pravidla pro interpretaci, a omezující vlastnosti. Ecma 335 Common Language Infrastructure Mezinárodní standard definující základní jazykovou infrastrukturu (CLI) pro aplikace napsané v několikanásobně vyšších jazycích, které mohou být spuštěny v různých systémových prostředích bez potřeby jakkoliv tyto aplikace upravovat. Technologie.NET.NET ( dotnet ) je název pro sadu technologií, které tvoří celou platformu od firmy Microsoft. Technologie.NET zahrnuje webové XML služby, servery, a klientské aplikace..net je velice podobný s Javou. Obě technologie sdílí ideu, že výsledkem kompilace programů není strojový kód pro daný procesor, ale jakýsi mezikód (v případě.net je to Microsoft Intermediate Language - MSIL). MSIL je nezávislý na operačním systému i typu procesoru. Mezikód se spouští virtuálním strojem s využitím.net prostředků, jehož výsledkem jsou instrukce pro daný procesor..net má oproti Javě výhodu v možnosti použití různých programovacích jazyků pro kompilaci do mezikódu..net Framework.NET Framework zprostředkovává prostředí nezbytné pro běh aplikací založených na.net technologiích. Poskytuje knihovny a rozhraní pro tyto aplikace. Microsoft 3/13

tento framework vydává jako část operačního systému, která se dá zdarma stáhnout a nainstalovat. Je tedy určený pouze pro operační systémy Windows..NET Framework v podstatě představuje funkční abstraktní vrstvu pro.net aplikace. Zásadní změna v přístupu k prostředkům systému Hlavní rozdíl ve vývoji aplikací je v tom, že dříve program vytvořený v prostředí Visual C++ za pomocí Windows Forms používal MFC (Microsoft Foundation Classes), které přímo volaliwin32 API. Programy nyní využívají prostředky.net Frameworku. Tento přístup zaručuje systémovou nezávislost..net Framework zpracovává nízkoúrovňové části aplikací, s kterými běžný programátor ani nepřijde do styku. Jde především o následující služby: Tvorba, a správa zpracování vláken kódu. Správa paměti, dealokace objektů. Bezpečnost, kontrola oprávnění k prováděným operacím. Správa knihoven a komponent. Tyto operace spravuje část zvaná Common Language Runtime (CLR). Base Class Library (BCL) je knihovna tříd dostupná všem jazykům používajících.net Framework. BCL poskytuje třídy, které zapouzdřují nejčastější pomocné funkce práce se soubory, interakce s databázemi, zobrazování grafiky, třídění, síťovou komunikaci apod. ADO.NET je knihovna určená k manipulaci s daty a XML. Windows Forms jsou knihovny pro vývoj uživatelského prostředí (GUI) aplikací. ASP.NET jsou knihovny pro vývoj webových aplikací. Schéma.NET Frameworku Obrázek 1 Technologie.NET, Zdroj: Zive.cz 4/13

Podporované jazyky.net Frameworku APL, C++, C#, Cobol, Component Pascal, Curriculum, Eiffel, Forth, Fortran, Haskell, Java Language, Microsoft JScript, Mercury, Mondrian, Oberon, Oz, Pascal, Perl, Python, RPG, Scheme, Small Talk, Standard ML, Microsoft Visual Basic Hlavní rysy projektu Mono Podpora ASP.NET a Windows Forms aplikací. Nezávislost na použité platformě. Základ položený na standardech ECMA/ISO. Možnost provozu.net, Javy, Pythonu, a dalších jazyků. Otevřené zdrojové kódy, svobodný software. Komerčně podporovaný (Novell). Mono na Windows Mono lze nainstalovat na operační systém Windows souběžně s.net frameworkem. Pro uživatele to znamená, že má na svém počítači dva podobné prostředky. Stačí stáhnou ze stránek Mono projektu instalátor, který vše bez problémů zařídí. Po instalaci je nutné se ujistit, že podadresář \bin Mona je v systémové proměnné PATH. Standardně se na systému využívá.net frameworku, je výchozí. Nejsnáze lze použít Mono z příkazové řádky. Příklad kompilace programu Mějme jednoduchý zdrojový kód konzolové aplikace v jazyce C# v souboru zdrojak.cs. V příkazové řádce poté můžeme program zkompilovat příkazy: csc /out:program_net.exe zdroj.cs (použije MS.NET C# kompilátor) mcs out:program_mono.exe zdroj.cs (použije Mono C# kompilátor) Výsledkem máme 2 spustitelné soubory stejné velikosti. Jednotlivé byty souborů jsou ale různé, přesto program pracuje stejně. Mono Když spustíme program_mono.exe vykoná se program kompilovaný Mono kompilátorem pod.net frameworkem. Když chceme program spustit pomocí Mono frameworku použijeme příkaz: mono program_mono.exe. Tento příkaz použije Just In Time (JIT) kompilátor k přeložení mezikódu do nativního kódu cílové platformy. Výsledek kompilace uchová v paměti pro příští spuštění. Mint Mint je také interpret pro vykonávání Mono aplikací. Nikdy nepoužívá JIT, projde vždy celý kód, přeloží ho a vykoná. Protože se program kompiluje pokaždé bývá použití mint pomalejší než mono. Nicméně JIT kompilace bývá na začátku pomalejší, a malé aplikace tak mohou být s mint rychlejší než při použití mono. Navíc se mint hodí pro použití na OS X, kde není k dispozici JIT. S Mono frameworkem můžeme spustit obě verze programu. 5/13

Grafické aplikace S grafickými aplikacemi je to složitější. Oproti konzolové aplikaci nestačí jen zkompilovat mcs kompilátorem. Když si např. ve Visual Studiu.NET připravíme jednoduchou formulářovou aplikaci a pokusíme se jí zkompilovat dostaneme zhruba následující výstup. mcs -out:app_mono.exe Form1.cs Form1.cs(13,23): error CS0234: The type or namespace name `Windows' does not exist in the namespace `System'. Are you missing an assembly reference? Compilation failed: 1 error(s), 0 warnings Důvod neúspěchu kompilace tkví v tom, že Mono neimplementuje CLI úplně. Grafické.NET aplikace využívají jmenný prostor System.Windows.Forms, a ten obsahuje sadu prvků, které jsou navrženy speciálně pro Windows. Tento problém se dá řešit použitím Gtk. Gtk Gtk byl původně navržen pro podporu programu Gimp. Nyní existuje verze Gtk#, která je distribuovaná společně s Mono projektem jako jmenný prostor Gtk a GtkSharp. V Gtk jsou téměř všechny widgety, komponenty, atributy, události a metody (Label, Button, clicked, ) pojmenovány stejně jako ve windows.forms. Proto je díky Gtk zaručena přenositelnost grafických aplikací. Gtk jde nainstalovat i na systém Windows. Program s Gtk kompilujeme s parametrem -pkg:gtk-sharp. Grafické aplikace s Gtk lze provozovat pod.netem stejně jako v Mono. Před prvním použitím je potřeba.net framework nastavit pro použití s Gtk. Vlastní implementace Windows.Forms Autorům později přišlo využívání Gtk# nebo alternativního Qt# jako špatné. Začali vyvíjet vlastní implementaci Windows.Forms. V současné době je téměř hotová a ve fázi testování. Ke stažení je na stránkách projektu jako nestabilní verze Mona..NET framework 1.1 byl již téměř celý implementován včetně WinForms, u verze 2.x jsou vývojáři zhruba na 96 %. Lze kdykoliv ověřit na adrese: http://mono.ximian.com/class-status/ Instalace na Linux Na webu projektu Mono je k dispozici několik rpm balíčků. Především pro distribuce SUSE, Red Hat, a Fedora Core. Stažený balíček stačí nainstalovat příkazem rpm Uvh nodeps *.rpm..net aplikace se po instalaci na Linux spouštějí i kompilují stejně jako na Windows. Jednou zkompilované aplikace pomocí csc fungují bez potřeby dalších úprav. Mono na zkoušku Nechcete-li si na svůj počítač instalovat Mono ani žádné jeho součásti, ale přesto ho chcete vyzkoušet, máte dvě možnosti. 6/13

VMware image opensuse Linux Přímo na stránkách projektu je k dispozici ke stažení VMware image operačního systému opensuse s kompletně nainstalovanými nástroji a programy pro podporu Mono aplikací. Je to velice jednoduchá a pohodlná cesta jak vyzkoušet Mono v praxi. Hned po instalaci je k dispozici spousta ASP.NET a klasických aplikací včetně zdrojových kódů. Live CD Ubuntu Linux Druhá možnost jak otestovat Mono je využít projektu mono-live.com. Je to Live distribuce Ubuntu s velice podobným obsahem jako image opensuse. Některé části hlavně u ASP.NET aplikací však nefungovali zcela správně. Na vyzkoušení rozhodně spíš doporučuji VMware image. Vývojové prostředí pro Mono aplikace MonoDevelop je volně šiřitelné GNOME vývojové prostředí vyvinuté z SharpDevelop. Primárně bylo navrženo pro C# a ostatní.net jazyky, ale je otevřeno jakémukoliv jazyku. MonoDevelop se snaží být víc než jen IDE, chce být co nejvíce otevřený a rozšiřitelný nástroj pro vývoj aplikací. MonoDevelop lze spustit na Windows i Mac. Cíle MonoDevelopu do budoucna Být nejlepší vývojové prostředí na Unix systémy pro Mono. Podporovat a vylepšovat nadále Gtk#. Integrace kvalitního debuggeru a dokumentačních nástrojů. MonoDevelop vs Visual Studio MonoDevelop poskytuje jak textový editor pro psaní zdrojového kódu s doplňováním a zvýrazňováním syntaxe, tak designer pro návrh grafických aplikací. Obzvláště designer je velice jednoduchý a neumí spoustu věcí v porovnání s Visual Studiem. S Visual Studiem má podobnou, a zdařilou správu projektů (solutions). Veliké plus pro MonoDevelop je, že umí importovat a pracovat s projekty Visual Studia.NET 2005. MonoDevelop mi během testování při psaní tří jednoduchých aplikací několikrát zhavaroval. Vždy bez nějaké vypsané chyby se odporoučel i s neuloženými daty. Celkově v porovnání obou IDE jde o rozdíl asi jako mezi Superbem (VS) a Felicií (MD). Aplikace pod Mono frameworkem bych asi vyvíjel ve Visual Studiu s následným importem a kompilací v MonoDevelopu. 7/13

Obrázek 2 Screenshot z Monodevelop Převod aplikací na Mono Při převodu aplikací na Mono je důležité myslet na některé nekompatibility, např. neimplementované metody, třídy popř. ještě nestabilní třídy. V současné době jde především o System.Windows.Forms. K převodu aplikací lze využít program Mono Migration Analyzer, který umí analyzovat aplikace napsané pro.net. Pomáhá odhalit volání dosud neimplementovaných metod, a sporných částí kódu. Použití tohoto nástroje by mělo sloužit jako vstupní bod při převodu aplikací. Dále je třeba myslet na rozdíly v operačních systémech jako je rozlišování velikosti znaků v názvech souborů, oddělovač adresářů v cestách k souborům ( / vs \ ), a další. U ASP.NET aplikací také nefungují dosud neimplemetované Enterprise Services a cross-process transakce. Naproti tomu obvykle není potřeba velkých změn u databází. Mono podporuje mnoho běžných a dostupných databází, včetně MS SQL. 8/13

Obrázek 3 Mono Migration Analyzer Webové aplikace ASP.NET a Mono K provozu webových aplikací založených na ASP.NET je potřeba XSP server a popř. modul do Apache mod_mono. Máme dvě hlavní možnosti: Apache hosting: využívající mod_mono a XSP. XSP: jednoduchý samostatný webový server napsaný v C#, pro hostování ASP.NET aplikací. Jednoznačná volba pro začátek. Pro ostrý provoz aplikací doporučují samotní autoři použít mod_mono Apache. Poskytuje široké možnosti v nastavení, a dodává tak velkou flexibilitu. Pro rychlý začátek nebo testování je ale XSP ideální řešení. Více pokročilí uživatelé mohou použít také HttpListener. ASP.NET hosting s Apachem Webový server Apache (http://httpd.apache.org) je nejrozšířenější webový server současnosti. Podle serveru Netcraft.vom drží 60% podíl webserverů (02/2007). Mono tak přiblíží ASP.NET velkému procentu vývojářů. Mod_mono běží uvnitř Apache, a obsluhuje všechny ASP.NET požadavky voláním externího programu mod-mono-server, což je speciální verze XSP. K provozu je potřeba nainstalovat Mono, mod_mono a xsp komponenty. Mod_mono představuje část spolupracující s Apachem a XSP obsahuje engine pro ASP.NET. Vše se dá stáhnout ze stránek projektu Mono. 9/13

Instalace modulu mod_mono, konfigurace Apache Dříve než je možné pustit se do samotné instalace modulu mod_mono musíme mít nainstalován následující software: Mono XSP Apache Instalace mod_mono 1. Nejdříve musíme stáhnou zdrojové kódy modulu z webu Mono projektu. 2. Zdrojové kódy rozbalíme příkazem: tar xvzf mod_mono_source.tar.gz. 3. V adresáři do kterého se nám modul rozbalil nakonfigurujeme instalaci příkazem./configure --prefix=/usr (Nastavení adresáře). 4. Vykonáme příkaz make, a poté make install. Konfigurace Apache Nejdříve otevřeme konfigurační soubor Apache http.conf. Potřebujeme aby Apache zavedl modul do paměti, toho docílíme přidáním následujícího řádku: LoadModule mono_module /usr/modules/mod_mono.so (cesta k modulu může být různá). Vytvoříme v Apache Alias pro adresář kde máme umístěny ASP.NET stránky. Alias /AspNet "/home/kjn/aspnet_stranky" MonoApplications "/AspNet:/home/kjn/aspnet_stranky" Dále musíme nastavit jaký modul má Apache použít pro obsluhu požadavků. #Pro Apache 1.3 <Directory /usr/share/doc/xsp/test> SetHandler mono <IfModule mod_dir.c> DirectoryIndex index.aspx </IfModule> </Directory> #Apache 2 <Location /AspNetOnApache> SetHandler mono </Location> Aby vše fungovalo server XSP musí poskytovat výstup ASP.NET aplikace, viz. konfigurace XSP. xsp --applications /AspNet:/home/kjn/aspnet_stranky/ Spuštěná aplikace je nyní přístupná pod adresami http://localhost/aspnet (Apache), nebo http://localhost:8080/aspnet přímo přes XSP. 10/13

Konfigurace VirtualHostů <VirtualHost *:80> DocumentRoot /www_asp ServerName www.example.com MonoApplications default "/:/www_asp" MonoDocumentRootDir "/www_asp" <Location /> SetHandler mono </Location> </VirtualHost> Nastavení Handleru pro více přípon souborů AddHandler mono.aspx.ascx.asax.ashx.config.cs.asmx.axd Ovládací panel modulu mod_mono <Location /mono> SetHandler mono-ctrl Order deny,allow Deny from all Allow from 127.0.0.1 </Location> ASP.NET hosting pouze na webserveru XSP XSP je samostatný webový server napsaný v C#, pro hostování ASP.NET aplikací s minimálním úsilím. XSP funguje jak s.net na Windows, tak s Monem. XSP stačí spustit jeho spouštěcím souborem a již naslouchá na svém výchozím portu 8080 (Linuxu) nebo 8088 (Windows). XSP podporuje SSL i TLS. Konfigurace XSP Webserver XSP se konfiguruje pomocí parametrů při spouštění serveru, nebo pomocí XML souborů s příponou config v adresáři s instalací XSP. Příklad konfiguračního souboru <?xml version="1.0" encoding="utf-8"?> <configuration> <appsettings> <add key="monoserverport" value="8080"/> <add key="monoapplications" value="/:." /> <!-- MonoServerVirtualDir MonoServerRootDir MonoServerAddress --> <!-- MonoServerDefaultIndexFiles is set in web.config --> </appsettings> </configuration> 11/13

Některé parametry konfigurace XSP serveru --Parametr appsettings v XML Hodnota port N MonoServerPort N představuje TCP port na kterém XSP naslouchá address N MonoServerAddress N je IP adresa na které XSP naslouchá root ADR MonoServerRootDir Server automaticky změní adresář na tento appconfigfile S MonoApplicationsConfigFil Načte konfiguraci z XML souboru S e appconfigdir D MonoApplicationsConfigDir Přidá nastavení z XML souborů nalezených adresáři D (soubory s příponou.webapp) applications A MonoApplications Čárkou oddělený seznam virtuálních adresářů pro aplikace běžící na serveru. nonstop Nezastavuje server po stisku Enteru. Závěr Mono je velice zajímavý projekt kterému bych osobně přál úspěch. Řeší veliký problém s přenositelností software mezi operačními systémy. Její prosazení nebude nikterak jednoduché, má velikou konkurenci v podobě hodně rozšířené Javy. Java má již velikou podporu (Sun, Oracle, ) a komunitu. Naopak Mono by mohlo díky své kompatibilitě s.netem částečně těžit i z jeho úspěchu. Mono má nyní výhodu že se neustále a rychle vyvíjí. Vznikají podpory pro další jazyky a smazává se rozdíl mezi ním a.net frameworkem. Určitě časem přiláká spoustu vývojářů. Já už nyní jsem jeden z nich. Literatura Ecma International: Standard ECMA-334 [online]. URL: http://www.ecmainternational.org/publications/standards/ecma-334.htm Ecma International: Standard ECMA-334 [online]. URL: http://www.ecmainternational.org/publications/standards/ecma-335.htm Microsoft: Definice základních součástí.net [online]. URL: http://www.microsoft.com/cze/net/basics/whatis.asp Redakce Živě a Microsoft: Začínáme s ASP.NET 2.0 [online]. URL: http://www.zive.cz/h/programovani/ar.asp?ari=125787 Startvbdotnet:.NET Framework and Languages [online]. URL: http://www.startvbdotnet.com/dotnet/languages.aspx Wikipedia:.NET Framework [online]. URL: http://en.wikipedia.org/wiki/.net_framework Wikipedia: Mono (software) [online]. URL: http://en.wikipedia.org/wiki/mono_(software) Monodevelop: Monodevelop [online]. URL: http://www.monodevelop.com/ Mono: Mono [online]. URL: http://www.mono-project.com/ 12/13

NetCraft: February 2007 Web Server Survey [online]. URL: http://news.netcraft.com/archives/2007/02/02/february_2007_web_server_surve y.html The Code Project: MONO: an alternative for the.net framework [online]. URL: http://www.codeproject.com/cpnet/mono-merta.asp Brian Delahunty: Introduction to Mono - ASP.NET with XSP and Apache [online]. URL: http://www.codeproject.com/cpnet/introtomono2.asp 13/13