Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ......

51
Perry Werneck Érico M. Mendonça Miris Silva Software Público Brasileiro

Transcript of Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ......

Page 1: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

Perry WerneckÉrico M. Mendonça

Miris Silva

Software Público Brasileiro

Page 2: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

Mainframes

●O modelo dominante de mainframe nos anos 60 e 70 era o IBM System/370●As unidades de display, como eram conhecidas, eram ligadas diretamente por cabo coaxial a uma unidade de controle●Os terminais permitiam a interação do usuário com o sistema●Primeiros modelos de terminais de vídeo em 1972

Page 3: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

Mainframes

3031 Processor Complex, 1977

Page 4: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

3270

●Todos os produtos IBM utilizavam um código de 4 dígitos: System/370 → terminal 3277●Primeiros modelos da linha em 1972●Terminais “burros”, todo o processamento era feito na unidade de controle

Page 5: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

3270

●Criado como uma evolução dos terminais utilizados na época, a linha 327x utilizava um protocolo que minimizava o uso de I/O●Utilizavam o conceito de telas editáveis, com áreas protegidas e campos delimitados●Existiram unidades de controle de 32 a 128 terminais●Utilizavam o charset EBCDIC●Conectados a 9600bps

Page 6: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

3270

●Existiram 5 modelos principais:●Model 1: tela de 10”, 12x40●Model 2: tela de 15”, 24x80 ●Model 3: 32x80●Model 4: 43x80●Model 5: 27x132

●3279: 7 cores●3279G: gráficos

Page 7: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

3270

IBM 3278 (museu BB)

IBM 3277

Page 8: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

3270

Caneta ótica (terminal 2250, 1969)

IBM 3279

Page 9: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

3270

●Acessórios como caneta ótica foram desenvolvidos●Cerca de 15 fabricantes de modelos compatíveis existiram●Sucedido pelo 5250, e depois placas IRMA para o PC●O 3270, quase 40 anos depois, ainda é largamente utilizado por vários setores, embora com formas diferentes de acesso

Page 10: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

Emuladores de Terminal

●Com a migração para terminais não dedicados, foi necessária a criação de programas que emulassem o terminal original●Inicialmente a conexão e o protocolo físicos eram o mesmo dos terminais originais (IRMA)●Depois migrado para SNA over TCP/IP, e finalmente, TCP/IP direto

Page 11: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

Emuladores de Terminal

●Protocolos TN3270 e TN3270e definidos por RFCs: 1576 e 2355●Hoje uma única instância de servidor TN3270e no z/OS suporta 128.000 terminais simultâneos

Page 12: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

X3270

●O X3270 foi criado por Robert Viduya, da Universidade Rutgers, em 1991 como um “port” para o ambiente X11●É baseado em outra ferramenta, o 3270tool, do mesmo autor, de 1988, e era utilizado no ambiente SunView (precursor do OpenWindows/Solaris)●Desde 1993 é mantido por Paul Mattes●Página oficial: http://x3270.bgp.nu

Page 13: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

X3270

●Apesar de simples, emula os principais recursos de um terminal 3270●Portado para diversos sistemas operacionais (inclusive Windows)●Desenvolvimento ativo, mas principalmente voltado à manutenção

Page 14: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

X3270

●Principais problemas do X3270:● falta de recursos conhecidos e bastante

utilizados em ferramentas do mesmo tipo disponíveis para Windows

● Interface pouco amigável●Fontes fixas

Page 15: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

X3270

●Principais problemas do X3270:● Impressão limitada (via pr3270)●Clipboard limitado●Nenhuma integração aos desktops modernos●Sem suporte a unicode●Problemas de segurança (trace com senha!)

Page 16: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

X3270

X3270

Page 17: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

X3270

●Produtos em uso à época●Personal Communications (IBM)●Host On-Demand (IBM)●WSAD/HATS (IBM)●EXTRA! (Attachmate)

Page 18: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270

Por volta de 2002, iniciou-se a criação de um disco-matriz baseado em Linux no Banco do Brasil

