Posts

Showing posts from June, 2009

Serviços em SOA

Image
Quando falamos de SOA é inevitável falar de Serviços. Eles são a base de SOA, na indústria de software existe grande confusão e discórdia sobre esse assunto. Neste post vou falar qual é a minha perspectiva sobre o assunto, vou comentar o que eu considero um serviço e o que eu não considero um serviço. Também vou falar sobre os tipos de serviços e como podemos implementar cada um deles, neste ponto existe bastante confusão e o pior existe uma forte junção disto ferramental e soluções prioritárias, comentarei isso mais para frente. O Que é um Serviço? Tentando Desenvolver um Serviço? Essa é um pergunta simples mas nem sempre você vai ouvir uma resposta simples. Existe muita discórdia sobre o que é ou o que não é um Serviço. Para mim um serviço é: Alguma funcionalidade de negócio que foi implementada e pode ser acessada por vários sistemas. Segundo as minhas crenças um serviço não precisa ser necessariamente reaproveitável, pois você pode ter várias funcionalidades de negócio que só serve

Consumindo Webservices em Groovy com GroovyWS

No post anterior mostrei como criar um Webservice wsdl de forma fácil usando Spring Framework, Apache CXF, Anotações e tudo isso rodando no servidor da ORACLE o Weblogic. Nesse post vou mostrar como é simples de consumir o mesmo Webservice do exemplo anterior usando Groovy. Para isso vamos precisar do module do Groovy chamado de GroovyWS, você precisa baixar a solução aqui . Vou usar o mesmo Webservice construído no post anterior que esta aqui: http://localhost:7001/spring-cxf-pojo/DateService?wsdl eu instalei direto no diretório $GROOVY_HOME/lib e colei o jar groovyws-standalone-0.5.0.jar. Agora basta executar o seguinte código, eu fiz isso pelo groovyConsole mesmo, tente você também: /** * Script Groovy que faz o consumo de um Webservice WSDL com groovy usando o module de GroovyWS. * * @autor Diego Pacheco * @since 15/06/2009 * @version 1.o * */ import groovyx.net.ws.WSClient proxy = new WSClient("http://localhost:7001/spring-cxf-pojo/DateService?wsdl", this.

WebServices Fácil com Apache CXF, Spring e Anotações no ORACLE Weblogic 10.3

Image
WebServices é um padrão aberto que é muito utilizado, porem fazer um WebService escrevendo a WSDL pode ser uma tarefa pesada, usar ferramentas pode ser uma boa, mas isso pode gerar uma dependência com seu fornecedor de ferramentas. Vou mostrar como pode ser fácil e simples criar um Webservice com WSDL, sem você ter que criar uma linha de WSDL, como? Usando duas excelentes soluções de mercado, Apache CXF veio do bom e velho XFire ,Tempos passado eu fiz um poste sobre Spring e XFire , para dar mais facilidade, produtividade, simplicidade e outros tantos recursos vamos usar isso tudo em conjunto com o Spring Framework . Vamos fazer tudo isso usando anotações, no final você vai ver que com 6 arquivos, vamos fazer uma solução muito simples. Não se preocupe para cada Webservice você não precisara criar 6 arquivos, por que 2 desses arquivos são o pom.xml do maven de dois projetos e um arquivo é o web.xml. Outro arquivo é um xml de beans do spring que pode ser reutilizado na criação de ou

Novo Recurso de Plugins no Firefox

O Firefox continua a inovar com plugins. Recentemente eles lançaram as coleções, que são conjuntos de add-ons(plugins), já existem alguns prontos e você pode verificar isso no site oficial aqui . Além disso agora você pode criar a sua coleção, para isso você tem que criar uma conta de usuário, isso é bom por que além de você não perder mais seus plugins pode deixar eles abertos para que as outras pessoas vejam a sua lista. Eu criei a minha coleção de plugin já :) Vocês podem acessar a minha coleção neste link . Você pode saber mais sobre o assunto no blog da mozilla . Para criar a sua coleção você precisa do plugin gerenciador de coleções que pode ser instalado no firefox por aqui . Aproveito para indicar 3 plugins para vocês, foram os 3 últimos que eu instalei :) São eles: WiseStamp - Email signature FoxTab Power Twitter O WiseStamp gerencia as assinaturas de e-mail, e com ele você pode inserir a sua assinatura em qualquer página, muito útil para quem participa de muitos fóruns e disc

