• Nenhum resultado encontrado

Para a implementa¸c˜ao deste projecto, foram escolhidas as tecnologias ASP.Net para o desenvolvimento das p´aginas do portal, o LINQ - Language Integrated Query - como linguagem integrada na plataforma .Net para realiza¸c˜ao de quest˜oes `a base de dados e ainda uma base de dados SQL Server 2000 para alojar toda a informa¸c˜ao relativa `a loja virtual. De seguida ´e apresentada uma perspectiva geral de cada uma das principais tecnologias utilizadas no desenvolvimento do projecto.

2.2.1 Tecnologias Utilizadas na Implementa¸c˜ao da Solu¸c˜ao

2.2.1.1 ASP.Net

As ASP - Active Server Pages - representam uma tecnologia da Microsoft para a gera¸c˜ao dinˆamica de p´aginas Web. Em 1996 surge a primeira vers˜ao tendo sido distribu´ıda com em conjunto com o IIS 3.0 - Internet Information Services 3.0. Este primeira vers˜ao permitia a utiliza¸c˜ao de v´arias linguagens de scripts para a gera¸c˜ao das p´aginas Web, sendo esses scripts interpretados do lado do servidor enviando apenas ao utilizador o resultado da sa´ıda, que ´e normalmente uma linguagem de marca¸c˜ao como o HTML - HyperText Markup Language.

Em 2002, surge o sucessor desta tecnologia com a introdu¸c˜ao no mercado, por parte da Microsoft, da plataforma .NET, surgindo assim o ASP.NET, o qual veio possibilitar a utiliza¸c˜ao de linguagens como: Visual Basic.NET, o C# e o J#. A introdu¸c˜ao destas linguagens veio facilitar a implementa¸c˜ao de aplica¸c˜oes mais com- plexas. Por forma a correr, num mesmo servidor, tanto as p´aginas ASP e as p´aginas ASP.NET, esta ´ultimas utilizam a extens˜ao .aspx ao inv´es da extens˜ao .asp que indica tratar-se de uma p´agina ASP.

A plataforma ´e executada sobre o CLR (Common Language Runtime) que ´e independente das linguagens de alto n´ıvel, fornecendo a todas as aplica¸c˜oes uma linguagem interm´edia independente do c´odigo nativo ( CIL - Common Intermediate Language) e um formato comum para o c´odigo compilado (assemblies). Sobre esta camada assenta a FCL (.NET Framework Class Library) que ´e composta pelos diver- sos componentes que constituem a plataforma .NET. A arquitectura da plataforma .NET pode ser visualizada na figura 2.9. [Mon]

Revis˜ao Bibliogr´afica

Figura 2.9: Arquitectura .NET

Na plataforma ASP.NET existe a possibilidade de separar a camada de c´odigo da camada de apresenta¸c˜ao sendo, no entanto, necess´ario garantir a rela¸c˜ao entre esses dois ficheiros. No modelo de codifica¸c˜ao do ASP.NET 1.0 era necess´ario que a camada de c´odigo (code-behind ), fosse um implementa¸c˜ao completa da classe Sys- tem.Web.UI.Page e contivesse a defini¸c˜ao de todos os componentes das p´aginas aspx. No modelo 1.0 era necess´ario proceder primeiro `a compila¸c˜ao dos ficheiros code-behind armazenando os dll’s (Dynamic-link library) resultantes da compila¸c˜ao num direct´orio para que pudessem ser usados na compila¸c˜ao das p´aginas aspx. O modelo de codifica¸c˜ao do ASP.NET 1.x pode ser visto na figura 2.10. [Sou07]

Figura 2.10: Modelo de Codifica¸c˜ao do ASP.NET 1.x

Com a chegada do ASP.NET 2.0 os ficheiros de code-behind deixaram de ser uma implementa¸c˜ao da classe System.Web.UI.Page, passando a ser classes parciais que

Revis˜ao Bibliogr´afica

s˜ao utilizados, para em tempo de execu¸c˜ao, se juntar `a p´agina aspx e criar assim uma ´

unica classe. Em rela¸c˜ao ao modelo ASP.NET 1.x, a vers˜ao 2.0 apresenta a vantagem da p´agina aspx n˜ao herdar directamente o ficheiro de code-behind, permitindo assim que qualquer controlo existente na p´agina aspx pode ser automaticamente acedido, n˜ao havendo a necessidade de se estar a declarar todos os controlos. O modelo de codifica¸c˜ao do ASP.NET 2.x pode ser visto na 2.11.

Figura 2.11: Modelo de Codifica¸c˜ao do ASP.NET 2.x

Em finais de 2007 ´e lan¸cada a vers˜ao 3.5 da plataforma ASP.NET, com integra¸c˜ao da tecnologia AJAX e tamb´em a componente LINQ.

2.2.1.2 LINQ

