Pergunta

Alguém implementou com êxito uma solução baseada em Java que usa o Microsoft SQL Server 2005 Reporting Services?Reporting Services vem com um conjunto de Web Services que permitem controlar a criação de um relatório, execução de um relatório, etc e estou apenas iniciando o desenvolvimento de um POC desta integração.Algumas escolhas que ainda preciso fazer são se desejo usar o Axis2 para a funcionalidade wsdl-to-java ou usar a solução clientgen (wsdl 2 java) do WebLogic.Acho que também posso usar JAX-WS e wsimport.Antes de mergulhar nisso, queria ver se alguém estava fazendo isso com sucesso com uma das muitas opções disponíveis.

No passado, tive alguns problemas sobre como os nulos/em branco/vazios são tratados entre os serviços da web .NET e Java e só queria ver se isso surgiu como um problema com a integração SSRS e Java.Obrigado

Foi útil?

Solução

Minha experiência com RS me levaria a sugerir que você optasse por qualquer outra coisa.Acho que a parte de serviços da Web funcionaria bem, mas ficaria preocupado com a forma como o RS gerencia a memória e quantos relatórios você precisa executar de uma vez antes de tomar qualquer decisão.Estou lutando com problemas de gerenciamento de memória hoje com RS e mesmo em hardware top de linha é difícil executar relatórios grandes (grande número de linhas retornadas e um amplo conjunto de resultados).

Dito isto, se você acha que o RS pode lidar com seu uso, então pode ser bom.O ambiente de desenvolvimento é bastante agradável e é fácil de entender e elaborar relatórios.O paradigma de layout de tabela que possui é muito bom.

Outras dicas

Eu só queria voltar e responder minha própria pergunta.Comecei com o Axis2, a implementação do SOAP do Apache.Depois de gerar o cliente usando WSDL2Java, consegui invocar com sucesso o Microsoft Reporting Services WebService e gerar relatórios, saída em Excel, PDF, CSV e outros formatos.No meu caso, também usei o mecanismo de autenticação NTML do Axis2 ou HttpClient para que meu aplicativo fizesse login automaticamente usando credenciais do Active Directory e gerasse e distribuísse relatórios para muitos usuários.

implementamos isso com sucesso:JBoss 5 -> proxy IIS -> MS Reporting Services 2008 (via webservice).

Existem algumas armadilhas:O MS RS 2008 não oferece mais suporte ao acesso 'Anônimo' (o 2005 oferece) e impõe o uso da autenticação NTLM.Isso ainda é um desafio no mundo Java, não existe uma boa biblioteca NTLM disponível.

Para superar isso, implementamos um proxy trivial (IIS7 + ashx) que faz autenticação NTLM no RS (usuário/senha codificado) e permite acesso anônimo para JBoss (simplesmente reescrevendo a resposta http).

Funciona bem :)

Saúde p

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top