sábado, 28 de abril de 2007

Linux, windows ou mac

No intervalo de um discurso sobre informática encontram-se na casa de banho o Sr. Linus, Bill Gates e Steve Jobs.
O Sr. Linus estava a lavar cuidadosamente as mãos e, de repente, vira-se para Bill Gates e diz:
- Nós, da Linux, somos perfeccionistas.
Bill Gates também lava cuidadosamente as mãos, tomando cuidado de esfregar bem entre os dedos e por baixo das unhas. Lança um olhar desafiador para o Sr. Linus e exclama:
- Nós, da Microsoft, somos perfeccionistas e detalhistas!
Nesse momento, Steve Jobs, que estava virado de costas para a ridícula cena, dirige-se à saída da casa de banho. Simultaneamente, Linus e Gates perguntam-lhe:
- Steve, não vai lavar as mãos?
E Steve Jobs respondeu, secamente:
- Nós, da Apple, não mijamos nas mãos!

Oração do programador

Sistema Operativo que estais na memória, Compilado seja o vosso programa, Venha ao ecran os vossos comandos, Seja executada a nossa rotina, Assim na memória como na impressora. Acerto nosso de cada dia, rodai hoje Informai os nossos erros, Assim como nós informamos o que está corrigido, Não nos deixai entrar em looping, Mas livrai-nos do Dump, Amén.

sexta-feira, 27 de abril de 2007

Java Native Interface (JNI)

A Java Native Interface, é um framework que fornece recursos, com a Máquina Virtual Java, para utilização de recursos específicos em determinado Sistema Operacional, ou biblioteca compartilhada e vice-versa. Pelo motivo o qual os Sistemas Virtuais não tem acesso direito à funções do hardware e etc. Com a JNI esta barreira é quebrada. É óbvio que a portabilidade do Java desaparecerão, porém recursos como impressoras fiscais, porta COMX, Modem, USB, e etc podem ser facilmente acessados.

quarta-feira, 25 de abril de 2007

PBEL e java

A Linguagem de execução de processos de negócios para Web Services, ou BPEL4WS, ou simplesmente BPEL, é uma linguagem de excelência para conseguir resolver os problemas associados ao crescente aumento da complexidade dos processos.

linguagem BPEL foi desenvolvida através da colaboração entre a Microsoft, IBM e BEA, e combina a XLANG e WSFL, as gerações anteriores de linguagens de processos criadas pela Microsoft e pela IBM, respectivamente. A função fundamental para a qual o BPEL foi criado está em orquestrar e coordenar os Web Services de forma que eles possam actuar no comportamento transaccional e colaborativo. A especificação BPEL foi enviada para o corpo de standards OASIS para revisão e eventual designação como um protocolo standard, a fim de ser disponibilizado e utilizado por qualquer pessoa.

A definição de processos de negócio com o BPEL são aplicações auto-suficientes que usam Web Services como actividades que implementam funções de negócio. O BPEL não tenta ser uma linguagem de programação comum. Em vez disso, assume um papel de combinação com outras linguagens de programação que são usadas para implementar funções de negócio.

Uma das combinações possíveis é combinar BPEL com Java. Esta junção de tecnologias permite construir aplicações completas de processos de negócio. Ao permitir que o BPEL e o Java trabalhem em conjunto, o BPELJ permite que cada uma das linguagens faça aquilo que faz melhor.

As tarefas mais apropriadas para serem tratadas no BPEL são:

* Descrever a lógica dos processos de negócio.
* Enviar mensagens para os Web Services.
* Aceitar uma mensagem, de um conjunto de mensagens passíveis de serem recebidas.
* Reencaminhar mensagens para a sua função correcta no processo correcto.
* Manter múltiplas execuções ininterruptas de processos.
* Definir um conjunto de actividades de deverão ocorrer numa determinada altura com uma determinada ordem.

As tarefas mais apropriadas para serem tratadas em Java são:

* Calcular um valor a ser colocado num documento.
* Construir um documento que vai ser enviado para um Web Service usando informação de outros documento e serviços.
* Retirar informação de um documento que seja recebido, valores, conversões, etc.
* Calcular um valor que vai ser usado para afectar a sequência de um processo.
* Efectuar acções sem ter que criar um Web Service.

