Uniface

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Question book.svg
Esta página ou se(c)ção não cita fontes fiáveis e independentes (desde Novembro de 2010). Por favor, adicione referências e insira-as no texto ou no rodapé, conforme o livro de estilo. Conteúdo sem fontes poderá ser removido.

O Uniface é uma plataforma de desenvolvimento e implantação para aplicações corporativas que rodam num grande número de ambientes, incluindo dispositivos móveis, mainframe, WEB, SOA, Windows, Java EE e .NET. As aplicações Uniface são independentes de plataforma e de banco de dados. O Uniface fornece um ambiente de integração que possibilita que as aplicações Uniface se integrem com os principais sistemas de gerenciadores de banco de dados e com várias outras tecnologias, como produtos baseados em mainframe (CICS, IMS), web services, SMTP e POP email, diretórios LDAP, .NET, C, programas C++ e Java. O Uniface roda em Windows, Windows Mobile, vários tipos de Unix e Linux, IBM iSeries/AS400, z/OS e VMS. O Uniface pode ser usado em sistemas complexos que mantem dados corporativos críticos que dão suporte a processos de negócios vitais, como aplicações WEB para compras online, transações financeiras, administração de salários e controle de estoques. O Uniface é atualmente usado por milhares de empresas em mais de 30 países, com uma base instalada de milhões de usuários. As aplicações Uniface variam de cliente/servidor a WEB, e de entrada de dados a workflow, incluindo também portais que são acessados localmente, via intranets e internet. Originalmente desenvolvido na Holanda pela empresa Inside Automation, mais tarde chamada Uniface B.V., tanto o produto quanto a empresa foram adquiridos pela Compuware Corp, baseada em Detroit (USA), em 1994, mas o laboratório de desenvolvido ainda está localizado em Amsterdão.

Produtos Uniface[editar | editar código-fonte]

A platforma do Uniface fornece uma variedade de ferramentas de desenvolvimento e implantação, a maioria delas compõe a Suíte de Plataforma de Aplicação do Uniface (APS). O APS inclui:

  • Ambiente de Desenvolvimento do Uniface—uma coleção integrada de ferramentas de modelagem, implementação, compilação, debug e distribuição de aplicações.
  • Uniface Flow—um ambiente para desenvolver e implementar processos de negócios.
  • Uniface View—um portal de integração de aplicações que fornece um desktop organizado para documentos WEB, relatórios de banco de dados, aplicações e outros recursos corporativos.

As aplicações Uniface (incluindo o ambiente de Desenvolvimento, o Uniface Flow e o Uniface View) usam uma infraestrutura comum de runtime, consistindo de:

  • Mecanismo de Runtime do Uniface (Uniface Runtime Engine) —uma plataforma específica de processos que interpretam e executam componentes de aplicações compilados e bibliotecas.
  • Uniface Router—um processo “multi-threaded” responsável pela comunicacão entre os processos do Uniface. Ele inicia e para processos do servidor Uniface, realize balanceamento de carga e passa mensagens entre os vários processos do Uniface.
  • Servidor Uniface (Uniface Server) – um processo de servidor que abilita clientes Uniface a acessarem recursos remotes ou a executar componentes remotamente. Ele atua como um servidor de aplicações, um servidor de dados e um servidor de arquivos.
  • Repositório do Uniface—um sistema de gerenciamento de banco de dados, baseado em SQL, utilizado para guarder definições e propriedades de objetos de desenvolvimento, processos e modelos de organizações e definições de portais.
  • Servidor WEB —o Uniface incorpora o Servidor Apache Tomcat Server para desenvolvimento e testes de aplicações web, mas qualquer servidor web pode ser usado no ambiente de produção.
  • Servlets—servlets Java que atuam na comunicação entre o servidor web e o Servidor Uniface para aplicações web e web services desenvolvidos em Uniface.
  • Conectores de Banco de dados (Database connectors) —“drivers” que fazem a conexão entre o Uniface e uma variedade de bancos de dados.
  • Ferramentas de Integração—drivers, componentes, e APIs que tomam conta da comunicação entre o Uniface e aplicações terceiras e outras tecnologias, incluindo Java, CICS, IMS, LDAP, SMTP, POP, comandos do sistema operacional, COM, e muito mais.

