> Caracteristicas gerais da solução proposta
Migração de Aplicações para Ambiente Web - Uma Abordagem Prática
Visão geral sobre Interfaces e desenvolvimento de sistemas
A interface é o elemento do sistema que viabiliza a um usuário interagir com ele, enviando e recebendo informações. Em razão disso a migração de sistemas para o ambiente Web passa necessariamente pela reengenharia de soluções para lidar com a interface da aplicação. O estudo sobre o desenvolvimento de aplicações mostra um contínuo avanço nas soluções dadas aos projetos de interface.
Inicialmente o mesmo conjunto de instruções que trata do acesso das informações e regras de negócio, também lida com as questões ligadas à interação com o usuário, por meio da disponibilização da interface. Modernamente, com a contínua evolução de métodos e tecnologias disponíveis, o processo de desenvolvimento de sistemas está separado em módulos distintos. Este método denomina-se “Desenvolvimento em Camadas”, permitindo que aplicações convencionais possam ser divididas em componentes principais de acesso aos dados, regras de negócio e interface de usuário (EDWARDS, 1997 apud BELLIN, 2000, p. 15 ).
O avanço da solução proposta, ou seja, a divisão em componentes responsáveis por dados, regras e interface, permite que as corporações, de uma forma geral, distribuam o desenvolvimento de seus projetos em equipes distintas, cada uma responsável por um módulo, especializando-se na solução de problemas mais específicos. Conseqüentemente aparecem nesse momento os profissionais na área de TI, “Tecnologia da Informação”, especializados no desenvolvimento de interfaces para o usuário final.
Ao se analisar a história do desenvolvimento de interfaces, dentro do escopo de Sistemas de Informação, pode-se dividir a sua evolução em três gerações (MARCHAL, 1998 apud BELLIN, 2000, p. 12).
A primeira que se apresenta é a geração a caractere, que faz uso de plataformas baseadas em sistemas operacionais tais como Unix e Ms-Dos, tendo como meio de acesso principalmente terminais ou estações de trabalho, e que lidam basicamente com caracteres.Devido à limitação de recursos, as interfaces construídas com estas tecnologias não permitem uma evolução no que diz respeito à interação entre o usuário e o sistema, prejudicando então a sua utilização.
Após estudos mais aprofundados, verifica-se a necessidade da criação de uma interface com padrões que permitam mais funcionalidade e maior interação com os usuários, dando origem ao aparecimento da interface gráfica.Esta segunda geração, com recursos gráficos, denominada GUI, “Graphic User Interface”, adiciona novos elementos à interface, tais como maior quantidade e tipos de fonte, cores, imagem, som e ergonomia. Além disso, devido a utilização de linguagens de programação orientadas a objeto, tornou-se mais fácil a utilização de janelas, botões, etc, proporcionando uma nova visão aos conceitos de projeto de interface. Dentro do conjunto de etapas para o projeto de um sistema, a camada de interface passa a ser considerada um fator importante, sendo objeto de estudo de diferentes ramos da computação.
Com o aparecimento de Internet surge um novo ambiente e com ele a terceira geração, que propicia mudanças nos conceitos e nos padrões de desenvolvimento de interfaces para sistemas. As empresas que lidam com o desenvolvimento de interface de usuário, percebem na tecnologia Web, muito dos recursos necessários para uma interface gráfica, e que estes podem ser utilizados em seus sistemas internos. Além disso, a utilização destes recursos, permite que os equipamentos instalados para o acesso dos sistemas tenham configurações mais simples e de menor custo. Estes fatores acabam propiciando uma tendência na migração dos sistemas de informação para a nova tecnologia Web.
A evolução do desenvolvimento de interface para o modo gráfico representa uma melhoria para o usuário, facilitando sua interação com o sistema, tornando as operações mais simples e intuitivas. Por outro lado, do ponto de vista do desenvolvedor, embora este já esteja lidando com ferramentas de maior recurso, ocorre um aumento na complexidade do desenvolvimento de aplicações. Em conseqüência destes fatores, o desenvolvimento de interfaces torna-se uma das tarefas mais complexas e caras dentro do processo de desenvolvimento de um sistema (NATAN,1997 apud BELLIN, 2000, p. 13).
Já no ambiente Web, as soluções, como por exemplo, comércio eletrônico e sistemas bancários para acesso doméstico, que distribuem as informações na Internet, permitem a visualização por parte das empresas, de que os mesmos recursos possam ser utilizados em redes corporativas, surgindo assim as Intranets. A Intranet, que é utilização da tecnologia Web nas redes internas das empresas, está permeada de características bastante atraentes, não só por disponibilizar novos recursos como também no aspecto de diminuição de custo.
A seguir são citadas algumas características resultantes da utilização de recursos Web em uma aplicação e que tem impacto direto sobre os custos de implementação e manutenção de interfaces:
- As estações de trabalho, que são os computadores utilizados pelos usuários para terem acesso aos sistemas, não exigem configurações especiais. Basta que o sistema operacional tenha um navegador, recurso este disponível na maioria das distribuições do mercado, pagas ou gratuitas.
- Não são necessários equipamentos de grande poder de processamento; de uma forma geral, computadores com perfil para uso doméstico podem ser utilizados.
- Viabiliza a utilização da tecnologia “thin-client”, ou “cliente leve”, que são máquinas desprovidas de unidades de disco, de baixo consumo de energia e com o sistema operacional gravado em memória não volátil.
Além destas características, os custos inerentes às interfaces de usuários não estão restritos apenas ao seu desenvolvimento. Nas atividades executadas por empresas que lidam com estas questões, também devem ser consideradas a sua instalação, atualização e manutenção.
As interfaces são, em regra geral, executadas nas estações de trabalho, que são computadores conectados às redes das empresas, adquiridos e mantidos por elas. Quanto menor forem os requisitos para estas interfaces, condições estas encontradas no ambiente Web, mais simples serão os equipamentos, portanto gerando menor custo em sua aquisição e manutenção.
A prática demonstra que grande parte do tempo gasto pelos técnicos da área de TI, considerando as fases de instalação e manutenção, é utilizado na recuperação de estações, que por motivos diversos deixaram de funcionar. Ao se tentar colocar estes equipamentos novamente em funcionamento, percebe-se claramente que quanto mais leve for a interface do usuário, menor será o tempo gasto para a sua reabilitação, portanto gerando menor custo com mão de obra.
Embora a utilização de tecnologia Web para desenvolvimento de interfaces reduza de uma forma relevante os custos de infra-estrutura de máquinas e manutenção, os custos de desenvolvimento ainda permanecem elevados. Diminuir estes custos, utilizar soluções que necessitem o mínimo de reengenharia nos sistemas legados e procurar técnicas que sejam o mais aderente possível às aplicações passam a ser questões normalmente enfrentadas pelas organizações.
A busca de soluções para desenvolvimento de interface de usuário com tecnologia Web, que implementem padronização, faça uso de técnicas de fácil acesso à maior quantidade possível de utilizadores, viabilizando menores custos, principalmente nas fases de desenvolvimento e manutenção, sem deixar de lado a questão da qualidade, são elementos que consolidam a necessidade deste artigo.
Além da possibilidade de se utilizar tecnologia de ponta e tendo em vista que o avanço tecnológico, a melhor utilização de recursos, a diminuição de custos, entre outros, são objetivos permanentemente perseguidos pelas empresas, a utilização de recursos Web para o desenvolvimento de interfaces do usuário certamente deve ser considerada.
Observa-se, porém, que tendo em vista todas as etapas envolvidas na construção e disponibilização de interface de usuários, utilizando recursos Web, os custos na fase de desenvolvimento ainda se apresentam relativamente altos. Quando se avaliam as soluções para desenvolvimento disponíveis no mercado, pagas ou gratuitas, invariavelmente são encontrados os seguintes recursos tecnológicos, conforme exposto em “Sistemas de Informação Baseados na Tecnologia Web: Um estudo sobre seu desenvolvimento”, (FRATERNALI, 1999, apud ZANETI, 2003, p. 61).
Editores visuais e gerenciadores de sítios. - Ferramentas baseadas na evolução de editores de páginas Html, que não dão suporte diretamente ao desenvolvimento, principalmente para aplicações baseadas em banco de dados, auxiliando apenas no que se refere ao projeto visual de páginas Web.
Ferramentas de autoria de hipermídia para Web. - Apresentam as mesmas limitações dos editores, não dando apoio ao desenvolvimento estruturado de aplicações, focando principalmente a navegação e apresentação, sendo geralmente utilizadas para aplicações em que as informações não mudam com freqüência, tais como publicações em Cds e Quiosques.
Integradores Web-Dbpl.- Tratam da integração Web e bancos de dados, permitindo a produção dinâmica de páginas a partir de informações anteriormente armazenadas em bases de dados. Devido ao fato de serem focadas em linguagens de programação, estas ferramentas são limitadas em relação ao desenvolvimento, no que diz respeito à identificação da estrutura, navegação e apresentação da aplicação.
Editores de formulários Web. - Utilizados na migração entre cliente-servidor, normalmente de uma interface gráfica já existente, para a tecnologia Web. Permitem a edição de formulários e programação baseada em eventos, criando um repositório de interfaces de usuário que posteriormente será acoplada à aplicação. Dão suporte também ao processo de gerenciamento, teste e manutenção destes formulários.
Ferramentas multi-paradigma. - Integram os diferentes enfoques de desenvolvimento e tecnologias das opções anteriores em uma única solução. Apresentam os mesmos recursos já mencionados, mas não traz consigo novas características para o desenvolvimento, permanecendo as limitações já mencionadas.
Geradores de aplicação. - Proporcionam cobertura completa para todas as atividades de desenvolvimento, utilizando técnicas de engenharia de software, em geral solicitam uma reengenharia de sistemas mais acentuada e que as soluções já existentes sejam adaptadas ao gerador.
A utilização destes recursos, combinados ou não, geralmente passam por duas alternativas descritas a seguir, que podem ser utilizadas separadamente ou em conjunto:
- Aquisição de soluções prontas, que podem ser aplicadas em menor espaço de tempo, mas têm um custo significativo de aquisição e nem sempre são aderentes aos sistemas de informação existentes.
- Construção de soluções sob medida, geralmente executadas pela própria empresa. Esta faz uso da reengenharia de sistemas, demandando mudança de cultura e maior tempo para implementação.
Considerando o exposto, embora as ferramentas apresentadas possam, em função de situações específicas, estar atendendo parcialmente determinadas necessidades, ainda assim, não se percebem elementos claros que apontem para a diminuição dos custos de desenvolvimento.
> Caracteristicas gerais da solução proposta
Migração de Aplicações para Ambiente Web - Uma Abordagem Prática