No último trimeste avaliei o uso do ADempiere ( www.adempiere.org ) como ferramenta de ERP completa para pequenas e médias empresas e descobri que esse é um produto fantástico pois ele trás os seguintes módulos:

  • ERP – Gestão Corporativa, Contábil e de Ativos
  • CRM – Gestão de Clientes e Marketing
  • MRP – Gestão de Produção e Operação de Manufatura
  • B2B – Gestão de Fornecedores, Parceiros e Terceiros
  • B2C – Vendas diretas e pela Internet
  • SCM – Cadeia de Suprimentos
  • HRM – Departamento de Pessoal e Folha de Pagamentos
  • PDV/POS – Ponto de Venda com POS
  • BENCH – Avaliação de Desempenho

Os módulos são integrados completamente via o modelo de DOCUMENTO, o que permite ao ERP lançar os fatos contábeis corretamente para cada conta, organizado ainda em centros de custo e que nos fornece uma visão completa da saúde financeira e operacional da empresa e avaliar corretamente onde os recursos estão sendo empregados e servem principalmente para os segmentos:

  • Comércio de Atacado / Varejo
  • Indústria de Transformação
  • Gestão Agrícola

O Módulo de BENCHMARK permite avaliar o desempenho das operações realizadas desde o SCM ( Cadeia de Suprimentos ) integrado com o B2B, B2C e MRP.

O MRP ( Manufacture Resource Planning ) usa o modelo de BOM ( Bill of Materials ) que permite criar as “receitas” de como as matérias primas são transformadas em “produtos” para serem vendidos e dessa forma nos dá total clareza de quais recursos ( custos ) estão envolvidos na produção como mostrar a figura abaixo:

Mesmo com nossa complexidade tributária, o ADempiere 3.5 nos permite “abrasileirar” completamente ó módulo contábil e fiscal, pois já temos as tabelas NCM (Nomeclatura Comum do Mercosul)  e CFOP (Códigos Fiscais de Operações e Prestações) disponíveis para efetuar corretamente todos lançamentos contábeis e de balanços fiscais incluíndo os cálculos completos de ICMS dos estados.

Como produto OpenSource o ADempiere trás ainda outras qualidades que nos permite seguramente adotálo:

  • #1 no mundo em usuários
  • 100% Gratuito e de código aberto com licença GPL ( GPL V3 )
  • Mais de 100 colaboradores em desenvolvimento e evoluções
  • Presente em mais 20 países e em 40 idiomas
  • 100% Portável ( Para Windows, Linux e MAC )
  • Homologado para Oracle ( Enterprise e XE ) e PostgreSQL
  • Com Manuais, Guia e Ajuda
  • Acesso na rede local e pela internet

Benfícios diretos na adoção do ADempiere:

  1. Modelo comercial diferenciado (dispensa o pagamento de licenças de software e aumenta aderência nas empresas e proporciona liberdade na escolha do prestador de serviços).
  2. Informações do negócio consolidadas em tempo real, essenciais para avaliação de eficiência operacional e tomada de decisões estratégicas.
  3. Fácil navegação no sistema, telas padronizadas, que dá alta produtividade dos usuários.
  4. A ferramenta de CRM proporciona melhoria e eficiência no relacionamento com os parceiros de negócios, fornecedores e clientes que permite o gerenciamento de oportunidades, campanhas, e de contratos de serviços.
  5. Ferramentas de análises com alto nível de flexibilidade que permitem aos gestores do negócio a customização de seus próprios relatórios e formas de apresentação.
  6. Retorno do investimento em curto prazo, devido a automação e padronização de processos e aumento da eficiência e integração de todas as áreas corporativas.

Assim ofereço serviços de implantação e customização para a adoção do ADempiere ERP/CRM/SCM/MRP Suite com foco em consultoria de negócios na organização de operações e custos trazendo grande valor agregado.

Se desejar conhecer mais sobre o ADempiere agende uma visita de um consultor para avaliar os benefícios da adoção desta Suite de gestão para sua empresa dando mais fôlego para o seu negócio expandir e crescer.

Veja nosso folheto impresso!

Consultores:

