Distribuir Relatórios via serviços?

Pessoal, como eu poderia distribuir Relatórios (.pdf) via serviços, tipo:

getReportByIdService(Report report) { }

como eu devolveria o relatório???

Obrigado!!!

se estiver utilizando JasperReports, devolva um JasperPrint prontinho

Você deve devolver um objeto que faça sentido para a outra camada que o espera. Ex: Se você devolver simplesmente um byte[], pode ser que seja muito baixo nível. Você pode retornal algo do tipo:

class RelatorioPDF {
  private String nomeArquivo;
  private byte[] bytes;
  //mais atributos necessários

  public void render(OutputStream saida) {
      //seu código aqui pra renderizar
  }
}

Eu escrevi esse código rapidinho, provavelmente tem falhas. Mas você pode fazer em alguma coisa usando essa linha de pensamento.