BPM com BizAgi Process Modeler

Image
Faz alguns meses que um amigo(Cássio Dias) meu me indicou a solução de BPM do BizAgi , neste post vou falar um pouco mais dessa solução e da ferramenta free que eles possuem de modelagem de processos de negócio. Solução de BPMS BizAgi tem uma solução de BPM, ou seja, um BPMS, essa solução completa é paga. O que é gratuito é a primeira parte do ciclo deles que é a modelagem, o BizAgi Process Modeler, que é 100% compatível com BPMN 1.1. A Solução deles é completa, com simulação, BAM e tudo mais, nesse post não vou falar da solução completa de BPMS mas sim da ferramenta de Modelagem. BizAgi Process Modeler Com essa solução você pode fazer a identificação e design de processos que existem ou vão ser criados. O editor é muito parecido com o Office da Microsoft. Isso é bom por que aproveita o modelo mental dos usuário e faz com que o uso da ferramenta seja facilitado. É muito fácil de desenhar um processo com essa solução, por que quando você clica em qualquer componente ele j

BPM sem BPEL Parte 2

Image
No post anterior , escrevi um pouco sobre BPM e bem como andam os padrões que seguem esse modelo, neste post pretendo falar sobre a ligação de BPEL com BPM. Vou citar outras referencias que confiram a minha visão de que BPM e BPEL talvez não seja o casamento perfeito. Quando falamos de BPMN, BPMS, simulação, estamos falando obrigatoriamente de BPM. Se falarmos de WS-BPEL, WebServices, WSDL podemos estar falando de SOA, mas nem sempre, usar WS-BPEL, WebServices, WSDL não significa ter SOA. Se você quiser saber mais sobre SOA pode ler esses posts: SOA: Cuidado com o Lock-In SOA sem BPMN e WebServices O papel do ESB em uma solução SOA SCA com Java Parte 1 SCA com Java Parte 2 A Diferença de EA e Arquitetura de Software Para maior entendimento desse post, recomendo muito a leitura do post anterior e esses outros posts que fiz sobre BPEL: Como vamos de BPEL Parte 1 Como vamos de BPEL Parte 2 - ODE Nos posts anterior sobre BPEL falei dos pontos positivos e neste post vou mostra

BPM sem BPEL Parte 1

Image
Com a crise econômica mundial, que tal reduzir 20% dos custos de sua empresa? Bom né? Pelo menos é isso que promete o Gartner se você usar BPM. Segundo ele seguirem a adoção de BPM podem ter esse lucro nos primeiros 12 meses, eu não duvido. 70% das empresas que usam BPM dizem que essa é a sua salvação, a idéia não é nova, com crise ou sem crise os preços tendem a ser ditados pelo mercado, então uma boa forma das empresas irem para frente é melhorar a qualidade dos seus processos internos e diminuir custos. O que é B usiness P rocess M anagement ? Esse é um modelo gestão baseado em processos, a idéia é mapear e modelar os processos da empresa para ter um conhecimento maior de como as coisas funcionam e poder otimizar o processo. Tal tarefa de mapeamento pode ser feita com qualquer ferramenta estilo fluxograma . Para mapear um processo não importa se a sua ferramenta é o MS Visio , IBM Modeler , BizAgi ou até mesmo o MS Excel . Quando falo em mapear não falo só no mapeamento, que é

FDD: Um Método Ágil e Eficiente

Image
Neste post vim falar um pouco mais de FDD, que além de ser um método ágil tem uma grande eficiência e aderência a requisitos. Vou dar uma visão geral de como o método funciona e como podemos mixar o método com outro método ágil chamado de Scrum. Se você quiser saber mais sobre Scrum, pode ler outros posts que tenho sobre o assunto a baixo: Scrum O que faz a diferença usando XP, Rup, Scrum ? Scrum não substitui gerenciamento de projetos Estimando com Scrum Gerenciamento de Níveis com Scrum e RUP parte 1 Gerenciamento de Níveis com Scrum e RUP parte 2 O Melhor do Scrum Voltando ao FDD , o método é iterativo incremental e funciona muito bem com iterações curtas de duas semanas, você pode usar um timebox maior, mas eu recomendo muito o uso desse timebox, para mim o foi o que melhor funcionou. O FDD foi criado por Jeff De Lucca em 1997. FDD é um método que prega a visibilidade do estado projeto de forma consistente e honesta. Você consegue saber quantas funcionalidades já foram desenvolvid