sexta-feira, 11 de dezembro de 2009

10 razões por que usar Java!!!!





Sou analista e programador há cerca de 10 anos. Neste período trabalhei com várias linguagens, inclusive com Java. Este post é o conteúdo de uma palestra com o mesmo título, 10 razões porque usar Java. Não é meu intuito discutir linguagens de programação, compará-las ou persuadir o leitor a utilizar Java. Java não é a melhor linguagem de programação já inventada pois isto não existe. Há apenas razões pela qual utilizar uma linguagem de programação ou outra para resolver um determinado problema computacional.

Vamos as razões:

1 - Java é gratuíto
Java depende de uma JVM, que é gratuíta. O programador depende de um compilador e do JDK, que também é gratuíto. Programadores costumam utilizar IDEs, como o Delphi ou o o Netbeans. Para Java, apesar de haverem IDEs pagas, as duas maiores IDEs do mercado (Eclipse e NetBeans) também são gratuítas. Há vários frameworks e ferramentas para a implementação de sistemas em Java, e os mesmos também costumam ser gratuítos. A documentação é gratuíta. Servidores são gratuítos. Drivers de Banco de Dados são gratuítos.

2 - Java é padronizada
A orientação a objetos do Java ajuda a diminuir a barreira entre um diagrama UML e o código Java e permite, inclusive, a geração de códigos a partir do modelo UML. Sei que muitos programadores estão acostumados a trabalhar com programas de 20.000 linhas de código. Há linguagens que não permitem a modularização. Só é muito complicado desenvolver em equipes quando temos apenas um código-fonte de 20.000 linhas. A orientação a objetos começa a ser justificada quando temos equipes de desenvolvimento. A integração com ferramentas UML permitem também manter a documentação do sistema atualizada em relação a implementação.
O mesmo em relação a própria organização do código. Os pacotes Java são diretórios e uma classe estará escrita em um arquivo com o mesmo nome. Isto facilita trabalhar em equipes e desenvolver sistemas maiores. Além de obrigar a trabalhar com Orientação a Objetos, Java possui padrões de código que são como convenções: Classes em maiúsculo, métodos e atributos em minúsculo e uma letra maiúscula substitui um espaço em branco. Assim, se uma classe tem um atributo nome o acesso a este atributo normalmente é feito pelo método getNome().

3 - Java é interoperável
A empresa utiliza Windows mas pretende migrar para Linux. O Sistema era desktop mas será migrado para a web. A equipe de vendas irá utilizar Palmtops. O que fazer? Java. Java é interoperável, ou seja, funcionar em várias arquiteturas distintas, sistemas operacionais distintos e trabalha com paradigmas de programação distintos como desktop e web. Na web Java pode ser utilizado no servidor (JSP e Servlets) ou no cliente (Applets). Apesar de haver diferenças para a implementação (J2EE, J2SE e J2ME), a linguagem é a mesma e o conceito é o mesmo.
Indo além, Java permite também uma facilidade para internacionalização com a utilização nativa de arquivos Properties e definição automática de valores financeiros, numéricos, de data e texto. Além disto, a utilização de Unicode pode garantir a visualização de textos em vários alfabetos distintos.

4 - Java possui uma API satisfatória
A API Java traz implementada várias coisas como socket, criptografia, listas, filas, acesso a arquivos e compactadores. Também há uma API para Imagem 2D, Imagem 3D, música (MP3, Wav e Midi). É muito provável que um programador antigo em Java não conheça toda a API e nem é esta a questão. Como a API é padronizada basta ler a documentação e utilizar as classes que a linguagem já traz prontas. De toda a API Java, acho que minha paixão é a classe String. Sim, eu era programador C...
Não bastando isto, a API do Java é facilmente extensível por vários outros componentes e frameworks que complementam a API tornando o trabalho do analista muito mais simples.

5 - Java possui frameworks, padrões de projeto e Componentes
A engenharia de software vem propondo soluções para minimizar o trabalho do analista já há um tempo. Padrões de projetos, frameworks e componentes são exemplos destas propostas. Há vários exemplos de como implementar padrões de projetos em Java e vários padrões de projeto que foram propostos pensando nesta linguagem. Frameworks Java facilitam a implementação de sistemas complexos e componentes fazem com que o programador Java possa compartilhar seu conhecimento com toda a comunidade Java. Alguns exemplos:
Jakarta Struts
JasperReports
Hibernate
Jakarta Velocity
JSF
GWT
Jakarta POI
Log4J
JSTL
6 - Java é documentada
A documentação da linguagem, chamada Javadoc, está disponível gratuitamente. E possui um padrão de organização estruturada como documento HTML. Os desenvolvedores de frameworks e componentes costumam utilizar este padrão de documentação para documentar seus códigos. Isto facilita em muito tanto o trabalho em equipe quanto a reutilização de código de terceiros em outras implementações. Além disto, junto com o compilador Java vem um aplicativo para geração de JavaDoc do código que você acabou de implementar.