As universidades de Harvard e Cambridge publicaram recentemente
um compêndio com 20 conselhos saudáveis para melhorar a qualidade de vida
de forma prática e habitual.

1- um copo de suco de laranja diariamente para aumentar o ferro e repor a vitamina C.

2- salpicar canela no café (mantém baixo o colesterol e estáveis os níveis de açúcar no sangue).

3- trocar o pãozinho tradicional pelo pão integral que tem quase 4 vezes mais fibra, 3 vezes mais zinco e quase 2 vezes mais ferro que tem o pão branco.

4- mastigar os vegetais por mais tempo.

Isto aumenta a quantidade de químicos anticancerígenos liberados no corpo. Mastigar libera sinigrina. E quanto menos se cozinham os vegetais, melhor efeito preventivo têm.

5- adotar a regra dos 80%: servir-se menos 20% da comida que ia ingerir evita transtornos gastrintestinais,  prolonga a vida e reduz o risco de diabetes e ataques de coração.

6- o futuro está na laranja, que reduz em 30% o risco de câncer de pulmão.

7- fazer refeições coloridas como o arco-íris.

Comer uma variedade de vermelho, laranja, amarelo, verde, roxo e branco em frutas e vegetais, cria uma melhor mistura de antioxidantes, vitaminas e minerais.

8- comer pizza.  Mas escolha as de massa fininha.

O Licopene, um antioxidante dos tomates pode inibir e ainda reverter o crescimento dos tumores; e ademais é melhor absorvido pelo corpo quando os tomates estão em molhos para massas ou para pizza.

9- limpar sua escova de dentes e trocá-la regularmente.

As escovas podem espalhar gripes e resfriados e outros germes. 
Assim, é recomendado lavá-las com água quente pelo menos quatro vezes à semana (aproveite o banho no chuveiro), sobretudo após doenças quando devem ser mantidas separadas de outras escovas.

10- realizar atividades que estimulem a mente e fortaleçam sua memória…

Faça alguns testes ou quebra-cabeças, palavras-cruzadas, aprenda um idioma, alguma habilidade nova…

Leia um livro e memorize parágrafos.

11- usar fio dental e não mastigar chicletes.

Acreditem ou não, uma pesquisa deu como resultado que as pessoas que mastigam chicletes têm mais possibilidade de sofrer de arteriosclerose, pois tem os vasos sanguíneos mais estreitos, o que pode preceder a um ataque do coração.  Usar fio dental pode acrescentar seis anos a sua idade biológica porque remove as bactérias que atacam aos dentes e o corpo.

12- rir.

Uma boa gargalhada é um ‘mini-workout’, um pequeno exercício físico:
100 a 200 gargalhadas equivalem a 10 minutos de corrida. 
Baixa o estresse e acorda células naturais de defesa e os anticorpos.

13- não descascar com antecipação.

Os vegetais ou frutas, sempre frescos, devem ser cortados e descascados na hora em que forem consumidos. Isso aumenta os níveis de nutrientes contra o câncer.

14- ligar para seus parentes/pais de vez em quando.

Um estudo da Faculdade de Medicina de Harvard concluiu
que 91% das pessoas que não mantém um laço afetivo com seus entes queridos,
particularmente com a mãe, desenvolvem alta pressão, alcoolismo ou doenças cardíacas em idade temporã.

15- desfrutar de uma xícara de chá verde.

O chá comum contém menos níveis de antioxidantes que o chá verde,
e beber só uma xícara diária desta infusão diminui o risco de doenças coronárias. 
Cientistas israelenses também concluíram que beber chá aumenta a sobrevida depois de ataques ao coração.

16- ter um animal de estimação.

As pessoas que não têm animais domésticos sofrem mais de estresse e visitam o médico regularmente, dizem os cientistas da Cambridge University.  Os mascotes fazem você sentir se otimista, relaxado e isso baixa a pressão do sangue. 
Os cães são os melhores, mas até um peixinho dourados pode causar um bom resultado.

17- colocar tomate ou verdura frescas no sanduíche.

Uma porção de tomate por dia baixa o risco de doença coronária em 30%,
segundo cientistas da Harvard Medical School.

