Você está na página 1de 9

LINGUAGEM DE PROGRAMAÇÃO ORIENTADA À OBJETOS I

Professor: Michel Ivan Albarran


Período: 1º.2023 DATA: ___.___.___ Unidade: 913 Sul
Aluno: Vinicius Vidal De Sousa

Parte I

1. Explique com base no desenho abaixo o que é JVM? Por que dizemos que Java é compilado e
interpretado? Explique o que é Native Method Stack .

R = JVM (Java Virtual Machine) é um ambiente de tempo de execução responsável por


executar programas Java. É criado a partir da execução do código Java compilado, que é
interpretado pela JVM. Dizemos que Java é compilado e interpretado porque o código
Java é compilado para bytecode, que é depois interpretado pela JVM. A compilação para
bytecode torna o código independente de plataforma, permitindo que o código possa ser
executado em qualquer plataforma com suporte à JVM. Native Method Stack é um
componente da JVM que é responsável pelo armazenamento de chamadas de método
nativas. Estas chamadas são chamadas de métodos nativos porque elas são
implementadas em código nativo, ou seja, código nativo de uma plataforma específica.
Estas chamadas de método nativas são usadas para acessar recursos específicos da
plataforma, tais como APIs de sistema, gráficos, etc.

2. Conforme apresentando abaixo explique cada camada MVC para o Java, não esqueça de citar por
que essa arquitetura é importante e é amplamente utilizada no mercado?
R= MVC (Model-View-Controller) é uma arquitetura de software amplamente utilizada para
desenvolvimento de aplicações web, que separa as responsabilidades de cada camada
em três partes distintas. Model: Representa os dados da aplicação, sejam eles persistidos
ou gerados dinamicamente. View: É responsável por apresentar os dados, a interface
gráfica que o usuário vê e interage. Controller: É responsável pela lógica de negócio e as
regras do sistema, responsável por intermediar as interações entre o modelo e a visão. A
arquitetura MVC é importante porque permite separar os dados da aplicação (Model) da
sua interface gráfica (View) e da lógica de negócio (Controller). Isto permite ao
desenvolvedor criar aplicações robustas, escaláveis e manuteníveis. Esta arquitetura é
amplamente utilizada nos dias de hoje, pois ajuda a organizar o código e ainda permite
que as equipes de desenvolvimento trabalhem de forma mais eficiente.

3. Explique o fluxo abaixo. Explique o papel da Servlet e como ela funciona? Não deixe de citar como
ocorrem as requisições.

R= A Servlet é um componente de software que faz parte da camada de controle de uma


aplicação. Ela é responsável por receber as requisições feitas pelo usuário no navegador
web e interpretá-las, executando ações específicas definidas pela aplicação. O fluxo
começa quando o usuário faz uma requisição no navegador web. A requisição é então
enviada para o controle, que é a Servlet. A Servlet interpreta a solicitação e executa as
ações necessárias, como acessar o Modelo (DAO) para buscar dados no banco de
dados. O Modelo (DAO) então envia os dados para a Servlet, que os processa e gera
uma resposta. A resposta é então enviada de volta ao navegador web.
4. Crie o cenário com Java em uma DMZ, utilize a imagem abaixo para complementar.

R = No cenário acima, a DMZ será usada para implantar uma aplicação Java. Nesta DMZ,
existem três servidores, cada um dedicado a uma tarefa separada: o servidor Web, o
servidor de aplicações e o servidor de banco de dados.
1. Servidor Web: Um servidor web dedicado contendo um servidor web Apache com as
configurações necessárias para servir conteúdo Java.
2. Servidor de Aplicações: Um servidor dedicado contendo o servidor de aplicações Java,
como o Apache Tomcat, além de outras ferramentas necessárias para gerenciar a
aplicação, como o Java Runtime Environment (JRE).
3. Servidor de Banco de Dados: Um servidor dedicado contendo o banco de dados
necessário para o funcionamento da aplicação, como o MySQL.
O servidor Web, o servidor de Aplicações e o servidor de Banco de Dados estão
conectados à LAN interna, que é a área de trabalho dos usuários, através de uma rede
segura que é usada para acessar a DMZ.
Os usuários acessam a aplicação Java através do servidor web, que também pode
acessar o servidor de aplicações para processar as requisições.
O servidor de aplicações, por sua vez, acessa o servidor de banco de dados para
recuperar informações necessárias para processar as requisições. Todos os tráfegos
entre o servidor web, o servidor de aplicações e o servidor de banco de dados são
bloqueados para todos os usuários da LAN interna, a fim de evitar que acessos não
autorizados sejam possíveis.

