Curso Java
Curso Java Online: Formação Java EaD

Curso Java

curso Java online

 
Curso Java para o Mundo Real = Sintaxe, uso real de orientação a objetos, APIs essenciais e exceções
Cuso Java desenvolvimento Ágil = Bibliotecas, bancos de dados, testes, entrada e saída e uso de TCP/IP e conceitos de desenvolvimento ágil.
Curso Java Servlets e JSP = Desenvolvimento web com Java.
Curso Java EJB e JPA = Aplicações Corporativas Java EE profissionais, escaláveis e integráveis
Curso Java Portlets Java EE = Portais corporativos baseado nos padrões da plataforma Java E.

 

Os cursos Java da 4linux  foram feitos sob medida para o desenvolvimento de aplicações Java com produtividade e qualidade em ambiente colaborativo ágil. É o cenário real de um desenvolvedor Java trabalhando em equipe e estes são os únicos treinamentos Java que seguem essa dinâmica. Os exercícios são na forma de solicitações de serviço feitas pelo instrutor. Após terminar o exercício, o aluno usa um sistema de versionamento integrado ao sistema de tickets que efetua testes integrados de acordo com as melhores práticas de grandes empresas de desenvolvimento.

Os treinamentos Java Online da 4Linux são ministrados à distância pela internet, com professores ao vivo com  metodologia  inovadora e exclusiva da 4Linux.

 

 

Programação Java para o Mundo Real

Faça este curso!
Confira depoimentos de quem já fez este curso!

O diferencial deste curso Java é simular o dia a dia de um profissional que atua no mercado corporativo. Este treinamento Java apresenta o Java e sua sintaxe explorando recursos de orientação a objetos, APIs essenciais e tratamento de exceções.

Este curso faz parte de um pacote promocional. Confira!Este curso possui turmas à distância

Quem deve fazer este curso Java?

  • Quem quer programar Java para o mercado corporativo.
  • Interessados em certificação SCJP que querem ter uma visão mais prática do mercado. Este não é um curso preparatório para certificação. Este treinamento Java é indicado para quem não tem conhecimento prévio de Java, mas com noções de programação em outras linguagens

Por que fazer este curso Java na 4Linux?

  • Incorpora práticas empregadas pelas metodologias ágeis, como XP e Scrum;
  • Ensino da linguagem dentro de um conjunto de ferramentas colaborativas de desenvolvimento em equipe com gerência de requisitos, controle de versões, testes e integração contínua.
  • Fornece base para o aprendizado posterior efetivo de frameworks avançados como Hibernate, Spring, Struts ou Seam;
  • Metodologia IT Experience: Boas práticas de programação e segurança testadas na vida real;
  • Troubleshooting Java:  Ênfase em diagnóstico e resolução de problemas.

Introdução à plataforma Java e à linguagem de programação Java
Plataforma Java (JVM, APIs) x Linguagem Java
Edições do Java: SE, EE, ME
JRE x JDK: Qual devo baixar
Sun JDK x OpenJDK: Já temos Java 100% Livre!
Java é mesmo mais lento e pesado?
Java é mesmo mais complicado?

Compilação e execução de código Java com o JDK
O programa Java mínimo
Instalação e configuração do JDK
Como compilar e executar o programa míni

Estrutura sintática do Java: classes, métodos, atributos
Classes, métodos e atributos (variáveis) estáticos
Reutilização por subrotinas ou subprogramas
Argumentos x variáveis locais e globais
Pacotes Java x Sistema de arquivos
Estruturas de controle e repetição: if, while, for, switch
Interrompendo estruturas: break e continue
Paralelo com linguagens estruturadas (C, Pascal e Basic)

Introdução ao Subversion
O que é um VCS
Repositório e cópia de trabalho
Checkout, update e commit

Arquiteturas de software em camadas: apresentação, negócios e persistência
Conceitos de arquiteturas de camadas
A arquitetura three-tier

Interfaces com o usuário no modo texto
Argumentos da linha de comando
Saída padrão e de erros
Entrada padrão
Código de retorno
A classe Console

API de Logging
Quanto usar a saída padrão e de erros
API de loging do Java SE
Configuração de logging: níveis, categorias e saídas
Gerando mensagens de depuração e de erros

Manipulação de Strings
Concatenação e substrings
String x StringBuffer x StringBuilder
Conversão de tipos de e para String
Expressões regulares