Aém disso, o Uniface JTi (Java Thin Client Interface) possibilita que aplicações Uniface cliente servidor sejam enviadas a qualquer computador conectado a rede ou através da Internet. O Uniface usa uma linguagem procedural proprietária chamada Proc que é usada para codificar o comportamento de uma aplicação. O Uniface automatiza a maior parte das operações de entrada e saída através do seu kernel e código default, portanto comportamento mais fundamental nao necessita ser codificado.

Aplicações Uniface[editar | editar código-fonte]

As aplicações Uniface são baseadas em componentes - programas independentes de infraestrutura que podem criar ou usar dados guardados em um ou mais bancos de dados ou sistemas de arquivos. Elas podem ser aplicações compostas que incluem componentes que não sejam Uniface, criados em outras ferramentas de desenvolvimento, e estas aplicações podem ser implementadas em um ambiente cliente servidor distribuído ou em um ambiente web, como aplicações de dispositivos móveis ou web services e em ambientes de mainframe. O Uniface tem uma variedade de tipos de componentes que podem ser usados em diferentes camadas de uma arquitetura de camada múltipla. Componentes para a camada de apresentação são responsáveis pela interface de usuários, e incluem:

  • Formulários (Forms) —telas interativas para mostrar e atualizar dados num ambiente cliente/servidor.
  • Páginas WEB (Server Pages) —páginas interativas para mostrar e atualizar dados num ambiente web.
  • Relatórios (Reports) —layouts para apresentação de dados num formato impresso

Componentes para a camada de lógica de negócios lida com regras e comportamento específico de tarefas e não possuem interface de usuário:

  • Serviços (Services) – oferecem funcionalidade de processamento e de lógica de negócios quando chamados por outros componentes, tanto local quanto remotamente.
  • Serviços de Sessão (Session Services) – centralizam regras de negócios complexas que afetam múltiplas entidades de dados, como por exemplo comportamento específico de tarefas, transações e integridade referencial.
  • Serviços de entidades (Entity Services) – centralizam regras de negócios simples para entitdades de dados únicas.

A camada de acesso a dados contem estruturas de banco de dados físicas existentes no modelo de aplicação do Uniface. O Uniface assegura acesso a dados físicos através do encapsulamento do SQL em seus conectores de sistemas gerenciadores de banco de dados. O acesso a rede e ao middleware são encapsulados nos drivers de middleware e no Uniface Urouter. O mecanismo de runtime executa os componentes de aplicação. Ele mostra componentes de apresentação usando o conector de interface de usuário (tanto GUI quanto caracter), e manda e recebe dados através do conector de banco de dados.

Licenciamento[editar | editar código-fonte]

O controle de licenças é feito através do software Compuware Distributed License Manager (DLM), um sistema de distribuição de licenças para estações baseado em servidor centralizado, evitando a necessidade de instalar as licenças em cada estação.

História do Uniface[editar | editar código-fonte]

Inicialmente chamado de UNIS, o produto foi criado na Holanda em 1984 pela empresa Inside Automation, cujo presidente era Bodo Douque e tendo como diretor técnico Frits Kress. Em 1986, a empresa e o produto mudaram seus nomes para Uniface. O Uniface foi desenvolvido baseado nos princípios de Arquitetura em 3 modelos (ou metamodelos), do Instituto Nacional Americano de Padrões (3-schema architecture do American National Standards Institute, - ANSI). A primeira proposta foi feita em 1975, esta era a abordagem padrão para a criação de sistemas de gerenciamento de banco de dados, constituído de 3 modelos (ou metamodelos):

  • Modelo Conceitual – definição de todos itens de dados e os relacionamentos entre os mesmos. Existe somente um modelo conceitual por banco de dados. Uniface implementa o modelo Conceitual como modelo de Aplicação, também conhecido como Modelo de Objetos de Negócio e Modelo de Objetos da Aplicação, dependendo da versão do Uniface em uso.
  • Modelo Externo – visualização externa dos dados, com foco no usuário. Podem existir vários modelos externos para um mesmo banco de dados.

