Open the menu

    Arquivo de Definição do Serviço

    Serviços necessitam de um arquivo de definição XML ( servicedefinition.xml ) que deve conter informações do tipo de serviço, identificador, nome, descrição, imagem de identificação, interfaces e os objetos que implementam seus métodos. Através deste mesmo arquivo, o serviço será registrado no portal.

    Existem duas seções do servicedefinition.xml :

    • Service: onde são especificadas todas as informações serviço incluindo identificador, nome e classe que implementa o tipo de serviço (ou utilizar o tipo padrão lum_service ).
    • Interfaces: onde são especificadas todas as informações necessárias para renderização da interface incluindo identificador, nome e classe que a implementa (ou utilizar o tipo lum_serviceInterface ).

    Abaixo, exemplo de um servicedefinition.xml mínimo necessário para definir um serviço:

    No exemplo acima, há somente uma interface que dá funcionalidade ao serviço.

    O formato XML para definição de serviços é dividido em algumas partes.

    O elemento XML que engloba todos os outros é <serviceDefinition>. Dentro dele deve haver o elemento <service> com as informações gerais sobre o serviço:

    • Atributo id : Identificador do serviço. Este identificador deve ser único. Não podem existir dois serviços com o mesmo id.
    • Atributo name : Nome do serviço. Será utilizado para identificar o serviço no catálogo de serviços do Portal (Gerenciador de Serviços);
    • Atributo type : Deve-se atribuir o tipo de serviço. O tipo de serviço padrão é lum_service que já possui implementação da classe necessária. Caso contrário, deve-se informar a classe que implementa o tipo de serviço;
    • Elemento description : Breve descrição do objetivo do serviço;
    • Elemento image : Caminho onde se encontra o ícone do serviço. Deve ser relativo ao diretório www da instalação do portal;
    • Elemento htmlProcessors : Lista de elementos que definem cada processador de HTML do serviço. Esses processadores são utilizados para processar o HTML da página na sua após sua renderização e antes do mesmo ser entregue ao browser do cliente. Devem implementar a interface IHtmlProcessor.

    Após o elemento <service>, o XML deve conter o elemento <interfaces> e para cada interface do serviço um elemento <interface>. Este pode conter os seguintes atributos:

    • Atributo id : Identificador único da interface;
    • Atributo name : Nome da interface exibido no cabeçalho da mesma e no navegador durante a edição de uma página;
    • Atributo className : Nome da classe Java que implementa a interface. Para serviços do portal (do tipo padrão lum_service ) existe o tipo de interface padrão lum_serviceInterface , porém este tipo renderiza uma interface em branco, havendo necessidade portanto, de implementar uma classe ao invés de utilizar este tipo em um atributo type;
    • Atributo scriptPath : Caminho do arquivo de script que define a classe Java que implementa a interface.