Tipos de Dados com Java
Tipos primitivos x objetos
Instanciando objetos
Construtores
Métodos de Objetct: toString, hashCode, equals
Arrays de tipos primitivos e de objetos
O loop for incrementado
Autoboxing e casting
Investigando a passagem por valor e por referência

Execução de Testes unitários com JUnit
O que é o JUnit
Porque usar testes unitários
Princípios do TDD
Utilizando o TestRunner

OO com Java: interfaces, herança, polimorfismo
Programação Procedural, Estruturada e Orientada a Objetos
O que são classes
O que são interfaces
Herança, especialização, delegação e instanceof
Sobreposição e superposição
Visibilidade: private, protected e default
Outros relacionamentos entre objetos
O modificador final

Automação de build com Ant
Porque automatizar builds
Introdução ao Apache Ant
Instalação e configuração do ant
Sintaxe dos buildfiles
Executando alvos
Usando Subversion via Ant
Executando testes JUnit via Ant

Tratamento de erros e exceções
Comandos try, carch e finally
Exceções x Erros
Definindo suas próprias exceções
Quando usar exceções verificadas
Encapsulando exceções x lançando exceções

Introdução ao IDE Eclipse
Introdução ao projeto e à fundação Eclipse
Instalação e configuração do Eclipse
Visões e perspectivas
Editando código Java no JDT
Compilando código Java
Executando código Java
Depurando código Java
Editando e depurando buildfiles Ant
Executando testes de unidade
Checkout, update e commit no Subversion

Formatação de texto e internacionalização
Locales e idiomas
Formatação de números
Formatação de datas
Formatação de mensagens
Resource bundles

Coleções do Java 2
Conjuntos, Listas e Mapas
Introdução aos tipos genéricos
Percorrendo coleções
Ordenando coleções
Pesquisando coleções
Comparable x Comparator
Performance das coleções concretas

Tipos de dados genéricos
O que são parâmetros de tipo
Restrições de tipo
Máscaras de tipo

  • Leitura básica em Inglês
  • Conhecimentos de lógica de programação e algoritmos
  • Familiaridade e experiência prática com uma linguagem de programação qualquer
  • Noções de Orientação a Objeto

Pré-requisitos de Infraestrutura para realizar o curso na modalidade EAD

Caso faça o curso na modalidade EAD, para acompanhar este curso pela Internet com qualidade, é necessário que você tenha uma infraestrutura mínima com as seguintes características:

  • Link de internet, no mínimo, 1 mega de velocidade;
  • Máquina Desktop ou Notebook com Kit multimídia instalado e caixas de som devidamente configuradas para ouvir o professor ao vivo;
  • Navegador Mozilla Firefox 3 ou 4 ou Google Chrome;
  • Flash Player versão 10, instalado e habilitado;

Importante: Não é possível fazer o curso com conexão discada. Também não recomendamos conexões 3G.

Curso à distância:

  • Apostilas em PDF para download;
  • Exercícios e códigos fontes;


A carga horária do curso varia de acordo com a modalidade:

Curso à distância
75 horas, nas quais:

28 horas de aulas síncronas ao vivo com o professor através de vídeo-conferência.

45 horas assíncronas obrigatórias para melhor desempenho do aluno. Estas horas são controladas pelo aluno que deverá ler o material didático, documentações e tutoriais indicados pelo instrutor, participar do fórum de dúvidas e discussões, auto-estudo de vídeos e exercícios dirigidos para assimilar o conteúdo.

2 horas de ambientação para apresentação da Metodologia TripleClass e do ambiente de ensino à distância da 4Linux.

Desenvolvimento Ágil com Java

Faça este curso!

O diferencial deste curso Java é simular o dia a dia de um profissional que atua no mercado corporativo. Este treinamento Java apresenta o desenvolvimento de bibliotecas Java e uso de bibliotecas prontas, acesso a bancos de dados, criação de testes, E/S entrada e saída e uso de TCP/IP em Java.

Além disso, o aluno é introduzido a conceitos de design patterns e TDD.

Este curso faz parte de um pacote promocional. Confira!Este curso possui turmas à distância

Quem deve fazer o curso e por quê?

  • Alunos que concluíram o curso Programação Java Para o Mundo Real e querem evoluir seus conhecimentos;
  • Quem quer programar Java para o mercado corporativo.
  • Interessados em certificação SCJP que querem ter uma visão mais prática do mercado. Este não é um curso preparatório para certificação.
  • Aqueles que tem necessidade de aprofundar seus conhecimentos conceituais sobre Java e suas principais APIs e seus conhecimentos práticos sobre Test-Driven Development.

