Archive for June, 2006

Esses caras erram mais gol que o Milton Lapido :)

Java.Net

Como escrevi no meu blog no Java.Net,
mas em Inglês seria interessante, falar um pouco disto em Português também.

Introdução
J/XFS - Java eXtensions for Financial Services, é um padrão gerenciado pelo Comitê Europeu de Normalizações-CEN, que descreve como você pode desenvolver para dispositivos ditos “financeiros”.

Por que só Financeiros?

Eu discordo nesse ponto, e acho que o termo Financeiro(Financial) tem uma conotação infeliz do ponto de vista de Markting desta API, pois parece que fica extremamente específico para grandes Bancos ou super empresas financeiras, e isto não é real num país de tecnologia desenvolvida como o Brasil, pois várias outras indústrias usam periféricos, como no ramo de Varejo, grandes redes de Lojas, redes de super-mercados, mas também empresas de menor porte, por que não?

Conceito “Escreva uma vez rode em qualquer lugar”(WORA)

Grandes implementações de periféricos acabam usando:

  • Javax Communication API( se Windows)
  • RXTX (se Linux )
  • Milhares de comandos internos de periféricos, sendo estes a maioria ultra mal documentados

E ai o termo “Manutenção de Software”, ultrapassa as vergentes do aceitável para insuportável quando a tarefa consiste em manter um grupo de implementações para impressoras, pinpads, leitores de códigos de barra e vários outros simples dispositivos que você pode ver numa simples Loja de Conveniência no Brasil.

Quando você tem que sair de uma impressora EPSON modelo ayz para Diebold xyj, você vai pegar sua super classe de atributos estáticos com os comandos, ou um arquivo de properties/xml para não ser tão ruim, e vai ter um super trabalho na alteração dos comandos que definem o protocolo de “Pergunta e Resposta”.

J/XFS Resolve?

Sim, resolve! J/XFS não nasceu ontem, já está no mercado salvo meu engano ativamente desde 2000, e com isto vem chegando a uma certa maturidade, apesar de haver ainda muitas melhorias propostas que ainda podem ser inseridas no padrão pelo seu Comitê.

Mas resolve Como ?

J/XFS define algumas camadas, entre elas:

  • Device Services (Drivers)
  • DeviceManager
  • DeviceControl

Precisamos de apenas uma para elucidar o conceito por trás deste especificação: DeviceServices, o qual vamos nos referir como Drivers J/XFS.

Você terá um conjunto de interfaces, constantes e classes que fazem parte do padrão de Drivers, o implementador do Driver, que geralmente é o mesmo que desenvolve o Hardware, implementa o driver de acordo com seus comandos específicos, tornando assim a chamada ao J/XFS padrão aos drivers sempre, e ai no momento da chamada o Driver sabe como desempenhar suas atividades. O grandioso é que você tem chamar o Driver, não se importando como isto é implementado por “trás das cameras”. Isto é como o uso de JDBC e a implementação de seus Drivers; quando você executa um “insert into …”, você não se importará em como o driver realiza estas operações no servidor de banco de dados. Sendo assim, J/XFS oferece ao mercado uma forma sempre padrão de desenvolvimento para dispositivos desta ordem.

E ai eu tenho WORA(Write Once Run Anywhere)?

Sim, porque você fala com os drivers padrão J/XFS e eles se encarregarão das atividades de baixo-nível por você.

Como escrever esses Drivers?

As experiências que tive no Brasil (2), me decepcionaram neste aspecto, visto que você pode implementar chamadas nativas usando as portas de comunicação, porém a maioria das pessoas usam as bibliotecas (DLLs ou SOs) e via Java criam uma capa JNI (Java Native Interface), que nada mais é que uma casca Java sobre uma biblioteca do sistema operacional.
Muito embora a BOA PRÁTICA seja implementar os Drivers em JAVA também, e inúmeras são as vantagens para isto, entre elas você não está preso a uma compilação para um determinado sistema operacional(ex: .dll=>Windows, .s0=>Linux). Além de portável é muito mais simples realizar estes tipos de Atividades em Java do que em C ou C++.

E por que isso não é embutido ao JME (Java Micro Edition) ?

Boa pergunta, eu infelizmente não posso responder isto, além de não ser um especialista em aplicações para Micro-Devices, não sei como isso poderia ser encaixado no ME [Comente isto ...Fique a vontade].

E por que uma JSR via JCP?

