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.
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 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 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.
- 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.
- 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)