7 - Java permite sistemas distribuídos
Com a utilização de redes de computadores em empresas, sistemas distribuídos se tornam a cada dia mais realidade. Java permite a utilização de programação em redes possuindo implementações em sua API nativa para sockets, RMI, CORBA e Webservices. No caso especíifico de CORBA, junto com o compilador Java vem um aplicativo que gera a partir da IDL toda a estrutura de classes para uma aplicação CORBA.

8 - Java integra com Bancos de dados
Eu sei que várias linguagens conectam-se com bancos de dados, porém a interface JDBC faz com que a comunicação com bancos de dados em Java funcionem de maneira homogênea. Além disto, há atualmente implementações de drivers de banco de dados para Java para a maioria dos bancos comerciais. Inclusive ODBC. Inclusive Access. Inclusive bancos de dados feitos em Java e que não dependem de servidores. A API JDBC permite a migração de um sistema de um banco de dados para outro a partir da alteração de sua conexão. Isto facilita a passagem de uma aplicação do ambiente de desenvolvimento e testes para o ambiente de produção.

9 - Java é multi-thread
A multi-programação em Java é nativa. Toda a API Java baseia-se em comunicação por eventos e o controle de Threads em Java é simples de ser implementado e bastante eficiente. Toda classe Java possui métodos para implementação de semáforos e na API há especificações para implementar métodos que não permitam acesso concorrente.

10 - Java é moderna
A linguagem Java integra vários conceitos modernos, como por exemplo o Ant, Maven, XML, Orientação a Aspectos, Agentes móveis, Testes de Software e integração com repositórios. Java se tornou uma das linguagens mais utilizadas no mundo. Exemplos em livros são feitos em Java. Padrões de projetos são apresentados em Java. Componentes e exemplos de frameworks são feitos em Java. Devido as razões acima apresentadas, muitas empresas utilizam Java. O resultado disto é que há várias oportunidades de emprego nesta linguagem.

Para os que gostam de comparar linguagens de programação e tentam explicar qual a melhor linguagem de programação, fica a pergunta: Podemos dizer que o martelo é a melhor ferramenta de um marceneiro?


Esse Artigo encontrei na Internet em busca de mais informações sobre a Linguagem JAVA.
URL: http://flavioschiavoni.blogspot.com/2008/09/10-razes-por-que-usar-java.html

SP prevê fim de taxa telefônica em fevereiro




SÃO PAULO - O Diário Oficial paulista publicou, esta semana, uma lei aprovada pela Assembléia Legislativa de São Paulo, que proíbe a cobrança de taxa básica de assinatura em contas telefônicas.

Esta lei foi originalmente criada em 2006, aprovada pelos deputados estaduais, mas depois vetada pelo então governador Geraldo Alckmin. Em novembro deste ano, no entanto, os deputados derrubaram o veto e, agora, a lei foi publicada no Diário Oficial. A publicação significa que em 60 dias será ilegal a cobrança da taxa, ou seja, a partir de 8 de fevereiro.

A lei fere o interesse das empresas de telefonia fixa e também do próprio governo paulista, que perderá arrecadação de impostos. O governo, no entanto, não tem grande margem de reação, já que não pode mais vetar a lei. É possível, no entanto, que a Procuradoria do Estado tente derrubar o fim da taxa básica de assinatura na Justiça.

Neste caso, o governo vai argumentar que acabar com a taxa não é uma decisão que caiba a deputados estaduais, mas apenas ao Congresso, pois a legislação sobre telecomunicações é de competência federal. Se a Justiça acatar o argumento, as teles poderão continuar a cobrança normalmente.

Isto aconteceu, por exemplo, quando os deputados paulistas aprovaram o fim da cobrança de estacionamento em shoppings centers. A lei acabou derrubada na Justiça.

A associação de defesa dos consumidores Pro Teste defende o fim da cobrança da taxa básica, alegando que as teles não investem em infraestrutura nova desde 2006. A associação propõe ainda um acordo para evitar disputas na Justiça. A proposta é a redução no valor da taxa em 75%. Assim, ao invés de R$ 40, o consumidor pagaria R$ 10 mensais à companhia telefônica.

As empresas de telefonia fixa que operam em São Paulo não se manifestaram sobre o tema.

sábado, 5 de dezembro de 2009

As novas tecnologias para pagar contas

Os microchips acabam de tornar velho um recente símbolo de modernidade: o cartão de crédito. É possível hoje fazer pagamentos com celular, relógio ou com um simples chaveiro.




A delícia do almoço é sair do restaurante pensando só no sabor da comida. Lembrar da fila, pode fazer mal. "Às vezes dá até indigestão", afirma a bancária, Marivane Dellorti.

