AIDA/Web

Spletni aplikacijski strežnik

Janko Mivšek

janko.mivsek@eranova.si

Vsebina

Definicija aplikacijskega strežnika

Osnovne ideje

Arhitektura

Primeri uporabe

Zaključek

Spletni aplikacijski strežnik

Spletni + aplikacijski strežnik

Za spletne aplikacije

Dinamične, sproti grajene spletne strani

Namesto GUI spletne strani

Primeri: poslovne aplikacije, portali, ...

Načini gradnje strani

Vloženi ukazi v HTML

jsp, asp, php

Programiranje

Java Servleti

Struts

AIDA/Web

Vloženi ukazi – JSP primer

<p> City:

<jsp:getProperty name="weather" property="city"/>

<p> Zip Code:

<jsp:getProperty name="weather" property="zip"/>

<p> Time:

<jsp:getProperty name="weather" property="time"/>

<p> Temperature unit:

<jsp:getProperty name="weather" property="unit"/>

<p> Current Temperature:

<jsp:getProperty name="weather" property="currentTemp"/>

<p> Low: <jsp:getProperty name="weather" property="minTemp"/>

<p> High:<jsp:getProperty name="weather" property="maxTemp"/>

<p>

<form method="post" action="<portlet:actionURL/>">

Enter Zip Code:

<input type="text" name="zip" value="">

<input type="submit" name="submit" value="Search">

</form>

Vloženi ukazi

Prednosti

Enostavno za spletne oblikovalce

Slabosti

Funkcionalna koda se porazgubi med predstavitveno

“špageti” koda – težko vzdrževanje in nadgrajevanje

Programiranje – primer v Aidi

element := WebElement new.

element table width: 500;

cell color: (self navigatorColor);

cell colspan: 3; addText: self title header: 3;

newRow;

cell colspan: 3; addRulerSize: 1;

newRow;

cell addText: 'uptime: ';

newCell align: #right;

addText: (self printSeconds: self session site uptime);

newRow;

cell addText: 'total uptime: ';

newCell align: #right;

addText: (self printSeconds: self session site totalUptime );

newRow;

cell addText: 'total downtime: ';

newCell align: #right;

addText: (self printSeconds: self session site totalDowntime );

newRow;

cell colspan: 3; addRulerSize: 1.

^self pageFrameWith: element title: self title .

Programiranje

Prednosti

Nič HTML, samo en programski jezik

Ločitev predstavitve od modela

Komponente, ponovna uporaba

Slabosti

Težko za spletne oblikovalce

Zahtevni prenos oblikovanja v kodo

Osnovne ideje

Objektni sistem = splet objektov

... povezanih z objektnimi referencami

Svetovni splet = splet strani

... povezanih z Url vezmi

Osnovne ideje

Vsak objekt naj se zna predstaviti v obliki spletne strani

Reference med objekti naj se preslikajo v Url vezi in obratno - samodejno!

REST arhitekturni princip

REpresentational State Transfer

Splet sestavljen iz virov, ki so naslovnjeni s spletnimi naslovi (Url).

Primer: http://www.eranova.si/aida

Kot odgovor dobimo predstavitev vira

Predstavitev lahko spremeni stanje vira

MVC na spletu

Model-View-Controler

Stroga ločitev predstavitve od funkcionalne logike

Vsak domenski objekt ima svojega predstavitvenega

domain

object

a WebApp

domenski

objekt

opazovani

Arhitektura – spletni strežnik

HTTP Server

Web Site

Arhitektura – modularnost

Site

FileResource

AIDA

Wiki

Spletna aplikacija z Aido

Spletni strežnik

Url

preslikave

Varnost

Seje

Statistika

Skrbništvo

Model

Predstavitev

Pomožne storitve

Ogrodje predstavitve

Pot spletne zahteve

Primeri uporabe

Javna spletna mesta

Gore – ljudje: www.planid.org

Poslovne aplikacije

Geoplin: obračun zemeljskega plina, upravljanje plinovodnega omrežja

Oria Computers: e-logis – upravljanje logističnih procesov

BiArt Informacijski portal (v nastajanju)

Zaključek

http://www.eranova.si/aida

janko.mivsek@eranova.si

Janko Mivsek

2003-11-13T22:26:32