Por que fazer este curso na 4Linux?

Incorpora práticas empregadas pelas metodologias ágeis, como XP, Scrum e TDD;

Ensino da linguagem dentro de um conjunto de ferramentas colaborativas de desenvolvimento em equipe com gerência de requisitos, controle de versões, testes e integração contínua.

Fornece base para o aprendizado posterior efetivo de frameworks avançados como Hibernate, Spring, Struts ou Seam;

Metodologia IT Experience: Boas práticas de programação e segurança testadas na vida real;

Troubleshooting Java: Ênfase em diagnóstico e resolução de problemas.

Revisão dos conceitos OO com Java
Classes, interfaces e tipos genéricos
Métodos e visibilidade
Modelos UML x código Java
Conceitos de Acoplamento, Coesão e dependências
Uso do JDepend, Findbugs, PMD e EclipseMetrics

APIs de E/S do Java SE
Conceito de Streams
Streams em memória e strings
Encadeamento de streams
Compactação e verificação de arquivos
Readers e Writers
Serialização de objetos
O modificador transient
Canais e Buffers

Mais sobre o Subversion
Conceitos de branches e tags
Criando branches
Merge entre branches

Construção de testes de unidade JUnit
Estrutura de um TestCase
Setup e Teardown
Suítes de Teste
O que testar (e o que não testar)
Testando por erros
Executando testes via Ant
O conceito de Mock
Design patterns e testabilidade

E/S de arquivos
Streams de arquivos
Readers e Writers de arquivos
Manipulação de Arquivos e diretórios

Propriedades de Sistema e Recursos do Classpath
Ambiente do SO x Propriedades de Sistema da JVM
Definindo e consultando System Properties
System Properties em arquivos
Recursos do classpath

Bibliotecas
O que são arquivos JAR
O comando jar do JDK
Configurando o classpath
Usando bibliotecas de terceiros

Conceitos de TDD: Test-Driven Development
O que é o TDD
Vantagens do TDD
TDD + Refatoração = Qualidade

E/S de rede
Introdução ao TCP/IP
Sockets de servidor e de cliente
Transmitindo e recebendo dados via sockets
Utilizando Datagramas UDP

Introdução aos design patterns
O que são design patterns
Alguns design patterns usuais
Design patterns nas APIs do Java

Conceitos de Refatoração de código
Porque refatorar código
Refatorações clássicas

Threads e sincronização
Processos x Threads
Criação e término de threads
A interface Runnable
Porque sincronizar
O modificador volatile
Evitando deadlocks, starvation e race conditions
Pipes e Processos em Java
Temporizadores

Testes de unidade x Testes de sistema
Conceituação de testes unitários
Situações que exigem testes de sistema
Performance e reprodutibilidade de testes de sistema
Construindo testes de sistema com JUnit
Construindo testes de performance com PerfUnit

Bancos de dados via JDBC
O que são bancos de dados relacionais
Conexões, Comando e Resultados
Transações
Comandos pré-compilados e procedimentos armazenados
Meta-dados do banco de dados
Erros de banco e leaks de conexões

Testes via DBUnit
Introdução ao DBUnit
Configuração testes DBUnit
Inicializando o banco de dados
Verificando o estado do banco depois dos testes
 

  • Leitura básica em Inglês;
  • Ter cursado o curso “Programação Java no Mundo Real” ou ter os conhecimentos obtidos neste curso:
  • Familiaridade e prática com a sintaxe da linguagem Java;
  • Conhecimentos de Orientação a Objeto com Java;
  • Operação do JDK na linha de comando;
  • Operação do Apache Ant;
  • Operação do Subversion;
  • Operação do IDE Eclipse;
  • Noções de banco de dados relacionais e linguagem SQL.

Pré-requisitos de Infraestrutura para realizar o curso na modalidade EAD

Caso faça o curso na modalidade EAD, para acompanhar este curso pela Internet com qualidade, é necessário que você tenha uma infraestrutura mínima com as seguintes características:

  • Link de internet, no mínimo, 1 mega de velocidade;
  • Máquina Desktop ou Notebook com Kit multimídia instalado e caixas de som devidamente configuradas para ouvir o professor ao vivo;
  • Navegador Mozilla Firefox 3 ou 4 ou Google Chrome;
  • Flash Player versão 10, instalado e habilitado;

Importante: Não é possível fazer o curso com conexão discada. Também não recomendamos conexões 3G.

