Title: QUINS CONCEPTES USA ?
1APPLICATION SERVERS
Seminari de CASOQ2 2002 Josep Sanjuàs Cuxart
Marc Pous i Marín
2ÍNDEX DEL SEMINARI
- Introducció
- Què és un application server ?
- Prestacions
- Aventatges del seu ús
- Conceptes que usen els application server
- Llenguatge Java
- Web Application Servers
- Exemples Comercials dApplication Servers
- Bibliografia
3INTRODUCCIÓ
- MODEL DE LES 3 CAPES
- (3-tier architecture)
Presentació (client)
application
Business logic
server
Dades i serveis (bases de dades)
4INTRODUCCIÓ (II)
- Exemple una possible implementació del Racó de
lestudiant
Presentació
Navegador web
Servidor web php
Business logic
Dades i serveis
SQL server
5QUÈ ÉS UN APPLICATION SERVER ?
- En definitiva, un application server conté un
software intermig (middleware) que connecta les
capes superior i inferior, i gestiona els recuros
usant-los per servir els clients. - És una idea molt genèrica per la qual existeixen
moltes implementacions
6PRESTACIONS
- Gestionen les bases de dades, laccés a les
mateixes, i tots els aspectes de laplicació. - Aïllen codi i dades que han de ser privats, i
proporcionen una interfície daccés remot.
7AVENTATGES DEL SEU ÚS
- Robustesa els application servers aïllen les
tasques crítiques i controlen les fallades del
sistema. - Seguretat implementen mètodes dencriptació (la
majoria usen SSL) - Gestió de sessions gestió de laccés al sistema
(autentificació dels usuaris) i manteniment de
sessions.
8AVENTATGES DEL SEU ÚS (II)
- Alt rendiment tenir caches, redirigir peticions
cap a altres servidors dun cluster, load
balancing. A més, en tenir les dades locals o
properes, laccés és més ràpid. - Fàcil manteniment com que el codi està
localitzat, és més fàcil fer updates i
monitoritzar-ne el funcionament, - Gestió de sessions gestió de laccés al sistema
(autentificació dels usuaris) i manteniment de
sessions.
9AVENTATGES DEL SEU ÚS (III)
- Disminució de la càrrega de treball dels clients
els servidors poden ser usats per córrer
aplicacions de cost inabastable pels clients. - Protecció de les dades la majoria de dades i
algorismes no són públics, i sevita que puguin
ser analitzats per extreuren informació privada.
10QUINS CONCEPTES USEN ELS APPLICATION SERVER ?
- Model client /servidor lleuger/pesant
- Programació per capes
- CORBA, DCOM, ...
11MODEL CLIENT/SERVIDOR LLEUGER/PESANT
- Qualsevol aplicació orientada a xarxes usa aquest
model. - El client enviarà dades (processades o no) al
servidor (que les tractarà) i retornarà resultats
al client. - Els clients i servidors poden ser pesants o
lleugers.
12CLIENT LLEUGER SERVIDOR PESANT
- El client no processa les dades, sinó les envia
directament al servidor. El servidor haurà de fer
tota la feina. - Tindrem clients amb poc poder de procés i poc
ample de banda, ja que circularan peticions i
resultats i no dades intermitges.
13CLIENT LLEUGER SERVIDOR PESANT
- El client fa un pre-procés de les dades abans
denviar-les al servidor, amb lobjectiu
destalviar temps de procés al servidor. - El servidor esdevé lleuger, i com a tal,
requereix menys potència i més ample de banda amb
el qual enviar dades als clients. - Aquest tipus de servidor és usat quan el servidor
té moltes peticions en poc temps.
14PROGRAMACIÓ PER CAPES
15CORBA, DCOM, ... (I)
- Susa CORBA com a estàndard per a comunicar
client i servidor. - CORBA és una plataforma per a crear entorns
distribuïts. - Pot comunicar qualsevol plataforma mentre tinguin
una implementació de CORBA - Funciona a través dobjectes que susen com si
fossin locals, encara que en realitat poden ser
remots.
16CORBA, DCOM, ... (II)
- Objectes distribuïtsLa programació és
independent de la plataforma i llenguatge de
programació sobre la qual es treballa. - Els llenguatges del client o servidor són Java,
C, Eiffel, o bé qualsevol llenguatge orientat a
objectes.
17CORBA, DCOM, ... (III)
- DCOM (Distributed Component Object Model) és la
versió Microsoft de CORBA. - RMI (Remote Method Invocation) és un model de
Java per desenvolupar aplicacions amb objectes
distribuïts. - ...
18PER QUÈ SUSA JAVA EN LES APPLICATION SERVERS ?
- Java
- Java2EE
- JavaBeans
- Servlets de Java
- JSP
19Java (I)
- Java és un llenguatge creat per Sun MicroSystems.
- Java és un llenguatge d'alt nivell, orientat a
objectes. - Java és robust.
- Java no deixa forats a la memòria, i no té errors
de referència a memòria.
20Java (II)
- Amb múltiples components integrats, podem trobar
més ràpid les errades (no hi ha "segmentation
violations") - Java no és un llenguatge fràgil en xarxes.
- Java és un llenguatge madur, i està a tot arreu.
- Java té moltes classes implementades i molt
exteses. - Java és més ràpid que C/C.
- ...
21JAVA2EE
- És una plataforma de Sun (Sun's Java 2 Platform,
Enterprise Edition) que defineix l'arquitectura
estàndard d'una aplicació multi-capa. - Conté els següents APIs JavaBeans, JDBC,
JavaIDL, Servlets, JSP, ...
22JAVABEANS
- JavaBeans és un model per a plataformes
independents i portable, escrit en Java. - Permet als programadors usar components ja fets i
utilitzar-los a qualsevol lloc - Write Once, Run Anywhere
23SERVLETS DE JAVA
- Un Servlet de Java és un programa Java que corre
en el servidor. - Normalment rep peticions i genera respostes del
tipus GET i POST (HTTP) - Tracta amb HTML tot i que pot generar
dinàmicament qualsevol tipus de codi.
24SERVLETS DE JAVA (II)
- També poden accedir a APIs de Java, com JDBC per
obtenir informació de la tercera capa. - Són equivalents als CGIs o als scripts de Perl.
25JSP
- Java Server Pages (JSP) és una tecnologia similar
a les Active Server Pages de Microsoft. - Contenen un mixt entre codi HTML i codi Java.
- Està basat en Servlets de Java.
26WEB APPLICATION SERVERS
- Actualment és un dels usos més extesos dels
Application Servers. - És una plataforma extensa i robusta per
implementar i executar aplicacions web. - És una combinació de molts components.
- Els clients són els navegadors.
- Els servidors poden usar CGIs, ASP, JSP, PHP,
Java...
27WEB APPLICATION SERVERS (II)
- Incorpora un gestor de solicitud dobjectes (ORB)
basat en CORBA.
28EXEMPLES COMERCIALS DAPPLICATION SERVERS (I)
- Els Application Servers estan orientats a les
empreses. - Per tant la majoria de productes són comercials i
no es coneixen codis font, ni com funcionen
internament. - Les solucions comercials costen milers de dòlars.
29EXEMPLES COMERCIALS DAPPLICATION SERVERS (II)
Servidor Descripció Plataforma
ColdFusion Enterprise-level with emphasis on e-commerce Windows 95/98/NT, Sun Solaris, ColdFusion Studio, HP/UX
WebSphere IBM's server breaks into the echelon with EJB support Windows NT/2000, IBM AIX, Sun Solaris, Linux, Novell Netware
Oracle An enterprise-level application and transaction server WindowsNT, UNIX(Liunx)
30EXEMPLES COMERCIALS DAPPLICATION SERVERS (III)
Servidor Descripció Plataforma
Tomcat Is a server which supports the JSP and java servlet standards Tomcat is servlet UNIX (free)
WebApp A database-centric approach that provides application development and deployment enviroment Windows NT, reqires Microsoft Internet Information Server
31BIBLIOGRAFIA
- http//www.covero.com/appserverfaq.html
- http//www.devx.com/appserver/appservfaq.asp
- http//www.scottsnetworkclass.com/student/Gaskins
/app.html - http//www.bea.com/products/weblogic/server/paper_
Java.shtml - http//jakarta.apache.org
- Manual Oracle Application Server
- ...