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;