O Uniface implementa o modelo Externos como componentes. Atualmente, o modelo Externo é composto de:

  • Formulários (Forms) -Formulários são telas cliente/servidor, formulários “escondidos” são executados em segundo plano sem mostrar informação alguma ao usuário,
  • Serviços (Services) -Serviços são divididos em serviços de sessão, para manipular objetos na camada de negócio e serviços de entidade que podem ser utilizados na camada de negócio ou na camanda de acesso a dados.
  • Relatórios (Reports) -Formulários “escondidos” que imprimiam informações ao invés de apresentá-las na tela se tornaram Relatórios.
  • Páginas WEB (Server Pages) -Server Pages são divididas em Uniface Server Page (USP), criada para suportar o desenvolvimento de páginas WEB 1.x, e Dynamic Server Page (DSP) , criada para suportar o desenvolvimento de páginas WEB 2.0.
  • Modelo Interno – definição da representação física dos dados armazenados. O Uniface utiliza, de maneira independente os modelos internos de diversos sistemas de banco de dados relacionais, que podem ser trocados a qualquer momento.

O Uniface foi desenvolvido em um computador DEC-VAX, utilizando seu sistema de gerenciamento de arquivos nativo, o RMS. Um vestígio disto ainda é visto no produto atualmente: a utilização da tecla "GOLD" para alterar os modos (terminais DEC VT realmente possuíam uma tecla dourada ou amarela no teclado). Atualmente, a tecla "GOLD" é mapeada para a tecla “+” do teclado do numérico reduzido. Embora o Uniface pudesse acessar diversos gerenciadores de banco de dados, as primeiras versões do produto foram disponibilizadas em conjunto com SGBDR Sybase sob o nome de FastBuild. O Uniface evoluiu continuamento para suportar novas tecnologias e arquiteturas de aplicação. Este é um fator crítico de sucesso, pois as aplicações desenvolvidas em Uniface podem ser migradas, atualizadas e modernizadas sem desperdiçar o investimento feito em desenvolvimento ao longo do tempo.

Versões do Uniface[editar | editar código-fonte]

Uniface Versão 3 (1986) O Uniface 3 foi o primeiro release público. Possuía suporte a múltiplos bancos de dados (RMS, Oracle, C_ISAM, Ingres, e RDB); interpretação de máquina virtual; o editor de Estruturas; o editor Uniface para arquivos texto e comandos.

Uniface Versão 4 (1988) O Uniface 4 melhorou o editor de texto (agora editor de Formulários), o suporte à impressão e dispositivos de tela, introduziu o suporte ao MS-DOS e a interface com ferramentas CASE.

Uniface Versão 5 (1990) O Uniface 5 disponibilizou a implantação cliente/servidor através do acesso remoto a sistemas gerenciadores de banco de dados via Polyserver. Foi a primeira versão do produto a utilizar interface gráfica para usuário via Interface Universal de Apresentação. O suporte a banco de dados foi estendido, totalizando 13 diferentes tipos, nos sistemas operacionais DOS, VMS, OS/2, Stratus VOS e Unix. Foi também a primeira versão a permitir a utilização do idioma japonês.

Uniface Six (1994) O Uniface Six finalizou a mudança para ambiente gráfico de desenvolvimento através do desenhador gráfico de formuários e editor modelo de aplicação; aperfeiçoou o processo de implantação através das biblioteca dinâmica de objetos; adicionou suporte para Microsoft OLE (Object Linking and Embedding), suporte para Apple Macintosh; controle de permissões; controle de versões interno; ferramenta de criação de relatórios Personal Series (que seria descontinuado posteriormente, quando o parceiro que era responsável pelo produto decidiu não efetuar melhorias no mesmo); suporte adicional a outras plataformas/sistemas operacionais.

