39
Jul 23, 2012 Arquitetura JEE - Baixa Plataforma - GCI Page 1

Arquitetura jee bp_overview

Embed Size (px)

Citation preview

Page 1: Arquitetura jee bp_overview

Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCI Page 1

Page 2: Arquitetura jee bp_overview

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

Page 3: Arquitetura jee bp_overview

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

Page 4: Arquitetura jee bp_overview

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

Page 5: Arquitetura jee bp_overview

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

Page 6: Arquitetura jee bp_overview

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

Page 7: Arquitetura jee bp_overview

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

Page 8: Arquitetura jee bp_overview

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

Page 9: Arquitetura jee bp_overview

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

Page 10: Arquitetura jee bp_overview

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

Page 11: Arquitetura jee bp_overview

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

Page 12: Arquitetura jee bp_overview

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)

Page 13: Arquitetura jee bp_overview

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

Page 14: Arquitetura jee bp_overview

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

Page 15: Arquitetura jee bp_overview

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

Page 16: Arquitetura jee bp_overview

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

Page 17: Arquitetura jee bp_overview

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

Page 18: Arquitetura jee bp_overview

Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 18

UGOFramework - Frameworks e Ferramentas Open-Source

Page 19: Arquitetura jee bp_overview

Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 19

UGOFramework - Frameworks e Ferramentas Open-Source

Page 20: Arquitetura jee bp_overview

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

Page 21: Arquitetura jee bp_overview

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

Page 22: Arquitetura jee bp_overview

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)

Page 23: Arquitetura jee bp_overview

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)

Page 24: Arquitetura jee bp_overview

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

Page 25: Arquitetura jee bp_overview

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.

Page 26: Arquitetura jee bp_overview

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.

Page 27: Arquitetura jee bp_overview

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

Page 28: Arquitetura jee bp_overview

Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 28

Empresas migrando para JBoss

• Unisys

• GE Energy

• Ameritrade

• Amazon.com

• Verisign

• McDonald’s

Page 29: Arquitetura jee bp_overview

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

Page 30: Arquitetura jee bp_overview

Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 30

Core J2EE Patterns

Page 31: Arquitetura jee bp_overview

Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 31

GCI – Arquitetura Software

Page 32: Arquitetura jee bp_overview

Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 32

GCI – Arquitetura Software

Page 33: Arquitetura jee bp_overview

Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 33

GCI – Arquitetura Software

Page 34: Arquitetura jee bp_overview

Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 34

GCI – Arquitetura Software

Page 35: Arquitetura jee bp_overview

Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 35

GCI – Arquitetura Software

Page 36: Arquitetura jee bp_overview

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

Page 37: Arquitetura jee bp_overview

Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 37

Arquitetura de Sistemas - GCI

Page 38: Arquitetura jee bp_overview

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

Page 39: Arquitetura jee bp_overview

Jul 23, 2012Arquitetura JEE - Baixa Plataforma - GCIPage 39

Perguntas?

[email protected]