Esta pergunta é pior ainda de responder, isto envolve muito trabalho, e já conversei várias vezes com meu amigo Bruno Souza, entre as várias conclusões que chegamos, estão os fatos de que :

  • Isto deve ser feito por EMPRESAS
  • Isto envolve um bom tempo de trabalho
  • Empresa+Trabalho não resulta em um trabalho “barato”, porém acredito que empresas deste segmento poderiam pensar em investir numa idéia como esta

Seria lindo ver javax.devices.api , mas por hora isto é sonho.

No Brasil, alguém usa?

Sim, eu fiz uma pesquisa outro dia sobre oportunidades de empregos envolvendo esta tecnologia, e para meu espanto havia uma boa procura, e com certeza ainda não responde a demanda de trabalho que há no mercado.

Grandes bancos utilizam, porém não me sinto a vontade de compartilhar estas informações, tendo em vista que são clientes da minha empresa, mas você encontra um edital público de um Banco do Governo se você for no Google :D.

As empresas Líderes de mercado

Os Espanhóis dominam o mercado mundial disto, tive o prazer de trabalhar e conhecer o trabalho de duas empresas que o Google também contará para você o nome delas! Eles são feras !

Boas Práticas

Nas duas oportunidades que trabalhei com J/XFS desenhei uma camada “lógica” de serviços, e implementei uma implementação de simuladores, e outra a real usando J/XFS, aplicando patterns como:

  • Abstract Factory
  • Template Method
  • Factory Method
  • Singleton

Outra dica, é que é bom você conhecer como criar e extender novos EVENTOS em LISTENERS em Java, pois sua aplicação pode precisar ser “responsiva” sempre, e “escutando” periféricos que se comunicam através as portas do computador.

Conclusão

Procurando uma API para estudar, fazer uma pesquisa, TCC, esta é uma, você vai quebrar cabeça um bocado no início, depois piora, depois você até se sente a vontade de fazer um post como este :)

Forte Abraço

Edgar Silva

Who’s to say what’s impossible?
Well, they forgot this world keeps spinnin’
And with each new day, I can feel a change in everything.
And as the surface breaks, reflections fade,
but in some ways they remain the same.
And as my mind begins to spread its wings,
there’s no stopping curiosity.

I want to turn the whole thing upside down.
I’ll find the things they say just can’t be found.
I’ll share this love I find with everyone.
We’ll sing and dance to mother nature’s songs.
I don’t want this feeling to go away.

Who’s to say I can’t do everything?
Well, I can try.
And as I roll along I begin to find
Things aren’t always just what they seem

I want to turn the whole thing upside down.
I’ll find the things they say just can’t be found.
I’ll share this love I find with everyone.
We’ll sing and dance to mother nature’s songs.

This world keeps spinnin’ and there’s no time to waste
Well it all keeps spinnin’, spinnin’, ’round and ’round and

Upside down, who’s to say what’s impossible and can’t be found?
I don’t want this feeling to go away
Please don’t go away (3x)
Is this how it’s supposed to be? (2x)

Escute-a clicando aqui

Mais um grande post do meu amigo Ricardo Ferreira, leia Aqui

[]’s “Lobo”

Olá Amigos,

Fiz este post no meu Blog do Java.Net sobre J/XFS, confira, dá pra ter uma noção do que é esse treco:

http://weblogs.java.net/blog/edgars/archive/2006/06/what_you_think.html

E olha que eu sou torcedor do Paysandú, mas respeito muito o Clube do Remo, por ser de Belém (mesmo que eu tenha amigos remistas INSUPORTÁVEIS, chegam a ser piores que corintiano).

Mas é bom ver a esperteza paraense sempre voando, se esse cara fez isso de propósito, eu tiro chapéu!

Com a droga desse técnico é tudo assim, tem que ser tudo no sofrimento, lembram 94?

Abração amigos :)

Belém na Copa :D

Depois de mais de um ano, voltei a trabalhar em um projeto envolvendo J/XFS, que é algo bem legal e meio “doido”. Como é de praxe, em todos os projetos que envolvem essa tecnologia, nem todos os implementadores têm todos os periféricos para testarem as estações financeiras, então haja simuladores, aqui minhas brincadeiras para simular o PinPad Swing :).

Pinpad

