A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Plataforma para Desenvolvimento de Software em Ambiente WEB Prof. Dr. Sérgio Donizetti Zorzo UFSCar –junho/2001.

Apresentações semelhantes


Apresentação em tema: "Plataforma para Desenvolvimento de Software em Ambiente WEB Prof. Dr. Sérgio Donizetti Zorzo UFSCar –junho/2001."— Transcrição da apresentação:

1 Plataforma para Desenvolvimento de Software em Ambiente WEB Prof. Dr. Sérgio Donizetti Zorzo UFSCar –junho/2001

2 Ambiente de Trabalho

3 Tecnologia Cliente-Servidor appletcliente Servidor Parâmetros REQUEST Resultados RESPONSE Servlet CSB SSB

4 Tecnologia Cliente-Servidor CLIENTE – CSB/ Client Side Building Processamento no cliente. Consome tempo de carregamento. Limitação de processamento do cliente. Linguagem dependente de browser. Linguagens disponíveis: JavaScript, Applets. SERVIDOR – SSB/ Server Side Building Processamento no servidor. Retorna ao cliente páginas HTML. Capacidade maior para armazenamento e processamento. Segurança para manipulação de informações (no servidor). Linguagens disponíveis: JSP, Servlets, PHP, PERL-CGI, ASP.

5 Arquitetura de Sistemas na WEB Desenvolvimento de Sistemas em 3 Camadas: Camada de apresentação recebe informações do usuário, envia aos componentes de negócio para o processamento, recebe os resultados fornecidos pelos componentes de negócio, e apresenta-os ao usuário. Camada de lógica de negócio O processamento é especificado e as regras de negócios mantidas. Regras de negócios realiza a validação de dados, verificação de logins, busca em banco de dados e diversos algoritmos de transformação. Une a camada de apresentação com as camadas de dados. Camada de acesso a dados permite o acesso a uma variedade de fontes de informações, incluindo dados relacionais e não relacionais, e uma interface de programação fácil de usar que é independente de ferramenta e de linguagem.

6 Configurações da Máquina Sistema Operacional LinuxWindows Compiladores JDK PHP 4 Servidor Web APACHE (jakarta-tomcat) SGBD (SQL) MySQL ORACLE MS ACCESS

7 Formulários – comunicação entre cliente e servidor conteúdo do formulário... name: identificador do formulário – action: nome do script que receberá os dados do formulário no servidor method: método de envio dos dados – get ou post Enctype: formato envio dos dados – default é urlencoded Existem vários tipos de campos de entrada no formulário, como: campos de entrada de texto menus de múltipla escolha ou escolha única botões sim-ou-não botões para submissão ou limpeza de formulário

8 Formulários – métodos de comunicação: GET e POST GET - As informações do formulário são enviadas junto e ao final da URL ativada. POST - As informações são enviadas após a ativação da URL, ou seja, o servidor entende que novas informações serão enviadas pelo cliente. As informações do formulário serão tratadas na URL referenciada pelo tag ACTION, que será responsável por responder a solicitação do formulário. ACTION="/cgi-bin/post-query" para um script no seu servidor ACTION="http://www.comp.ufscar.br/~zorzo/resp.php" para o tratamento do formulário no servidor. O formulário terá a seguinte estrutura: Marcações de campos de entrada e HTML em geral

9 Formulário Nome: Sexo: masc fem Esportes de Interesse: FUTEBOL VOLEIBOL BASQUETEBOL Digite as suas sugestoes Sistema Utilizado Windows 98 Unix

10 Formulário

11 PHP – Personal Home Pages 1994 - criada por Rasmus Lerdorf - uso pessoal 1995 - foi disponibilizada para outros programadores Personal Home Page Tools 1997 – PHP/FI – incorporado o Form Interpreter 1999 – passou a ser desenvolvido por um grupo de profissionais em 1999 – mais de 1 000 000 usuários PHP versão 4.0.4 – www.php.net - 11 / janeiro / 2001www.php.net

12 Sintaxe Básica de PHP O Código PHP fica junto com o código html, ficando com o interpretador a responsabilidade de diferenciá-los. Usa-se as tags: <% comandos %> comandos // primeiro exemplo – Teste1.php <?php print "Exemplo de código PHP"; ?>

13 Sintaxe Básica de PHP TESTE 2 Aprendendo PHP- formulario TESTE 2- resposta </head Resposta de PHP

