Servlets, JSP e Web Services Eider Oliveira 13 de junho de 2002.
-
Upload
david-thiago-da-rocha-leveck -
Category
Documents
-
view
235 -
download
3
Transcript of Servlets, JSP e Web Services Eider Oliveira 13 de junho de 2002.
Servlets, JSP eWeb Services
Eider Oliveira
13 de junho de 2002
Interação Cliente Servidorna Internet
Código cliente: Applets JavaScript Alternativas da Microsoft
Código servidor CGI, NSAPI, ISAPI PHP, Coldfusion, ASP, etc Servlets
Protocolo HTTP Protocolo sem estado (“stateless”)
Solicitações: Get Post
Resposta: página HTML
Solicitação GETGET /index.html HTTP/1.0 Connection: Keep-Alive User-Agent: Mozilla/4.08 [en] (X11; I; Linux 2.0.36 i586; Nav) Host: silverfish.sd.monash.edu.au:3213 Accept: image/gif, image/jpeg, image/png, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso-8859-1,*,utf-8
RespostaHTTP/1.1 200 OK Date: Mon, 10 May 1999 06:15:49 GMTServer: Apache/1.3.0 (Unix) Connection: close Content-Type: text/html
<HTML><HEAD> <meta http-equiv="refresh" content="0; URL=http://bcomp.csse.monash.edu.au/"> </HEAD>
Formulário<HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> <FORM METHOD=POST ACTION="servlet/Hello"> Qual seu nome? <INPUT TYPE=TEXT NAME="nome"><P> <INPUT TYPE=SUBMIT> </FORM> </BODY> </HTML>
Envio de dados: POSTPOST /servlet/Hello HTTP/1.0 Referer: http://silverfish.sd.monash.edu.au:3213/Connection: Keep-Alive User-Agent: Mozilla/4.08 [en] (X11; I; Linux 2.0.36 i586; Nav) Host: silverfish.sd.monash.edu.au:3213 Accept: image/gif, image/jpeg, image/pjpeg, image/png, */*Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso-8859-1,*,utf-8 Content-type: application/x-www-form-urlencoded Content-length: 22
nome=Ex+President+Bush
Servlets Programas em Java Executam exclusivamente no
servidor Atendem requisições GET e POST Atuam conjuntamente com o
Servidor Web
Servlets
Browser Servlet Server
Servlet
Servlet
Servlet
Máquina Cliente Máquina Servidora
Solicitação e parâmetros
Resposta (HTML)
Características de uma Servlet
Baixo consumo de memória Uma instância atende diversas requisições Possibilita reutilização de recursos caros Grande velocidade de execução
Uma Servlet Simplesimport java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*;
public class EchoServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException { response.setContentType("text/html"); ServletOutputStream out = response.getOutputStream(); out.println("<HTML><BODY>“); out.println("the value of parameter theParameter is “); out.println(request.getParameter("theParameter")); out.println("</BODY></HTML>"); } }
Problemas... A interface HTML está difusa dentro do
código Java Qualquer alteração visual implica em
recompilação da Servlet Quem modifica os fontes: o Webmaster
ou o programador?
Solução: JSP Java Server Pages Código Java dentro das páginas HTML
(Scriptlet) Compilação transparente em Servlets Uso de JavaBeans e Taglibs
Exemplo de JSP<HTML> <HEAD> <TITLE>JSP example</TITLE> </HEAD> <BODY> <% out.println(“Good afternoon “+ request.getParameter(“name”)); %> </BODY></HTML>
“E que *&%@!! são Web Services?”
SOAP: uma outra forma de RPC? Fundamentalmente: sim
XML: lento e complexo Mas interoperável!
A mágica dos padrões da indústria… Indo além do arquitetado e alcançando
o dinâmico RPC: foi uma boa idéia nos anos 70 e
continua sendo uma boa idéia.
Web Services... “A” aplicação: Sinergia Onde estão meus distribuidores, cobradores, vendedores.
Um sistema de saúde sem redigitação de formulários
Uma loja promove leilão do seu saldo de estoque
Java Web Services Developer Pack
APIs de Web Services e Applicações: Java API for XML Processing (JAXP) , RPC (JAX-
RPC), Messaging (JAXM), Registries (JAXR) UDDI-based registry server (Universal
Description, Discovery and Integration) The JSP Standard Tag Library
Desenvolvimento e testes: A UDDI-based registry server Apache Tomcat Java Secure Socket Extension (JSSE) Apache Ant build tool
Documentação
Curvas de Adoção
Launch
Experiments
Deployment
Established
9896 9795 99 00 01 02
Lang
uage
Applets
J2EE
JSP Web Services
Evolução da Computação DistribuídaClient-Server After thatNextWeb ServicesWeb Apps3/N-Tier
Catch Phrase
SystemCollectionsComponentsScale
Leaf Protocol(s)
Directory(s)
Session
When/Peak
Schematic
The Network Isthe Computer
Network ofThings
Network ofEmbedded
Things
The Computer Isthe Network
Objects Legacy tothe Web
1000s100s 1000000s 10000000s 100000000s 1000000000s
1984/1987 1990/1993 1996/1999 2001/2003 1998/2004 2004/2007X X +HTTP +RMI
+JVM)+XML, + ? + ?
NIS, NIS+ + CDS + LDAP (*) +UDDI + ? + ?
RPC, XDR +CORBA +CORBA, RMI+ SOAP, XML + ? + ?
(A seqüência Gingell)
Olhando a frente `Web Services’ é a infraestrutura
E o mundo de Java inclui muito mais...
Desktops Embedded Real Time Wireless Smart Cards Games ?!