Curso à distância:

  • Apostilas em PDF para download;
  • 01 DVD com a última release do Fedora Linux;
  • 01 Pen Drive com um sistema Linux bootável e pré-configurado com as ferramentas de desenvolvimento e produtividade utilizadas ao longo do curso;

Curso à distância
75 horas, nas quais:


28 horas de aulas síncronas ao vivo com o professor através de vídeo-conferência.

45 horas assíncronas obrigatórias para melhor desempenho do aluno. Estas horas são controladas pelo aluno que deverá ler o material didático, documentações e tutoriais indicados pelo instrutor, participar do fórum de dúvidas e discussões, auto-estudo de vídeos e exercícios dirigidos para assimilar o conteúdo.

2 horas de ambientação para apresentação da Metodologia TripleClass e do ambiente de ensino à distância da 4Linux.

Desenvolvimento Web com Servlets e JSP

Faça este curso!

Este treinamento Java insere o aluno no mundo do desenvolvimento web Java. Neste curso Java as tecnologias Java de Servlets e páginas JSP são ensinadas usando  um ambiente de desenvolvimento colaborativo. Todos os cursos Java da 4Linux reproduzem o dia a dia de um desenvolvedor de aplicações corporativas criadas em equipe. Um dos diferenciais deste curso é testar o código gerado usando o servidor de aplicações JBoss AS.

Este curso possui turmas à distância

Quem deve fazer esse curso?

Este treinamento Java destina-se a todos que precisam criar aplicações web para acesso via internet ou intranet usando a linguagem Java.

Por que fazer este curso na 4Linux?

Incorpora práticas empregadas pelas metodologias ágeis, como XP, Scrum e TDD;

Ensino da linguagem dentro de um conjunto de ferramentas colaborativas de desenvolvimento em equipe com gerência de requisitos, controle de versões, testes e integração contínua.

Fornece base para o aprendizado posterior efetivo de frameworks avançados como Hibernate, Spring, Struts ou Seam;

Metodologia IT Experience: Boas práticas de programação e segurança testadas na vida real;

Troubleshooting Java: Ênfase em diagnóstico e resolução de problemas.

Introdução à Interface Web
- Conceitos essenciais do HTTP e da WWW
- Introdução ao HTML e CSS
- Introdução ao Javascript

Introdução ao Java EE
- O que é o Java EE
- Aplicações em Camadas
- Padrões do JCP
- O que é um servidor de aplicações

Introdução ao JBoss AS
- Instalação do JBoss AS
- Start e stop do servidor
- Empacotando e deployando web sites estáticos
- Executando e depurando o JBoss dentro do Eclipse

Páginas dinâmicas com JSP e JSTL
- Web design para aplicações (formate com estilo!)
- O que é uma página JSP
- A EL - Expression Language
- Tags de lógica e formatação do JSTL
- Tags de BD e XML(?) do JSTL
- Controlando o cache
- O que são Scriptlets e porque evitá-los
- Empacotando a aplicação em WAR e JARs
- Deploy de WARs no JBoss AS

O Modelo MVC com Servlets
- Uma primeira aplicação envolvendo Servlets
- Mapeando URLs a servlets via web.xml e anotações
- Usando o “extra path”
- Usando JSP como visões e Servlets como controladores
- O que é o Modelo, afinal?
- Acesso a BD no Java EE x Java SE
- Configurando Datasources no JBoss AS
- Init-Params de contexto e de servlet
- Uso do CDI para conectar Controladores ao Modelo

Navegando em uma aplicação web
- Tratando parâmetros de requisições GET no Servlet
- Passando atributos para a página JSP
- Cuidado com a segurança! (Valide tudo, valide sempre)
- Tratamento de erros e exceções para a web
- Lembre-se do Log!

Formulários HTML
- Tags para formulários HTML
- GET x POST: quanto usar cada um
- Campos escondidos
- O problema da submissão duplicada
- Quando e como usar redirects
- Acentuação na web
- Validação em Ajax x Validação no Servlet

Sessões e Contextos
- Mantendo o estado da navegação
- Compartilhando dados entre usuários diferentes
- Sessões x Login
- Sessões x Conversações
- Abusos de sessões
- Considerações para ambientes em cluster

Login e permissões
- O Modelo de segurança do Java EE
- Segurança no HTTP
- Segurança declarativa no web.xml e via anotações
- Segurança x Interface com o usuário
- Configurando security domains no JBoss AS

