terça-feira, 25 de maio de 2010

Parametros em Comandos SQL ODBC no ENSEMBLE/Intersystems

Quando uma query ou comando SQL possuir funções no parametro ou mais de uma tabela, pode haver erros na camada ODBC, ocasionada pela impossibilidade de descobrir o tipo de dado dos parametros passados;

 

Para evitar esse erro, pode-se concatenar o parâmetro do comando na string SQL ou usar a seguinte regra:

 

- Criar uma array multidimencional com os tipos de dados descritos abaixo:

  set sql =  " Update tab1 " _

                  " set Codigo = tab2.Codigo " _

                  " from Tabela1 tab1 " _

                  " left outer join Tabela2 tab2 on rtrim(tab2.Usuario) = rtrim(?) and tab2.Status = 'A' " _

                                                                 " where Codigo = ?"

 

  set pParams = 2

  set pParams(1) = pRequest.Usuario

  set pParams(2) = pRequest.Codigo

 

  set pParams(1,"CType") = $$$SqlVarchar

  set pParams(1,"SqlType") = $$$SqlVarchar

 

  set pParams(2,"CType") = $$$SqlInteger

  set pParams(2,"SqlType") = $$$SqlInteger

 

  set rc = ..Adapter.ExecuteUpdateParmArray(.Linhas, sql, .pParams)

 

sexta-feira, 7 de agosto de 2009

Processo de SAC em BPMS da Intersystems (Ensemble)

Fluxo do BPM em Ensemble

cid:image001.png@01CA1789.1722DE80 

 

Interface do Workflow em Coldfusion MX

 

 

terça-feira, 16 de setembro de 2008

Hospedagem na Web Grátis

 

Ola pessoal, achei este site de hospedagem grátis, se alguem precisar:

 

Hospedagem na Web Grátis, sem propaganda, sem letras miúdas.

O Que voce vê é o que voce têm.

 

Aqui o que voce pode ter :

 

350 MB Espaço em Disco

100,000 MB em Uso da banda

Subdominio gratis ou seu próprio dominio registrado

Instalador automatic  (20 Scripts Populares)

Acesso via FTP e Web

Construtor fácil de Web

5 Bancos de dados MySQL Databases com suporte complete a PHP

Zend & Curl Enabled

Ativação imediata!

 

Entre agora e registre seu site com ativação imediata - http://www.000webhost.com/77654.html

 

Repassem aos amigos.

terça-feira, 20 de maio de 2008

Modelagem de Processos com BPMN 1.1

Modelagem de Processos com BPMN 1.1

Aprimore processos de negócio e resultados com a
nova versão 1.1 da Business Process Modeling Notation

 

Tela ®Intalio|BPMS Designer 5 Community Edition - Todos os direitos reservados. - www.intalio.comA décima primeira edição do treinamento Modelagem de Processos com BPMN da PROJELER vai capacitar profissionais a trabalhar com a Business Process Modeling Notation, a mais nova e avançada notação para representar graficamente os processos de negócio.

 

Objetivos

Formar profissionais capazes de diagnosticar e otimizar os processos de negócio, proporcionando uma vantagem competitiva sustentável pela facilidade de reavaliação e reorientação da atuação da empresa.

Capacitar os participantes a desenhar processos de negócio com a Business Process Modeling Notation, utilizando ferramentas de código aberto que podem ser instaladas em seus computadores.

 

Público-alvo

Gerentes, supervisores e responsáveis por processos, planejamento estratégico, desenvolvimento de novos negócios, qualidade e projetos.

Profissionais envolvidos com iniciativas relacionadas à evolução e otimização de processos de negócio.

Profissionais de Tecnologia da Informação envolvidos com a automação de processos de negócio.

 

Didática

O treinamento tem enfoque totalmente prático, facilitando o entendimento e a aplicação dos métodos através de aulas expositivas, exercícios práticos e simulações com software Open Source.

 

Conteúdos

  • Estratégia e os processos (POR QUE?)
  • Elementos da notação BPMN (QUE É?)
  • Metodologia para modelagem de processos (COMO?)
  • Módulo Extra:
    • Planejamento da implementação do novo modelo de operação e automação dos processos
    • Apresentação de um caso real de projeto desde o desenho em BPMN até a execução em BPEL e monitoramento de indicadores do processo com BAM.

Inscrições

As inscrições poderão ser realizadas diretamente pelo site.
10% de desconto para inscrições antecipadas, para mais de uma inscrição no mesmo pedido ou associados da ABPMP.org.

 

Locais e Datas

PORTO ALEGRE

Corporate Station - Moinhos de Vento

09 e 10 de junho de 2008

SÃO PAULO

Mercure Privilege - Moema

12 e 13 de junho de 2008

Horário: das 08:30 às 18:00 horas

Carga Horária: 16 horas

 

