2011 ÁBACO TECNOLOGIA DE INFORMAÇÃO LTDA. CNPJ 37.432.689/0001-33 Inscrição Estadual: 13.137.931-3 Rua Barão de Melgaço, 3726, Centro Norte CEP 78005-300 Fone: (65) 3617-0777 / FAX: (65) 3623-0646 CUIABÁ/MT BRASIL Tel. (65) 3617-0782 Fax: (65) 3623-0646 Página 1 de 9
PERFIL DA EMPRESA: A ÁBACO TECNOLOGIA DE INFORMAÇÃO LTDA, iniciou suas atividades em 17/07/1992, contando atualmente com um contingente superior a 500 (quinhentos) profissionais entre colaboradores, funcionários e consultores, para atendimento às áreas: atendimento ao cliente, consultoria, desenvolvimento em tecnologia e implantação de novos projetos e produtos. A Ábaco conta permanentemente em seu quadro de funcionários efetivo, profissionais com certificação oficial nas tecnologias Microsoft, Oracle, IBM Lotus Notes, Linux, segurança da informação, gerenciamento de projetos, Genexus, Java e ainda pode contar com uma sólida equipe que une eficiência à eficácia, desenvolve soluções na área de tecnologia da informação, provendo melhorias na gestão administrativa de empresas públicas e privadas. A estrutura de seus produtos baseia-se em uma arquitetura de aplicativos que integra os processos que compõem todas as áreas da administração, tornando rápido e confiável o acesso às informações necessárias para atingir as metas do gerenciamento organizacional. PRINCIPAIS ATIVIDADES: Consultorias especializadas em projetos de infra-estrutura; Fábrica de Software: Desenvolvimento e implantação de Sistemas de Informações; Implementação de solução para suporte à decisão; Serviço de Mão-de-Obra Especializada Outsourcing Comercialização e suporte de softwares específicos; Soluções de Intranet/Internet; Centro de Treinamento Oficial Oracle. Partner Direct Dell para Vendas no Governo Parceiro de Governo Oficial Oracle / Parceiro OPN Oracle Partner Network; Parceiro no nível CAP - Certified Advantage Partner Oracle Página 2 de 9
OBJETIVO O objetivo deste documento é apresentar uma proposta para fornecimento de Treinamento JAVA Do Básico ao Desenvolvimento Web o qual o aluno estará apto a trabalhar na modalidade. PRÉ-REQUISITOS Noções de Informática básica Navegar por diretórios do sistema operacional; Navegar na internet; Conhecimento de Lógica computacional De preferência ter conhecimento de Algoritmos. De preferência conhecer ou ter experiência em alguma linguagem de programação. PREÇO O preço para o treinamento abaixo relacionado é de: R$ 2.475,00 (Dois mil, quatrocentos e setenta e cinco reais) podendo ser parcelado em até 08 X (entrada + 7 x de R$ 309,38) no Boleto Bancário. HORARIO E CARGA HORARIA a. Data do Curso : 16/11/2011 (Mínimo de 15 participantes) b. Horário : 18:30 às 22:00 horas c. Carga Horária : 220 horas CONTEÚDO PROGRAMÁTICO Fundamentação do curso O que é JAVA? Características da linguagem. Distribuições do JAVA. API s da linguagem. JVM Configurando a IDE (JDeveloper). Configurando o container Web (OC4J). Instalando configurando o banco de dados (Oracle). Criando classes e objetos Definir classe, membro, atributo, método, construtor e pacote. Palavras chaves reservadas de JAVA. Visão geral dos modificadores Modificadores de acesso. Página 3 de 9
Modificadores de classes, métodos e atributos. Classes e objetos. Criando uma classe. Padrões e convenções de JAVA Nomes de classes. Nomes de métodos. Nomes de atributos/variáveis. Criando e importando pacotes. Criando objetos. Nomes de constantes. Caracteres especiais. Nome de pacotes. Tipos primitivos e Wrapper classes Conhecendo os tipos primitivos de JAVA. Declarando um tipo primitivo. Wrapper Classes Conversões de tipos Casting. Conversões com Wrapper Classes. Tipos de referência. Modificador strictfp. Operadores Operadores unários. Operadores aritméticos: +, -, *, / e %. Operadores de comparação: <, <=, >, >=, == e!=. Operadores de comparação de tipos: instanceof. Operadores lógicos. Operadores de atribuição: =, +=,-=, *=, /=, %=. Operador ternário. Exercícios práticos. Lógica de programação Apresentando as estruturas de controle. Comando if / else / else if Seqüência de cláusulas else if Operador ternário Comando switch Comando while Comando do while Comando for Comando break Comando continue JavaBeans Regras para escrever Beans. Propriedades de um Bean. O uso de JavaBeans. Como as ferramentas lêem os Beans? Usar os modificadores de acesso public e private conforme adequado para as diretrizes de encapsulamento. Documentando o seu sistema Configurando o JDeveloper para gerar o Javadoc. Página 4 de 9
Documentando uma classe. Documentando um método. Documentando um atributo. Gerando o Javadoc. Ábaco Tecnologia de Informação Ltda Programação Orientada a Objeto na prática Modificadores de acesso: public, private, protected e default. Herança. Definindo classes não herdáveis. Abstração. Definindo classes abstratas. Métodos abstratos. Definindo métodos abstratos. Interfaces. Definindo interfaces. Implementando interfaces. Polimorfismo. Invocar um método em um objeto específico. O que é a referência null? Atribuindo referências. Passando tipos primitivos para métodos. Passando referências para métodos. Aprofundando o estudo sobre classes Overloading Sobrecarga de método. Overriding Sobrescrita de método. Métodos construtores. Referência this. Referência super. Compartilhando código entre construtores. Variáveis de instância. Métodos de instância. Variáveis de classe. Inicializando variáveis de classe. Métodos de classe. Exemplos de variáveis e métodos estáticos. Chamando construtores da superclasse. Invocando métodos da superclasse. Modificador final Modificador static Manipulando String e classes Wrapper String. StringBuffer. StringBuilder. StringTokenizer. Scanner. Comparando duas Strings. Obtendo Strings a partir de objetos. Convertendo tipos primitivos em String. Conversões com Wrapper Classes. Manipulando dados em objetos do tipo String. Página 5 de 9
Tratamento de Exceções Introdução. Vantagens. Manipulando exceções. O Bloco try. O Bloco catch. O Bloco finally. Throwable. Error. Exception. RuntimeException. Exceções não verificadas (Unchecked exceptions). Exceções verificadas (Checked exceptions). Principais exceções em aplicações web. Propagando exceções. Lançando exceções. Criando exceções. Capturando exceções e lançando exceções diferentes. Como as exceções interferem na sobrescrita de métodos? Estrutura de Coleções e Genéricos Descrevendo as implementações de uso geral das principais interfaces da estrutura de coleções. Como o hashcode e equals interferem nas coleções. Dominando hashcode e equals. Examinar a interface Map. Examinar a interface Collection. Examinar a interface List. Examinar a interface Set. Examinar a interface Queue. Classe Collections Classe Arrays Examinar as classes de coleções legadas. Criar ordens naturais e personalizadas implementando as interfaces Comparable e Comparator. Usar coleções genéricas. Escrever um programa para iteração em uma coleção. Examinar o loop for avançado. Thread Definir thread Criar threads separados em um programa em Java, controlando o código e os dados usados pela thread. Controlar a execução de uma thread e escrever código independente de plataforma com threads. Descrever as dificuldades que podem surgir quando várias threads compartilham dados. Usar wait e notify para comunicação entre threads. Modificador synchronized. Modificador volatile. Usar synchronized 2para proteger os dados contra concorrência. Exercícios práticos Página 6 de 9
Introdução às tecnologias de aplicativos Web Descrever aplicativos Web. Descrever a plataforma Java EE 5 (Java, Enterprise Edition 5). Descrever a tecnologia de Servlet Java. Descrever a tecnologia JSP (JavaServer Pages). Definir arquitetura de três níveis. Definir arquitetura MVC (Model-View-Controller). Apresentação do sistema que será desenvolvido durante o curso Descrever o sistema que será desenvolvido no curso. Descrever os processos de um software no mundo real. Descrever as responsabilidades de cada camada no MVC. Apresentar os Design Patterns utilizados no sistema. Exercícios práticos JSP Projetar um componente de exibição. Descrever o HTTP (Hypertext Transfer Protocol). Descrever o comportamento do container Web. Criar um formulário HTML. Overview sobre Java Script. Diferença entre JAVA e Java Script. Escrevendo uma função Java Script. Manipulando dados em Java Script. Projetar um JSP. Desenvolver um JSP. Configurar e implantar uma JSP. Descrever a tecnologia JSP. Escrever código JSP usando elementos de script. Escrever código JSP usando a diretiva de página. Escrever código JSP usando tag JSP padrão. Fallback Forward GetProperty Include Include Directive Page Directive Param Escrever código JSP usando EL (Expression Language). Escrever código utilizando JSTL Core: Catch Choose ForEach ForTokens If Import Otherwise Manipulando objetos de campos com Java Script. Params Plugin Scriptlet SetProperty Taglib Directive UseBean Out Param Redirect Remove Set URL When Servlet Projetar uma Servlet. Descrever como os dados de formulários são enviados em uma solicitação HTTP. Desenvolver uma Servlet. Despachar de uma Servlet de controle para uma JSP. Despachar de uma JSP para uma Servlet de controle. Página 7 de 9
Aprofundando em Servlet Descrever o ciclo de vida da Servlet. Personalizar uma Servlet com parâmetros de inicialização. Compartilhamento de recursos de aplicativos com o ServletContext. Descrever o objetivo e os recursos do ServletContext. Desenvolver uma listener para inicializar um recurso de aplicativo compartilhado no ServletContext. Uso de filtros de acesso em aplicativos Web Descrever o ciclo de solicitação do container Web. Descrever a API de filtro. Desenvolver uma classe de filtro. Configurar um filtro no arquivo web.xml. Descrever o objetivo do gerenciamento de acesso. Projetar um aplicativo Web que use gerenciamento de acesso. Desenvolver servlets usando o gerenciamento de acesso. Descrever a implementação de cookies do gerenciamento de acesso. Descrever a implementação da reescrita de URL no gerenciamento de acesso. Desenvolvimento de Páginas JSP com taglib personalizadas Descrever as funções Java EE envolvidas no desenvolvimento de aplicativos Web. Projetar um aplicativo Web usando taglib personalizada. Usar JSTL em uma página JSP. Princípios Básicos de Entrada/Saída (I/O) Entender a classe Properties. Descrever a E/S(I/O) de arquivo e objetos. File. FileReader. BufferedReader. FileWriter. BufferedWriter. PrintWriter. Serializar e desserializar objetos. ObjectOutputStream. ObjectInputStream. Serializable. Diferenciar leitores e gravadores de arquivos e selecioná-los adequadamente. Exercícios práticos Acesso a Banco de Dados Introdução. Principais classes e interfaces da API JDBC. Tipos de dados. JDBC URLs. Acessando um banco de dados relacional. Design Pattern DAO. Abrindo uma conexão com banco de dados Oracle. Enviando comandos para o banco de dados. Processando os resultados. Externalizable. Como a herança afeta na serialização? Página 8 de 9
Fechando a conexão. Exceções em transações com banco de dados. Processamento de Transações. Pool de conexões. Gravando e lendo objetos serializados. Desenvolvendo a regra de negócio do sistema Fundamentos. Patterns envolvidos. Controlando transações. Definindo Superclasses de controladores de transações. Implantando o sistema desenvolvido Entendendo o container Web. Iniciando o OC4J. Configurando a aplicação que será implantada. Configurando um DataSource JAR WAR EAR web.xml orion.application.xml application.xml jazn.com.xml server.xml Jurquemi Campos Departamento Comercial Página 9 de 9