Reuso e fragmentos de páginas
- Diretivas e tags de inclusão do JSP e JSTL
- Porque usar o WEB-INF
- Simple TagLibs JSP
- Taglibs em Java
- Exemplo: taglibs para roles JAAS
- Empacotando taglibs pra reuso

Saída Binária
- Tipos de conteúdo HTTP e tags META HTML
- Gerando gráficos com o JFreeChart

- Empacotando bibliotecas dentro e fora da aplicação
- Desenhando relatórios com o iReport
- Gerando relatórios com o JasperReports
- Pré-compilando relatórios com Ant

Aplicações Web 2.0
- Processamento no cliente (navegador) x servidor
- Introdução ao Ajax e ao JSON
- Uso e abuso do Ajax
- Servlets para respostas Ajax
- Usando JQuery com Servlets e JSP
- Eventos Ajax
- Introdução ao DOM

Upload e download de arquivos
- Upload via formulários HTML
- Downloads controlados
- Pré-gerando arquivos para download
- Apache Commons
- Recursos EE que você vai precisar conhecer

Filtros e Eventos
- Inicialização e destruição de Servlets
- Filtros de Servlets
- Wrapeando requisições e respostas
- Eventos de contexto
- Eventos de sessão

Performance e Escalabilidade
- Performance de CSS e Javascript
- Evite imagens decorativas
- Obediência a padrões
- Não deixe lixo na sessão
- Cuidado com static e singleton!
- Pré-compilando páginas JSP
- Blobs x sistema de arquivos
- Dicas de acessibilidade
 

  • Leitura básica em Inglês Técnico
  • Conhecimentos básicos em Bancos de Dados Relacionais e linguagem SQL;
  • Conhecimentos básicos de HTML, CSS e Javascript;
  • Conhecimentos básicos de operação do IDE Eclipse, e da integração deste com o Subversion e Junit;
  • Programação na Linguagem Java, incluindo objetos, interfaces, APIs de formatação, internacionalização, data, hora, coleções, E/S e JDBC;
  • ou ter concluído o curso 474 - Desenvolvimento Ágil com Java

Pré-requisitos de Infraestrutura para realizar o curso na modalidade EAD

Caso faça o curso na modalidade EAD, para acompanhar este curso pela Internet com qualidade, é necessário que você tenha uma infraestrutura mínima com as seguintes características:

  • Link de internet, no mínimo, 1 mega de velocidade;
  • Máquina Desktop ou Notebook com Kit multimídia instalado e caixas de som devidamente configuradas para ouvir o professor ao vivo;
  • Navegador Mozilla Firefox 3 ou 4 ou Google Chrome;
  • Flash Player versão 10, instalado e habilitado;

Importante: Não é possível fazer o curso com conexão discada. Também não recomendamos conexões 3G.

  • Apostilas em PDF para download;
  • Programas de exemplo para download;
  • Acesso remoto a ambiente de “fábrica de software” incluindo aplicações de VCS (Version Control System - Sistema de Controle de Versões) e CMS (Change Management System - Sistema de Gerência de Mudanças)
     

Curso à distância
75 horas, nas quais:

28 horas de aulas síncronas ao vivo com o professor através de vídeo-conferência.

45 horas assíncronas obrigatórias para melhor desempenho do aluno. Estas horas são controladas pelo aluno que deverá ler o material didático, documentações e tutoriais indicados pelo instrutor, participar do fórum de dúvidas e discussões, auto-estudo de vídeos e exercícios dirigidos para assimilar o conteúdo.

2 horas de ambientação para apresentação da Metodologia TripleClass e do ambiente de ensino à distância da 4Linux.

 

Desenvolvimento Enterprise com EJB e JPA

Faça este curso!

Este é o quarto curso da formação de Desenvolvedor Java Enterprise da 4Linux. Aprenda como desenvolver Aplicações Corporativas profissionais, escaláveis e integráveis usando os recursos do Java EE 6 e prepare-se para as certificações OCE Enterprise Java Beans (antiga SCBCD) e OCE Enterprise Java Persistence Architecture.

Este curso possui turmas à distância

A tecnologia EJB é o coração do Java EE, desde sua criação há quase 10 anos. Componentes EJB podem ser distribuídos em rede, facilitando assim tanto a escalabilidade quando a reusabilidade e a integração entre aplicações. As primeiras versões do EJB eram complicadas, o que deu origem a frameworks alternativos, como Spring e Hibernate. As versões mais recentes do Java EE evoluíram e simplificaram a tecnologia EJB, suportando anotações e desenvolvimento estilo “POJO”, além de acrescentar as tecnologias JPA e CDI para incorporar capacidades e facilidades originadas nestes frameworks. Hoje o desenvolvedor Java EE pode contar com o melhor dos dois mundos: a segurança e poder dos padrões do JCP, junto com a facilidade e inovação do open source.

