application servers
DESCRIPTION
APPLICATION SERVERS. Seminari de CASO Q2 2002 Josep Sanjuàs Cuxart Marc Pous i Marín. Í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 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/1.jpg)
APPLICATION SERVERS
Seminari de CASOQ2 2002
Josep Sanjuàs Cuxart Marc Pous i Marín
![Page 2: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/2.jpg)
Í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 d’Application Servers Bibliografia
![Page 3: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/3.jpg)
INTRODUCCIÓ MODEL DE LES 3 CAPES
(3-tier architecture)
Presentació (client)
Dades i serveis (bases de dades)
Business logicapplication
server
![Page 4: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/4.jpg)
INTRODUCCIÓ (II) Exemple: una possible implementació del Racó
de l’estudiant
Presentació
Dades i serveis
Business logic
Navegador web
Servidor web + php
SQL server
![Page 5: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/5.jpg)
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
QUÈ ÉS UN APPLICATION SERVER ?
![Page 6: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/6.jpg)
PRESTACIONS
Gestionen les bases de dades, l’accés a les mateixes, i tots els aspectes de l’aplicació.
Aïllen codi i dades que han de ser privats, i proporcionen una interfície d’accés remot.
![Page 7: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/7.jpg)
AVENTATGES DEL SEU ÚS Robustesa: els application servers aïllen les
tasques crítiques i controlen les fallades del sistema.
Seguretat: implementen mètodes d’encriptació (la majoria usen SSL)
Gestió de sessions: gestió de l’accés al sistema (autentificació dels usuaris) i manteniment de sessions.
![Page 8: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/8.jpg)
Alt rendiment: tenir caches, redirigir peticions cap a altres servidors d’un cluster, load balancing. A més, en tenir les dades locals o properes, l’accé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 l’accés al sistema (autentificació dels usuaris) i manteniment de sessions.
AVENTATGES DEL SEU ÚS (II)
![Page 9: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/9.jpg)
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 s’evita que puguin ser analitzats per extreure’n informació privada.
AVENTATGES DEL SEU ÚS (III)
![Page 10: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/10.jpg)
QUINS CONCEPTES USEN ELS APPLICATION SERVER ?
Model client /servidor lleuger/pesant
Programació per capes
CORBA, DCOM, ...
![Page 11: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/11.jpg)
MODEL 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.
![Page 12: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/12.jpg)
CLIENT 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.
![Page 13: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/13.jpg)
CLIENT LLEUGER – SERVIDOR PESANT El client fa un pre-procés de les dades abans
d’enviar-les al servidor, amb l’objectiu d’estalviar 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.
![Page 14: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/14.jpg)
PROGRAMACIÓ PER CAPES
![Page 15: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/15.jpg)
CORBA, DCOM, ... (I) S’usa 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 d’objectes que s’usen com si fossin locals, encara que en realitat poden ser remots.
![Page 16: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/16.jpg)
CORBA, DCOM, ... (II) Objectes distribuïts:
La 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.
![Page 17: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/17.jpg)
CORBA, 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.
...
![Page 18: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/18.jpg)
PER QUÈ S’USA JAVA EN LES APPLICATION SERVERS ? Java Java2EE JavaBeans Servlets de Java JSP
![Page 19: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/19.jpg)
Java (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.
![Page 20: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/20.jpg)
Java (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++. ...
![Page 21: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/21.jpg)
JAVA2EE É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, ...
![Page 22: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/22.jpg)
JAVABEANS 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
![Page 23: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/23.jpg)
SERVLETS 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.
![Page 24: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/24.jpg)
SERVLETS 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.
![Page 25: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/25.jpg)
JSP 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.
![Page 26: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/26.jpg)
WEB 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...
![Page 27: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/27.jpg)
WEB APPLICATION SERVERS (II) Incorpora un gestor de solicitud
d’objectes (ORB) basat en CORBA.
![Page 28: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/28.jpg)
EXEMPLES COMERCIALS D’APPLICATION 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.
![Page 29: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/29.jpg)
EXEMPLES COMERCIALS D’APPLICATION SERVERS (II)
Servidor Descripció PlataformaColdFusion 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)
![Page 30: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/30.jpg)
EXEMPLES COMERCIALS D’APPLICATION SERVERS (III)
Servidor Descripció PlataformaTomcat 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
![Page 31: APPLICATION SERVERS](https://reader036.vdocuments.mx/reader036/viewer/2022062310/56815d37550346895dcb3851/html5/thumbnails/31.jpg)
BIBLIOGRAFIA 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 ...