Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • Infraestrutura: Um container web independente de plataforma. Neste caso podemos considerar:

    Observação: Os servidores web citados são exemplos dos containers, sendo possível utilizar outros servidores web.

    Em relação a segurança de contexto da aplicação, cada aplicação deverá ser responsável pela sua implementação devido a diversidade de plataformas e diferença entre os padrões de cada produto.

  • Serviços:  Cada produto deverá prover os serviços para IDE e para a aplicação a ser construida; Para correto funcionamento da IDE cada produto deverá prover o seguinte serviço:

     

    • getAvailableServices: Este serviço deverá estar disposto como REST utilizando o protocolo GET e retornar um JSON contendo um lista de serviços disponiveis. O path para acesso ao serviço deverá ser: <url do serviço rest>/getAvailableServices

      • Parâmetros:

         

        • Entrada - name: nome do serviço para ser utilizado como filtro, default é uma String em branco.

        • Entrada - start: indica quando registros já estão disponíveis em tela, default é 0.

        • Entrada - limit: indica a quantidade de registros a serem retornados a partir do indicado de inicio (start), default é 100.

        • Saida - uma lista de serviços disponíveis, está lista deve ser composta por:

           

          • id: identificador do serviço;

          • name: nome do serviço, por convenção deve ser utilizado o nome do contexto em qual o serviço se encontra;

          • description: descrição do serviço;

          • descriptor: URL contendo o descritos WADL ou WSDL do serviço em questão;

          • type: tipo de serviço: REST ou SOAP 


      Exemplo:
          •  

      Bloco de código
      languagejava
      titleExemplo
      firstline1
      linenumberstrue
      collapsetrue
      URL do Serviço: http://localhost:8380/html-service/rest/framework/getAvailableServices
      
      Assinatura do método getAvailableServices:
      @GET
      @Path("/getAvailableServices")
      @Produces(MediaType.APPLICATION_JSON)
      public List<AvailableServices> getAvailableServices(
      	@QueryParam("name")  @DefaultValue("")      String  name,
          @QueryParam("start") @DefaultValue("0")     int     start,
          @QueryParam("limit") @DefaultValue("100")   int     limit) throws Exception;
      
      Assinatura do AvailableServices:
      @XmlRootElement(name = "AvailableServices")
      @XmlAccessorType(XmlAccessType.FIELD)
      public class AvailableServices implements Serializable {
      
          @XmlElement(name = "id")
          private Long id;
      
          @XmlElement(name = "name")
          private String name;
      
          @XmlElement(name = "description")
          private String description;
      
          @XmlElement(name = "descriptor")
          private String descriptor;
      
          @XmlElement(name = "type")
          private String type = "REST"; // ou SOAP
      }
      
      JSON gerado como retorno do método getAvailableServices:
      [{
          "id":1,
          "name":"html-app",
          "description":"Serviços de gerenciamento da aplicação de referência html-app.",
          "descriptor":"/html-app/rest/application.wadl",
          "type":"REST"
      }, {
          "id":2,
          "name":"html-sample",
          "description":"Serviços da aplicação de referência html-sample.",
          "descriptor":"/html-sample/rest/application.wadl",
          "type":"REST"
      }]

      O WADL é a documentação padrão para os serviços REST assim como o WSDL está para os serviços SOAP. A especificação do WADL está disponível em: http://www.w3.org/Submission/wadl/

Compatibilidade  com Browsers

...