A inscrição inclui: Conteúdo em CD, material didático em português, coffee-breaks e certificado.

Cada participante deverá portar seu próprio notebook. Configuração mínima: 1.4 GHz 512MB RAM.

Este treinamento é pré-requisito para Automação de Processos com BPEL.

Dispomos também de treinamento In company com local, datas e horários flexíveis.

 

Mais informações

www.projeler.com.br
contato@projeler.com.br
Tel
51 2117 1872 | 11 3717 5271  Skype projeler

 PROJELER

Av. Getúlio Vargas, 901/1302
90150-003   Porto Alegre-RS

 

terça-feira, 29 de abril de 2008

Coldfusion 8 conversando com Intalio BPMS

Depois de muitas tentativas de fazer o Coldfusion conversar com o BPMS da Intalio, entre elas, usar Proxy de webservices, da WSO2 OxygenTank, (http://wso2.org/projects/esb/java) que na tentativa de filtrar o que estava provocando erros no axis do Coldfusion, acabou não funcionando, pois o problema eram os BUGs do próprio Axis da Apache.

 

Eu ia construir uma série de webservices em C# que funcionassem como Proxy, convertendo as chamadas do Intalio BPMS para o Coldfusion e vice versa. Mas o empreendimento seria grande demais, pois a cada manutenção do de qualquer serviço tanto de um lado como do outro, deveria ser feita manutenção no meio também.

 

Então tomei uma decisão radical: mergulhar no código fonte do Axis (disponível na Apache em http://svn.apache.org/viewcvs.cgi/webservices/axis/trunk/) e tentar corrigir seus problemas perante o Intalio. Eu já sabia que o problema era ele, pois sua tecnologia foi substituída pelo Axis2, mas o Coldfusion continua usando a versão 1.

No site da apache (https://issues.apache.org/jira/browse/AXIS) mostra todos os bugs conhecidos e corrigidos do Axis, e encontrei um relacionado com o problema que tive, relacionado com as declarações <SOAP:FAULT>.

 

Comecei a fazer testes nos fontes do Axis e encontrei vários pontos que provocavam problemas.

O Coldfusion lida com webservices gerando códigos em Java de cada um dos serviços, e essa geração é feita pelo axis usando o comando WSDL2Java.

Ao gerar os fontes em Java para o Coldfusion, o axis falhava na geração de nomes de classes os mesmos não compilavam dentro do CF.

Fui eliminando os problemas um por um e acabei chegando a um ultimo, uma função chamada getAttachments dentro da classe stub.java – sempre que compilava o wsdl para Java conflitava essa função. O problema era a chamada do serviço TaskManagementService do Intalio, que tem uma operação com o mesmo nome, e o axis acabou gerando esse método com o mesmo nome do herdado, provocando um conflito de heranças.

Esse eu também corrigi, e agora estou usando um AXIS personalizado dentro do ColdFusion 8 (funciona no 7 tambem).

 

Se alguém tiver o mesmo problema é só me pedir que eu mando o pacote do Axis para testar.

 

Fernando Francisco de Oliveira

Analista de Suporte - TI

Dental Morelli

 

sexta-feira, 4 de abril de 2008

ColdFusion MX7/8 vs Intalio BPMS - Round II

Mais divergências nas comunicações de serviços :

 

·         O Intalio BPMS usa as ultimas versões dos softwares de serviços da Apache, o Axis2.

·         O Coldfusion MX7 e 8 ainda usam o Axis Versão 1 – Versão 1.2/1.3/1.4

 

Isso faz com que os serviços de webservices gerados no Intalio, gerados pelo Axis2, sejam mal interpretados pelo Coldfusion, não reconhecendo os elementos <soap:fault> existentes nas chamadas das funções que tem manipulação de erros:

TaskManagementServices

 

Isto é devido a um bug no Axis, relativo a manipulação do protocolo Soap 1.2, conforme encontrei no JIRA:
https://issues.apache.org/jira/browse/AXIS-2614

 

Eu baixei os fontes do Axis e corrigi o bug mencionado, mas não solucionou o problema, pois ele passou, mas gerou erros em outras rotinas.

Toda vez que se faz uma chamada de um WebService pelo Coldfusion, que tem o Java como base, ele roda as rotinas para geração de classes (em Java) para acesso aquele serviço, usando as rotinas wsdl2java existentes no framework axis. O resultado do fonte gerado é um código Java que dá erro de semântica ao compilar. Então o processo para ai.

 

Vasculhando os fontes do axis, encontrei dezenas de entradas TODO, justamente em pontos que manipulam o protocolo Soap 1.2, com as mesmas características do ponto onde corrigi.

 

Fiz a tentativa de instalar o Coldfusion 8 dentro do servidor Apache Geronimo, acreditando que desta maneira ele faria uso do novo Axis (o 2), mas foi em vão, pois o Axis ainda vai para dentro da instalação do mesmo.

 

A próxima tentativa será a utilização de um Servidor Proxy de serviços que converta os formatos de protocolo, para tentar compatibilizar os serviços. Aguardem mais noticias:

 

sexta-feira, 28 de março de 2008

Codificação zero

Versus escrever código atrás das caixas

 

BPMN e BPEL fazem para uma combinação extremamente poderosa porque apresentam um caminho do diagrama ao código sem ter que realmente escrever o código. Vamos enfrentar isto, muito trabalho no desenvolvimento destas duas especificações, foi beneficiado pela quantidade de experiência coletiva sem precedentes que nenhum fornecedor poderia combinar com seus próprios recursos. O que esse significa é que a maioria de produtos de BPM, que são baseados em notações proprietárias e em linguagens da execução realmente requerem a escrita de bastante código a fim fazer processos executáveis. Duplo clique sobre as caixas e as setas, e códigos escritos em Java ou as linguagens proprietárias mostrarão sua face. Nada contra o código, mas apenas que manter é mais difícil e mais caro do que a escrever. A BPM 2.0 possibilitou executar os processos mais complexos sem ter que escrever o código. O governo holandês fez apenas aquele para um processo que tivesse um quarto de milhão atividades, assim que se trabalhar para elas em tal escala, deve trabalhar para muitas outras organizações.

Mas por que codificação zero importa? Esta é a oitava edição da nossa publicação semanal do BPM 2.0. Hoje, eu tentarei explicar porque o código zero importa. A maioria das soluções de BPM necessitam que os usuários escrevam manualmente o código atrás das caixas e das setas usadas descrever um processo. Não há nada de errado sobre código do software, mas o código é uma das coisas para que menos é mais, e há mais de uma razão para que seja verdadeiro.

Primeiramente, BPM necessita a participação de analistas do negócio, mas os analistas do negócio não podem ler nem escrever código. O pessoal técnico habilitado poderia escrever o código atrás das caixas e das setas que os analistas do negócio extrairiam, mas das eles não ajudariam realmente a construir uma ponte entre o negócio e o TI, dividindo-se? BPM 2.0 advoga um modelo onde os processos executáveis sejam executados por analistas de processos, e estes poderiam escrever o código se tivessem que realmente, mas tendem a preferir usar ferramentas gráficas preferivelmente.

Há 8 milhões de programadores Visual Basic hoje . é a maior comunidade programadores hoje . e deve haver uma razão porque Microsoft chamou de BASIC sua ferramenta de desenvolvimento Visual. Se nenhuma lógica do negócio puder se esconder atrás das caixas, os analistas do negócio será mais provável, que os analistas de processos compreendam o que fizeram, e esta é uma maneira certa construir uma ponte entre o negócio e o TI divididos, para não se destruir inteiramente.

Em segundo, os seres humanos fazem erros, e o exercício do código da escrita é um erro - propenso. Na média, uma forma do processo em BPMN leva a 10 linhas do código de BPEL, e uma linha do código de BPEL substitui aproximadamente 10 linhas do código de J2EE. Significa que 100 linhas do código J2EE desagradáveis teriam que ser escritas se as ferramentas da geração de BPEL não existirem. Se seu processo tiver centenas ou milhares das etapas (ou de 250.000 como o um Intalio construiu para o governo holandês), aquele é dezenas dos milhares ou de centenas de milhares das linhas do código. O código comercial tem tipicamente em qualquer lugar de um a sete erros por 1000 linhas do código de acordo com um relatório do National Cyber Security Partnership.s Working Group on the Software Lifecycle (Source: ZDNet).

Isto significa que em média o projeto de BPM terá centenas, se não milhares de erros nele, que terá que ser reparado manualmente, um por um. Se você deixar uma ferramenta zero do código BPM gerar o código para você, você não tem que preocupar-se mais sobre estes erros. Concedido, o gerador de código da ferramenta de BPM poderia ter alguns erros, mas será provavelmente serão reparados pelo fornecedor antes que você obtenha os erros que você mesmo criará escrevendo o código manualmente. Além disso, uma vez que os erros da ferramenta são fixos, produzem o código válido qualquer um que usa.

Finalmente, o código do software for geralmente imperativo, quando o código zero projeto-dirigido o desenvolvimento tende a ser muito mais declarativo na natureza. O que estes os meios são que a informação contida dentro dos diagramas de BPMN é muito mais explícita, essa informação equivalente encaixada no código de J2EE ou de C#. Uma informação mais explícita, mais fácil começa com a plataforma de BPM forneça a simulação, eliminando erros, relatando e potencialidade de otimização. Para encurtar a história, o código é melhor escrito pelo fornecedor e os clientes devem focar seus esforços em melhorar seus processos do negócio melhor que o código usado para suportá-los.

http://www.projeler.com.br/artigos_bpm20h.jsp