[ Sistema de Auditoria/Inventário de Hardware e Software ]

Pessoal,
Estou começando a projetar um sistema em Java para auditoria/inventário de Hardware e Software. Estou baseado em uma

solução que conheço feita em VB e a API WMI. Esta api implementa os conceitos de algo chamado WBEM. Este WBEM é um

conjunto de especificações/classes/interfaces composta de tecnologias como CIM/CIMON. Inclusive pelo que pude observar a

solução da IBM chamada Tivoli é alicerçada nesta tecnologia.

Bem, pessoal, o problema é que não consigo achar exemplos na WEB destas implementações. O que eu queria é um 

exemplo simples que demonstre uma implementação que pegue dados por exemplo do monitor ou modem ou placa de vídeo.

Se alguém tiver algum exemplo ou conhecer um pouco do assunto, por favor me de uma ajuda.


            Algum material que encontrei:

            http://www-106.ibm.com/developerworks/library/j-jiro
            http://www-106.ibm.com/developerworks/library/j-wbem/
            http://www-106.ibm.com/developerworks/library/j-wbemjiro/

            Desde já agradecendo,

Que tal fazer o seguinte: você já tem a aplicação em VB que usa WMI. Portanto os objetos COM que acessam o WMI já estão disponíveis na máquina Windows que você quer inventariar. Use o JACOB (biblioteca JNI que permite ao Java chamar objetos COM) e simplesmente traduza a sua aplicação VB (é meio porco mas acho que vai ser mais rápido). É que a tal implementação do WBEM parece que não está disponível no site…

Pois é,
Mas essa solução eu realmente achei um pouco ruim. de qualquer forma valeu pela força.
Estou procurando.
Cadê os JEDIs do JAVA ?.

Olá

Putz, quem te respondeu É um dos Jedis do GUJ!

Procure aqui no GUJ porque este assunto já foi discutido. Existe um monte de soluções prontas.

O mais simples que posso lhe sugerir é usar algum executável do próprio DOS ou do SysInternal por exemplo, que seja executado na linha de comando e jogue os resultados para um arquivo. Aí você parseia o tal arquivo de resultados e obtem o que precisa. Você acha porco? Pois saiba que já fiz assim e me dei muito bem.

Um outro modo um pouco menos simples é usar a API do Windows. Dê uma fuçada no MSDN e vai encontrar um monte de funções e estruturas com todas as informações. Eu tenho um pacotinho assim que usava para ajudar o help desk. Assim se podia conhecer a máquina do usuário que dizia estar com problema. Sabia não só a configuração mas também quase tudo que estava rodando no momento do alegado pau. Funciona muito bem mas é algo profissional e preciso ganhar na mega sena para dar de graça. Pega quase tantas informações quanto o AIDA32.

[]s
Luca

[quote=“Luca”]Putz, quem te respondeu É um dos Jedis do GUJ!
[/quote]

Acho que estou mais para capacho do Dart Vader do que pra Jedi…
(É claro, porque já trabalhei muito (e ainda trabalho) com o lado negro da força, mais conhecido como Microsoft…)

Pô foi mal, o cara é um dos JEDIS sim.
Luca,
O que eu achei foi a API M$ WMI, mas não achei nenhum exemplo nem mesmo aqui no fórum de trabalhar com esta API com JAVA. Descupe, minha ignorância, mas não consegui achar nada substâncial na WEB nem no GUJ sobre o assunto.
O que eu queria era apenas um exemplinho básico, nada muito profi para que apartir dai eu me vire.

Desde já agradecendo,
LEandro.

Pois é…
É que estou sem tempo, senão te escrevia um exemplo. Mas basicamente o mapa da estrada é (isso se você não achar nada pronto no Google…):

  • Escreva um programa bastante simples em VBScript que chame um objeto ActiveX simples, tipo FileSystemObject. Muito simples mesmo, do tipo cria um arquivo, escreve uma linha e fecha o arquivo.
  • Baixe o tal pacote JACOB (favor procurar no Google, se não me engano o tal pacote foi escrito por um tal de Dan Adler, mas não tenho certeza)
  • Leia a documentação - é bastante simples
  • Agora converta o seu programa VBScript para usar o Jacob.
  • Pronto, você já aprendeu a usar objetos ActiveX em Java.
  • Agora você pode converter seu programa VB que chama WMI para Java também. Não deve ser muito difícil.
  • Essa receita vale para toda vez que você tiver um problema que não é fácil de resolver com Java puro, mas você estiver no Windows e você souber que é fácil resolver com VBScript ou VB, bastando chamar meia dúzia de objetos ActiveX.
  • Outras bibliotecas que podem ser usadas para chamar ActiveX: NJAWIN e JAWIN.
  • Se você já usou o Eclipse, por exemplo, existe um plugin para o MS Visual SourceSafe que funciona chamando os ActiveX do SourceSafe (só que usava uma outra biblioteca, chamada JAWIN).
    Agora o Eclipse tem suporte para chamar ActiveX diretamente, então na versão atual esse plugin usa o próprio suporte do Eclipse.

Thingol,
Achei uma implementação em JAVA de uma tecnologia chamada WBEM. Por enquanto eu to na fase de pesquisa da API, mas ja te adianto que é mais ou menos que eu queria. Assim que eu conseguir construir alguns exemplos, posto para o pessoal aqui do fórum.
É bem interessante.
De qualquer forma te agradecendo a força. É por isso que o GUJ é o GUJ.

Um abraço,
Leandro.

Achou uma implementaçào legal? É que aquele link que vocë postou apontava (indiretamente, é claro) para um site que não estava funcionando. É interessante isso, porque a gente nào precisa ficar dependendo de ficar fazendo as tais gambiarras (ou seja, escrever em Java como se fosse um programa VB) para poder fazer monitoração.

Amigo,

Acho que a esta altura vc já deve ter resolvido o seu problema, mas segue esta dica ai.

Estava com o mesmo problema que vc, então resolvi utilizando desta forma:

Baixei o exemplo de wmi(com4j-20080107.zip) do site abaixo, gerei um jar, com o pacote wmi que ele fornece, adicionei a dll que vem junto dele na minha aplicação e funcionou.

Anexei a classe que utilizei para pegar o resultado, as classes do site abaixo e a dll que vc deve colocar nas suas lib´s, pelo menos é assim que funciona no meu.

Acesse este site:
https://com4j.dev.java.net/

Abraços…