Ivan, Se vc vai trabalhar com COM+, a primeira coisa que muda � o desenho das aplica��es. O normal de uma aplica��o COM � Cliente requisita -> Server COM+ processa -> Cliente apresenta o resultado
Seguindo esse modelo as 1000 passagens deveriam estar do lado servidor. Trabalhar com componentes fazendo tantas indas e vindas com o servidor sempre ir� acarretar perda de performance, pois a rede, por melhor que seja, sempre � lenta em rela��o a mem�ria e ao processador. abra�os, Fernando. -----Mensagem original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] nome de [EMAIL PROTECTED] Enviada em: ter�a-feira, 1 de mar�o de 2005 19:04 Para: [email protected] Assunto: Re: [sqlwin] Componentes ( COM + ) 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 [email protected]@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 [email protected]@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: <[email protected]> > > 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: <[email protected]> > > > 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 [email protected]@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: <[email protected]> > > > 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: [email protected]@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: [email protected]@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: [email protected]@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) ==============================================
