sexta-feira, julho 15, 2005

quinta-feira, julho 14, 2005

PowerBuilder - Empresas que utilizam PowerBuilder no Brasil

1 - Ambev
2 - AMIL planos de saúde.
3 - ArtInfo - Sistema de Gestão de Recursos Humanos
4 - Attps informática
5 - Banco ABN-AMRO
6 - Banco BBA
7 - Banco BBM
8 - Banco do Nordeste
9 - Banco Finaustria
10 - Banco SAFRA.
11 - Banco Mercantil
12 - Banco Santander
13 - Banco Tokio-Mitsubishi S.A.
14 - Banco Votorantim
15 - Bank Boston
16 - Basf S.A
17 - BCP
18 - BNP - Banque Nationale de Paris
19 - Bovespa - Bolsa de Valores do Estado de São Paulo
20 - Bozano
21 - Caixa Econômica Federal
22 - Carioca Engenharia ( Christiane Nielsen )
23 - Carrefour
24 - Caterpillar do Brasil
25 - CFLCL - Cia de Força e Luz de Cataguases Leopoldina( Primeira empresa a utilizar o PowerBuilder no Brasil)
26 - Cia de Processamento de dados do RS RGE
27 - CITROSUCO PAULISTA S/A ( Maior exportadora de Suco de Laranja do País )
28 - CODIUB - Companhia de Processamento de dados de Uberaba
29 - Companhia Vale do Rio Doce
30 - Confederação Nacional da Indústria
31 - Consorcio RodoBens
32 - Construtora Norberto Odebrecht
33 - Coperguaçu ( Maior Cooperativa de criação de frangos do país )
34 - Credicard S/A
35 - CST - Companhia Ciderurgica de Tubarão
36 - DBMS COMPSIS
37 - DBMS Tecnologia da Informação
38 - Deten Química
39 - DLC CISS - Automação Comercial
40 - ECAD MasterSaf
41 - EDS - Electronic Data Systems do Brasil ( Banco GM )
42 - EDS - Electronic Data Systems do Brasil ( Cartão de Crédito )
43 - EDS - Electronic Data Systems do Brasil ( GM )
44 - EDS - Electronic Data Systems do Brasil ( Visanet )
45 - Energ Power Ltda - Belo horizonte - MG
46 - Ericsson
47 - Firestone
48 - Fornecedora de internet dedicada Unisinos
49 - Fundação Baiana de Cardiologia
50 - Fundação José Silveira
51 - Golden Cross
52 - GoodLife Belo Horizonte
53 - Grupo Luizeni(Corretora) - Patrocinio/MG
54 - Grupo Martins Atacadista - Uberlandia/MG
55 - HSBC
56 - IBGE - Instituto Brasileiro de Geografia e Estatística - RJ
57 - IBM do Brasil
58 - Laboratório Clínico Delboni Auriemo
59 - Line system - Uberlandia
60 - LOGOCENTER
61 - Nutris Tecnologia E Sistemas De Nutrição Ltda
62 - OAB Minas Gerais
63 - Peixoto Atacadista - Uberlandia
64 - Pirelli Cabos S.A.
65 - Pirelli Pneus S.A.
66 - Porto Seguro – Seguros
67 - PowerLogic
68 - Prefeitura Municipal de Uberaba
69 - Procenge - Companhia de Informática de Pernambuco
70 - Prodaub - Processament de dados de Uberlandia
71 - Prodemge - Cia de Processamento de Dado de Minas Gerais
72 - Racional Engenharia
73 - RBS - Afiliada à rede globo - região sul
74 - Redecard S/A
75 - RK Hotéis e Turismo S/A
76 - Seguros de Saúde
77 - Shell do Brasil
78 - Shop Tour
79 - SICS – HELP Informática
80 - softwarehouse Cumerlato & Schuster
81 - softwarehouse InfoSaude
82 - softwarehouse Van Communications
83 - TecBan
84 - Tecnovia Informática
85 - Telefonica ( GuiaMais )
86 - Telematic - Engenharia e Teleinformática Ltda ( Salvador/BA )
87 - Telepar - Telecomunicações Do Paraná S.A. ( Brasil Telecom )
88 - TotalBanco
89 - TQI - Uberlandia
90 - Trans Cearense - Uberlandia / MG
91 - Transportadora Itapemirim S.A
92 - Trends Advance
93 - Tribanco de Uberlandia
94 - UFMG - Universidade Federal de Minas Gerais
95 - UFRGS - Universidade Federal do Rio Grande do Sul
96 - Uma Das Cias Elétricas Do RS Cigna Seguradora
97 - UNESC - Universidade do Extremo Sul Catarinense
98 - União Atacado ( Uberlandia)
99 - Unibanco
100 - Unitech Tecnologia de Informação
101 - Uniub - Universidade de Uberaba
102 - Universidade do Rio dos Sinos Procergs
103 - Unnisa S/A
104 - Visanet Companhia de Meios de Pagamento S/A
105 - Volkswagen do Brasil S/A
106 - Votorantim Mineração e Metais
107 - Xerox do Brasil
108 - Staff Informática
109 - Banco do Estado do Espírito Santo - BANESTES
110 - Compania Docas do ES - CODESA (Porto de Vitória)
111 - MasterSaf
112 - Viação Águia Branca - Transporte de Passageiros
113 - Pif Paf Alimentos
114 - Petrobras
115 - Matera System
116 - Banco BMG
117 - Ápia Consultoria e Sistemas Ltda