Parte II
1. Defina o que é servidor de aplicação para Java e quais são mais conhecidos, diga as vantagens e
desvantagens de cada um.
R= Servidor de aplicação para Java é um programa que gerencia e executa
aplicações Java. Existem vários servidores de aplicação Java disponíveis, cada um
com suas próprias vantagens e desvantagens. Os servidores de aplicação Java
mais conhecidos são o Apache Tomcat, o Oracle WebLogic e o IBM WebSphere.
O Apache Tomcat é um servidor de aplicação Java open source, que suporta
aplicações Java Servlet, JavaServer Pages (JSP) e Java Expression Language
(EL). É leve, fácil de usar e ideal para desenvolvimento e testes.

Vantagens: - Gratuito e de código aberto - Fácil de instalar e configurar - Suporta


aplicações Java Servlet, JavaServer Pages (JSP) e Java Expression Language
(EL) - Leve e ideal para desenvolvimento e testes

Desvantagens: - Não oferece recursos avançados de gerenciamento - Não oferece


um ambiente robusto para aplicações em produção

O Oracle WebLogic é um servidor de aplicação Java de alto desempenho, que


oferece recursos avançados de gerenciamento para aplicações Java Enterprise.

Vantagens: - Oferece recursos avançados de gerenciamento - Ambiente robusto


para aplicações em produção - Oferece suporte para tecnologias Java EE

Desvantagens: - Não é gratuito - Pode ser mais difícil de instalar e configurar O

IBM WebSphere é um servidor de aplicação Java de alto desempenho, que oferece


recursos avançados de gerenciamento para aplicações Java Enterprise.

Vantagens: - Oferece recursos avançados de gerenciamento - Ambiente robusto


para aplicações em produção - Oferece suporte para tecnologias Java EE -
Oferece recursos avançados de segurança

Desvantagens: - Não é gratuito - Pode ser mais difícil de instalar e configurar


2. Explique o que é JSP e exemplifique.

R= JSP (JavaServer Pages) é uma tecnologia web que permite a criação de


páginas web dinâmicas que podem ser servidas por um servidor web. Ele permite
que programadores Java criem conteúdo web dinâmico, como conteúdos
interativos, formulários e outros elementos, usando a linguagem Java. Por
exemplo, uma página JSP pode ser usada para gerar um formulário de login online
que recebe informações de entrada do usuário, verifica os dados de login com um
banco de dados e, em seguida, exibe uma página de boas-vindas personalizada
para o usuário.
3. Defina para que serve o Apache Maven e como essa ferramenta funciona.
R= Apache Maven é um gerenciador de projetos de código aberto que auxilia na
construção, gerenciamento e documentação de projetos de software. Ele fornece
um modelo de projeto uniforme, estrutura de diretórios padrão e ferramentas de
compilação automatizadas para simplificar os processos de desenvolvimento.
Maven usa um arquivo XML chamado POM (Project Object Model) para descrever
o projeto, suas dependências e plugins externos. Ele também gerencia
dependências de terceiros e atualizações do projeto. O Maven pode ajudar a
automatizar tarefas como compilação, testes, empacotamento, relatórios e
documentação.
Parte III
1. Julgue a afirmação a seguir:

Com relação ao Maven sua configuração permite definir a conexão com o banco de dados, que é definida
no seu arquivo “pom.xml”.