É engraçado algumas coisas, como há pessoas que confudem, um pouco de falta de informação, talvez pouce experiência, mas nem sempre as melhores soluções são sempre usando Java.
Mas também não estou dizendo que uma ferramenta de script em console que faz umas mágicas, vai ser mais escalável em produção que uma aplicação JEE.
Em um projeto que estava há poucos tempos atrás, tive que criar um processo de desenvolvimento, onde algumas coisas eram Java, afinal, a plataforma solicitada pelo cliente era esta, mas em algumas coisas, optamos por ferramentas não Java, e tivemos grandes sucessos, entre estas:

  • DotProject - Gerenciador de Projetos (PHP)
  • TRAC - Ótima ferramenta para integração com SubVersion, além de Wiki, Source Viewer, e issuetrack tudo integrado e por projeto.
  • BugZilla - Com este nome precisa falar algo? Roda em Perl

Mas também usamos coisas fantásticas em Java, entre elas:

  • Maven 2
  • Continuum
  • JSPWiki
  • Scarab [avaliamos mas optamos BugZilla]
  • JSpider
  • Várias ferramentinhas da CodeHaus e da JavaTools Comunity do Java.net
  • Vários outros elementos faltam para expor todo o processo, mas entre estes estão o SUP(SummaUnifiedProcess), que é um conjunto de templates e técnicas para modelo, projeto, desenvolvimento, testes e deployment de casos de uso, usando o Greenbox e o Genesis. Ainda assim eu aconselharia você dar uma olhad no ReadySet da Tigris

    Foi um projeto bem legal, a coisa ruim é ficar com saudade dos amigos que fiz por lá!

    VT

    Edgar

Vejam o que já se pode fazer com Ajax dentro do NetBeans:

https://ajax.dev.java.net/screencast/jMakiDemo.html

Assistam este vídeo, é de fato interessante!

Post interessante de Ricardo Ferreira, no Blog da Versatiliti, fala sobre desenho de Casos de Uso, achei super interessante.
Leia aqui:

Clique aqui para “espiar”

Belém, a Capital do Pará, na Região NORTE do país, além de se tornar famosa devido a alguns programas da Regina Casé, mostra que a tecnologia do Governo do Estado desenvolve grandes serviços com a plataforma Java.

Através do PRODEPA(Cia Processamento de Dados do Pará), eles vêm habilitando vários projetos rodando sob a plataforma Java(TM). Posso falar alguns projetos que conheço por ter ajudado e agora vê-los em produção é um motivo de grande felicidade.

Eu não sei se sou autorizado a divulgar estes projetos, mas é a coisa mais fácil do mundo encontrar agora JavaWebStart’s sendo carregados, bem como .jsf(Java Server Faces) e .do’s(Struts), rodando em vários serviços Online.

Do que eu vejo online rodando:

- Detran - Alguns serviços do Site, sendo que meu carro ainda é de Belém :D

- SISP - Agora você pode declarar BO’s simples através da Internet, acessando esse link: http://www.delegaciavirtual.pa.gov.br/sisp/

-Auditoria Geral do Estado - Seu portal inteiramente em JEE - http://www.age.pa.gov.br/webtools/

Eu já tive tantos sonhos pro meu estado, tantos desejos… Confesso que ainda tenho, entre eles criar um mercado de tecnologia fortíssimo, mas para isso requer ferramentas e armas, das quais não conto .

Seria fantástico ver as Secretarias integradas, usando SOA , ou implementando um protocolo de compartilhamento de informações, ações e vários serviços, o que o Estado iria gerar em economia, evitando gastos para implementações repetitivas, e no investimento de frentes únicas de trabalho, tornando o trabalho muito mais qualitativo… Já pensou ? É quem sabe um dia… Afinal nao custa sonhar.

Mas é bom ver o fruto de grandiosos trabalhos como estes em produção, e a todos que influenciaram, trabalharam, meus sinceros Parabéns! Vocês merecem!

ES

Olá amigos, colegas, parceiros de trabalho, ex-alunos, né que eu registrei meu domínio, ainda tenho inveja das pessoas que registraram algo mais criativo, e simplesmente pagam de 4 a 10 dolares para por um blog super movimentado.
Mas é que eu precisava de um único lugar para tentar reunir todos os espaços que tenho na internet, mas muito largados, jogados, criar de fato meu “agregador”, por isto, resolvi gerar este site, que tem como entrada este Blog.
Eu achei de depois do Mulitply eu de fato não fosse precisar de mais nada na vida, mas infelizmente não é todo mundo que consegue lembrar de forma fácil o meu endereço lá, assim como várias outras formas de me encontrar, por isso resolvi reunir tudo aqui.

Vamos lá, como encontrar o Edgar:

