Archive for the ‘Artigos’ Category

Software de controlo de versões é um software muito utilizado por programadores com o objectivo de gerir e organizar diferentes versões no desenvolvimento de software.

Este tipo de solução está normalmente implementada em grandes projectos de software, mas cada vez mais é usado em quase todos os projectos que envolvam programação de modo a facilitar a organização e controlo do desenvolvimento por parte de uma equipa.

Alguns dos problemas que podemos encontrar num projecto de desenvolvimento de software são muitas vezes causados pela falta de controlo e gestão das versões. Ao usar um software de controlo de versões é possível fazer rapidamente uma avaliação da situação em que se encontra o desenvolvimento e responder facilmente às seguintes questões:

1 – Quem é que efectuou a ultima alteração ao código e em qual das partes.
2 – A última versão está ou não funcional
3 – Qual o progresso do desenvolvimento

Todas as equipas devem usar um software de controlo de versões, mas podemos rapidamente saber se precisamos ou não de o usar respondendo as seguintes questões:

1 – Alguém já escreveu o código sobre o código criado por outra pessoa por acidente e acabou por perder as alterações?
2 – Tem dificuldades em saber quais as alterações efectuadas em um programa, quando foram feitas e quem as fez?
3 – Tem dificuldade em recuperar o código de uma versão anterior que está em produção?

Se alguma destas situações já tiver acontecido então é porque a equipa necessita de utilizar um software de controlo de versões para se organizar e sobretudo poder recuperar versões anteriores caso existam falhas na nova versão.

As principais vantagens do uso de um software de controlo de versões são:

– Controlo do Histórico: Permitindo com facilidade recuperar o trabalho efectuado anteriormente
– Trabalho em equipa: Torna possível o trabalho num único projecto por vários elementos ao mesmo tempo aumentando a produtividade.

– Marcação e uso de versões estáveis: Torna possível a marcação de versões estáveis.
– Ramificação do projecto: Possibilita a divisão do projecto em várias linhas de desenvolvimento que podem ser desenvolvidas paralelamente.

Existem diversos softwares de controlo de versões actualmente, tais como:

– Source Control do Visual Studio
– Tortoise
– Mercurial
– SVN e AnkhSVN
– Team Foundation Server
– Git
– TFS
– Sourcesafe / CVS

Conclusão:

Em projectos complexos torna-se essencial o uso de um software de controlo de versões, pois não só mantém todo o trabalho organizado como é uma segurança ampliando a possibilidade do trabalho em equipa e em diversos componentes paralelamente.

Share

DTD ou XML Schema

Um documento XML poderá conter vários tipos de informação, ou seja, um documento XML poderá ser adaptado mediante as necessidades.

Para entender-mos melhor este conceito podemos definir o XML como a linguagem mãe e todas as suas adaptações como sub – linguagens ou meta – linguagens. Existem duas meta – linguagens com as quais podemos definir as sub – linguagens que poderemos obter a partir do XML, e são elas o DTD e o XML Schema.

O DTD (Defenition Type Document) utiliza uma sintaxe especial que é diferente da sintaxe do XML. Continua a ser uma linguagem simples embora seja um pouco rara. De modo a evitar a sintaxe especial do DTD tentou-se encontrar uma outra forma de escrever em XML a definição de outra linguagem, foi então que apareceu o XML Schema.

É importante referir que tanto o DTD como o XML Schema permitem comprovar a integridade dos dados de qualquer documento.

É estimado que cerca de 70% das linhas de código escritas pelo programador são orientadas a comprovar a integridade dos dados.
É extremamente importante verificar a integridade dos dados, eliminando assim a probabilidade de processar dados com erros que poderiam tornar-se desastrosos no futuro.

Share

Já expliquei anteriormente que o XML é relativamente simples e que possui poucas normas na sua sintaxe, ou seja, é o programador que adapta as tag’s ao que necessita.

Para o XML conseguir obter esta simplicidade foi necessário recorrer a algumas tecnologias relacionadas, que ficaram encarregues de gerir alguns processos importantes dentro de uma aplicação em XML. Podemos dizer que a sintaxe, a forma de a aplicar, programar e aceder a bases de dados só é da forma que é devido a essas mesmas tecnologias.

Algumas das tecnologias que tornaram o CML tão modular são:

– Conteúdos: DTD ou XML Schema
– Desenho: CSS ou XSL
– Programação: SAX ou DOM

Estas foram as principais tecnologias que ajudaram a tornar o XML tão robusto e simples.

Share

O XML foi criado com o objectivo de colmatar todas as falhas que o HTML tinha, pelo que foi melhor planeado e implementado.

A quando da projecção e criação do XML foi necessário definir algumas prioridades, tais como:

– O XML deveria ser idêntico na forma de receber e processar informação, aproveitando toda a tecnologia já implantada no HTML.
– Ser formal e conciso no modo de processar e armazenar informação.
– Ser fácil de ler e editar
– Ser fácil de implementar, programar e aplicar em sistemas diversos.

Podemos usar o XML em infinitos tipos de trabalhos e esta linguagem apresenta vantagens em diversas situações, tais como:

– Facilitar a comunicação de dados. Se a informação for transferida em XML, qualquer aplicação deveria ser capaz de escrever um documento com os dados em XML e usa-los.
– Facilitar a migração de dados. Caso fosse necessário mover os dados de uma base de dados para outra todo o processo seria facilitado se ambas estivessem em formato XML.
– Integração com aplicações Web. Antigamente cada browser interpretava a informação à sua maneira e era necessário programar em função do browser que seria utilizado. Ao usar o XML passamos a ter apenas uma aplicação que geria e armazenava todos os dados para que estes pudessem ser implementados em qualquer sitio.

Os demonstrados são apenas algumas das muitas funcionalidades que o XML apresenta.

Share

Diferenças entre o HTML e o XML

Como sabemos o HTML e o XML tem em comum a mesma base, ou seja, o SGML pelo que existem algumas semelhanças entre ambas as linguagens, mas também existem muitas diferenças.

Podemos dizer que a principal função do HTML é formatar dados, e para isso usa tag’s para definir a localização que esses mesmos dados irão ocupar. Por outro lado o XML apenas tem como função armazenar e estruturar informação.

Se fizermos uma análise cuidada às principais características de cada uma das linguagens verificamos que para conseguir obter um bom resultado ambas as linguagens terão de trabalhar em conjunto, cada uma na sua área específica.

A principal razão para ser inviável o armazenamento e processamento de grandes quantidades de dados em HTML prende-se com a mistura de estilos e tag’s. Seria extremamente confuso programar em simultâneo a apresentação e formatação dos dados e o armazenamento e processamento desses mesmos dados tudo isto recorrendo a tag’s semelhantes.

Para que possamos tornar a programação mais simples e as aplicações mais robustas devem ser conjugadas ambas as linguagens e usar o HTML apenas para formatar e apresentar dados enquanto  o XML deve ser usado para o armazenamento e processamento da informação.

Share