Ap´os duas d´ecadas, a ind´ustria tecnol´ogica alcan¸cou um ponto est´avel na evolu¸c˜ao das linguagens de programa¸c˜ao OO (Orientadas a Objectos). Os programadores in- form´aticos de todo o mundo aceitam naturalmente recursos como classes, objectos e m´etodos. Tendo em conta o estado actual e futuro das tecnologias torna-se evi- dente que o pr´oximo grande desafio passa por reduzir a complexidade no acesso e integra¸c˜ao que n˜ao s˜ao nativamente definidas com recurso `a tecnologia OO. As duas fontes mais comuns de informa¸c˜ao n˜ao-OO s˜ao as bases de dados relacionais e o XML - Extensible Markup Language.

Ao inv´es de se adicionar recursos relacionais ou espec´ıficos do XML `as nossas linguagens e tempo de execu¸c˜ao de programa¸c˜ao, com o recurso ao projecto LINQ, podemos obter uma abordagem mais geral e ao mesmo tempo estamos a adicionar facilidades de consulta `a Framework .NET, podendo ser aplicadas a todas as fontes de informa¸c˜ao e n˜ao apenas a bases de dados relacionais ou XML. Esta tecnologia d´a pelo nome de LINQ - .NET Language Integrated Query. [MICb]

Revis˜ao Bibliogr´afica

LINQ ´e um componente da plataforma .NET Framework da Microsoft que tem por finalidade dotar as linguagens .NET de capacidade para executarem quest˜oes a dados nativos. O LINQ define um conjunto de operadores que podem ser utilizados para consultar, projectar e filtrar dados em vectores, classes enumer´aveis, XML ou bases de dados relacionais. Da mesma forma que permite que qualquer fonte de dados possa ser consultada, exige tamb´em que os dados sejam encapsulados como objectos. Assim sendo, se a fonte de dados n˜ao armazenar nativamente os dados como objectos ´e necess´ario mape´a-los para o objecto dom´ınio. [WIK]

A figura 2.12 ilustra a arquitectura do componente LINQ.

Figura 2.12: Arquitectura do LINQ

A extensibilidade da arquitectura de consulta ´e utilizada no pr´oprio projecto LINQ para fornecer implementa¸c˜oes que funcionem tanto sobre XML como sobre SQL. Os operadores de consulta sobre XML (XLinq) utilizam uma funcionalidade XML, eficiente em mem´oria e de f´acil utiliza¸c˜ao, que permite fornecer `a linguagem de programa¸c˜ao anfitri˜a fun¸c˜oes de XPath/XQuery. Os operadores de consulta sobre dados relacionais (DLinq) s˜ao criados tendo por base a integra¸c˜ao de defini¸c˜oes de esquemas SQL com os sistemas de tipos do CLR. Esta integra¸c˜ao permite uma forte prototipagem sobre os dados relacionais, mantendo ainda o expressivo poder do mo- delo relacional e o desempenho na avalia¸c˜ao de consultas feitas directamente sobre o sistema de armazenamento. [MICb]

2.2.2 Tecnologias Alternativas

Nesta sec¸c˜ao s˜ao analisadas poss´ıveis tecnologias alternativas `as utilizadas na im- plementa¸c˜ao do projecto. Pretende-se assim compreender essas mesmas tecnologias e analisar a sua viabilidade neste projecto.

Revis˜ao Bibliogr´afica

2.2.2.1 Alternativas ao ASP.Net

No que diz respeito a tecnologias para a implementa¸c˜ao de p´aginas Web, destacam- se duas que claramente podemos chamar de alternativas, dada a sua maturidade, robustez, desempenho e flexibilidade. S˜ao elas o PHP (Hypertext Preprocessor ) e o JSP (JavaServer Pages).

• PHP - PHP: Hypertext Preprocessor

A linguagem surgiu por volta de 1994, com o nome de Personal Home Page Tools, por Rasmus Lerdof. Em 1997 foi lan¸cado o novo pacote da linguagem com o nome de PHP/FI que incluia a ferramenta Forms Interpreter, um inter- pretador de comandos SQL. Com o aparecimento do PHP3 surge o primeiro recurso orientado a objectos, que dava o poder de alcan¸car alguns pacotes mas permitia apenas a possibilidade de implementar propriedades e m´etodos. O PHP4 j´a disponibiliza um maior n´umero de recursos orientados a objectos, mas tem como desvantagem o facto da tecnologia n˜ao apresentar handlers, como j´a acontecia no Java. Esse problema foi resolvido na vers˜ao que se encontra agora dispon´ıvel, o PHP5. [LTM08]

O PHP ´e uma tecnologia associada ao conjunto de aplica¸c˜oes LAMP (Li- nux/Apache/MySQL/PHP), por ser uma tecnologia open-source, sendo nor- malmente utilizado em conjunto com bases de dados MySQL e um servidor Apache. Esta tecnologia ´e independente da plataforma, executando exacta- mente do mesmo modo quer esteja em Unix, Windows ou Mac OS.

• JSP - JavaServer Pages ´

E uma tecnologia que permite que c´odigo Java ou determinadas ac¸c˜oes pr´e- definidas possam ser encaixadas num contexto est´atico. Arquitectonicamente, o JSP pode ser visto como uma abstrac¸c˜ao de alto-n´ıvel dos Servlets, tendo como benef´ıcios todas as funcionalidades destes e permitir uma r´apida apren- dizagem. [AA00]

Das trˆes tecnologias para desenvolvimento web abordadas, n˜ao existe nenhuma que se destaque claramente das restantes, sendo todas bastante completas e com elevado potencial. No entanto, a op¸c˜ao recaiu sobre ASP.Net pelo simples facto de esta ser a tecnologia idealizada pela Indra para o desenvolvimento do projecto.

Revis˜ao Bibliogr´afica

Documentos relacionados