O JPA fornece capacidades de ORM (Object-Relational Mapping), ou seja, permite utilizar Bancos de Dados Relacionais com uma visão Orientada a Objeto. Isto simplifica o código, que fica independente do banco de dados utilizado, e permite incorporar facilmente técnicas avançadas de performance, como “lazy loading” e caches agressivos, sem abrir mão da performance a nível de SQL.

Já o CDI (Contexts and Dependency Injection) incorpora ao Java EE os padrões de projeto de IoC (Inversion of Control – Inversão de Controle) e DI (Dependency Injection – Injeção de Dependências) que são hoje a forma preferida de se projetar aplicações baseadas em componentes fracamente acoplados, reutilizáveis, plugáveis e substituíveis.

Mesmo quem preferia não usar EJB ainda necessitava, em sistemas corporativos, dos demais recursos enterprise do Java EE, por exemplo conectores para sistemas e bancos legados (JCA), transações distribuídas (JTA), segurança declarativa, multi-camada e compatível com diversas bases de identidade (JAAS), messageria transacional e assíncrona (JMS), distribuição (JNDI), agendamento e clustering. Só que a integração destas tecnologias com frameworks externos poderia acabar gerando tanta ou mais complexidade do que desenvolver baseado em EJB. Hoje, esta integração vem “de graça” para quem usa EJB 3.x, JPA e CDI.

Introdução aos Sistemas Corporativos
- Nenhum sistema é uma ilha
- Fontes de dados e EIS legados
- O conceito de servidor de aplicação
- O Padrão Java EE

Introdução ao EJB 3
- O que é um componente distribuído?
- O que é um componente gerenciável?
- Tipos e ciclo de vida de EJBs
- Clientes locais (EE) e remotos (SE) de um EJB
- EJB 3.x versus EJB 1 e 2.x

Introdução ao JBoss AS
- Instalação do JBoss AS
- Start e stop do servidor
- Empacotando e deployando componentes EJB
- Executando e depurando clientes Java SE ou Web dentro do Eclipse
- Executando e depurando o JBoss dentro do Eclipse

Lógica de Negócios em Stateless Session EJBs
- O que é um SLSB
- Anotações essenciais
- Clientes de um SLSB
- Implicações do “stateless” sobre uma aplicação
- EJBs chamando outros EJBs
- Alterando nomes JNI de EJBs
- Fachadas e VOs

Processos de Negócios como Stateful Session EJBs
- Estado de negócio x Estado da interfaces
- HTTP Session x SFSB
- Como o cliente mantém a referência a um SFSB
- Passivação, ativação e destruição de um SFSB

 

Conectores e fontes de dados
- Injeção de Datasources
- Sessões de E-mail
- Outros conectores JCA e integração com o legado
- Configuração de Datasources e Mail Sessions no JBoss AS

Transações em EJBs
- Transações locais x distribuídas
- Transações não são apenas com banco de dados!
- Anotações transacionais
- Consultas simples x Consultas com intenção de atualização
- Transações e SFSB

Persistência com JPA
- O que é ORM
- Mapeando entidades (classes) simples
- CRUD
- Lazy loading de atributos
- Consultas JPQL
- Projeções e agregados
- Consultas Criteria
- Detachando e reconectando entidades

Mapeando Relacionamentos e Herança
- Tipos de relacionamentos
- Relacionamentos em Java x BD Relacional
- Relacionamentos x Coleções
- Estratégias para mapear herança
- Lazy loading para relacionamentos
- Navegando relacionamentos via JPQL x junções
- Evitando o SELECT N+1 com fetch join
- Projeções e agregados em junções

Restringindo o Acesso
- O Modelo de segurança do Java EE
- Segurança declarativa no ejb-jar.xml e via anotações
- Configurando security domains no JBoss AS
- Segurança na camada de negócios x autenticação na camada de apresentação

Agendamento de tarefas
- EJB Timers
- Agendamento no deploy

Messageria com JMS e MDBs
- O que é um MOM
- Conceitos do JMS
- Publicando mensagens via um Session Bean
- Consumindo mensagens em um MDB
- Tratando falhas em MDBs

Conectando as Camadas com CDI
- Os conceitos de IoC e DI
- Anotações do CDI
- Contextos e conversações

