Conceitos - Projetos

Propaganda
Universidade Federal de Santa Catarina – UFSC
Centro Tecnológico – CTC
Departamento de Informática e Estatística - INE
Disciplina: INE5638 – Introdução a Projetos
Modelagem e desenvolvimento de softwares comerciais
sobre tecnologia aberta em Web 2.0
“Este trabalho visa propor métodos para pequenas empresas de software que
permitam desenvolver aplicações comerciais com baixo custo de ferramentas e
redução da dependência do cliente no pós-venda.
O desenvolvimento abordará tecnologias abertas para Web 2.0, como
frameworks de interface que tragam uma melhor usabilidade e interação mais
ágil e natural neste ambiente.
O sistema será baseado em web-services e poderá ser mantido e usado
independentemente do sistema operacional hospedeiro.”
Aluno:
Carlos Eduardo SIlva
0413809-0
Orientador:
Vitório Bruno MazzolaMotivação
Atualmente, empresas de desenvolvimento de softwares para automação
comercial baseiam-se primariamente em tecnologias proprietárias para construir suas
soluções. Esta tendência, quase totalitária, gera algumas dificuldades e imposições para
as empresas que desejam se tornar clientes destes sistemas.
Com a falta de opção na hora de escolher as tecnologias, devido aos sistemas
necessários serem dependentes de plataforma, os clientes acabam tendo que absorver
custos tangenciais ao software-objeto, como sistemas operacionais e aplicativos de suíte
de escritório.
Além disto, por dependerem de tecnologia fechada para operar seus sistemas
informacionais, as empresas perdem a flexibilidade de montar seu parque tecnológico de
forma mais ajustada.
É necessário um novo paradigma para softwares comerciais, uma nova estrutura
de suporte à informação. Estrutura tal que não crie amarras tecnológicas, que prejudicam
principalmente as pequenas empresas com menos capacidade de absorção de custos. É
preciso usar os recursos financeiros de forma mais inteligente, abrindo caminhos fáceis
para decisões importantes na área tecnológica.
Com um desenvolvimento de software baseado em tecnologias abertas e
conceitos não-convencionais, podemos mudar o atual modelo de compra e adaptação de
softwares comerciais, fazendo com que empresas com menos recursos – que são a
maioria esmagadora no mercado brasileiro - desfrutem da TI com mais facilidade e de
forma ajustada as suas realidades.
Objetivos
Demonstrar técnicas de programação para Web 2.0, para que seja propiciado um
desenvolvimento de aplicativos comerciais de resposta ágil para este ambiente.
Demonstrar funcionalidades de frameworks de interface para Web que permitam
a simulação de um ambiente desktop no navegador de Internet, com uso de janelas,
menus dinâmicos e elementos de interação elaborados.
Demonstrar métodos de comunicação entre clientes e servidores via Web, de
forma que não seja necessário usar a tradicional estrutura de POST e GET do HTTP para
transportar páginas HTML inteiras, o que faz com que a resposta do aplicativo fique
prejudicada.
Demonstrar um sistema de controle financeiro simples como prova de uso das
metodologias e tecnologias descritas no projeto.
Conceitos
Web 2.0
Termo criado em 2003, refere-se a um novo jeito de se desenvolver aplicativos
para a Web. Embora erroneamente remeta à idéia de substituição de tecnologias para a
Web, o termo Web 2.0 indica apenas uma tendência dos desenvolvedores em criar
softwares mais inteligentes, aproveitando melhor o que a Internet oferece em termos de
recursos tecnológicos.
Para este trabalho, será usado o termo Web 2.0 em alusão às características de
baixo tempo de resposta, interface flexível e interação natural com o usuário através do
aplicativo hospedado no próprio navegador Web.
Javascript
Javascript é uma linguagem de programação com conceitos de Orientação a
Objetos. Softwares desenvolvidos em Javascript ficam hospedados internamente no
próprio navegador Web. Por ser independente de navegador e sistema operacional, além
de não requerer instalação manual do software para ser utilizada, será a tecnologia
escolhida para desenvolver a porção cliente deste projeto.
CGI
Desenvolvido em 1993 pelo NCSA (National Center for Supercomputing
Applications), a Common Gateway Interface ou CGI, é uma descrição de protocolos
através dos quais programas heterogêneos (diferentes plataformas, linguagens de
programação ou sistemas operacionais) podem se comunicar através de um canal de
troca de dados como a Internet. Com a CGI, podemos desenvolver páginas da Web
dinâmicas ou web-services que serão disponibilizados através da Internet.
Perl
Practical Extraction and Report Language ou Perl é uma linguagem de
programação desenvolvida inicialmente por Larry Wall no final da década de 1980. Com o
desenvolver da linguagem durante a década de 1990 e a sua incrível capacidade de
aplicar facilmente os conceitos da CGI, o Perl se tornou a linguagem mais utilizada para
aplicativos Web. Neste trabalho, Perl será o ator principal que atuará ao lado do servidor,
implementando todas as regras de negócio, fazendo consultas à base de dados e
retornando os resultados das operações para o cliente através da CGI.
XML
A eXtensible Markup Language é uma linguagem de marcação com tags
personalizáveis. Com esta característica, permite criar linguagens para representar
virtualmente todo tipo de dados - de fórmulas matemáticas, passando por estruturas
moleculares, até receitas de bolo. Esta linguagem é amplamente utilizada no mundo dos
softwares cliente/servidor como forma palpável de padronizar a troca de dados entre
sistemas heterogêneos. Neste projeto, toda a comunicação entre os softwares cliente e
servidor será feita usando-se XML como linguagem comum.
Cliente/Servidor
Conceito de desenvolvimento de softwares de forma distribuída. Na arquitetura
cliente/servidor, o cliente não precisa implementar todos os serviços de que necessita. Ele
pode, através de um protocolo previamente definido, consultar um servidor que
implemente os métodos necessários e solicitar que este servidor execute a operação
desejada, retornando a resposta através de um canal de comunicação como a Internet.
Tecnologias a serem estudadas

PWC – Prototype Window Class

Framework para interfaces de aplicativos Web que implementa o conceito de
janelas, como nos sistemas operacionais modernos.

AJAX – Asynchronous Javascript And XML

Paradigma de programação para a Web que permite a troca de informações entre
cliente e servidor através da Internet de forma assíncrona.

XML – eXtendable Markup Language

Linguagem de marcação com tags personalizáveis. Será a base para troca de
dados entre cliente e servidor para este projeto.
Material
Para o desenvolvimento do projeto, serão usadas as documentações on-line das
tecnologias envolvidas, artigos disponíveis pŕopria Web, além de livros sobre AJAX e Perl.
Resultará do desenvolvimento do trabalho um software
simplificado de gestão financeira (cliente e contas a
receber) para um ambiente de restaurantes.Referências
WIKIPÉDIA, Web 2.0 – Disponível em <http://pt.wikipedia.org/wiki/Web_2.0> Acessado em 18 de Julho de 2007.
DEITEL, H. M.; DEITEL, P. J.; NIETO, T. R. Internet & World Wide Web. trad.
Edson Furmankiewicz. - 2.ed. Porto Alegre : Brookman, 2003.
DEITEL, H. M.; DEITEL P.J.; NIETO T. R.; MCPHIE, D. C. Perl: Como
Programar. trad. Carlos Arthur Lang Lisbôa. - Porto Alegre : Brookman, 2002.
Download