Você comeu bem, estava tudo muito gostoso, mas, digamos que o momento menos agradável do almoço é sempre a hora de pagar a conta. Isso fica sempre pior quando a gente encontra uma fila muito grande. Pois a nova tecnologia do cartão de crédito promete diminuir esse problema.

Agora é assim. É só passar o cartão em frente a maquininha. Não é preciso esperar a impressão do recibo e assinar. O que antes demorava, em média, 26 segundos, agora acontece em apenas dois.

"Esperar cinco, dez minutos em geral é muito, mas depende da companhia. A vida é muito curta, quatro minutos você faz muita coisa", diz a advogada, Mariana Castelo Branco.

Mas o assunto é sem contato ou 'contactless', em inglês, como foi batizada a tecnologia, já em teste no Brasil. O cartão tem um segundo chip e uma atena. Mal dá pra ver.

O sistema funciona assim: um aparelho, chamado de 'Donggle', emite um campo eletromagnético. Ao se aproximar dele, o chip do cartão é ativado e os dois se comunicam. O 'Donggle' recebe informações criptografadas, como o número do cartão, a data de validade e a assinatura eletrônica.

"O cartão vai ficar sempre na mão do cliente, evitando que o cartão possa ir para alguma máquina que venha possivelmente a clonar o cartão", explica Percival Jatobá, Diretor de Produtos Visa.

A novidade não pára por aí. O chip pode estar, por exemplo, no celular. "É exatamente como se o meu cartão de crédito estivesse já dentro do celular".

Na tela inicial basta abrir o aplicativo de pagamento; escolher a opção permitir cartões; digitar a senha e aproximar o telefone do 'Donggle'. Há apenas um ano, essa novidade era comum do outro lado do mundo. A Conecte foi ao Japão mostrar.

Agora a tecnologia está pronta para ser usada aqui. Conta paga, pé na estrada. O mesmo celular agora chama a condução. A tecnologia no Japão é mais simples e muito conhecida dos adolescentes: 'SMS'. Uma simples mensagem de texto.

"Não precisa ter no carro ou no celular algum dispositivo especial. Tem em qualquer celular, é um torpedo comum, normal", afirma o taxista.

No fim da corrida, basta enviar um torpedo com o código do motorista, a senha do passageiro e o valor a pagar. O SMS vai para a empresa de tecnologia que desenvolveu o sistema. Eletronicamente o SMS se transforma numa ordem de pagamento. Cada corrida pode ser acompanhada pela internet.

"O taxista enxerga suas corridas, o usuário enxerga suas corridas, o passageiro", afirma a gerente comercial da Wappa, Maria Elisa Corbisier. Apenas empresas podem usar o serviço.

Tudo mais prático, mais ágil. Tecnologia de pagamento que dá, em troco, alguns minutos de folga. Nem sempre depois do almoço você precisa ir direto para o trabalho.

Às vezes sobra um tempinho para passear, no Pão de Açúcar, no Rio de Janeiro, por exemplo. Mas é pouco tempo, não da para ficar esperando muito na fila. Que tal chegar no caixa e pagar simplesmente passando o relógio.

O princípio é o mesmo do 'Contactless'. A diferença é a variedade de opções para o chip que pode estar num chaveirinho, por exemplo. Leve, prático, sem necessidade de senhas. Até por isso, os aparelhinhos tem limite.

"Hoje, com dispositivo que a gente tem na rua, esse limite está em R$ 50, por dia", afirma o Diretor de Pagamentos Avançados da Mastercard, Luiz Guilherme Roncato.

Essa forma de pagamento foi chamada de 'Pay-Pass', traduzindo "pagou, passou". Ela deve estar disponível ao público no ano que vem. Ainda sem prazo definido, vem outra novidade que promete transformar o celular em um caixa eletrônico portátil.

O celular que vai fazer tudo isso, não tem nada de especial. "Os celulares mais básicos, vão poder utilizar a aplicação da mesma forma. Porque a aplicação não está no celular, está no chip do aparelho."

Quando essa função é aberta, no menu do celular, aparecem várias opções. É só escolher uma, informar a transação desejada, senha e pronto. O celular gera um torpedo que vai para a empresa de cartão de crédito. Outro torpedo volta com a confirmação.

O gasto pode ser debitado da conta bancária ou ir para a fatura do cartão de crédito. Para quem não tem nada disso, uma terceira forma está em negociação. Um cartão recarregável parecido com o do celular pré-pago.

Uma forma de atrair público. Afinal, são quatro bilhões de celulares em uso no mundo. Contra um bilhão de contas bancárias abertas. Com tantas funções no telefone, será o fim do dinheiro como conhecemos?

As empresas de cartão de crédito dizem que não. "Existe uma população que acredita, confia e trabalha com cheque. Existe uma população que acredita, confia e trabalha com cartão. Os mais novos vão ter o privilégio de poder utilizar aparelhos muito mais interativos e ter muito mais formas de pagamento", afirma Luiz Guilherme.

Fonte GLOBO.com