Orkut
http://www.orkut.com/Profile.aspx?uid=18373559176077503268
Sempre me dá vontade de excluir essa conta do Orkut, é sempre uma forma das pessoas que você menos quer saibam da sua vida, vai lá sempre fuçar, mas há váaaarios amigos, que tenho medo de perder o contato, sem falar numa galera de Manaus, que encontrei recentemente, que não os vejo há cerca de 13-14 anos, que se nao fosse essa porcaria de Orkut, sem chance.

Multiply

http://edgarsilva.multiply.com/

O Meu Fotolog UOL corre sérios perigos de eu desativá-lo por conta desse cara, além de hospedar minhas fotos, serve como blog, fotolog, mp3log, videolog, ou seja, é de fato uma “brastemp”.

Fotolog UOL

http://edgarsilva.nafoto.net
Esse cara reúne fotos e momentos importantes, que passei, superei, e é bom recordar, afinal de contas, fotos servem pra isso.

Emails

Pessoais

edgar (em) edgarsilva.com.br - Please, No SPAM
edgarsilva (em) gmail.com - Viva 74% da quota de mais de 2GB ocupada

Profissionais

edgar.silva (em) redhat.com

Sobre Mim

Falar sobre si mesmo, em terceira pessoa, ou de qualquer forma que não seja escutar é terrível! Prefiro muito mais ouvir, do que falar, afinal de contas, tenho dois ouvidos, e apenas uma boca!

Sou uma pessoa muito sincera, que teve uma criação grandiosa, temperada com a rigidez do meu pai, e o carinho e liberdade da minha mãe. Aos 19 anos sai de casa, fui morar em São Paulo, e desde que saí da casa da minha mãe, nunca mais volteir a morar com minha “velha”, ainda que de Ago de 2002 a Mar de 2004 eu tenha ficado em Belém, eu nao me dei esse privilégio.

Como diria o poeta “Morei em tantas cidades q eu nem lembro o nome”. Gostei de todas, ainda que depois de um tempo, aina me encanto com São Paulo, mas me assusta a realidade no clarão do dia, e roar dos carros e buzinas a consumir essa cidade.

Hoje moro em Porto Alegre, depois de já ter passado por São Paulo, Belém, Belo Horizonte e Brasília! De onde tenho saudade do trânsito tranquilo, as avenidas largas e o melhor a placa do meu carro não ser de lá, para poder aproveitar como poucos, a sensação boa proporcionada pelo eixão e uma boa música do Metalica.

De BH, guardo na lembrança as comidas de boteco, do tempo que passei, lá consegui quase que fechar uma cartelinha dos botecos participantes do festival :D, vale a pena conferirir.

E da minha tão linda, bela, formosa e encantada Belém, com quem tenho um caso de amor sempra mal resolvido, eu que tanto a amo, sempre me apronta alguma, mas tudo bem, do que seriam os poetas, sem seus “causos” mal resolvidos.

Eu trabalho numa empresa legal, mas melhor que elas são as pessoas, onde aprendo muito, e isto é muito além de tecnologia, e sim humanidade, respeito e amizades…Cadeiras estas, que nunca terminamos de pagar no decorrer dessa faculdade que é a vida!

As vezes tiro uma de professor, de fato, ensinar eu aprendi com meus professores, alguns preguiçoso(a)s que não vou citar nomes, que nos faziam dar aula por eles, ao menos era uma boa forma de tirar um notão, eu que era acostumado quando criança vender pão, tirava isso de letra, eu que nao era dos mais comportados, quase sempre um capeta…Conseguia de uma forma melhorar meus pontos, para somar com 2 pontos dos 10 possíveis da minha nota qualitativa de comportamento, conseguindo assim não reprovar e não tomar a maio surra que um dia eu poderia levar do seu Edson :). Para estes que hoje eu ensino, me vejam sempre como um amigo, alguem para escutar…Se você for do tipo de aluno muito bom, não precisa competir comigo, você pode dar aula no meu lugar…Juro não vou me importar…Porque já perdi muito tempo, tentando entender as pessoas…. E entre o espaço do dia 11 de Fevereiro de 1980 até a data( que eu não faço a mínima idéia, mas só espero que seja longe), eu só tenho uma missão contínua: Ser Feliz!

Nessas porcas e mal-traçadas linhas, se conseguires me entender, ainda que pouco… Já fiquei feliz!

Meu CV??? Não, ainda nao publiquei, ainda não estou procurando emprego :)

Bom, espero reunir mais coisas aqui, e criar um canal de comunicação com mais pessoas, amigos, parentes, ou seja todos!

Fiquem com Deus!

Edgar Ankiewsky Silva

Ed