Uniface Seven (1997) O Uniface Seven teve como foco a integração de componentes desenvolvidos em Uniface ou em outra linguagem de programação, através do agente Uniface de requisição (Uniface Request Broker-URB). O URB suporta comunicação bi-direcional, síncrona ou assíncrona entre os componentes. Utilizando o mesmo conceito do acesso remoto a dados (Polyserver), foi adicionado o Servidor de Aplicação e manipulação de fila de mensagem Uniface. Esta versão foi a primeira a disponibilizar um ambiente de desenvolvimento e implantação para WEB, que utilizava os produtos Uniface Web Application Server e Uniface Request Dispatcher. Outras melhorias foram feitas, como: nos tipos de componentes (Services, Server Pages, Reports); editor de Assinaturas (Signature Editor) e integração de componente (Assembly Workbench) ; subsistemas; suporte à criação de operações; formulários non-modal; instâncias de componentes; melhorias nos editores internos/externos e na navegação do ambiente de desenvolvimento; novo depurador de código; mecanismo de ajuda integrado; modelos de componentes; melhorias no processo de consistências/validações; gerenciador gráfico de particionamento de aplicações; Uniface Web Application Server; Uniface Name Server. O Uniface Seven foi responsável pela introdução de outras ferramentas:

  • Uma ferramenta para modelagem, integração e gerenciamento de processos de negócio. Esta funcionalidade se tornaria o produto inicialmente chamado de Optimal Flow e atualmente Uniface Flow.
  • Um portal corporativo de integração de negócios, inicialmente chamado Optimal View, e atualmente Uniface View.
  • Uma solução baseada em servidor para disponibilização de aplicações Uniface cliente/servidor em ambiente WEB (Internet ou Intranet) , com alto desempenho e baixo consumo de recursos de rede – Uniface JTi.

Uniface 8 (2001) O Uniface 8 foi responsável por melhorias significativas na área de integração de processos de negócio. Foram introduzidos o Uniface Router e Uniface Server, responsáveis por prover escalabilidade e balanceamento de carga. O Web Request Dispatcher (WRD) substituiu o Uniface Request Dispacther (URD), melhorando o desempenho das aplicações WEB. Foram introduzidos ainda: suporte para Web Services, SOAP, XML e um modelo de implementação arquitetura em 3 camadas. Conectividade e interoperabilidade foram melhoradas. Conectores para SOAP, COM, CORBA e MQSeries foram adicionados; gerenciamento de janelas e arquivos foram melhorados; uma nova ferramenta de implantação foi disponibilizada; foram disponibilizados handles para melhoria na utilização de instancias de componentes e um coletor de lixo de memória automático foi criado.

Uniface 9 (2006) A versão 9 do Uniface teve como tema a melhoria do ambiente gráfico e sua usabilidade, implantação em clientes “magros” e integração. Suporte ao Windows Móbile foi adicionado; configuração e implantação foram simplificadas com a utilização de arquivos do tipo ZIP. Foi melhorado o suporte a Unicode para propiciar a utilização de outros idiomas, além de melhorias substanciais na área de desenvolvimento para WEB e manipulação de XML, utilizando padrões disponíveis no mercado. A movimentação dinâmica de campos em Formulários eliminou uma antiga barreira relativa à flexibilidade. Outras funcionalidades foram incluídas como melhorias na manipulação de cores, menus dinâmicos, API para manipulação de XML, criação de um editor gráfico para o Modelo de Aplicação; melhoria na funcionalidade de referência cruzada para suportar refactoring e implantação e no mecanismo de manipulação de Web Services.

Uniface 9.4 (2010) Embora considerada uma versão pontual, esta versão inclui novas funcionalidades e poderia ser considerada como uma nova versão. O foco principal foi na funcionalidade para criação de Aplicações Ricas para Internet (RIA- Rich Internet Application), que torna possível desenvolver aplicações para WEB 2.0, utilizando as mesmas ferramentas e metodologias utilizadas no desenvolvimento de uma aplicação cliente/servidor. Melhorias substanciais foram feitas na manipulação de idiomas e localização de aplicações, bem como foi incluído o suporte a envio de mensagens eletrônicas no formato HTML, segurança e criptografia de dados.

Uniface 9.5 (2011) O lançamento do Uniface 9.5 melhorou a integração do produto com o ‘World Wide Web’. A introdução de uma API Javascript, juntamente com outras melhorias, significa que o processamento do código na parte cliente trará benefícios nas áreas de performance, integração, funcionalidade e usabilidade. A capacidade de gerenciamento de sessão foi estendida para oferecer maior segurança. E o processamento de Web Services agora suporta tipos de dados complexos para ambos os serviços SOAP e RESTful. Houve também melhorias para clientes rodando aplicações de missão crítica cliente-servidor, especialmente na área de ‘grid widgets’.