Expondo EJBs como Web Services
- O que são Web Services
- SOAP x REST
- JAX-RPC, JAX-WS, JAXB e JAX-RS
- Anotações de WS para EJB
- Consumindo Web Services

Interceptadores
- Requisitos ortogonais e aspectos
- Inteceptadores para EJBs

Performance e Escalabilidade
- SQL Nativo e Stored Procedures com JPA
- “Limpando” SFSBs antes de passivar
- O JCA é seu amigo!
- Cuidado com o Lazy loading
- Geração de chaves primárias / ids
- Transações abortadas e retries
- Fachadas e Vos ainda são relevantes?

  • Leitura básica em Inglês Técnico;
  • Conhecimentos básicos Bancos de Dados Relacionais e linguagem SQL;
  • Conhecimentos básicos de operação do IDE Eclipse, e da integração deste com o Subversion e Junit;
  • Programação na Linguagem Java, incluindo objetos, interfaces, APIs de formatação, internacionalização, data, hora, coleções, E/S e JDBC;
  • ou ter concluído o curso Desenvolvimento Ágil com Java - 474;

Pré-requisitos de Infraestrutura para realizar o curso na modalidade EAD

Caso faça o curso na modalidade EAD, para acompanhar este curso pela Internet com qualidade, é necessário que você tenha uma infraestrutura mínima com as seguintes características:

  • Link de internet, no mínimo, 1 mega de velocidade;
  • Máquina Desktop ou Notebook com Kit multimídia instalado e caixas de som devidamente configuradas para ouvir o professor ao vivo;
  • Navegador Mozilla Firefox 3 ou 4 ou Google Chrome;
  • Flash Player versão 10, instalado e habilitado;

Importante: Não é possível fazer o curso com conexão discada. Também não recomendamos conexões 3G.

  • Apostilas em PDF para download;
  • Programas de exemplo para download;
  • Acesso remoto a ambiente de “fábrica de software” incluindo aplicações de VCS (Version Control System - Sistema de Controle de Versões) e CMS (Change Management System - Sistema de Gerência de Mudanças)

Curso à distância
75 horas, nas quais:


28 horas de aulas síncronas ao vivo com o professor através de vídeo-conferência.

45 horas assíncronas obrigatórias para melhor desempenho do aluno. Estas horas são controladas pelo aluno que deverá ler o material didático, documentações e tutoriais indicados pelo instrutor, participar do fórum de dúvidas e discussões, auto-estudo de vídeos e exercícios dirigidos para assimilar o conteúdo.

2 horas de ambientação para apresentação da Metodologia TripleClass e do ambiente de ensino à distância da 4Linux.

 

Desenvolvendo Portlets Java EE

Faça este curso!

Este é um curso complementar para quem já completou a formação Java EE ou tem conhecimentos equivalentes. O curso Desenvolvendo Portlets Java EE - 495 da 4Linux capacitará o aluno a entender as tecnologias envolvidas num portal corporativo baseado nos padrões da plataforma Java EE. Durante as aulas, serão abordados os conceitos de portlets, portlet container, portais e portlet bridge e o aluno aprenderá criar, depurar, empacotar e instalar portlets tanto em um portlet container isolado, como em um ambiente completo de portal.

O treinamento mostrará, ainda, como criar uma aplicação construída em JSF para rodar como Portlets, como configurar o ambiente de desenvolvimento utilizando o IDE Eclipse, servidor de aplicações JBoss AS e Gerenciador de Portais eXo Platform.

A grande maioria do conteúdo do curso e, em particular, os exemplos de programação, funcionarão com poucas ou nenhuma alteração em outros servidores de aplicações e gerenciadores de portais aderentes aos padrões da plataforma Java EE, em especial às JSR's 168 e 286.

No decorrer do curso, o aluno será desafiado a construir portlets baseado num cenário totalmente prático e voltado para o mercado de trabalho.

As aulas do curso Desenvolvendo Portlets Java EE são práticas e os instrutores trazem para a sala de aula todo o know how adquirido no desenvolvimento de grandes aplicações, totalmente desenvolvidas utilizando a metodologia de portais como, por exemplo, o Feirão Habitacional da Caixa e o CadÚnico. (Cadastro de Beneficiários do Bolsa-Família), ambos projetos da Caixa Econômica Federal.

Este curso possui turmas presenciais

Quem deve fazer o curso e por quê?

