Lairton, Leandro e Centuriões, Obrigado pelas informações, realmente está muito interessante esse tópico. Acredito que o grande objetivo aqui é diminuir a quantidade de programas redundantes que temos que fazer todos os dias. Com a idéia de COM + passaríamos a unificar a lógica do negócio podendo ter um sistema client/server transformado em Web sem grandes retrabalhos por exemplo. Entretanto o grande receio que estou passando é pesar se a técnica de componente é realmente satisfatória pois não adianta nada eu ter todos os meus fontes enxutos, concentrados em apenas um lugar se a performance deixa a desejar. Claro que uma série de fatores devem ser considerados entre eles Capacidade do Servidor de Banco de Dados, do Servidor de Aplicação, Configuração das propriedades do componente no Windows e nunca se esquecendo da qualidade do programa que foi desenvolvido, etc.
Bom em relação ao que pude aprender até agora com esses emails. - Criei um componente igualzinho ao do exemplo do livro do Lairton ( Capitulo 15 Desenvolvimento de componentes COM ). Trata-se de um componente que insere um registro de dois campos char em uma tabela qualquer. - No meu computador instalei os componentes para depois referenciá-los em outra máquina. Obrigado pela dica do "export" funcionou perfeitamente. - Fiz três tipos de testes de performance executando três vezes cada um. ( Todos eles executadas na minha própria máquina. ) 1. Criei um programa que dentro de um loop de 1000 passagens instanciava o componente para inserir a linha com valor da passagem do loop na tabela. Tempo em Segundos: 166 segundos, 149 segundos e 185 segundos 2 - No mesmo programa executei novamente o loop de 1000 passagens, entretanto dessa vez fiz exatamente como estou acostumado a programar: - Abri uma conexão - Chamei a mesma procedure que é executada no componente dado para inserir o registro no banco - Após o término do loop desconectei do Banco. Tempo em Segundos: 2 segundos, 3 segundos e 4 segundos 3 - Por curiosidade criei uma procedure que dentro dela estava associado o loop de 1000 passagens e o tempo gasto em segundos é sempre imperceptível. Utilizei o Windows XP, Gupta 3.0 e Sybase 12.5.2. PS: O banco de dados não está na minha máquina ele fica no servidor de desenvolvimento que no momento do teste apenas eu estava utilizando. Utilizei a conexão nativa do Sybase com o Gupta. O grande problema até aqui em todos esses emails é definir como utilizar o COM + sem perda de performance. Além das técnicas já mencionadas existe alguma configuração que não depende da maneira como o componente foi programado e que influencia diretamente em sua funcionalidade ? Valeu pessoal... Ivan Napolitano Sistemas <<< Memo from [EMAIL PROTECTED]@Internet on 01 March, 2005, 09:58 Tuesday >>> [EMAIL PROTECTED]@Internet on 1 Mar 2005, 09:58 Tuesday Please respond to sqlwin@virtualand.net@Internet Sent by [EMAIL PROTECTED] To: sqlwin cc: (bcc: Ivan Napolitano) Subject: Re: [sqlwin] Componentes ( COM + ) Ivan, É normal que existam dúvidas ... vou tentar ajudar .... resumindo é mais ou menos assim que funciona: Primeiro, se vc tiver como ler o capítulo 15 do meu livro ... ajuda muito pois lá explico tudo em detalhes. Mas ....resumidamente ..... Vc desenvolve uma apl, nela uma coClass e uma Interface. A Interface é quem terá uma função que faz o que vc precisa propriamente dito. Por exemplo insere uma linha no banco. Então essa função vai conectar ao banco de dados, inserir a linha e desconectar. Retorna o status para quem chamou informando se foi bem sucedido ou não. Vc compila essa apl e gera uma dll, um servidor com+. Isso é fácil de fazer ... está na mesma caixa de diálogo onde vc configura o nome do executável ... a dynalib etc Após a geração da DLL vc precisa registrar esse servidor com+, acionando o menu Project | Register Server. Leve essa dll pro seu servidor de aplicações e acione o Component Services que roda o tempo todo no windows, vc pode achá-lo no painel de controle. Lá vc insere sua aplicação no serviço de componentes do windows, conforme intruções da página 338 até 347. Após sua aplicação estando criada no serviço de componentes vc precisa exportá-la para instalação nas suas máquinas cliente. Clique na sua aplicação (no serviço de componentes) com o botão direito e escolha exportar. Em seguida ele irá gerar um setup que vc terá de rodar em cada uma das suas estações de usuários. Eu posso ter pulado alguma parte, mas no geral é isso. Agora vou tentar responder especificamente suas perguntas. > - Provavelmente na máquina Cliente deve-se registrar a dll gerada, mas como > eu consigo referenciar o Componente que está no Servidor a partir do > Cliente? Sim, vc terá que rodar esse setup gerado pelo serviço de componentes nas suas estações cliente. Esse setup cria as entradas no registro para apontar para o servidor. Vc não precisa se preocupar em onde está o servidor, o Windows sabe isso. > - Tenho que criar o mesmo componente em cada máquina de cada cliente ? > - Se sim como manter a versão atualizada de todos os componentes uma vez > que teria que reconfigurar todas as máquinas ? Cada vez que vc gerar novas versões dos seus componentes vc terá de rodas esse setup de novo em todos os seus clientes. > - Existe alguma opção do Component Services do Windows que permite eu > informar o IP do Servidor ? Não sei como saber o IP mas vc não precisa dele. Os componentes estando instalados na sua máquina cliente eles mesmos acham o servidor :D > - No meu caso utilizo o Sybase como banco de dados e o Gupta possui conexão > nativa com esse banco. Mesmo nesse caso seria indicado utilizar uma conexão > OLE DB, por que?. A gupta vai acabar com os routers logo logo. Por isso sugiro que todos nós comecemos a ir mudando nossas aplicações pra acessar via OLEDB. > > - Existe algum exemplo de passagem de parâmetro via XML disponível? > Eu tenho uma classe disso, vou passar pra você. Bom .... sei que foi meio corrido ... mas acho que deu pra explicar um bocado. Um abraço, Lairton. On Tue, 1 Mar 2005 08:54:48 -0300, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > Lairton, > > É a primeira vez que tento programar utilizando COM +, por isso ainda > restam muitas dúvidas de como utilizá-lo. As mais frequentes nesse momento > são as que apresento abaixo, fora aquelas que surgiram pelo seu email... > > - Provavelmente na máquina Cliente deve-se registrar a dll gerada, mas como > eu consigo referenciar o Componente que está no Servidor a partir do > Cliente? > - Tenho que criar o mesmo componente em cada máquina de cada cliente ? > - Se sim como manter a versão atualizada de todos os componentes uma vez > que teria que reconfigurar todas as máquinas ? > - Existe alguma opção do Component Services do Windows que permite eu > informar o IP do Servidor ? > > - No meu caso utilizo o Sybase como banco de dados e o Gupta possui conexão > nativa com esse banco. Mesmo nesse caso seria indicado utilizar uma conexão > OLE DB, por que?. > > - Existe algum exemplo de passagem de parâmetro via XML disponível? > > Att, > > Ivan Napolitano > Sistemas > > <<< Memo from [EMAIL PROTECTED]@Internet on 01 March, 2005, 08:39 Tuesday > >>> > > [EMAIL PROTECTED]@Internet on 1 Mar 2005, 08:39 Tuesday > > Please respond to sqlwin@virtualand.net@Internet > > Sent by [EMAIL PROTECTED] > > To: sqlwin > cc: (bcc: Ivan Napolitano) > Subject: Re: [sqlwin] Componentes ( COM + ) > > Bom .... > Vamos lá de novo :D > > Segundo contatos com o responsável pela área de operações... > > 1-A máquina absolutamente não trava. > > 2-O horário de pico é das 20:00 as 22:00 segundo uns gráficos que eu > posso te mostrar detalhadamente inclusive quais são os componentes > mais "pesados". > > 3-Um serviço dá erro uma vez por mês devido a um erro numa chamada a > uma store procedure que é chamada sem alguns parâmetros. > > Agora quanto aos componentes eu sugiro que tomem alguns itens como > prática de desenvolvimento .... > > Eu recomendo que sejam utilizadas conexões OLE DB. > Que conectem o mais tarde e desconectem o mais cedo possível. > Que tratem os erros SQL para "todos" os comandos executados. > Mecanismo de gravação de logs. > Extenso uso de XML nas passagens de parâmetros entre componentes. > > Vamos conversar mais sobre essas questões técnicas de implementação de > COM+, acho isso muito interessante. > > Lairton. > > On Fri, 25 Feb 2005 11:46:16 -0300, Leandro Neves > <[EMAIL PROTECTED]> wrote: > > So resaltado, a maquina ta travamdo todos os dias :D tendo que reinciar o > > servidor. > > No horario de pico entre 11:00 e 13:00 a maquina sempre esta travando. > > > > Bom. como falei, pode ser que com uma maquina melhor funcione legal. > > > > Leandro Neves > > > > ----- Original Message ----- > > From: "Lairton Júnior" <[EMAIL PROTECTED]> > > To: <sqlwin@virtualand.net> > > Sent: Thursday, February 24, 2005 11:25 AM > > Subject: Re: [sqlwin] Componentes ( COM + ) > > > > Pessoal.... > > > > Eu não acho tão lento sabe. > > Esse servidor que o leandro está falando ... essa configuração .... a > > máquina fica realmente pesada, mas ele atende a uma média de 36 a 38 > > mil solicitações por dia. > > > > Não acho isso pouco. > > > > O servidor é estável, não trava e não dá erros. Talvez dê um erro a > > cada 20 dias. Erro de aplicação mesmo. > > > > Tô gostando desse papo. > > Pois é ... não acho lento (devido ao nº de solicitações) > > O que vcs acham ? > > > > um abraço, > > Lairton. > > > > On Thu, 24 Feb 2005 10:50:34 -0300, Leandro Neves > > <[EMAIL PROTECTED]> wrote: > > > Ivan , > > > > > > O nosso servidor e um IBM Pentium III 1.3 gz com 512 mb, atualmente > esta > > > rodando em torno de 50 componentes COM++. > > > E possivel, que em uma maquina mais robusta se comporte melhor. > > > > > > Mas a esperincia que tenho com este servidor não e muito boa, sempre ta > > > lento e fica enfileirando solicitações. > > > > > > Ate onde eu saiba o COM ++ so ronda em cliente Windows 2000 ou > superior. e > > > sim tem que configurar as estações. > > > > > > Acho uma boa opção para aplicações distribuidas, porem e bom fazer uma > > > analise de performace. Qualquer e so falar :D > > > > > > Leandro Neves > > > > > > > > > ----- Original Message ----- > > > From: <[EMAIL PROTECTED]> > > > To: <sqlwin@virtualand.net> > > > Sent: Thursday, February 24, 2005 9:52 AM > > > Subject: Re: [sqlwin] Componentes ( COM + ) > > > > > > Leandro, > > > > > > A princípio utilizaria o COM + em um ambiente Client/Server com o Gupta > > > 3.0. A expansão para a Web não foi definida portanto ainda não sei se > > > utilizaremos o Centura Web. > > > > > > Escolhi utilizar o COM + para unificar a lógica do sistema tanto > > > internamente ( Client/Server ) quanto possívelmente para Internet. > > > > > > Sobre o que você mencionou existe algum ponto crucial que vêm se > mostrando > > > insatisfatório ? É no acesso ao banco de dados, ou realmente a > capacidade > > > dos Componentes administrarem o volume de requisições ?. > > > > > > Quanto a utilização de COM + em ambiente Client/Server existe algo que > > > tenho que instalar ou configurar nas estações de trabalho? > > > Alguma dll, ou até mesmo configurar o Component Services de cada > máquina > > > ? > > > Funciona para Windows 98 ou apenas para superior ? > > > Você já viu COM + em Client/Server apresentar os mesmos problemas > > > percebidos no seu sistema para Web ? > > > > > > Tive conhecimento do COM + pelo livro do Lairton onde ele recomenda sua > > > utilização. > > > > > > Leandro muito obrigado pela ajuda... > > > > > > Ivan Napolitano > > > Sistemas > > > > > > <<< Memo from [EMAIL PROTECTED]@Internet on 23 February, 2005, > > > 13:41 Wednesday >>> > > > > > > [EMAIL PROTECTED]@Internet on 23 Feb 2005, 13:41 Wednesday > > > > > > Please respond to sqlwin@virtualand.net@Internet > > > > > > Sent by [EMAIL PROTECTED] > > > > > > To: sqlwin > > > cc: (bcc: Ivan Napolitano) > > > Subject: Re: [sqlwin] Componentes ( COM + ) > > > > > > Ivan , > > > > > > Aqui temos um sistemas Web feito em Centura desenvolvido em 3 camadas > !!! > > > porem nossa esperiencia com componentes COM+ nao tem sido muito boa, > > > aplicações web desenvolvidas sem componentes COM+ estão rodando muito > mais > > > leve do que com componentes. > > > > > > Leandro Neves > > > [EMAIL PROTECTED] > > > http://mundogupta.blogspot.com/ > > > > > > ----- Original Message ----- > > > From: <[EMAIL PROTECTED]> > > > To: <sqlwin@virtualand.net> > > > Sent: Wednesday, February 23, 2005 11:57 AM > > > Subject: [sqlwin] Componentes ( COM + ) > > > > > > Bom dia Lista, > > > > > > Alguém já utilizou ou está utilizando o desenvolvimento de Componentes > ( > > > COM + ) gerados pelo Gupta. > > > > > > Pretendo converter um sistema client/server para três camadas. > > > A segunda camada ( Servidor de Aplicação ) seria composta por > Componentes > > > feitos no Gupta. > > > > > > Como é algo novo pra mim ficam as perguntas: > > > - Levando em consideração que o servidor onde os componentes estariam > têm > > > uma grande capacidade de processamento existe alguma limitação do > próprio > > > Component Services do Windows para grandes concorrências ? > > > > > > - É possível utilizar os componentes gerados no servidor de aplicação > em > > > sites ? Preciso fazer alguma adaptação no código fonte ? > > > > > > Agradeço desde já, > > > > > > Valeu, > > > > > > Ivan Napolitano > > > Sistemas > > > > > > ============================================== > > > Lista de Centura SQLWindows > > > Administrador : [EMAIL PROTECTED] > > > [ http://www.centuraexplorer.com ] > > > Para sair desta lista mande mensagem para: > > > [EMAIL PROTECTED] sem nada no Subject e > > > com o comando a seguir no corpo da msg: > > > "unsubscribe sqlwin" (sem as aspas) > > > ============================================== > > > > > > ============================================== > > > Lista de Centura SQLWindows > > > Administrador : [EMAIL PROTECTED] > > > [ http://www.centuraexplorer.com ] > > > Para sair desta lista mande mensagem para: > > > [EMAIL PROTECTED] sem nada no Subject e > > > com o comando a seguir no corpo da msg: > > > "unsubscribe sqlwin" (sem as aspas) > > > ============================================== > > > > > > To: sqlwin@virtualand.net@Internet > > > cc: (bcc: CN=Ivan Napolitano/OU=SAO-SP/OU=BR/OU=Marsh/O=MMC) > > > From: [EMAIL PROTECTED]@Internet > > > > > > ============================================== > > > Lista de Centura SQLWindows > > > Administrador : [EMAIL PROTECTED] > > > [ http://www.centuraexplorer.com ] > > > Para sair desta lista mande mensagem para: > > > [EMAIL PROTECTED] sem nada no Subject e > > > com o comando a seguir no corpo da msg: > > > "unsubscribe sqlwin" (sem as aspas) > > > ============================================== > > > > > > ============================================== > > > Lista de Centura SQLWindows > > > Administrador : [EMAIL PROTECTED] > > > [ http://www.centuraexplorer.com ] > > > Para sair desta lista mande mensagem para: > > > [EMAIL PROTECTED] sem nada no Subject e > > > com o comando a seguir no corpo da msg: > > > "unsubscribe sqlwin" (sem as aspas) > > > ============================================== > > > > > > > -- > > > > Lairton N de Almeida Jr. > > [EMAIL PROTECTED] > > > > ============================================== > > Lista de Centura SQLWindows > > Administrador : [EMAIL PROTECTED] > > [ http://www.centuraexplorer.com ] > > Para sair desta lista mande mensagem para: > > [EMAIL PROTECTED] sem nada no Subject e > > com o comando a seguir no corpo da msg: > > "unsubscribe sqlwin" (sem as aspas) > > ============================================== > > > > ============================================== > > Lista de Centura SQLWindows > > Administrador : [EMAIL PROTECTED] > > [ http://www.centuraexplorer.com ] > > Para sair desta lista mande mensagem para: > > [EMAIL PROTECTED] sem nada no Subject e > > com o comando a seguir no corpo da msg: > > "unsubscribe sqlwin" (sem as aspas) > > ============================================== > > > > -- > > Lairton N de Almeida Jr. > [EMAIL PROTECTED] > > ============================================== > Lista de Centura SQLWindows > Administrador : [EMAIL PROTECTED] > [ http://www.centuraexplorer.com ] > Para sair desta lista mande mensagem para: > [EMAIL PROTECTED] sem nada no Subject e > com o comando a seguir no corpo da msg: > "unsubscribe sqlwin" (sem as aspas) > ============================================== > > To: sqlwin@virtualand.net@Internet > cc: (bcc: CN=Ivan Napolitano/OU=SAO-SP/OU=BR/OU=Marsh/O=MMC) > From: [EMAIL PROTECTED]@Internet > > ============================================== > Lista de Centura SQLWindows > Administrador : [EMAIL PROTECTED] > [ http://www.centuraexplorer.com ] > Para sair desta lista mande mensagem para: > [EMAIL PROTECTED] sem nada no Subject e > com o comando a seguir no corpo da msg: > "unsubscribe sqlwin" (sem as aspas) > ============================================== > -- Lairton N de Almeida Jr. [EMAIL PROTECTED] ============================================== Lista de Centura SQLWindows Administrador : [EMAIL PROTECTED] [ http://www.centuraexplorer.com ] Para sair desta lista mande mensagem para: [EMAIL PROTECTED] sem nada no Subject e com o comando a seguir no corpo da msg: "unsubscribe sqlwin" (sem as aspas) ============================================== To: sqlwin@virtualand.net@Internet cc: (bcc: CN=Ivan Napolitano/OU=SAO-SP/OU=BR/OU=Marsh/O=MMC) From: [EMAIL PROTECTED]@Internet ============================================== Lista de Centura SQLWindows Administrador : [EMAIL PROTECTED] [ http://www.centuraexplorer.com ] Para sair desta lista mande mensagem para: [EMAIL PROTECTED] sem nada no Subject e com o comando a seguir no corpo da msg: "unsubscribe sqlwin" (sem as aspas) ==============================================