31
APPLICATION SERVERS Seminari de CASO Q2 2002 Josep Sanjuàs Cuxart Marc Pous i Marín

APPLICATION SERVERS

  • Upload
    frayne

  • View
    57

  • Download
    0

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

Page 1: APPLICATION SERVERS

APPLICATION SERVERS

Seminari de CASOQ2 2002

Josep Sanjuàs Cuxart Marc Pous i Marín

Page 2: APPLICATION SERVERS

Í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

INTRODUCCIÓ MODEL DE LES 3 CAPES

(3-tier architecture)

Presentació (client)

Dades i serveis (bases de dades)

Business logicapplication

server

Page 4: APPLICATION SERVERS

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

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

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

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

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

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

QUINS CONCEPTES USEN ELS APPLICATION SERVER ?

Model client /servidor lleuger/pesant

Programació per capes

CORBA, DCOM, ...

Page 11: APPLICATION SERVERS

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

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

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

PROGRAMACIÓ PER CAPES

Page 15: APPLICATION SERVERS

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

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

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

PER QUÈ S’USA JAVA EN LES APPLICATION SERVERS ? Java Java2EE JavaBeans Servlets de Java JSP

Page 19: APPLICATION SERVERS

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

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

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

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

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

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

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

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

WEB APPLICATION SERVERS (II) Incorpora un gestor de solicitud

d’objectes (ORB) basat en CORBA.

Page 28: APPLICATION SERVERS

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

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

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

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 ...