APPLICATION SERVERS

Preview:

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

Recommended