Desenvolvedores, arquitetos de softwares e outros profissionais da área de TI com experiência na plataforma Java EE que desejam:

  • Utilizar a tecnologia de portais Java EE como forma de integrar e unificar a camada de apresentação de várias aplicações
  • Desenvolver Portlets que serão parte de portais Java EE
  • Migrar uma aplicação já existente para portlets
  • Conhecer as melhores práticas de desenvolvimento em portais

Por que fazer este curso na 4Linux?

  • O curso Desenvolvendo Portlets Java EE – 495 da 4Linux é inovador no mercado brasileiro;
  • Independente do gerenciador de portal utilizado em sala de aula, aqui o aluno aprenderá a criar portlets seguindo a especificação JSR 186 e JSR 289, podendo, assim, trabalhar com qualquer outro gerenciador de portal
  • Nossos profissionais são altamente qualificados com experiência comprovada no desenvolvimento de grandes portais corporativos
  • Durante as aulas são apresentados as melhores práticas do desenvolvimento Java EE em um ambiente de portal
  • Caso o aluno queira se aprofundar ainda mais no assunto de portais, a 4Linux possui um curso totalmente voltado para o WCM (Web Content Manager), que é o gerenciador de conteúdo do eXo Platform utilizado em sala de aula: Desenvolvendo Portais dinâmicos com eXo WCM – 494
  • Após a primeira aula, os alunos estarão familiarizados com todos os termos e conceitos utilizados em portais corporativos
  • Os exemplos propostos em sala de aula foram elaborados com o objetivo de criar um cenário para um curso totalmente prático e voltado para o mercado de trabalho
  • Disponibilizamos o certificado de conclusão do curso
  • O que são Portlets
  • Padrões JSR-168, JSR-286 e JSR-301
  • Como programar e usar um Portlet
  • Conceitos de Portlets Java EE
  • Deployment Descriptor e empacotamento de Portlets em pacotes WAR
  • Deploy e teste no eXo Portlet Container
  • Deploy e teste no eXo Portal ou WCM
  • Ciclo de vida de portlets
  • Requisições Action e Render
  • Estado navigacional
  • Utilizando JSP em Porlets
  • Portlet TagLib
  • Modos de Operação
  • Estados de Janelas
  • Sessões de Aplicação e Portlet
  • Preferências do Usuário
  • Segurança e Controle de Acesso
  • Cache de Portlets
  • Comunicação entre Portlets
  • Estilos CSS da JSR-186
  • Integração dos Portlets com o Portal
  • Ajax com Portlets
  • Geração de imagens e PDFs por Portlets
  • Uso de EJB, JPA e Hibernate em Portlets
  • Novidades na API de Portlets 2.0
  • JSF com Portlets: utilizando o JSF Porlet Bridge
  • Criando uma aplicação JSF para rodar em um Container de Portlets- Portabilidade para outros Containers de Portlets
  • Segurança Java EE versus JSF em Portlets
  • Ajax versus JSF em Portlets
  • Leitura básica em Inglês Técnico
  • Conhecimentos básicos de HTML
  • Conhecimentos básicos de Javascript
  • Conhecimentos Java EE necessários
  • Programação na linguagem Java
  • Conhecer os escopos de Request, Page, Session, Application da API de Servlets
  • JSP 2.0 , incluindo a EL (desejável)
  • Taglib JSTL 1.1 (desejável)
  • Framework JSF 1.2 (desejável)
  • Conhecimentos básicos de banco de dados e linguagem SQL.
  • Ou ter concluído o curso 497 - Desenvolvimento Web com Servlets e JSP

Curso presencial:

  • 01 Apostila de exercícios + laboratórios;
  • Material livre disponível no site do eXo;

Curso presencial:
40 horas
 
Noturno: 2 semanas de segunda a sexta, 4 horas diárias.
Diurno: 1 semana de segunda a sexta, 8 horas diárias.
Finais de Semana: 5 sábados ou domingos, 8 horas diárias.

Contato

Fale Conosco

  Chat online  Chat online: abrir chat online

  Telefone  Ligue para:  (11) 2125-4747 ou (11) 2125-4748

  Email  formulário de contato

Ombudsman

Sugestões, elogios ou críticas?

Mande e-mail para ombudsman@4linux.com.br

Contato

Fale Conosco

  Chat online  Chat online: abrir chat online

  Telefone  Ligue para:  (11) 2125-4747 ou (11) 2125-4748

  Email  formulário de contato

Ombudsman

Sugestões, elogios ou críticas?

Mande e-mail para ombudsman@4linux.com.br