|  |  |  | Este projeto está sendo desenvolvido em um modelo MVC (Model / View / Controller) sendo: | 
|  |  |  | *  **View** em Java ServicePages (JSP), HTML, CSS, JavaScript, JQuery e Bootstrap.js | 
|  |  |  | * **Controler** em Java EE (com Servlets),  com Design Pattern Command e BO (Business Object) | 
|  |  |  | * **Model** usando Java EE com Design Pattern Data Access(DAO) (Data Acesses Object) | 
|  |  |  |  | 
|  |  |  | **Definições** | 
|  |  |  | 1.  **MVC - ( Model / View / Controller )** | 
|  |  |  | É um padrão de arquitetura de software que separa a aplicação em 3 camada importantes, a camada model que é reponsavel pela manipulação de dados, a View que é a camada de interação com o usuário e a camada controller que é responsável pelo controle de toda nossa aplicação. | 
|  |  |  |  | 
|  |  |  | **Model:** | 
|  |  |  | É a camada da aplicação responsável pela escrita e leitura de dados e de suas validações. | 
|  |  |  |  | 
|  |  |  | **View:** | 
|  |  |  | É a camada que realiza a interação com o usuário, apresentando somente os dados a ele. | 
|  |  |  |  | 
|  |  |  | **Controller** | 
|  |  |  | Essa camada é responsável por receber as informações do usuário. Essa camada possui métodos chamados de "actions" que são encarregados de uma página, controlando qual model usar e qual view será mostrado ao usuário final. | 
|  |  |  |  | 
|  |  |  | 2.  **JSP - Java ServicesPAges** | 
|  |  |  | É uma tecnologia orientada a criar páginas web com programação em Java. Com o JSP é possível criar aplicações web que pode ser executado em múltiplos servidores web, sendo eles de múltiplas plataformas diferentes. | 
|  |  |  |  | 
|  |  |  | 3.  **HTML - Hypertext Markup Language** | 
|  |  |  | HTML é uma linguagem web de marcação, na qual marcamos tags de diversas formas, com intuito de mostrar ao navegador o que é cada informação que está sendo passada a ele. Também serve como informante para os sistemas de buscas, como o Google. O Google neste caso, consegue distinguir oque é um titulo de um paragrafo. | 
|  |  |  |  | 
|  |  |  | 4.  **CSS - Cascading Style Sheets** | 
|  |  |  | CSS é uma especificação que define como os elementos que integram uma página ou documento serão exibidos. | 
|  |  |  |  | 
|  |  |  | 5. **JS - JavaScript** | 
|  |  |  | Ao contrario de Java, JavaScript é uma linguagem de programação client-side, utilizada para controlar o HTML e o CSS tendo em vista manipular o comportamento de uma página. | 
|  |  |  |  | 
|  |  |  | 6. **JQuery** | 
|  |  |  | É um Framework JavaScript com um lema "Write less, do more". Como o lema já diz, é uma ferramenta que permite ao desenvolvedor uma maior produtividade no ambiente de programação. Com essa ferramenta é possível fazer diversas coisas com poucas linhas e, que em JavaScript puro custariam dezenas de linhas. | 
|  |  |  |  | 
|  |  |  | 7. **Bootstrap.js** | 
|  |  |  | É um Framework front-end que facilita nossa vida ao criar web sites com tecnologia mobile, sem ter que desenvolver códigos em CSS. Além disso, o desenvolvedor que está utilizando bootstrap pode usar vários plugins diferentes baseados em JavaScript(JQuery), para auxiliar na implementações de tooltip, menu-dropdown, modal, entre outros. | 
|  |  |  |  | 
|  |  |  | 8. **Servlets** | 
|  |  |  | Servlets é a primeira forma que veremos de criar páginas dinâmicas com java. | 
|  |  |  | Uma primeira ideia da servlet seria que cada uma delas é responsável por uma página, sendo que ela lê dados da requisição do cliente e responde com outros dados (uma página HTML, uma imagem GIF etc). Como no Java tentamos sempre que possível trabalhar orientado a objetos, nada mais natural que uma servlet seja representada como um objeto a partir de uma classe Java. | 
|  |  |  | Cada servlet é, portanto, um objeto Java que recebe tais requisições (request) e produz algo (response), como uma página HTML dinamicamente gerada. | 
|  |  |  |  | 
|  |  |  | 9. **Design Pattern Command** | 
|  |  |  | O Design Pattern Command tem como principal objetivo criar objetos que encapsulam uma solicitação para executar um outro objeto inerente. | 
|  |  |  |  | 
|  |  |  | 10. **BO - Bussines Object** | 
|  |  |  | O BO é um objeto que representa a entidade na camada de negócios, que geralmente é implementada no model. Ele possui os getters, setters, regras de negócios e relações entre objetos. O BO faz uso da OO para realmente representar as relações entre as entidades do sistema. | 
|  |  |  |  | 
|  |  |  | 11. **DAO - Design Pattern Data Access** | 
|  |  |  | DAO é um padrão de projetos onde um objeto prevê uma interface que abstrai acesso de dados, ele lê e grava a partir da origem de dados (BD, arquivo, memória..) e encapsula o acesso de dados, de forma que as demais não precisam saber sobre isso. Sendo assim, cada método do DAO deve fazer uma única leitura ou gravação no banco de dados e não deve controlar transações ou realizar operações adicionais, tal como realizar alterações nos dados recebidos do serviço. | 
|  |  |  | \ No newline at end of file |