18- reorganizar a geladeira.

As verduras em qualquer lugar de sua geladeira perdem substâncias nutritivas,
porque a luz artificial do equipamento destrói os flavonóides que combatem o câncer que todo vegetal tem.  Por isso é melhor usar á área reservada a ela, aquela caixa bem embaixo.

19- comer como um passarinho.

A semente de girassol e as sementes de sésamo nas saladas e cereais são nutrientes e antioxidantes. E comer nozes entre as refeições reduz o risco de diabetes.

20- e, por último, um mix de pequenas dicas para alongar a vida:

- comer chocolate.

Duas barras por semana estendem um ano a vida.  O amargo é fonte de ferro, magnésio e potássio.

- pensar positivamente.

Pessoas otimistas podem viver até 12 anos mais que os pessimistas, que ademais pegam gripes e resfriados mais facilmente.

- ser sociável.

Pessoas com fortes laços sociais ou redes de amigos têm vidas mais saudáveis que as pessoas solitárias ou que só têm contato com a família.

- conhecer a si mesmo.

Os verdadeiros crentes são aqueles que priorizam o ’ser’ sobre o ‘ter’ e têm 35% a mais de probabilidades de viver mais tempo.

‘Escolha a melhor forma  de viver e o costume a tornará agradável’!  ( Sêneca )

Enviado por Rildo Fereira

A depuração ( debug ) de código é uma ferramenta valiosa na procura de BUGs em programas e no entendimento de como as chamadas acontecem dentro de uma aplicação complexa, principalmente se forma aplicações Java EE.

Atualmente a maneira mais eficiente e menos intrusiva de fazermos isso é usando o debug remoto baseado no JPDA ( Java Platform Debug Architecture ).

Para configurar o DEBUG ( depuração ) de código no servidor Glassfish usando o NetBeans 6 Debugger seguimos os simples passos abaixo:

1 - Na Console Administrativa do Glassfish, acessar as opções:

  • Application Server – JVM Settings – General
    • Habilitar o DEBUG ( veja o círculo vermelho )

2 - Clique no botão SAVE para salvar as novas configurações.

3 - Aparecerá um aviso de que é necessário reiniciar o servidor para que as alteracões tenham efeito.

4 - Durante o start-up com as novas configurações a console de log mostrará que a porta 9009 está liberada para conexões de debug remoto ( veja em vermelho )

5 - Faça o deploy dos componentes Java EE no servidor.

6 - Defina os breakpoints na visão de edição do código fonte clicando na barra cinza com a numeração de linhas.

A linha do breakpoint ficará marcada com um fundo rosa e aparecerá na lateral um quadradinho informando o breapoint criado.

7 - Anexe ( attach ) o depurador ( debug ) do NetBeans.

Em vermelho vemos as configurações do JPDA habilitado no servidor configurado anteriormente.

8 - Quando qualquer Thread de qualquer requisição ou serviço passar pelo Breakpoint o NetBeans interromperá dando um aviso do depurador

9 - A barra de botões de ações permite navegar entre as chamadas de código das classes ou até sair delas e interromper a depuração ( debug ).

Boa diversão!

 

Comentários fechados devido á spans!

Pensando no artigo anterior “Faça funcionar, então, melhore!“, e levando em conta as necessidades das empresas de desenvolvimento, dos desenvolvedores, arquitetos e analistas de sistemas, projetei e testei a eficiência de uma arquitetura relativamente símples para suportar aplicações corporativas e aderente á onda da Web 2.0 sem esquecer da necessidade de agilidade no desenvolvimento.

Modelo Web 2.0 e Java EE(tm) de aplicações:

