Extensibilidade no Web UI Framework para Desenvolvedores de Aplicativos

A extensibilidade permite customizar a interface com o usuário de uma instalação pronta para uso de um aplicativo usando o Extensibility Workbench. Apesar de os desenvolvedores de aplicativos usarem mais o Ambiente de Trabalho de Designer, o Ambiente de Trabalho de Extensibilidade é útil para testar e simular o comportamento das ferramentas do Web UI Framework na interface com o usuário real.

É possível abrir uma tela existente e exibir as mesmas ferramentas da interface com o usuário que eram usadas pelos desenvolvedores de aplicativos para construir a tela usando o Designer Workbench. É possível incluir controles (como botões, rótulos e colunas de grade), painéis, origens de dados e outros itens. O Extensibility Workbench permite personalizar e localizar um aplicativo.

Nota: ao customizar a interface, copie os recursos padrão de um aplicativo e, em seguida, modifique a sua cópia. Não modifique os recursos padrão de um aplicativo.

Visão Geral Funcional

A extensibilidade permite customizar uma instalação existente de um aplicativo no tempo de execução sem recompilar ou alterar o código-fonte original.

A extensibilidade funciona em duas áreas de um aplicativo:
  • A extensibilidade na UI ajuda a mostrar dados mais relevantes e organizados para um usuário final. Isso também ajuda ao mostrar uma versão personalizada localizada de um aplicativo.

    A extensibilidade da UI permite incluir novos widgets numa tela da UI, ocultar widgets existentes, substituir rótulos de campo padrão, customizar o tema para um aplicativo e outras tarefas relacionadas à UI.

    A extensibilidade de UI assume duas formas básicas:
    • Extensibilidade substituta, na qual você substitui completamente as telas prontas para uso por novas telas. Use o Designer Workbench para essa tarefa.
    • Extensibilidade diferenciada, em que você altera partes das telas prontas para uso. Use o Extensibility Workbench para essa tarefa.

      As mudanças que podem ser feitas em um componente existente usando a extensibilidade diferenciada são limitadas a um determinado conjunto de propriedades. Isto garante que não seja permitida a alteração de propriedades arbitrárias, resultando em problemas de upgrade.

    Você pode trabalhar com a extensibilidade de substituição na seguintes camadas: Struts, mashup, apresentação e mashup de XAPI. Com a extensibilidade diferenciada, é possível trabalhar apenas com as camadas de apresentação e de mashup XAPI.

  • A extensibilidade no backend ajuda a executar a lógica de negócios customizada e o processamento. A lógica customizada pode ser conduzida pela integração com outros aplicativos, casos de uso alterados e outros requisitos especiais de um aplicativo.

    A extensibilidade de backend permite alterar as APIs do lado do servidor para executar a lógica de negócios customizada.

Visão geral técnica

A extensibilidade da estrutura da UI possui os detalhes técnicos a seguir:
  • A UI HTML é baseada na estrutura JavaScript do Ext JS.

    Na hierarquia de classes baseada em Ext JS, várias bibliotecas JavaScript têm sua própria hierarquia baseada em classe para criar modelos de objeto O Web UI Framework usa a hierarquia de classes baseada no Ext JS para esse propósito.

  • Cada tela é identificada por um identificador (className) que deve ser exclusivo em um aplicativo.
  • Todo componente em uma tela é identificada por um identificador (sciId) que deve ser exclusivo na tela.
  • Quando um componente é incluído na tela de base, ele não deverá ser removido. Se um componente for removido, e uma extensão tiver sido aplicada com relação ao componente removido, a extensão pode não ser exibida após um upgrade.
A extensibilidade de backend possui os detalhes técnicos a seguir:
  • Para obter o arquivo JSP estendido, o mecanismo de extensibilidade anexa extn ao caminho para obter o caminho src (origem) completo do arquivo de extensão.
  • Aplicativos que consomem apenas o Base UI Framework fornecerão o mecanismo de extensibilidade conforme definido no contrato de interface do Base UI Framework. Não haverá nenhuma implementação padrão no Base de UI Framework.
  • A classe de mashup estendida faz chamadas de XAPI em outros tipos de chamadas. Se um mashup XAPI estiver sendo estendido, então a chamada de XAPI também deve ser feita.
  • Se o mecanismo de extensibilidade não for fornecido no backend de um aplicativo, um erro ocorrerá e será registrado.
  • Se a implementação de mashup não for fornecida no backend de um aplicativo, um erro ocorrerá e será registrado.
Para construir um aplicativo extensível, é essencial seguir diretrizes de design estritas. No Web UI Framework, isso envolve o seguinte:
  • Incluir a lógica de negócios (regras e condições) em um mashup para que seja fácil de reutilizar e alterar.
  • Usando o componente JavaScript do lado do cliente (Ext JS) para construir uma interface com o usuário rica e responsiva (sem lógica de negócios)