arquitetura jee bp_overview
TRANSCRIPT
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCI Page 1
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCI Page 2
Arquitetura de Projetos e Escopo Tecnológico – Baixa Plataforma – CIWEB JEE
SC 1 - Arquitetura de Projetos Baixa Plataforma – Visão GeralJuarez Barbosa – Systems Architect – Unisys
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 3
Objetivos
• Apresentar a arquitetura de software dos projetos de BP que utilizam JEE
• Apresentar os frameworks, ferramentas, servidores e escopo tecnológico dos projetos JEE BP
• Apresentar os frameworks e componentes JEE open-source adotados e desenvolvidos pela Unisys GOIS SC1
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 4
Agenda
• Desenvolvimento baseado em componentes e frameworks
• Plataforma J2EE - servidores de aplicação, padrões
• UGOFramework - Unisys OSS Framework
• JBoss e Eclipse
• Arquitetura JEE - GCI
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 5
Desenvolvimento sem utilização de componentes/frameworks - problemas
• Desenvolvimento de aplicações sem utilização de componentes e frameworks, sem reuso– Aplicações começam do zero, sem reutilização
de componentes
– Menor confiabilidade por não utilizar componentes prontos, robustos e testados extensivamente em vários projetos
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 6
Desenvolvimento sem utilização de componentes/frameworks - problemas
• Codificação repetitiva e propensa a erros, muitas vezes implementando mecanismos e estruturas existentes– Validação de campos (client-side e server-side)
– Construção de cadastros genéricos (CRUD)
• Base de código dispersa e recorrente dificulta tarefas de manutenção futura e não promove a propriedade coletiva do código
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 7
Desenvolvimento sem utilização de componentes/frameworks - problemas
• Absorção de novas tecnologias nos projetos– Complexidade considerando a seleção de componentes,
frameworks e ferramentas pois mercado tem muitas opções.
– Não possuir uma biblioteca de componentes bem definida dificulta ao estabelecer o escopo tecnológico dos projetos
– A curva de aprendizado acentuada para a maioria dos frameworks dificulta a análise de todas as alternativas
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 8
Desenvolvimento sem utilização de componentes/frameworks - problemas
• Baixa produtividade no desenvolvimento– Cada desenvolvedor sempre escreve código novo, que
possivelmente já existe em outro projeto ou módulo do sistema
– Ausência de componentes reutilizáveis. Tudo sempre inicia do zero
– Novo código = possivelmente novos bugs
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 9
Desenvolvimento baseado em componentes/frameworks - vantagens
• Frameworks Open-Source minimizam custos e maximizam o retorno do investimento (ROI)
• Código aberto e disponível resulta em maior flexibilidade e liberdade – sem dependência de uma solução específica (no vendor lock-in)
• A adoção de padrões de projeto simplifica e acelera as decisões, facilita a comunicação e resulta na adoção de boas práticas
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 10
Desenvolvimento baseado em componentes/frameworks - vantagens
• Frameworks Open-source aproveitam a experiência e conhecimento de milhares de desenvolvedores e empresas, adquiridos na utilização em projetos reais
• A descoberta e correção de bugs é extremamente rápida. A comunidade Open-source desempenha um papel importante considerando esse aspecto
• Código testado e depurado extensivamente, pronto para reuso
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 11
Desenvolvimento baseado em componentes/frameworks - vantagens
• Os custos de manutenção são menores
• Os sistemas são construídos a partir de partes menores, cada uma com um objetivo especiífico, facilitando a construção, evolução e reutilização em outros sistemas
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 12
Plataforma J2EE
• Existem vários componentes J2EE comerciais que podem ser adquiridos e incluídos em uma solução, atendendo requisitos de infra-estrutura ou negócio
• Uma consequência natural é que o tempo de desenvolvimento dos sistemas é reduzido (Reduced time-to-market)
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 13
Plataforma J2EE
• A plataforma J2EE é baseada em componentes, facilitando a separação clara de papéis em uma fábrica de software
• Ela foi projetada para tirar proveito de toda a infra-estrutura fornecida por um servidor de aplicações (segurança, controle de transações, ciclo de vida dos componentes, pooling, padronização)
• Independente de Sistema Operacional, multiplataforma real
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 14
Plataforma J2EE – Servidores de Aplicação
Web ContainerJ
ND
I
JT
A
JA
F
JD
BC
Ja
va
Ma
il
JM
SServlets JSPs
EJB Container
JN
DI
JT
A
JA
F
JD
BC
Ja
va
Ma
il
JM
S
Session Beans Entity Beans
J2EEApplication
Server
HTML/XML
Applet
ClientApplication
JDBC
JavaMail
RMI
IIOP
JNDI
JMS
RDBMS
Mail Server
Java Application
CORBA
Directory Services
Message Queue
ClientApplication Logic
Data
RM
I/II
OP
RM
I/II
OP
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 15
Servidores de Aplicação - Características
Portais
Web Services
Wireless
EnterpriseIntegration
Aplicações J2EE
Business Intelligence
Application Server Platform
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 16
Plataforma J2EE – Unisys
Operating System: Windows, Linux, MCP
Hardware Servers(ES3000, ES7000, ClearPath)
Java Virtual Machine
Management
Development
Env
Web ServerIdentity
Management Server
Servlet
Directory Server
Apache
Open LDAP
TomCatPing ID
Database ServerMySQL, PostgresSQL
J2EEApplication Server
CommunicationsSolutions
Media Solutions
Commercial Solutions
Transportation Solutions
BIApplications
CRM Applications
SAP Applications
Web Applications
JBoss
3D-VE
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 17
UGOFramework for J2EE - Unisys
• O UGOFramework for J2EE integra vários frameworks Open-Source consagrados no mercado, endereçando vários aspectos críticos da implementação de sistemas
• Integra diversos componentes de frameworks distintos, permitindo, o desenvolvimento eficiente de aplicações baseadas na plataforma J2EE
• Realiza a geração de código para os componentes mais complexos da plataforma J2EE
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 18
UGOFramework - Frameworks e Ferramentas Open-Source
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 19
UGOFramework - Frameworks e Ferramentas Open-Source
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 20
Produtividade – Características da UGOFramework
• Componentes Open-source reutilizáveis– Quase 3000 componentes Open-Source
• Controlador MVC (Model-View-Control) customizado• Componentes de suporte a internacionalização (I18N –
interfaces gráficas e relatórios)• Controlador de submissão de formulários (duplicate
submission)• Componentes de gerenciamento de layout• Componentes de validação centralizada de formulários
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 21
Produtividade – Características da UGOFramework
• Componentes Open-source reutilizáveis– Quase 3000 componentes Open-Source
• Componentes declarativos para tratamento de exceções• Componentes de geração de logs (várias saídas)• Controladores de fluxo e navegação entre páginas• Componentes para geração de relatórios em vários formatos
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 22
Produtividade – Características da UGOFramework
• Componentes UGOFramework reutilizáveis– Mais de 100 componentes componentes de integração e
infra-estrutura desenvolvidos internamente
• Conversores de arquivos Microsoft• Componentes customizados para validação de formulários• Controladores customizados para controle de navegação e
fluxo entre páginas• Componentes customizados para tratamento de exceções• Skin configuráveis (configurable look-and-feel)
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 23
Produtividade – Características da UGOFramework
• Componentes UGOFramework reutilizáveis– Mais de 100 componentes componentes de integração e
infra-estrutura desenvolvidos internamente
• Componentes de integração com mainframes Unisys (Java to COMS/COBOL)
• Componentes de interface gráfica• Componentes de integração com diretórios LDAP• Geradores de código (EJB, mainframe Unisys, JSPs)• Filtros de compactação de conteúdo (HTTP response) e
controle de cache (browsers)
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 24
Produtividade – Características da UGOFramework
• Alguns Componentes e Frameworks– Struts Framework
• O Struts tem como base a arquitetura MVC Model 2 (Model-View-Controller), que permite manutenção isolada nas diversas camadas da aplicação.
• O Struts fornece um componente controlador de fluxo de navegação e exibição de páginas de forma centralizada e flexível. Toda a lógica de fluxo da aplicação fica centralizada em apenas um arquivo, facilitando a manutenção
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 25
Produtividade – Características da UGOFramework
• Alguns Componentes e Frameworks– UGOFramework Struts
• Extensão e customização realizada em vários componentes da Struts, encapsulando em ancestrais comuns várias estruturas tais como geração de logs, lógicas de tratamento de erro, suporte facilitado a navegação e exibição de páginas.
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 26
Servidor de Aplicação - JBoss
• JBoss é um servidor de aplicação J2EE certificado para o desenvolvimento e disponibilização de aplicações Java Enterprise, aplicações web e portais.
• O servidor JBoss fornece todas as características da plataforma J2EE e serviços adicionais tais como clusterização, cache transacional, persistência e outros.
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 27
Parceria Unisys e JBoss Group
• A Unisys faz parte do JBoss Founder’s Consortium.
• A empresa colaborou no processo de certificação do servidor JBoss (J2EE 1.4) em 2004 fornecendo assistência financeira. O JBoss foi o primeiro servidor Open-Source a obter a certificação J2EE 1.4
• A parceria com o JBoss Group permitiu disponibilizar o servidor de aplicação e serviços de suporte em todas as plataformas Unisys– Windows, Linux e MCP
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 28
Empresas migrando para JBoss
• Unisys
• GE Energy
• Ameritrade
• Amazon.com
• Verisign
• McDonald’s
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 29
Ferramentas - Eclipse
• O Eclipse é um ambiente de desenvolvimento integrado, que permite o desenvolvimento de aplicações utilizando diversas linguagens– Organiza em projetos o código Java e recursos
relacionados
– Gera, edita, compila, executa e depura programas Java
– Integra com ferramentas como Ant, JUnit, CVS, Javadoc e muitas outras
– Extensível através de plug-ins especializados
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 30
Core J2EE Patterns
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 31
GCI – Arquitetura Software
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 32
GCI – Arquitetura Software
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 33
GCI – Arquitetura Software
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 34
GCI – Arquitetura Software
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 35
GCI – Arquitetura Software
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 36
Arquitetura de Sistemas - GCI
• Aplicação Web JEE
• Backend com mainframe para processamento das transações
• Regras de negócio parametrizáveis
• Tecnologia de ponto em cada camada:– JBoss– Oracle Database– Unisys Libra Mainframe– Unisys ES 7000/520
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 37
Arquitetura de Sistemas - GCI
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 38
Arquitetura de Sistemas - GCI
Customer 1
Customer
INTERNET
Customer 2
EXTRANET
FIR
EW
AL
L
DMS I IFIR
EW
AL
L
HTTPS
LIBRA
ORACLE
ES7000/520
High-End Platform
Low-End Platform
ES7000/520
IIS JBoss
Windows 2003
MCP
Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 39
Perguntas?