Você pode encontrar informações detalhadas sobre o PBEL, SOA e JAVA em Guias de aprendizado para aplicativos SOA e modelagem UML,

segunda-feira, 23 de abril de 2007

Como programador mata dragão?

Muito bom mesmo, achei esse texto na net e resolvi postar aqui porque achei interessante

Enfim, com qual você se identifica?

Java
Chega, encontra o dragão, desenvolve um framework para aniquilamento de dragoes em multiplas camadas, escreve varios artigos sobre o framework mas nao mata o dragao.

.NET
Chega, olha a ideia do Javanes e a copia, tenta matar o dragao, mas é comido pelo reptil.

C
Chega, olha para o dragao com olhar de desprezo, puxa seu canivete, degola o dragao, encontra a princesa, mas a ignora para ver os ultimos checkins no cvs do kernel do linux.

C++
cria um canivete basico e vai juntando funcionalidades até ter uma espada complexa que apenas ele consegue entender ... mata o dragao mas trava no meio da ponte por causa dos memory leaks.

COBOL
Chega, olha o dragao, pensa que ta velho demais para conseguir matar um bicho daquele tamanho e pegar a princesa e, então, vai embora.

Pascal
Se prepara durante 10 anos para criar um sistema de aniquilamento de dragao ... chegando lá descobre q o programa só aceita lagartixas como entrada.

VB
monta uma arma de destruição de dragoes a partir de varios componentes, parte pro pau pra cima do dragao e, na hora H, descobre que a espada só funciona durante noites chuvosas...

PL/SQL
Coleta dados de outros matadores de dragão, cria tabelas com N relacionamentos complexidade ternaria, dados em 3 dimensões, OLAP, demora 15 anos para processar a informação. Enquanto isso a princesa virou lésbica.

Ruby
chega com uma p*t* fama, falando que é o melhor faz tudo, quando vai enfrentar o dragão mostra um videozinho dele matando um dragao ... o dragão come ele de tédio.

Smalltalk
chega, analisa o dragao e a princesa, vira as costas e vai embora, pois eles sao muito inferiores.

shell
cria uma arma poderosa para matar os dragoes, mas, na hora H, nao se lembra como usá-la.

shell(2)
o cara chega no dragão com um script de 2 linhas que mata, corta, stripa, empala, pica em pedacinhos e impalha o bicho, mas na hora q ele roda o script aumenta, engorda, enfurece, e coloca alcool no fogo do dragão.

ASSEMBLY
acha que ta fazendo o mais certo e enxuto, porém troca um A por D, mata a princesa e transa com o dragão.

Fortran
Chega desenvolve uma solução com 45000 linhas de codigo, mata o dragão vai ao encontro da princesa ... mas esta o chama de tiuzinho e sai correndo atras do programador java que era elegante e ficou rico.

FOX PRO
Desenvolve um sistema para matar o dragão, por fora é bunitinho e funciona, mas por dentro está tudo remendado, quando ele vai executar o aniquilador de dragoes lembra que esqueceu de indexar os DBF.

ANALISTA DE PROCESSOS
Chega ao dragão com duas toneladas de documentação desenvolvida sobre o processo de se matar um dragão genérico, desenvolve um fluxograma super complexo para libertar a princesa e se casar com ela, convence o dragão que aquilo vai ser bom pra ele, e que não será doloroso. Ao executar o processo ele estima o esforço e o tamanho do estrago que isso vai causar, a assinatura do papa, do buda e do Raul Seixas para o plano, e então compra 2 bombas nucleares, 45 canhões, 1 porta aviões, contrata 300 homens armados até os dentes, qdo na verdade necessitaria apenas da espada que estava na sua mão o tempo todo.

CLIPPER
Monta uma rotina que carrega um array de codeblocks para insultar o dragão, cantar a princesa, carregar a espada para memória, moer o dragão, limpar a sujeira, lascar leite condensado com morangos na princesa gostosa, transar com a princesa, tomar banho, ligar o carro, colocar gasolina e voltar pra casa. Na hora de rodar recebe um "Bound Error: Array Access" e o dragão come ele com farinha.
Google