14 PHP Tipos de Dados Inteiro Ponto Flutuante String Array Objeto Operadores Aritméticos (+ - * / % ) Concatenação de Strings (. ) Atribuição (como na linguagem C++) ( = += -= *= /= %=.=) Bit a Bit ( & | ^ ~ >) Lógicos ( and or xor ! (não) && (e) || ) Comparação ( == != >= ) Expressão Condicional (Expressão1) ? (Expressão2) : (Expressão3) de incremento e de decremento ++ --

15 PHP – Estruturas de Comando Blocos { } Comandos de Seleção if (expressão) if (expressão) if (expressão) comando; comando; comando; elseif (expr2) else comando; comando;... else comando; comando;endif; Comandos de Repetição while (expressão)while (expressão)do { comando; comando;....comando; comando;.... comando; endwhile; } while ( expressão ); for ( inicialização ; condição ; incremento ) comando; Comando break Comando continue

16 PHP –Classes e Objetos class conta { var $saldo ; function saldo () { return $this->$saldo; } function credito ( $valor) { $this->$saldo += $valor; } function conta() { $this->$saldo =10; } } $contacorrente = new conta; $contacorrente - > saldo ( ); // retorna 10 $contacorrente - > credito (50); $contacorrente - > saldo ( ); //retorna 60 O construtor pode conter argumentos – que são opcionais