PowerBuilder - Problemas no envio de e-mail com o BLAT

Recentemente, me deparei com um problema no envio de e-mail utilizando o blat. Em algumas máquina o e-mail não era enviado

O problema ocorre porque o blat utiliza o serviço SMTP (porta 25) para enviar e-mail e a versão do VirusScam 8.0 bloqueia essa porta.

Quem estiver utilizando essa versão do antivírus, vai ter que seguir os seguintes passos para resolver o problema:
1 - Vá ao Console do VirusScam
2 - Clique com o botão direito em Proteção de Acesso e selecione Propriedades
3 - Desmarque a opção Impedir que worms de envio em massa de e-mail.....
4 - Clique em Ok e feche todas as janelas

Em algumas empresas, essa configuração pode ser feita centralmente, no servidor do antivírus.

sexta-feira, julho 01, 2005

Cursor X DataStore

Apesar de muitas pessoas utilizarem DataStore ao invés de cursor, a maioria não sabe quais são as vantagens e em qual situação o Cursor é melhor que a DataStore.



Para explicar as vantagens, primeiro temos que entender como os dois objetos funcionam.



A maioria dos cursores são composto de 4 comandos:

* Declare : Declara a variável e atribui o comando SQL que será executado, não fazendo acesso ao banco de dados.

* Open : Abre o cursor. Neste momento, é enviando um comando ao SGBD que executa a Query e carrega o resultado na memória do SGBD. Existem vários tipos de cursor e cada um funciona de uma forma, mas geralmente, é criada uma imagem do resultado na memória do SGBD.

* Fetch : Recupera o registro. Neste momento, é feito um acesso ao banco de dados, buscando o próximo registro na tabela temporária.

* Close : Fecha o cursor. Neste momento é feito um acesso ao SGBD para fechar e libera a memória que estava sendo utilizada pela tabela temporária.



Como vocês podem perceber, apenas o comando Declare não faz um acesso ao banco de dados. Como cada acesso ao banco de dados gera 2 tráfegos na rede (O envio do pacote com a solicitação e o recebimento do resultado), além de aumentar muita a utilização do processador do cliente, pois todos os pacotes de rede devem ser tratados (empacotados e desempacotados) pelo processador. A quantidade de acesso ao banco de dados degrada a performance do aplicativo, além de aumentar o trafego da rede, prejudicando a performance de outros aplicativos.



Outro ponto negativo do Cursor é que existem comando que fecham o cursor, por exemplo, na maioria dos SGBDs, se os comandos COMMIT e ROLLBACK forem executados com o cursor aberto, eles automaticamente fecham o curso, podendo gerar erro no aplicativo.



Já a DataStore funciona da seguinte forma:

* Quando você executa RETRIEVE na DataStore, o comando SQL é enviado ao banco de dados, processado e todos os dados são recuperados para a DataStore.



Essa solução possui uma perda de performance no primeiro momento, porque todos os dados são transferidos de uma única vez para o cliente, mas possui uma melhor performance se observarmos o processamento total, pois é feito apenas um acesso a base de dados (dois tráfegos de rede).



Outro problema da DataStore é que todos os dados são retornados para a memória da aplicação cliente, por isso, se a quantidade de dados recuperados for muito grande ou a memória do cliente for pouca, pode forçar a máquina a utilizar memória virtual (Paginação), gerando uma perda de performance no aplicativo e até mesmo cancelamento do processando por falta de memória.



Resumindo, os seguintes fatores influenciam a utilização de Cursor ou DataStore:

- Quantidade de usuários conectados ao SGBD (Quanto maior a quantidade de usuários conectados ao SGBD, maior a tendência de utilizar DataStore)

- Memória disponível no cliente (Quanto maior a quantidade memória, maior a tendência de utilizar datastore)

- Quantidade de Dados Recuperados (Quanto menor o número de colunas recuperado por registro, maior a tendência a utilizar a datastore)

- Qualidade da Rede (Quanto mais rápida a rede, maior a tendência a utilizar Cursor)

- Recursos disponíveis no servidor (Memória e processador) (Quanto maior os recurso disponíveis no servidor, maior a tendência a utilizar Cursor)

Sendo, que os recursos que mais degradam a performance são os seguintes, na ordem listados:

- Quantidade de usuários.

- Utilização de espaço alem do disponível na memória física + memória virtual

- Quantidade de dados trafegados pela rede

- Velocidade do Processador no servidor

- Velocidade do Processador no cliente

- Utilização de memória virtual



Na regra geral, devemos adotar que se o cliente tem memória disponível para executar a datastore, devemos utilizar datastore, ao contrário, utilizamos o Cursor. Mas, podemos analisar outros fatores antes de determinar qual objeto utilizar, podendo adotar até uma solução mista, por exemplo, recuperar blocos de registros utilizando datastore.