●Esta iniciativa deu início ao uso de Linux no BB●A única alternativa gratuita disponível para Linux

na época era o X3270●Logo nos primeiros pilotos, os usuários

reclamaram da simplicidade excessiva do aplicativo

Page 19: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270

●Desafios: ● Implementar recursos utilizados em ferramentas

consagradas já em uso no BB●Trazer o X3270 “para o presente”, suportando

padrões de mercado●Tornar a interface mais amigável● Implementar mecanismos que permitam a

evolução do aplicativo

Page 20: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270

●Desafios:●Se possível, tornar o aplicativo multi-plataforma●Tirar ao máximo a dependência de ferramentas

pagas para emulação 3270●Ajudar a tornar o Linux uma alternativa atrativa

para os usuários do BB

Page 21: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270

●Escopo inicial do projeto●Apenas fazer uma “casca” para o X3270 no

Linux, dada a complexidade de reimplementar o protocolo

●Deixar o produto mais apresentável●Apenas para uso interno no BB

Page 22: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270

●Desenvolvimento●Linguagem: ANSI C/C++●Toolkit: GTK

●GTK escolhido por ser multiplataforma e oferecer boa parte dos recursos desejados●Principal desenvolvedor: Perry Werneck●Possui a “benção” oficial do autor do X3270

Page 23: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270

●Nomenclatura● Inicialmente chamado de G3270 (G = GTK ou

Gráfico)●Recentemente, foi descoberto que existe um

produto comercial com este nome de uma empresa alemã

●Nome alterado para evitar possíveis conflitos de copyright

●Diversas sugestões foram dadas: gtk3270, graph3270, bb3270, br3270, pw3270

Page 24: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270

●Versões●out/2006: primeiro “hello world” feito a partir do

c3270 (ncurses)●Nov/2006: primeira versão GTK liberada para

testes●Jan/2007: primeiro release para testes com SSL,

ações de mouse e clipboard●Fev/2007: suporte a configuração de cores,

impressão pelo sistema, fontes truetype

Page 25: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270

●Abr/2007: suporte a extensões●Jul/2007: impressão via GTK, recursos avançados de clipboard●Nov/2007: suporte a salvamento de sessão GTK●Jun/2008: primeiro build para Windows●Ago/2008: suporte a internacionalização●Out/2008: suporte REXX para Windows●Jan/2009: transferência de arquivos

Page 26: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270 Visual padrão com teclado de funções

Page 27: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270Modo fullscreen

Page 28: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270 Configuração de cores

Page 29: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270 Impressão GTK

Page 30: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270

Recursos avançados de clipboard

Recursos visuais avançados

Page 31: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270

Suporte a fontes truetype

Suporte a scripts REXX

Page 32: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270 Utilização de temas GTK nativos

Page 33: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270Versão Windows

Page 34: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270 no BB

●É utilizado por cerca de 100.000 usuários no Banco do Brasil●É parte integrante de todos os terminais de agência, caixa, direção geral e centrais de atendimento●O número de usuários cresce a cada dia●Estima-se um crescimento ainda maior com as recentes aquisições do BB

Page 35: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270 no BB

●Também é utilizado por alguns setores da Caixa Econômica●No BB, a economia estimada apenas com a não-renovação de licenças para os produtos em uso já é significativa.

Page 36: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270 no BB

●Melhoria contínua: sugestões e bug reports recebidos através de fórums internos, beta-testers e canais de atendimento do BB●O porte para Windows nasceu de uma destas sugestões●Recursos únicos ao BB: módulo de auditoria, suporte a extensões REXX, colar especial, colar como tabela

Page 37: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270 no BB

●Licenciamento: desde o início do projeto, a idéia era que o licenciamento seguisse o modelo de software livre●A licença original do X3270 é própria, do tipo “as-is”●Durante um bom tempo, todo o desenvolvimento foi interno●Dada a maturidade do produto, foi decidida pela liberação do código

Page 38: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270 no SPB