a) Verdadeiro
b) Falso

2. Abaixo uma função que tem como parâmetros uma lista, para inserir na classe Empregado novas
contagens com base nisso assinale a alternativa correta:

a) há um erro na instância do objeto.

b) a função está correta, e depende apenas da classe main instanciar os valores para prover o resultado.

c) a função contém um erro na tipificação retornando uma incompatibilidade de tipos.

d) a função lista está correta e irá retornar sempre o valor 10.

R = a) há um erro na instância do objeto.

3. Conforme o CF apresentado abaixo responda:

O resultado será:

a) VVF
b) FFF
c) VVV
d) FVV
e) VFF
R = VFF
4. Analise a alternativa correta:
( ) Java é uma linguagem Orientada a Objeto, podendo ser utilizada de forma procedural ou orientada a
aspectos caso seja necessário.

( ) Java não utiliza bibliotecas nativas, já que as atualizações são muitas.

( ) Seu recurso de portabilidade é limitado já que precisa de um JVM para funcionar.

( ) Java é compilado transformando em class, e é interpretado na view em páginas JSP ou JSF .


a) VVVV
b) FFFF
c) FFFV
d) VVFF
e) FFVV
f) FFFV

4. Com base nos servlets, JSPs e componentes de apoios, todos são construídos, publicados e executados de
forma distinta na JVM.

a) Certo
b) Errado
R = Certo

Questões analíticas
1. Conforme a classe abaixo apresentada abaixo explique como a classe Main recebe o mesmo nome de
uma palavra reservada, e explique as linhas abaixo descrevendo o que cada uma faz. Dê o resultado dela.

R=
A classe Main recebe o mesmo nome de uma palavra reservada porque é uma classe
especial do Java que é a classe principal de um programa Java.
A primeira linha, public static float calc (int z, int x, int y), cria um método chamado calc
que recebe 3 inteiros como parâmetros e retorna um float.
A segunda linha, public static void main(String[] args), é o método main, que é a porta de
entrada de um programa Java e é chamado quando o programa é executado.
A terceira linha, int y = 6;, cria uma variável y do tipo inteiro com o valor 6.
A quarta linha, int x = 9;, cria uma variável x do tipo inteiro com o valor 9.
A quinta linha, int z = 3;, cria uma variável z do tipo inteiro com o valor 3.
A sexta linha, System.out.print(calc(x,y,z)), imprime no console o resultado da chamada
do método calc, passando as variáveis x, y e z como parâmetros. O resultado da
execução deste código será a impressão de -9.0 no console.

2. Analise o Código abaixo explicando como seria a implementação e quais as necessidades de negócio que
devem ser analisadas.

R= O código representa uma classe ContaPoupanca que implementa a interface


TipoDeConta. A classe possui um método ValidaConta que recebe como parâmetro uma
String contendo o número da conta. Internamente, o método cria uma instância da classe
CalcularDV e chama o método calculaSaldo passando o número da conta como
parâmetro. O método ValidaConta retorna o valor obtido do método calculaSaldo. Neste
caso, é necessário analisar as necessidades de negócio que envolvem o cálculo do saldo
da conta. O cálculo do saldo pode variar de acordo com as regras estabelecidas pelo
negócio, como por exemplo, data de pagamento, limites de crédito, etc. Além disso, será
necessário implementar a classe CalcularDV que é responsável por realizar o cálculo do
saldo.

4. Crie uma classe que receba uma data (xx/xx/xxxx) utilizando Scanner.

5.
6. Crie uma classe utilizando scanner com entrada de nome, idade, peso e altura.
Estudo de Caso
Em sala de aula foi passado como deve ser feito um projeto Web Server com JSP, no link abaixo está
uma explicação completa de um cadastro JSP com acesso ao banco de dados Mysql, implemente
conforme o vídeo e poste o projeto com os prints das telas e banco, não esqueça de mandar o
modelo Workbench.

https://www.youtube.com/watch?v=DzYyzmP4m5c&t=1271s

Você também pode gostar