17 PHP +Mysql (Exemplo de Consulta) <?php $conexao = mysql_connect ("localhost",usuarioaluno",senhapct2001"); mysql_select_db (bancodedados",$conexao); $consulta = "SELECT * FROM tabzorzo WHERE numero=$entrada1"; $resultado = mysql_query ($consulta, $conexao); $entrada1 = mysql_fetch_array ($resultado); $nome = $entrada1[nome]; print $nome; echo " "; $numreg = mysql_num_rows ($resultado) + 1 ; echo ("Numero de Registros: "); print $numreg; ?>

18 PHP +Mysql (Exemplo de Inserção) <?php $conexao = mysql_connect ("localhost",usuarioaluno",senhapct2001"); mysql_select_db (bancodedados",$conexao); $INSERT="insert into tabzorzo (numero,nome,telefone) values (\$numero\",\$nome\, \$telefone\ )"; $resp=mysql_query($INSERT,$conexao); echo " "; if($resp) { echo " Aluno cadastrado corretamente.";} else { echo " Cadastro nao efetuado.";} ?>

19 Java - Aplicativos ou Programas Um programa em Java é a definição de uma classe que tem o método estático main( ), o qual será executado assim que for criado esta classe, e que ao ser executado poderá criar novas instâncias desta ou de outras classes. public class AloPessoal { public static void main(String args[]) { System.out.println("Primeiro Programa em Java!"); } Para compilar o programa Java: >javac AloPessoal.java Para executar o interpretador Java que interpreta os bytecodes, da Java Virtual Machine. >java AloPessoal, e será exibido na tela: Primeiro Programa em Java!

20 Java – Applets e um programa em java, que é executado por um browser, quando é carregada a página que contém o applet. É um programa que será transportado pela internet, como os documentos html. São construídos para serem pequenos. por questões de segurança, obedecem critérios rígidos para que sua execução seja possível pelos browsers. import java.applet.Applet; import java.awt.Graphics; public class alo extends Applet { public void paint (Graphics g) { g.drawString (Alo a todos, Exercitanda Java, 25,25); g.drawString (Lembre-se de que o arquivo tem que ter o nome do applet, 25,50); }

21 public void init() - esse método é chamado uma vez pelo appletviewer ou pelo browser quando um applet é carregado para execução - Ações Típicas: Inicializações de varíaveis, carregamento de sons para reproduzir ou imagens a exibir. public void start() - esse método é chamado assim que o init termina, e a cada vez que o usuário do navegador retorna para a página HTML em que o applet reside. public void paint(Graphics g) - esse método é chamado toda vez que o applet necessita atualizar sua exibição, que ocorre na primeira vez depois da execução do start ou quando a tela foi movimentada ou redimensionada e ai precisa ser redesenhado. public void stop() - esse método é chamado toda vez que o applet deixa de ser visível, ou seja, quando ocorre um rolamento da tela ou quando o applet fica encoberto por outra tela. (start e stop podem ocorrer inúmeras vezes no ciclo de vida dos applets) public void destroy() - esse método é chamado toda vez que o applet está sendo descarregado da página - para que seja realizada a liberação final de todos os recursos utilizados durante a sua execução. É acionado quando o browser troca de páginas. Linguagem Java – Funcionamento dos Applets

22 // ex2.java - contagem de numero de execucao de um applet import java.awt.Graphics; // import class Graphics e Applet import java.applet.Applet; public class ex2 extends Applet { private int nroinits=0; private int nrostarts=0; private int nropaints=0; private int nrostops=0; public void init( ) { nroinits ++; } public void start( ) { nrostarts ++; } public void stop( ) { nrostops ++; } public void paint( Graphics g ) { nropaints++; g.drawString( "Init: "+ nroinits, 5, 15 ); g.drawString( "Start: "+ nrostarts, 5, 30 ); g.drawString( "Paint: "+ nropaints, 5, 45 ); g.drawString( "Stop: "+ nrostops, 5, 60 ); } Linguagem Java – Funcionamento dos Applets

23 é um componente que pode estender a funcionalidade dos servidores. Por serem escritos em Java, são independentes de plataforma podendo ser criados, compilados e executados em plataformas diferentes. É uma API Java que compilada atende requisições de páginas HTML e compatível com a plataforma Java. Trabalha com o Servidor por multi-thread. Trata coockies com muita segurança. Implementa manipulador de sessão. Possui estrutura orientada a objetos, o que aumenta a modularização do Sistema. Java – Servlets

24 Applets x Servlets Navegador (browser) deve suportar Java e na versão correta da Applet; Demandam tempo de carregamento da página que contém o Applet; Difícil comunicação com outro aplicativo Java ou Banco de Dados; CGI x Servlets Sobrecarrega o servidor; Tem funções limitadas; Difícil programação; Java – Servlets

25 PHP x Servlets São limitados ao ambiente da página HTML; Tipos de dados são variantes (complicador para a corretude); Diferentes comandos para cada SGBD; ASP x Servlets São limitadas à plataforma Windows; Estrutura de código diferente da filosofia C++; Difícil portabilidade para outros ambientes; Dependência de plataforma Os servlets podem rodar em qualquer plataforma sem serem reescritos ou até mesmo compilados novamente. Java – Servlets

26 Funcionamento de Servlets

27 Estrutura Básica de um Servlet Importa os pacotes necessários Declara a classe –cria o método init(); –cria o método doGet() e/ou doPost() - são chamados pelo método service() –cria o método destroy()

28 Exemplo 1 package leilao; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class Leilao extends HttpServlet { int valor; // método para inicializar o servlet public void init(ServletConfig ConfInicial) throws ServletException { super.init(ConfInicial); valor = 10; }

29 Exemplo 1 - cont. // método chamado para atender uma solicitação de HTTP POST public void doPost(HttpServletRequest solicitacao, HttpServletResponse resposta) throws ServletException, IOException { int numero1 = Integer.parseInt(solicitacao.getParameter("numero")); PrintWriter saida = resposta.getWriter(); if (numero1 > valor) { valor = numero1; saida.println(Você deu o maior lance até o momento!!!"); } else saida.println("Sinto muito, alguém deu um lance maior..."); }

30 JSP- JavaServer Pages Tecnologia baseada em Java para desenvolvimento de sites da Web dinâmicos JSP é implementada através de servlets JSP permite que você separe a parte dinâmica das páginas do HTML estático JSP são arquivos de texto (.jsp) que substituem as páginas HTML tradicionais Integração de Java com HTML

31 Vantagens de JSP Modelo de programação que enfatiza o design de aplicações centradas em componentes –JavaBeans é um exemplo de um modelo de programação de componentes escrito em Java –Um componente é um objeto independente que representa uma coleção de propriedades e comportamento –JSP possui tags especiais do tipo HTML para acessar JavaBeans em uma página, bem como para exibir e modificar suas propriedades –Design centrado em componentes favorece a reusabilidade

32 Funcionamento de JSP

33 TAGs JSP Quatro principais categorias de tags de marcação fornecidas por JSP: –Diretivas –Elementos de criação de scripts –Comentários –Ações

34 Exemplo 1 Usando Beans (Arquivo.java) public class AloBean { String nome; public HelloBean() { nome = Mundo; } public String getNome() { return nome; } public void setNome(String nome1) { nome = nome1; } }

35 Exemplo 1 Usando Beans (Arquivo.jsp) Alô,

36 Sérgio Donizetti Zorzo Universidade Federal de São Carlos Departamento de Computação zorzo@dc.ufscar.br


Carregar ppt "Plataforma para Desenvolvimento de Software em Ambiente WEB Prof. Dr. Sérgio Donizetti Zorzo UFSCar –junho/2001."

Apresentações semelhantes


Anúncios Google