●Liberação de código de um produto desenvolvido para a comunidade foi uma experiência nova para o BB●Foram necessárias negociações com o autor original e com o próprio BB●Em meados de 2008, foram iniciadas negociações para hospedar o projeto inteiramente no Portal do SPB

Page 39: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

SPB

Portal Software Público Brasileiro

Page 40: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

O que é o SPB

●O conceito do Software Público Brasileiro - SPB é utilizado como um dos alicerces para definir a política de uso e desenvolvimento de software pelo setor público no Brasil.●A iniciativa do Portal do Software Público Brasileiro facilita a implantação de novas ferramentas nos diversos setores administrativos dos estados, promove a integração entre as unidades federativas e oferece um conjunto de serviços públicos para sociedade com base no bem software.

Page 41: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

pw3270 no SPB

●Status atual●Migração do repositório de código já efetuada●Migração da base de dados de suporte, wiki e

tickets em progresso (Trac)

Page 42: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

CADASTRO - PORTAL SPB

●Para obter o acesso às comunidades virtuais dos softwares disponibilizados no Portal do Software Público é necessário fazer seu cadastramento no endereço: http://www.softwarepublico.gov.br/register/user-new

●Com o usuário e senha cadastrados você poderá participar das comunidades correspondentes aos softwares de seu interesse.

Page 43: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

COMO CONTRIBUIR

●No Software Livre, existem diversas formas para contribuir com a melhoria de um software.●Algumas formas de contribuir são: relatar bugs,criar patches, criar novas funcionalidades, ajudar pessoas no fórum, e escrever documentação/FAQs

Page 44: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

COMO CONTRIBUIR

●Relatar um bug: relatar bugs ajuda os desenvolvedores do Portal do Software Público Brasileiro a corrigirem de forma mais rápida um comportamento não desejado. Nós usamos o sistema de tickets do Trac para coordenar a correção de bugs.

Page 45: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

COMO CONTRIBUIR

●Criar um patch: para contribuir com um patch, que pode ser para correção de um bug ou melhoria de um trecho de código, certifique-se que seu código está em conformidade com os padrões de codificação. ●Para criar um patch, você precisa ter uma cópia de trabalho do repositório SVN.

Page 46: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

COMO CONTRIBUIR

●Criar uma nova funcionalidade: se você alterou o código fonte do software para criar uma nova funcionalidade ou irá criar uma para alguma necessidade específica, contribua com o projeto disponibilizando-a no repositório.

Page 47: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

COMO CONTRIBUIR

●Pedir ajuda no fórum de suporte: à primeira vista pode nem parecer mas um simples pedido de ajuda no fórum de suporte pode contribuir muito para a comunidade e para o projeto.

Page 48: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

COMO CONTRIBUIR

●Ajudar pessoas com dificuldades no fórum de suporte: ajude a responder dúvidas no fórum de suporte. Isso evita que novos (e antigos) usuários fiquem frustrados e que desistam do portal. Lembre-se: o feedback deles é essencial na identificação de novos bugs e para identificação de pontos falhos na documentação e na usabilidade do software.

Page 49: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

COMO CONTRIBUIR

●Transformar as dúvidas mais frequentes do fórum de suporte em itens do FAQ: com o tempo, as mesmas dúvidas aparecerão no fórum de suporte. Ao identificar uma dúvida frequente, atualize o FAQ criando uma nova entrada com a pergunta/dúvida como título e com uma resposta para a mesma.

Page 50: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

COMO CONTRIBUIR

●Contribuir com a documentação: Uma boa documentação é determinante para o sucesso de um projeto de Software Livre. Contribua com a documentação, seja ela técnica ou de uso do software. Padrões para a criação de documentação ainda serão definidos mas não espere por eles:

CONTRIBUA!

Page 51: Perry Werneck Érico M. Mendonça Miris Silva - PRODEB · Principais problemas do X3270: ... disco-matriz baseado em Linux no Banco do Brasil ... Criar uma nova funcionalidade: se

Dúvidas? Perguntas?

Érico Mendonça <[email protected]>

Perry Werneck<[email protected]>

Miris Silva<[email protected]>