Dessa forma, para um universo de 90% das aplicações Web 2.0, a arquitetura projetada abaixo garante índices consideravelmente altos das qualidades sistêmicas de:

  • escalabidade: garantida pelo uso do modelo AJAX DWR, pois a comunicação do navegador do cliente com o servidor é feita baseada em Marshlling de objetos do padrão JSON, muito menos sobrecarregado que WebServices ou outro modelo baseado em XML.
  • confiabilidade: garantidada pelo modelo transacional da plataforma Java EE 5 e da peristência baseada em JPA;
  • eficiência: devido ao tráfego reduzido entre o cliente e o servidor, e do uso do cache do JPA, esse modelo tem índices excelentes de taxa de transferência X quantidade de acessos;
  • segurança: garantia pela associação do modelo de segurança básico da Java EE 5 com o DWR, pois a Java EE 5 provê a autenticação e autorização e o DWR identifica as requisições dos clientes, impedindo que um cliente não identificado envie mensagens ao servidor;
  • evolutividade: garantida pelo modelo das classes idealizadas para separar as responsabilidades de geração de páginas, de persistência, de serviços dos EJBs, de serviços do DWR e de scripts JS do cliente.

Arquitetura Java EE 5(tm) usando DWR:

  • Componentes amarelos: criados pelo desenvolvedor;
  • Componentes azuis: gerados dinâmicamente;
  • Componentes roseados: fornecidos pelo servidor ou terceiros;

E sem complicar o processo de deploy, tal modelo permite que a publicação da aplicação seja feita num ambiente símples ou complexo como os modelos abaixo:

Sem Cluster:

Com Cluster:

Atualmente estamos desenvolvendo 5 projetos usando tal arquitetura, e ela tem se mostrado extremanente sólida, confiável e produtiva.

Referências:

Usem os comentários para discussão de críticas, melhorias e sugestões.

 

Comentários fechados devido á spans!

Conversando hoje pela manhã com o experientíssimo Arquiteto de Sistemas Sênior, o Sr. Claudio Teixeira, sobre requisitos funcionais e não-funcionais de um sistema distribuído que estamos projetando e desenvolvendo, nos deparamos com alguns pontos “extraordinários” de problemas que podem acontecer quando desenvolve-se produtos de software para corporações que não são do ramo de TI, por exemplo:

  • Armazenamento e versionamento de documentos;
  • Criptografia de dados e arquivos;
  • Ambiente redundante de servidores;
  • etc;

Descobrimos que estávamos indo um pouco além dos requisitos não-funcionais realmente necessários para que esse produto possa ser utilizado pelos seus usuários, saindo do escopo do aplicativo e entrando em escopo de software básico e infra, assim, relembramos velhos termos uvidos no passado como:

  • “Cuidado para o ótimo não virar inimigo do bom”;
  • “Keep It Simple, Stupid!” - KISS Theory;
  • “Make it work, then, make it better”;
  • etc;

Devemos nos lembrar sempre que todo software e hardware ( sistema ) tem suas qualidades e restrições, e que é impossível desenvolver um projeto que faça tudo o que o usuário deseja de uma única vez pois as funcionalidades e restrições estão ligados diretamente ao custo, prazo e qualidade do sistema, portanto devemos ter sempre em mentes as seguintes linhas gerais:

  • Não aumentar a complexidade do que já é complexo;
  • Criar componentes e utilizar “frameworks” de mercado para facilitar a manutenção;
  • Trabalhar com ciclo de vida de produto;

Sendo assim, toda vez que formos participar de um projeto de software, principalmente na etapa de venda e projeto, devemos estar cientes e principalmente deixar o cliente confortável com o que vai ser feito, quando vai ser entregue e que melhorias podem ser implementadas ao curto e médio prazo num sistema de informação.

Bom trabalho a todos.

PageRank

 

Comentários fechados devido á spans!

A ComputerWorld, recentemente publicou um artigo sobre a Tecnologia Java,
mas discordo completamente de tal análise.

Vejo que o mercado se acomodará de acordo com suas necessidades,
por tipo de necessidade de “client” e capacidade de processamento “server”,
mas somente a Tecnologia Java atualmente consegue ser o “martelo certo” para
quase todos os problemas computacionais, desde o “mobile”, passando pelo “server”,
incluindo “integration” e o “desktop”.

Acreditem, temos 13 anos de Java, e acho essa tecnologia e suas plataformas evoluirão
constantemente por mais uns 20 anos em ondas associadas a Web 3.0, Federation,
RFID, Virtualização, GRID Computing, etc.

