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:

    x
     
    1
    <?xml version="1.0" encoding= "UTF-8"?>
    2
    <serviceDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="www.lumis.com.br/lumisportal/xsd/servicedefinition.xsd">
    3
    4
      <service id="identificador do serviço" name= "Nomedo Serviço" type= "lum_service">
    5
        <description>Descrição do Serviço.</description>
    6
        <image>pasta1/pasta2/pasta3/icone_do_servico.gif</image>
    7
      </service>
    8
    9
      <interfaces> 
    10
        <interface id="identificador da interface" name="Nome da Interface" className="nome da classe que implementa a interface"/>
    11
      </interfaces>
    12
      
    13
    </serviceDefinition>

    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;