sábado, 5 de janeiro de 2013

Rule Engine (Motor de regras, regras de produção), Jboss Drools



Resumidamente falando, rule engine é um software capaz de analisar regras de negócio para tomar uma decisão.
Essas regras de negócio podem ser escritas de forma não tão técnica, de forma que não só os programadores entendem e as escrevam.


Jboss Drools e Oracle Business Rules são exemplos de softwares que implementam rule engine.
Acredito que ambos os produtos são bons, porém o da Oracle é pago.


É muito interessante integrar sistemas gerenciadores de processos com rule engine.


Guvnor é uma aplicação web para repositório de processos e regras.



Link: Instalação do Drools, Guvnor e Jbpm


Guvnor

Instalação do Jboss Drools, Guvnor e Jbpm



A instalação do pacote é bem simples.

Você precisa ter instalado java jdk e apache ant.
Não esqueça de configurar JAVA_HOME, ANT_HOME, e colocar os executaveis no classpath no caso do Windows.

O Download pode ser feito pelo link: http://sourceforge.net/projects/jbpm/files/jBPM%205/jbpm-5.4.0.Final/

Escolher a versão "jbpm-5.4.0.Final-installer-full.zip" evita que novos downloads durante a instalação, tirando o eclipse que será baixado com os plugins no momento da instalação.

Descompacte o zip, em lugar de sua preferencia (ex. ~/workspace/jbpm-installer).
Abra o terminal/console/CMD e entre no local que você descompactou  (ex. cd ~/workspace/jbpm-installer).

rode o comando:

$ ant install.demo
Caso você não queria instalar o eclipse basta colocar $ ant install.demo.noeclipse

E irá iniciar a instalação, onde serão descompactados alguns programas e bibliotecas, e o download do eclipse, o que pode demorar um pouco, ou pode dar problema se você use um proxy e ele não esteja configurado no seu arquivo build.xml.

Quando o console estiver liberado você pode usar o comando:

$ ant start.demo

onde serão iniciados os servidores, eclipse e o Guvnor.  A primeira inicialização do eclipse pode demorar um pouco.

O Guvnor estará disponível no endereço http://127.0.0.1:8080/drools-guvnor/
JBPM Console em: http://localhost:8080/jbpm-console/


Agora você pode criar processos e regras de negócio em um repositório.


Para parar os aplicativos feche o eclipse vá até o terminal e digite $ant stop.demo.
 Outras informações sobre instalação você pode encontrar no install.html que fica dentro da pasta de instação ou no site www.jbpm.org





sexta-feira, 13 de janeiro de 2012

Criar WebService com Netbeans

Criar um webservice com o netbeans é muito simples. Basta seguir os seguintes passos:

1 - Criar um novo projeto web.



Não é necessário selecionar nenhum framework por enquanto.




2 - Agora que criamos o projeto, temos que criar o serviço. 
- Arquivo -> Novo arquivo... -> Serviço Web -> Serviço Web (no campo da direita) -> Próximo. 



3 - Definir o nome e pacote do serviço.
Importante: Você só pode selecionar a opção "Implementar serviços Web como Bean de sessão sem estado", se estiver usando um servidor que suporte EJB e tomcat não é um destes.


4 - Selecionar sim na mensagem que aparece, para adicionar a frame work METRO.


5 - Então é apresentada a tela com o fonte do seu webservice.
Obs: Você pode importa ele para outro projeto usando a dica anterior.




Para acessar o serviço criado basta entra no endereço: http://localhost:8084/TestWS/TestWS

Importar Web Service para Java

Execute no console:
 
 . 
 $wsimport -keep -p org.test http://localhost:8080/testWS/TestWS?wsdl
 .
 .
 .

domingo, 8 de janeiro de 2012

Primeiros passos com maven


Estrutura de pastas:



Primeiro passo: Criar o arquivo pom.xml No maven pom.xml é o arquivo onde você faz o mapeamento das dependencias e de como deve ser feita a montagem dos artefatos. pom.xml

  4.0.0
  com.ramon.app
  my-app
  jar
  1.0-SNAPSHOT
  my-app: Ramon's tests
  http://maven.apache.org
  
    
      junit
      junit
      4.8.2
      test
    
    
      log4j
      log4j
      1.2.12  
    
    
      commons-logging
      commons-logging
      1.1.1
    
  
  
    
      
        src/main/resources
        true
      
    
    
      
        maven-assembly-plugin
        2.2.1
        
          
            jar-with-dependencies
          
        
      
      
 org.apache.maven.plugins
        maven-jar-plugin
        
          
            
              com.ramon.app.App
            
          
        
      
    
  

Após ter criado a estrutura de pastas e pom.xml você pode abrir o projeto no netbeans ou importar como projeto maven no eclipse. Existem outras maneiras de configurar seu projeto na IDE, mas eu prefiro assim.
....
Segundo passo: Codificando... Na codificacão você não precisa se preocupar em colocar as dependencias no classpath, pois elas já foram descritas no pom.xml.
Quando for fazer o build o maven cuida das dependencias. App.java
package com.ramon.app;

import java.util.ResourceBundle;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;

public class App{


 static final Logger logger = Logger.getLogger(App.class);

 /**
  *
  * Metodo principal do sistema
  *
 **/
 public static void main (String [] args){

                ResourceBundle bundle = ResourceBundle.getBundle("application");
  BasicConfigurator.configure();
  logger.info("info -> Hello World");
  logger.debug("debug -> Hello World!");
 
  System.out.println("Hello World");
                System.out.println("paramtro1: " + bundle.getString("parametro1"));
 }

}
HelloWorld.java
package com.ramon.app;

public class HelloWorld{

    private String text ;

    public HelloWorld() {
    }
    
    public HelloWorld(String text) {
        this.text = text;
    }

    public void setText(String text) {
        this.text = text;
    }

    public String getText() {
        return text;
    }
 
    @Override
    public String toString() {
        return text.toString();
    }       
}