Não esqueci de SOA, é que SOA é tão antigo quanto a especificação que permitiu
a descoberta e uso do AJAX, pois é um Padrão de Arquitetura associado a ferramentas
e especificações que não são novas: WebServices, Messaging, ETL, etc.

Independente do que a Microsoft faça, e a ComputerWorld diga, a plataforma .NET
ainda é considerada pelas empresas uma solução barata, fácil de desenvolver,
que qualquer programador medíocre é capaz de aprender e fazer “aplicativos”,
mas extremamente amadora do ponto de vista de “confiabilidade” para a construção
de “sistemas” integrados e robustos, principalmente quando falamos em aplicações
com grandes volumes de dados e usuários.

Recentemente até o Banco Itaú, que declaradamente só usava a plataforma .NET
se rendeu ao Java EE, e já está “migrando” seus sistemas do Internet Banking para
Java EE rodando em WebSphere no Mainframe, pois o Itaú estava gastando muito $$$$
para administrar e provisionar recursos para os mais de 170 Servidores IIS rodando .NET.

A IBM do Brasil tem mais 4 grandes casos de sucesso de outros bancos que estão fazendo o mesmo.

Ou seja, temos espaço para todos os tipos de ferramentas para variados tipos de problemas, entretanto, existem soluções “mais adequadas” em prazo-custo-qualidade que outras, e atualmente a plataforma Java EE tem se mostrado a que melhor resolve essa equação.

Bom trabalho a todos.

PageRank

 

Comentários fechados devido á spans!

Muitas aplicações usam o Log4J e seu empacotamento/inicialização
podem se tornar um problema em servidores que tem múltiplos classloaders
para separar componentes do servidor dos módulos e aplicações.

Dessa forma descobri uma maneira muito simples de configurar o Log4J
na inicialização do Glassfish ou do Sun Java System App Server nas versões 7, 8 e 9
que elimina a necessidade de ter um listener para inicializá-lo e configurar as categorias
bem como empacotar o Log4J em cada módulo ou aplicação.

1 - Faça o Download do Log4J

2 - Copie o log4j-x.jar no diretório $APP_SERVER_HOME/domains/domain1/lib/ext

3 - Insira as propriedades abaixo alterando a seção do domain.xml ou via a console
administrativa as propriedades da JVM


<jvm-options>

-Dlog4j.configuration=file:${com.sun.aas.instanceRoot}/config/log4j.xml

</jvm-options>
<jvm-options>

-Dlog4j.configuratorClass=org.apache.log4j.xml.DOMConfigurator

</jvm-options>

4 - Crie um arquivo log4j.xml no diretório $APP_SERVER_HOME/domains/domain1/config
com os appenders e as categorias configuradas baseado no modelo abaixo:

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE log4j:configuration SYSTEM “log4j.dtd”>
<log4j:configuration xmlns:log4j=”http://jakarta.apache.org/log4j/” debug=”false”>

<appender name=”app” class=”org.apache.log4j.RollingFileAppender”>

<param name=”File” value=”../logs/app.log”/>
<param name=”Append” value=”false”/>
<param name=”MaxFileSize” value=”5000KB”/>
<param name=”MaxBackupIndex” value=”0″/>
<layout class=”org.apache.log4j.PatternLayout”>

<param name=”ConversionPattern” value=”%d %-5r %-5p [%c] (%t:%M:%L) %m%n”/>
</layout>
</appender>

<category name=”app.package”>

<priority value=”INFO”/>
<appender-ref ref=”app”/>
</category>

</log4j:configuration>

5 - Em cada uma das classes que se deseja ter o uso do Log4J,
defina o Logger assim:


package app.package;
public class MyClass {
private static Logger logger;
static {
try {
logger = Logger.getLogger( MyClass.class );
} catch (Exception e) {
e.printStackTrace( System.err );
}
}
}

Boa sorte!

PageRank

 

Comentários fechados devido á spans!

O tutorial abaixo mostra como implementar um filtro de requisições HTTP na plataforma Java Enteprise Web para forçar o donwload de arquivos que geralmente são abertos diretamente pelos navegadores modernos.

Esta funcionalidade é muito útil quando tem-se aplicativos que geram arquivos dinâmicos muito pesados e tem um tempo de download muito grande, forçando ao usuário ficar aguardando com uma tela em branco enquanto o download não termina.

