Upload
frayne
View
57
Download
0
Tags:
Embed Size (px)
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 Presentation
Citation preview
APPLICATION SERVERS
Seminari de CASOQ2 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 Exemples Comercials d’Application Servers Bibliografia
INTRODUCCIÓ MODEL DE LES 3 CAPES
(3-tier architecture)
Presentació (client)
Dades i serveis (bases de dades)
Business logicapplication
server
INTRODUCCIÓ (II) Exemple: una possible implementació del Racó
de l’estudiant
Presentació
Dades i serveis
Business logic
Navegador web
Servidor web + php
SQL 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
QUÈ ÉS UN APPLICATION SERVER ?
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.
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.
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)
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)
QUINS CONCEPTES USEN ELS APPLICATION SERVER ?
Model client /servidor lleuger/pesant
Programació per capes
CORBA, DCOM, ...
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.
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.
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.
PROGRAMACIÓ PER CAPES
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.
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.
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.
...
PER QUÈ S’USA JAVA EN LES APPLICATION SERVERS ? Java Java2EE JavaBeans Servlets de Java JSP
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.
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++. ...
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, ...
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
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.
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.
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.
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...
WEB APPLICATION SERVERS (II) Incorpora un gestor de solicitud
d’objectes (ORB) basat en CORBA.
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.
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)
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
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 ...