310 likes | 449 Views
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
E N D
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) application Business logic server Dades i serveis (bases de dades)
INTRODUCCIÓ (II) Exemple: una possible implementació del Racó de l’estudiant Presentació Navegador web Servidor web + php Business logic Dades i serveis 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.
AVENTATGES DEL SEU ÚS (II) • 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 (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 s’evita que puguin ser analitzats per extreure’n informació privada.
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.
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 usarcomponents 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.
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 ...