Pode ser utilizado também para arquivos fixos que estão localizados dentro das aplicações web java ( módulo WAR ) e que não estão colocados como arquivos em servidores Web.

Download do Tutorial

PageRank

 

Comentários fechados devido á spans!

Já há alguns meses o mercado mundial de TI vem demonstrando alguma surpresa com os sólidos números apresentados pelas vendas de mainframes nos últimos trimestres. Maior exemplo disso foram os últimos relatórios trimestrais de desempenho dos fabricantes apresentados pelo Gartner e pela IDC (International Data Corporation). As duas organizações de pesquisa, com pequena variação de percentual, apontaram o mercado mundial de servidores em crescimento e a IBM na liderança do segmento.

Até aí, nenhuma surpresa. O surpreendente nestes tempos de idolatração da plataforma baixa, foi a constatação – tanto do Gartner como da IDC – de que uma boa parcela do desempenho da IBM deve-se à venda de mainframes. Sim, os bons e velhos mainframes. Segundo a IDC, as vendas de equipamentos da linha System z cresceram, no primeiro trimestre deste ano, 4% em relação ao mesmo período do ano passado.
Há um número ainda mais sintomático: terminado o primeiro trimestre de 2007, o mercado percebe que os mainframes representaram 9,5% de todas as vendas de servidores da IBM. Os números são recentes, mas a tendência já havia sido indicada em uma outra pesquisa, esta realizada pela Software Strategies, que indicava justamente a boa saúde dos mainframes em 2007. Como fator para o “renascimento”, o estudo apontava a capacidade de processamento, segurança e a flexibilidade de utilização tanto para novas aplicações como para as tradicionais como principais motivos.

Outro fator apontado pela Software Strategies é a crescente utilização de SOA como arquitetura universal para novos aplicativos de negócios. A dobradinha SOA/mainframe, ao que parece, vem se mostrando das mais eficientes e seguras tanto para aplicações como para bancos de dados. Todos estes números e pesquisas tem sido utilizados por fornecedores e analistas para apontar o “renascimento” do mainframe, o que demonstra, na verdade, uma visão distorcida deste mercado.

O mainframe não está renascendo porque, de fato, nunca morreu. Um olhar um pouco mais profundo sobre a trajetória do mercado mostra que houve, sim, um período em que uma determinada parcela do mercado estava desatendida por equipamentos de menor valor e se viu obrigada a recorrer a aquisição de mainframes. A questão era simples: determinadas aplicações ainda não eram suportadas a contento pelos servidores de plataforma baixa.

Para estas aplicações, apesar de superdimensionados, os mainframes eram a alternativa mais segura e eficiente. Com o tempo, as tecnologias aplicadas à plataforma baixa se desenvolveram e começaram a dar a estas empresas outras opções, mais baratas e tão eficientes quanto o mainframe. Houve então uma migração natural para estes equipamentos, agora dimensionados de acordo com a real necessidade de seus usuários. Este movimento fez com que muitos decretassem a morte do mainframe.

Na realidade, e o próprio mercado demonstra isso hoje, o mainframe não morreu, apenas retornou ao seu lugar de direito: um equipamento confiável e seguro para cargas de trabalho críticas. Está claro que a maioria das empresas usuárias de mainframe o vêem hoje como crucial para aplicações críticas e não abrem mão de sua disponibilidade e segurança.

O mainframe não está renascendo, mas ganhando o reconhecimento por aquilo para o que foi criado. Não há mágica nisso, é apenas o mercado ajustando-se às suas necessidades e encontrando a melhor solução para cada uma delas.

Maurício da Costa e Silva, CEO da Eccox S.A.
eccox@eccox.com.br
www.eccox.com.br

PageRank

 

Comentários fechados devido á spans!

Esta apresentação trás um resumo de como desenvolver aplicativos Java Enterprise

Podemos agendar esta e outras palestras na sua empresa ou grupo de estudo!

Faça o download aqui

Bom trabalho a todos.

PageRank

 

Comentários fechados devido á spans!

- Próxima Página »