Monografia - Titao Yamamoto

709 visualizações

Publicada em

Este trabalho tem como base metodológica uma pesquisa exploratória e descritiva, na qual se buscou evidenciar a importância de ter um sistema publicado na nuvem. Para tanto, objetiva desenvolver e publicar na nuvem um sistema inicialmente desenvolvido focando a web, o que o mercado de trabalho já conhece. O documento destaca ainda o processo de publicação na nuvem, na utilização do Windows Azure para a hospedagem do serviço e do SQL Azure para o banco de dados na nuvem. Com isso a proposta é apresentar um sistema que visa expor melhor os potencias dos alunos do curso de ciências da computação do UNIPÊ. Como resultado espera-se que este trabalho sirva de referência para profissionais e estudantes da área.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
709
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
19
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Monografia - Titao Yamamoto

  1. 1. CENTRO UNIVERSITÁRIO DE JOÃO PESSOA - UNIPÊ PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO CURSO DE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO TITAO YAMAMOTO JÚNIORPROJETO DE DESENVOLVIMENTO WEB PUBLICADO NA NUVEM JOÃO PESSOA - PB 2010
  2. 2. TITAO YAMAMOTO JÚNIORPROJETO DE DESENVOLVIMENTO WEB PUBLICADO NA NUVEM Monografia apresentada ao Curso de Bacharelado em Ciências da Computação do Centro Universitário de João Pessoa - UNIPÊ, como pré-requisito para obtenção do grau de Bacharel em Ciências da Computação, sob orientação do Prof. Odilon Nelson Grisi Dantas. JOÃO PESSOA - PB 2010
  3. 3. Y19p Yamamoto, Titao Júnior. Projeto de desenvolvimento web aplicado a nuvem / Titao Yamamoto Júnior, -- João Pessoa, 2010. 49f. Monografia (Curso de Ciências da Computação) – Centro Universitário de João Pessoa – UNIPÊ. 1. Identificação de um padrão de currículos. 2. O banco de talentos. 3. Plataforma de serviço Azure 4. Publicação do sistema na nuvem I. Título.UNIPÊ / BC CDU - 004
  4. 4. TITAO YAMAMOTO JÚNIOR PROJETO DE DESENVOLVIMENTO WEB PUBLICADO NA NUVEMMonografia apresentada ao Curso de Bacharelado em Ciências da Computação do CentroUniversitário de João Pessoa - UNIPÊ, como pré-requisito para obtenção do grau deBacharel em Ciências da Computação, apreciada pela Banca Examinadora composta pelosseguintes membros:Aprovada em ______/_______/2010 BANCA EXAMINADORA _________________________________________ Profº Odilon Nelson Orientador - UNIPÊ _____________________________________________ Profº. Dr. Luis Mauricio Fraga Martins Co-Orientador - UNIPÊ ______________________________________________ Examinador - UNIPÊ ______________________________________________ Examinador - UNIPÊ
  5. 5. Dedico este trabalho a minha mãe Suely,meu pai Titao, meus irmãos, familiares eamigos que estiveram sempre ao meu lado eacreditaram em mim.
  6. 6. Agradecimentos Em primeiro lugar, agradeço a Deus que até aqui ele tem me ajudado. Agradeço todaminha família, em especial aos meus pais, Titao Yamamoto e Suely Guimarães que nuncamediram esforços pra me proporcionar tudo o que eu precisasse para construir uma carreira,uma vida. Espero sinceramente um dia ser capaz de retribuir e honrar todo este sacrifício, eoferecê-lo para meus filhos da mesma forma que me foi oferecido. Agradeço ao meu irmão por ser fonte de risos e distrações constantes na minha vida,por me agüentar e apesar de nem sempre eu demonstrar, ele me enche de orgulho e me dáforças para continuar a ser um bom exemplo. Agradeço aos meus amigos Thiago Grandino, Jarbas Dokimos, Everton Macedo,Rinker Cabral, Rayan Rodrigues, Charles Andrade, Rogerio Cabral, Erick Newman, AldairCorreia, Rhayani Cabral, Suenya Grandino, Mércia Almeida, aos meus amigos dauniversidade que já concluíram, em especial a Armanda Maria, Felipe Queiroz, EvilásioAyres, Daniel Xavier, Natasha Tavares, Sanmara Alves e os que ainda estão para concluir aThiago Paiva, Leonardo Lívio, Thomas Cristanis e Edson Cavalcante “Lobão” e os que nãoestão mencionados aqui, mas sabem que os agradeço muito. Agradeço ao diretor Pedro Alves, da empresa Vsoft Tecnolgia, onde pude vivenciarum ambiente de trabalho profissional e familiar, que muito me ajudou a desenvolver meupotencial e meus conhecimentos antes teóricos e adquirir novas habilidades que se provaramfundamentais para uma boa carreira profissional, aos também amigos Marta Regina, IvandroSá, Alex Dekker, Adriana Oliveira e outros que aqui não foram mencionados. Agradeço aos meus amigos profissionais que muito me ajudaram de algum modo aolongo da minha pessoal, acadêmica e profissional, como Adriano Santos, Roberta Macêdo,Vinícius Rocha, Teoni Valois, Robertárcio Pereira, entre outros aqui não mencionados, massabem que de alguma forma seus nomes aqui também estão. Agradeço também a todos meus professores que se fizeram especial ao longo daminha jornada acadêmica e o apoio dado pelo orientador e co-orientador, Prof. Odilon Nelsone Prof. Luiz Mauricio, respectivamente.
  7. 7. “A utopia está lá no horizonte. Meaproximo dois passos, ela se afasta doispassos. Caminho dez passos e ohorizonte corre dez passos. Por mais queeu caminhe, jamais alcançarei. Para queserve a utopia? Serve para isso: paraque eu não deixe de caminhar.” Eduardo Galeano
  8. 8. 8YAMAMOTO, Titao Júnior. Projeto de desenvolvimento web publicado na nuvem.João Pessoa, 2010. 49f Monografia (Bacharelado em Ciências da Computação) –Centro Universitário de João Pessoa, UNIPÊ. RESUMO Este trabalho tem como base metodológica uma pesquisa exploratória edescritiva, na qual se buscou evidenciar a importância de ter um sistema publicado nanuvem. Para tanto, objetiva desenvolver e publicar na nuvem um sistema inicialmentedesenvolvido focando a web, o que o mercado de trabalho já conhece. O documentodestaca ainda o processo de publicação na nuvem, na utilização do Windows Azure paraa hospedagem do serviço e do SQL Azure para o banco de dados na nuvem. Com isso aproposta é apresentar um sistema que visa expor melhor os potencias dos alunos docurso de ciências da computação do UNIPÊ. Como resultado espera-se que este trabalhosirva de referência para profissionais e estudantes da área.Palavras-chave: Computação em nuvem. Plataforma de serviço Azure.Desenvolvimento web.
  9. 9. 9YAMAMOTO, Titao Júnior. Projeto de desenvolvimento web publicado na nuvem.João Pessoa, 2010. 49f Monografia (Bacharelado em Ciências da Computação) –Centro Universitário de João Pessoa, UNIPÊ. ABSTRACT This work builds on a methodological exploratory and descriptive, in which hesought to highlight the importance of having a system published in the cloud. For this, itaims to develop and publish on a cloud system originally developed focusing on theweb, what the job market already knows. The document also highlights the process ofpublication in the cloud, the use of Windows Azure for service hosting and SQL Azurefor the database in the cloud. Therefore the proposal is to introduce a system designedto better display the potential of students of computer science of UNIPÊ. As a result it isexpected that this work will serve as a reference for professionals and students in theareaPalavras-chave: Cloud Computing, Azure Service Plataform. Web Development.
  10. 10. 10 LISTA DE ILUSTRAÇÕESFigura 1: Marca do projeto ............................................................................................. 27Figura 2: Print Screen do sistema Student Link. ............................................................ 28Figura 3: Print Screen do sistema Student Link. ............................................................ 28Figura 4: Diagrama UML de Casos de Uso geral do Student Link. ............................... 30Figura 5: Representa o DMD para Universidade, Cursos e Faculdade. ......................... 31Figura 6: Tela principal do nDeveloper Studio com o template padrão para geração declasses de acesso a dados. ........................................................................................... 32Figura 7: Parte do código gerado para acesso aos dados da universidade peloNDeveloper. .................................................................................................................... 33Figura 8: Arquitetura lógica do Student Link. ................................................................ 34Figura 9: Imagem do Projeto UI.Web no Visual Studio. ............................................... 34Figura 10: Código gerado para camada de Business Logic. ........................................... 35Figura 11: Imagem do Projeto DataAcess no Visual Studio. ......................................... 36Figura 12: Código gerado para camada Info. ................................................................. 37Figura 13: Código sendo utilizado na camada UI.Web. ................................................. 37Figura 14: A Plataforma de Serviço Azure suporta aplicativos executados na nuvem eem sistemas locais. ......................................................................................................... 38Figura 15: Funcionamento das aplicações no Windows Azure. ..................................... 40Figura 16: Partes principais do Windos Azure. .............................................................. 40Figura 17: Inserção de novo projeto. .............................................................................. 42Figura 18: Novo projeto criado na solução. ................................................................... 43Figura 19: Novos arquivos gerados. ............................................................................... 43Figura 20: Opções do Windows Azure........................................................................... 44Figura 21: Deploy da aplicação. ..................................................................................... 45Figura 22: Start da aplicação. ......................................................................................... 45Figura 23: Página de administração do SQL Azure. ...................................................... 46Figura 24: Acesso ao SQL Azure pelo SQL Server Management Studio. ..................... 46
  11. 11. 11 LISTA DE ABREVIATURAS E SLIGASAPI – Application Programming InterfaceCERN - European Nuclear Research CenterDBA - Database AdministratorWWW - World Wid WebSAAS - Software as a ServicePAAS - Platform as a ServiceIAAS - Infrastructure as a ServiceDAAS - Data as a ServiceCAAS - Communication as a ServiceSDK - Software Development KitFDD - Feature Driven DevelopmentRUP - Rational Unified ProcessRAD - Rapid Application DevelopmentIDE - Integrated Development EnvironmentUML - Unified Modeling LanguageDMD - Database Model DiagramSQL - Structure Query LanguageCASE - Computer-Aided Software Engineering
  12. 12. 12 SUMÁRIO1 INTRODUÇÃO ..................................................................................................... 142 PROCEDIMENTOS METODOLÓGICOS ....................................................... 17 2.1 CARACTERIZAÇÃO DA PESQUISA .......................................................... 17 2.2 PROBLEMATIZAÇÃO .................................................................................. 18 2.3 OBJETIVOS .................................................................................................... 18 2.3.1 Objetivo Geral .......................................................................................... 18 2.3.2 Objetivos Específicos ............................................................................... 19 2.4 CAMPO EMPÍRICO ....................................................................................... 193 FUNDAMENTAÇÃO TEÓRICA ....................................................................... 20 3.1 COMPUTAÇÃO EM NUVEM ....................................................................... 20 3.2 PIONEIRISMO ................................................................................................ 21 3.3 ESTRATÉGIA ................................................................................................. 22 3.4 PROCESSO DE DESENVOLVIMENTO DE SOFTWARE ......................... 234 O BANCO DE TALENTOS ................................................................................. 25 4.1 IDENTIFICAÇÃO DE UM PADRÃO DE CURRÍCULOS ........................... 25 4.1.1 Como deve ser um bom currículo............................................................. 25 4.1.2 Modelo do currículo ................................................................................. 26 4.2 PLANO VISUAL ............................................................................................ 26 4.2.1 Logotipo ................................................................................................... 26 4.2.2 Visual do Site ........................................................................................... 27 4.3 ANÁLISE DE REQUISITOS .......................................................................... 29 4.4 CASO DE USO ............................................................................................... 29 4.5 IMPLEMENTAÇÃO ....................................................................................... 30 4.5.1 Tecnologias, ferramentas e componentes utilizados ................................ 30 4.5.2 Ferramenta para Modelagem .................................................................... 31 4.5.3 Ferramenta de Geração de Código ........................................................... 31 4.5.4 Tecnologias e componentes ...................................................................... 33 4.6 ARQUITETURA ............................................................................................. 33
  13. 13. 13 4.6.1 Camada UI.Web ....................................................................................... 34 4.6.2 Camada Business Logic ............................................................................ 35 4.6.3 Camada de Persistência ............................................................................ 35 4.6.4 Camada Info ............................................................................................. 365 PLATAFORMA DE SERVIÇO AZURE ........................................................... 37 5.1 WINDOWS AZURE ....................................................................................... 39 5.2 SQL AZURE.................................................................................................... 41 5.3 PRIMEIROS PASSOS DA PUBLICAÇÃO ................................................... 42 5.3.1 Gerando os arquivos de publicação .......................................................... 42 5.4 PUBLICAÇÃO NA NUVEM ......................................................................... 44 5.4.1 Windows Azure ........................................................................................ 44 5.4.2 SQL Azure ................................................................................................ 456 CONSIDERAÇÕES FINAIS ............................................................................... 47REFERÊNCIAS ........................................................................................................... 48
  14. 14. 141 INTRODUÇÃO Em março de 1989, o engenheiro e cientista da computação Sir Tim BernersLee, escreveu uma proposta de gerenciamento de informação que, logo no inicio, tinhao intuito de disponibilizar informações apenas entre os cientistas. Ainda no mesmo ano,nos laboratórios da European Nuclear Research Center (CERN), este cientista juntou-seao também cientista da computação Robert Cailliau, para que fortalecessem a idéia econseguisse atingir o objetivo antes definido, a proposta que viria a se chamar WorldWid Web (WWW), ou simplesmente web. A web foi então lançada no mês de dezembroem 1990. Desde então muitas modificações significativas e constantes vêem sendo feitas.O crescimento da web começa em 1990, após a CERN, publicar o novo projeto “WorldWide Web”. Chegando ao final de 1994 a web havia crescente interesse público, e o queantes era considerada muito técnica e acadêmica começa a ser acessível ao públicogeral. Antes mesmo de existir a web, já era citado o modelo que hoje conhecemoscomo cloud computing, ou computação em nuvem. A paternidade da expressão “computação em nuvem” é incerta. Mas a idéia,ainda que em formato rudimentar, foi apresentado em 1961, o especialista eminteligência artificial John McCarthy em uma palestra apresentou um modelo decomputação oferecido como um serviço semelhante ao de distribuição de energia.Algumas centrais como usinas, forneceriam o processamento e armazenamento dedados para as residências e as empresas, o que hoje já é uma idéia aplicada (RevistaVeja, 2009). Apesar da idéia de computação em nuvem ter sido relatado há bastante tempo, asua história começa a ser feita há poucos anos. Com os avanços da tecnologia e da web,o modelo de computação em nuvem começa a se incorporar e a ser promovidadiretamente pela web, passando do que seria uma possibilidade para uma realidade. A empresa Amazon teve um papel fundamental no desenvolvimento da mesma,pois investiu bastante em sua migração e verificou que os seus serviços começavam ater uma arquitetura mais flexível. Em 2008 o Google lança a sua plataforma chamada Google Apps Engine, paraque os desenvolvedores possam hospedar suas aplicações web usando infra-estrutura do
  15. 15. 15Google. E em 2010 a Microsoft lança suas tecnologias de computação em nuvemchamada de plataforma de serviço Azure, também com foco nos desenvolvedores. Nesse sentido, o foco da presente pesquisa está em realizar um estudo descritivodo desenvolvimento de um sistema web para o Centro Universitário de João Pessoa(UNIPÊ), e usá-lo como caso de uso para a adaptação ao paradigma de computação emnuvem. Mais especificamente o sistema será um “banco de talentos” com foco nosalunos do curso de Bacharelado em Ciências da Computação, e a adaptação do sistemaao paradigma de computação em nuvem visa uma melhor arquitetura, elasticidade epossibilidade de agregar mais funcionalidades e valores, sem que necessariamente tenhaque obter mais recursos técnicos. A coordenação apresentou a proposta do tema baseadona necessidade do mercado e dos alunos, visando apresentar uma soluçãocomputacional que pudesse facilitar a exposição dos potenciais dos alunos ao mercadode trabalho, no caso através da Internet, facilitando a obtenção de estágios, empregos edemais oportunidades, como também aumentando a interação entre empresa,universidade e aluno. A proposta da pesquisa é apresentar um embasamento teórico sobre computaçãoem nuvem baseada nas tecnologias da Microsoft, fazendo um estudo de caso napublicação de uma solução, inicialmente desenhada para o desenvolvimento web, para acomputação em nuvem, procurando oferecer uma melhor alternativa para resolver oproblema do curso de ciências da computação do UNIPÊ, tendo ao final uma soluçãoweb com a possibilidade de publicação para a computação em nuvem de acordo com osserviços da Microsoft, que possa servir como referencia para trabalhos futuros. Este trabalho encontra-se dividido em quatro partes, que consistem emapresentar nesta ordem: (a) metodologia do presente estudo; (b) um embasamentoteórico sobre computação em nuvem e processo de desenvolvimento de software; (c) oestudo com foco no desenvolvimento do sistema na web e depois descrição dapublicação para a computação em nuvem; (d) e as considerações finais da pesquisa. No capítulo referente à metodologia de estudo, será explicado o porquê de optarpor utilizar pesquisa descritiva e adotar um caráter exploratório. Além disso, seráexplicado o campo empírico escolhido, que no caso é o curso de ciências dacomputação do UNIPÊ. Serão também apresentados mais detalhes sobre asdistribuições do conteúdo nesta pesquisa.
  16. 16. 16 No embasamento teórico, serão explicados os conceitos de computação emnuvem, o processo de desenvolvimento de software, o pioneirismo das empresas comcomputação em nuvem e a estratégia de por que usar a computação em nuvem. No quarto capítulo é apresentado o modelo de currículo abordado. No quinto capítulo será desenvolvida a proposta da solução propriamente dita,voltada ao ambiente web, tendo como base os processos citados. No sexto capítulo é abordado mais as tecnologias da Microsoft para acomputação em nuvem. No sétimo capítulo é descrito como publicar o serviço na nuvem, de acordo comas tecnologias Azure. Por fim, será apresentada uma conclusão que tem como referencial os conceitoschaves explicados durante a pesquisa. A pesquisa visa evidenciar a possível necessidadede utilizar a computação em nuvem, tendo em vista que hoje já é possível a suautilização.
  17. 17. 172 PROCEDIMENTOS METODOLÓGICOS Este capítulo busca definir a metodologia que foi utilizada na pesquisa, bemcomo explanar quais ferramentas serão utilizadas na condução e análise dos resultados.2.1 CARACTERIZAÇÃO DA PESQUISA Este trabalho utiliza uma metodologia de pesquisa de caráter descritiva, poispossui como objetivo descrever as características do objeto de estudo, com apreocupação de apresentar suas características. Gil (1991) define que a pesquisadescritiva “visa descrever as características de determinada população ou fenômeno ouo estabelecimento de relações entre variáveis. Envolve o uso de técnicas padronizadasde coleta de dados: questionário e observação sistemática. Assume, em geral, a forma deLevantamento”. Para que fosse possível realizar os objetivos desta pesquisa, fez-se necessáriauma pesquisa de estudo de caso. Yin(1990) explica que o estudo de casos é uma formade se fazer pesquisa social empírica ao investigar-se um fenômeno atual dentro do seucontexto de vida-real, onde as fronteiras entre o fenômeno e o contexto não sãoclaramente definidas e na situação em que múltiplas fontes de evidência são usadas. Em paralelo, pode-se caracterizar a pesquisa como possuindo um caráterexploratório, uma vez que os dados elementares da mesma darão suporte a realização deestudos mais aprofundado sobre o tema. Segundo Mattar (1994), a pesquisaexploratória procura propiciar ao pesquisador um maior conhecimento sobre o tema ouproblema que a pesquisa aborda. Uma de suas principais metas é esclarecer e ilustrar osaspectos teóricos utilizados em um trabalho cientifico. Assim, o objetivo desta abordagem é desenvolver um sistema de banco detalentos ressaltando o processo de desenvolvimento do mesmo e depois adaptá-lo acomputação em nuvem e assim sanando o problema da universidade. A primeira etapa da pesquisa foi o levantamento teórico para fundamentação dosargumentos e como seria a publicação do serviço para nuvem, que foram levados emconta e utilizados na publicação do sistema. No segundo momento, foi então desenvolvido o sistema visando a web, para ummomento posterior tê-lo como caso de uso.
  18. 18. 18 Por fim, na terceira fase, foi publicado o sistema para a “nuvem”, descrevendoos passos técnicos que foram utilizados para a publicação, do ambiente antes que eraweb para a “nuvem”. As conclusões sobre todo o estudo realizado serão apresentados aofinal da pesquisa.2.2 PROBLEMATIZAÇÃO Toda empresa quando necessita de ampliar seu quadro de funcionários enfrentaum processo de contratação bastante difícil, os problemas já começam na divulgação davaga e a seleção dos currículos para a entrevista. Na atualidade, um dos grandes problemas para um estudante de nível superior éter uma oportunidade no mercado de trabalho, isto foi identificado pelos membros dacoordenação do curso de bacharelado em ciências da computação da UNIPÊ, tendocomo base os seus próprios alunos. Apesar do curso de computação ter alunos compotencial e conhecimento, é difícil para a coordenação deixar os mesmos em foco nomercado. Assim, diante de tal realidade, são apresentados três problemas para uma mesmasolução. As empresas que necessitam de funcionários, a universidade que tem pessoascom o potencial necessário e os alunos que muitas vezes tem o conhecimento, mas nãoconseguem uma oportunidade. Nesse sentido, este trabalho trás a seguinte questão de pesquisa: Como melhorexpor os potenciais dos alunos através de uma solução computacional, facilitando aobtenção de oportunidades no mercado de trabalho?2.3 OBJETIVOS2.3.1 Objetivo Geral Facilitar a exposição dos potenciais dos alunos do curso de bacharelado emciências da computação do UNIPÊ ao mercado de trabalho, com foco na obtenção deestágios, empregos e demais oportunidades, isto por meio de uma solução inicialmentedesenhada para web e posteriormente publicada a computação em nuvem.
  19. 19. 192.3.2 Objetivos Específicos Como objetivos específicos deste trabalho destacam-se: • Identificar um padrão de currículo universitário que seja de fácil elaboração e que exponha adequadamente os potenciais dos alunos; • Definir padrão visual; • Modelar e implementar o sistema; • Descrever o processo da portabilidade de uma solução web desenvolvidas em plataforma Microsoft para as suas próprias tecnologias de computação em nuvem, utilizando-se a solução desenvolvida como caso de uso. Sendo assim, uma vez contemplados estes objetivos, o documento final poderáse tornar uma fonte de referência, com informações sobre computação em nuvem comfoco nas tecnologias da Microsoft, bem como fonte de exploração e análise porprofissionais da área que necessitam publicar suas soluções web na nuvem.2.4 CAMPO EMPÍRICO O Centro Universitário de João Pessoa, antes denominado Instituto Paraibano deEducação (IPÊ), desde sua fundação, já ofereceu vários cursos de graduação nas maisvariadas áreas de conhecimento. Atualmente, a instituição mantém cursos nas áreas de ciências humanas, exatas esaúde. Dentre os cursos mantidos pela instituição, há, na área de ciências exatas, oscursos de graduação em Ciências da Computação (Bacharelado) e os, recém-criados,Tecnologia em Sistemas para Internet e Gestão de Tecnologia da Informação(Tecnólogos).
  20. 20. 203 FUNDAMENTAÇÃO TEÓRICA3.1 COMPUTAÇÃO EM NUVEM A computação em nuvem, no inglês também conhecida como cloud computing,é uma das maiores tendências do mercado atual. Grandes empresas já têm suastecnologias de desenvolvimento, como também já utilizam os mesmos provendoserviços. Diversas aplicabilidades são possíveis nas nuvens, resultando também emdiversos fins, como por exemplo: Software as a Service (SaaS) – Aplicações expostas pela internet; Platform as a Service (PaaS) – Plataforma para ser utilizada pelos desenvolvedores que provê algumas Applications Programming Interfaces (API), que é um conjunto de rotinas e padrões estabelecidos por um software para utilização das suas funcionalidades, e ambiente em tempo de execução; Infrastructure as a Service (IaaS) – Infra-estrutura de recursos virtualizados pela nuvem; Data as a Service (DaaS) – Dados oferecidos como serviços; Communication as a Service (CaaS) – Comunicação oferecida como serviço. Com diferentes possibilidades e tecnologias é evidente que aparecerão opiniõesdivergentes, o que deixa o conceito ainda muito confuso. Um breve conceito,compreendendo algumas visões, pode-se citar que a computação em nuvem é umambiente de processamento e armazenamento de dados massivo, de alta escalabilidade ealta disponibilidade, acessível via web, como HTTP, REST e SOAP, instalado emdatacenters de ultima geração espalhados pelo mundo (Mundo .NET, 2009). Visando o grande poder de processamento, escalabilidade, disponibilidade earquitetura, que são fornecidos por estes datacenters, é previsível que grandes empresascomo Amazon, Google, IBM, Microsoft, Rackspace, Zoho, Salesforce, entre outras,estão trabalhando e procurando o seu lugar na nuvem.
  21. 21. 213.2 PIONEIRISMO Para que a computação em nuvem chegasse a se tornar realidade como ela éhoje, foi necessária a atitude de algumas grandes empresas como Amazon, Google eMicrosoft, que viram uma oportunidade na nuvem. A Amazon foi uma das precursoras da computação em nuvem, ela teve um papelfundamental no desenvolvimento da mesma, pois investiu bastante na migração de seusaplicativos e serviços, verificando assim que os seus serviços começavam a ter umaarquitetura mais flexível. A empresa Google teve bastante sucesso na utilização de computação em nuvemnos seus próprios serviços. Com a utilização dos seus próprios data centers e adisponibilização pela web, foi possível criar serviços que hoje são bastante utilizados,como o Google Mail (GMail), Docs e Calendar. Em 2008 o Google lança a suaplataforma para a nuvem chamada Google Apps Engine, que “oferece um conjuntocompleto de desenvolvimento que utiliza tecnologias familiares para criar e hospedaraplicativos da web” (GOOGLE APP ENGINE, 2010). A Microsoft, em outubro de 2008, lança suas tecnologias de computação emnuvem conhecida como Azure Services Platform, durante um dos maiores evento daempresa chamado Professional Developer Conference realizado em Los Angeles quetambém foi publicada a versão 1.0 do Software Development Kit (SDK) e ferramentasde desenvolvimento para o Windows Azure. A plataforma de serviço Azure não é um espaço vazio para upload de arquivos, éum grande hosting de aplicações com diferentes metodologias de trabalho conforme oserviço de aplicação que se deseja utilizar. Assim é possível ter um serviço com altaescalabilidade (capacidade de um sistema de suportar o crescimento em seu uso),disponibilidade (a Microsoft hoje tem vários data centers, onde as informações sãoreplicadas), segurança (as equipes da Microsoft que trabalham para promover asegurança dos seus data centers), sem a necessidade de haver um conhecimento técnicodo hardware (que para isto esta tecnologia conta com o apoio dos padrões das indústriase protocolos web), como também interoperável entre sistemas e hardwares (por serprovido na web e algumas aplicações serem possíveis até mesmo a sincronização comoutros hardwares).
  22. 22. 223.3 ESTRATÉGIA Muitas empresas, de diferentes ramos de negócio, de pequeno e médio porte,precisam prover serviços na web com suas próprias regras de negócios, banco de dadose com todos os serviços integrados. Este é um cenário muito comum nas empresasatualmente, que para prover esta estrutura, necessitam de toda uma infra-estrutura dehardware, que é de custo muito elevado e sempre crescente, de acordo com ocrescimento da empresa. Ter um serviço na “nuvem” além de garantir uma grande escalabilidade, tambémoferece um custo muito baixo, baseado em todo o cenário que pequenas e médiasempresas têm que manter o que só será vantagem para o desenvolvedor individual se oserviço tiver previsão de grande crescimento e se o gasto final no cenário que énecessário for menor na nuvem. Esses custos englobam três pontos: • Infraestrutura de rede (com segurança, firewall, isolamento, máquinas virtuais, instâncias de processamento, entre outras coisas); • infraestrutura de armazenamento (com hardware específico, planejamento de capacidade, crescimento estimado, replicação, backup, entre outras coisas); • Administração/operação (com monitoração, logging, segurança, estatísticas de operação, entre outras coisas). Os gastos com os data centers são enormes, um só complexo da Microsoftem San Antonio, no Texas, mede por volta de 55.000 m², o equivalente a dezcampos de futebol americano. Tem 602.000 galões de água reciclada pararefrigeração. São 7 salas com geradores de energia (backup) com aproximadamente1000 baterias cada uma. Tem na verdade dois data centers gigantes, lado a lado,sendo um backup do outro. Nestas usinas de nuvem, grandes são os cuidados que devem ser tomadoscom os data centers, além dos cuidados já citados anteriormente, alguns outrospontos também tem que ter alguns cuidados, como por exemplo:
  23. 23. 23 • Incêndio; • Segurança dos equipamentos; • Acúmulo de pó; • Resfriamento dos equipamentos. Variação de apenas 2 graus, se não os computadores superaquecem e podem até queimar, para isso os data centers produzem água gelada em profusão, distribuída por pequenos canos pelo ambiente; Na nuvem além destas vantagens também pode ser visto uma nova realidade denegócio, que é a possibilidade de elasticidade da empresa, pois na nuvem facilmente épossível alocar e desalocar recursos de toda parte de tecnologia da informação daempresa, isto de acordo com a necessidade dos serviços da mesma. O objetivo de o sistema ser publicado na nuvem é visando o crescimento, com aimplementação de outros requisitos que poderão ser levantados posteriormente, e aquantidade de acesso ao mesmo. Tendo como resultado um sistema elástico, provido naweb, sem nenhuma necessidade de prover e sustentar parte física e a possibilidade depagar só o que realmente estiver sendo utilizado.3.4 PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Para evoluir com qualidade, um software depende da adoção de um bomprocesso de desenvolvimento de software. Este descreve um conjunto de passos paraque o objetivo do software seja atingido e é representado por um modelo de processo desoftware (SOMMERVILLE, 2004). Os modelos de processo de software adotados para o projeto são Feature DrivenDevelopment (FDD) (PALMER e FELSING, 2002), desenvolvimento guiado porfuncionalidades, sendo este desenvolvimento uma metodologia ágil para gerenciamentoe desenvolvimento de software. Rational Unified Process (RUP) (SHUJA e KREBS,2008), processo de engenharia de software que oferece uma abordagem baseada emdisciplinas para atribuir tarefas e responsabilidades dentro de uma organização dedesenvolvimento. Rapid Application Development (RAD) (MARTIN, 1991), modelo deprocesso de desenvolvimento incremental. É uma adaptação “de alta velocidade” domodelo em cascata, pois enfatiza um ciclo de desenvolvimento muito curto como, por
  24. 24. 24exemplo, um ciclo de 60 a 90 dias (PRESSMAN, 2004). O processo de software para odesenvolvimento do projeto segue o modelo RAD. O modelo RAD baseia-se nas seguintes atividades: comunicação, planejamento,modelagem, construção e implantação. Na comunicação há uma grande interação com o cliente, é essencial que omesmo seja visto como parte equipe, ditando as prioridades e a forma em que o sistemafuncionará. Com este feedback ágil, o cliente pode acompanhar o que está sendo feitocom reuniões semanais, ou se possível, diárias. É nessa atividade onde ocorre olevantamento dos requisitos. Dessa forma, é possível entender melhor os problemas donegócio, e as principais características do sistema e das informações que serãoarmazenadas. No planejamento, é levantado um roteiro do que será desenvolvido e o prazofinal de entrega do sistema, novamente a ajuda do cliente é essencial, para que tudo sejaconvertido rapidamente a código. A modelagem é formada por três fases: modelagem de negócio, de dados e deprocessos. Neste período são estabelecidas representações do projeto que serve comobase para a construção do mesmo. E então por fim, a atividade de implantação consiste na integração das partes,entrega e feedback do cliente. Essa atividade estabelece uma relação, em que haja umapossível interação subseqüente, caso seja necessário. Nem sempre o modelo RAD é adequado a determinados projetos, pois podetrazer desvantagem no processo de desenvolvimento. Isto é facilmente visível quando otamanho do projeto e da escalabilidade é muito grande, pois requerem maiores recursoshumanos, um forte processo de desenvolvimento e de documentação, o que não é viávelpara projetos menores. Além disso, RAD provavelmente não será apropriado quando háaltos riscos técnicos, por exemplo, o uso de uma nova tecnologia em larga escala. Nesse contexto, o modelo RAD é adequado ao projeto banco de talentos, visto otempo solicitado para a realização do mesmo (4 meses), o tamanho do projeto e anatureza do problema, permitindo a divisão por módulos e reuso de componentes, alémde utilizar ferramentas de geração automática de código.
  25. 25. 254 O BANCO DE TALENTOS4.1 IDENTIFICAÇÃO DE UM PADRÃO DE CURRÍCULOS Um currículo é uma apresentação resumida de informações relativas à vidaestudantil e/ou profissional. (Mini Aurélio, 2001). De um modo geral o curriculum vitae tem como objetivo fornecer o perfil dapessoa para um empregador, podendo também ser usado como instrumento de apoio emsituações acadêmicas. É uma síntese de qualificações e aptidões, na qual o candidato aalguma vaga de emprego descreve as experiências profissionais, formação acadêmica, edados pessoais para contato. Ainda é a forma que muitas empresas usam para preenchervagas de emprego.4.1.1 Como deve ser um bom currículo Para que fosse possível obter um padrão de currículo que melhor exiba opotencial dos alunos, foi necessário o contato com alguns diretores e profissionais daárea de recursos humanos. Um bom currículo deve ter informações claras para que o contratante possaidentificar com facilidades os conhecimentos e experiências do candidato. Por isso,deve-se tomar muito cuidado para que informações irrelevantes sejam destacadas emdetrimento de dados importantes. O modelo do currículo teve como base alguns cuidados que devem ser seguidos,como os listados abaixo: • Manter-se simples; • Honestidade nas informações fornecidas; • Cuidados com erros ortográficos e gramaticais.
  26. 26. 264.1.2 Modelo do currículo Seguindo as orientações citas anteriormente, o currículo se apresenta bastantesimples, seguindo os seguintes tópicos: • Dados pessoais: são fornecidas algumas informações do aluno, a limitação de fornecer informação é para que as empresas tenham a necessidade de pedir indicação como também o contato do aluno através do sistema, assim associando a empresa à coordenação; • Formação acadêmica: menciona as formações acadêmicas do aluno, caso tenha mais de uma; • Perfil profissional: este item menciona um resumo da experiência profissional, como também indicar os pontos fortes do conhecimento tecnológico, experiência gerencial e trabalhos na área de qualidade e metodologia; • Certificações: as certificações que os alunos já tenham; • Experiência profissional: as experiências caso o aluno já tenha alguma; • Língua estrangeira: um dos pontos importantes abordados pelas empresas e visto como nível de leitura, escrita e conversação;Cursos e Seminários: estas informações não são tão importantes, mas podem serdestacadas participações em eventos importantes ou de tecnologia avançada ouinovadora.4.2 PLANO VISUAL4.2.1 Logotipo Tendo em vista que o nome “Banco de Talentos” é bastante simples e facilmenteencontrada na web e algo um pouco difícil de ser representado, foi então vista anecessidade da criação de um logotipo, que pudesse assim agregar valor e uma visãoprópria, e então foi criada a marca “Student Link”, podendo ser visto na Figura 1.
  27. 27. 27Figura 1: Marca do projetoFonte: Próprio Autor / 2010. A marca é tratada de maneira clean e objetiva para que seja visualmenteagradável. O nome “Student traz uma fonte arredondada e espessa, para uma fácil Student”leitura e que ganhe um destaque maior em relação ao segundo nome, que por sua vez,tem a suavidade de curvas, dando destaque maior a letra “L” para simbolizar e lembrar afigura do “infinito”, com uma abertura na parte superior, para trazer junto à forma, uma aberturaidéia de ligação. Fazendo alusão à essência do projeto, como uma base de dados dospotências dos alunos da instituição, tendo os quadrados representando os estudantes e asimetria do mesmo na representação da organização, com infinidades de possibilidades representaçãopara as empresas, em busca de novos profissionais capacitados, comprometidos eatualizados. A frase representa a união que haverá no sistema, entre empresas, universidade eos alunos. No esquema de cores são utilizados três tons de azul e o cinza escuro, remetendoassim a seriedade do projeto e agregar a idéia de agradável e de tranqüilidade.4.2.2 Visual do Site O esquema de cores e a organização das informações tendem as cores e amaneira suave e simples que é tratada na logomarca, podendo ser visto nas figuras aseguir.
  28. 28. 28Figura 2: Print Screen do sistema Student Link.Fonte: Próprio Autor / 2010.Figura 3: Print Screen do sistema Student Link.Fonte: Próprio Autor / 2010.
  29. 29. 294.3 ANÁLISE DE REQUISITOS O Banco de Talentos, denominado Student Link, é um projeto que visa àconstrução e a disponibilidade de um sistema web, onde os estudantes do curso deciências da computação estejam facilmente visíveis para o mercado de trabalho. Tendocomo intuito acompanhar o andamento e injetar cada vez mais alunos do curso que jáestão capacitados a entrarem no mercado de trabalho. Com base nisso, os seguintesrequisitos funcionais foram definidas para o sistema: • Cadastro, edição e remoção por parte dos alunos; • Cadastro, edição e remoção por parte dos coordenadores; • Cadastro, edição e remoção por parte das empresas; • Coordenador e empresas se comunicam; • Geração de currículo em PDF. Além dos requisitos funcionais, foram definidos também os não-funcionais, quesão os seguintes: • sistema on-line; • banco de dados SQL Server; • replicação de banco de dados; • Interface gráfica intuitiva e de fácil acesso.4.4 CASO DE USO Os atores apresentados na Figura 4 são os usuários identificados nolevantamento de requisitos. Os atores são os alunos, o coordenador e as empresas. Ocoordenador se comunica com as empresas e os alunos, as empresas só se comunicamcom o coordenador e os alunos se comunicam com o coordenador e mantém suasinformações atualizadas. O próprio sistema mantém os atores, as empresas e ocoordenador fixos, mas os alunos tornam disponível o acesso de acordo com a situaçãode matriculado ou de ter concluído o curso na universidade. O verbo “Manter” no Caso de Uso refere-se às operações de cadastro, edição eremoção.
  30. 30. 30Figura 4: Diagrama UML de Casos de Uso geral do Student Link.Fonte: Próprio Autor / 2010.4.5 IMPLEMENTAÇÃO4.5.1 Tecnologias, ferramentas e componentes utilizados Tendo em vista o processo de software adotado visto no tópico 3.2, umas dasquestões importantes a serem abordadas são os meios utilizados para se desenvolver osistema com a agilidade necessária. Esses meios compreendem tecnologias, ferramentase componentes que auxiliem na fase de construção como, por exemplo, IntegratedDevelopment Environment (IDE), ferramentas de auxílio à modelagem, geradoresautomáticos de código e componentes de software pré-existentes.
  31. 31. 314.5.2 Ferramenta para Modelagem Como o desenvolvimento é focado nas tecnologias da Microsoft, foi entãoadotado para a modelagem do projeto o Microsoft Visio 2007, que é uma ferramenta decriação de diagramas para o ambiente Windows. O ponto forte do Visio são osdiagramas técnicos e profissionais, com imagens vetoriais, que podem ser ampliados emanipulados facilmente. O produto foi desenvolvido pela Visio Corporation, uma empresa independenteque foi adquirida em 2000 pela Microsoft. Desde então, o Visio foi incorporado aopacote de ferramentas de produtividade. Dentre vários tipos de diagramas aos quais o Microsoft Visio dá suporte, estãoos diagramas Unified Modeling Language (UML) 2.0 (GUEDES, 2006) e o DatabaseModel Diagram (DMD), tipos de diagramas usados no banco de talentos. Ele foi usadona modelagem do banco de dados porque o Microsoft Visio é capaz de gerar scriptsStructure Query Language (SQL) a partir de um diagrama desse tipo.Figura 5: Representa o DMD para Universidade, Cursos e Faculdade.Fonte: Próprio Autor / 2010.4.5.3 Ferramenta de Geração de Código A ferramenta utilizada para geração automática de código é o nDeveloperStudio, uma ferramenta Computer-Aided Software Engineering (CASE) que pode serconsideradas como ferramentas automatizadas que tem como objetivo auxiliar odesenvolvedor de sistemas em uma ou várias etapas do ciclo de desenvolvimento desoftware, e utiliza o nDeveloper Framework em sua base.
  32. 32. 32 O nDeveloper Framework é um projeto iniciado pela Vsoft Tecnologia em 2006,com o intuito de reunir características que eram encontradas apenas separadamente nasferramentas já existentes no mercado. O objetivo principal do projeto para a empresa eraentregar mais aplicações em menos tempo e com qualidade. Em 2007, a VsoftTecnologia decidiu tornar o nDeveloper Framework um projeto de código abertoatravés da licença Apache 2.0 e, hoje, a ferramenta é definida como um “framework demapeamento objeto/relacional, acesso a multi-banco de dados, geração de código eprodutividade” (NDEVELOPER, 2009). O nDeveloper Studio permite a manipulaçãodo dicionário de dados, geração de código através de templates, geração de scripts SQLe funcionalidade de engenharia reversa, onde dicionários de dados são gerados apartir de scripts SQL. Dessa forma, a funcionalidade de engenharia reversa donDeveloper Studio foi usada para gerar o dicionário de dados a partir do script SQLproveniente do DMD criado no Microsoft Visio. Os templates padrão do nDeveloperStudio geram uma aplicação organizada em três divisões: Info (definição dedados), Business Logic (regras de negócio) e Data Access (acesso a dados).Figura 6: Tela principal do nDeveloper Studio com o template padrão para geração de classes de acessoa dados.Fonte: Próprio Autor / 2010.
  33. 33. 33Figura 7: Parte do código gerado para acesso aos dados da universidade pelo NDeveloper. :Fonte: Próprio Autor / 2010.4.5.4 Tecnologias e componentes Para a codificação foram utilizados, a IDE Visual Studio 2010 e a linguagem C#sobre a plataforma Microsoft dotNET Framework. Para a construção da interfacegráfica, foram utilizados os componentes Web Forms do próprio dotNET. O banco dedados escolhido para a aplicação foi o SQL Server 2008 e a ferramenta utilizada paragerenciamento do mesmo foi o SQL Server Management Studio. O conjunto debibliotecas ADO.NET 2.0 (PROSISE, 2002) foi adotado para acesso e manipulação dosdados.4.6 ARQUITETURA A arquitetura inicial do Student Link baseou-se na estrutura do código seproveniente do modelo ( (template) padrão de geração de código da ferramenta )nDeveloper Studio, dando origem a três camadas: Business Logic, Persistence e Info.Dessa forma, a arquitetura dividida em quatro camadas: UI.Web (camada deapresentação), Business Logic (camada que contém as regras de negócio), Persistence(camada de persistência de dados) e Info (camada de definição de dados).
  34. 34. 34Figura 8: Arquitetura lógica do Student Link.Fonte: Próprio Autor / 20104.6.1 Camada UI.Web Qualquer camada pode ser facilmente separada, trocando a maneira de acesso aobanco, ou de apresentação, mesmo sendo um projeto diferente (exemplo: aplicação paracomputadores), pois o esquema de arquitetura utilizada é baseada neste intuito deseparação em camadas, conseguindo assim a fácil re-utilização de códigos.Figura 9: Imagem do Projeto UI.Web no Visual Studio.Fonte: Próprio Autor / 2010.
  35. 35. 35 A arquitetura desta camada tem pacotes que estão representadas na Figura 9,estes pacotes são: • _Img: contém as imagens que são utilizadas no projeto; • MasterPage: contém as master pages, que são recursos de herança visual, que são utilizados nas páginas; • Pages: contém as paginas web; • Start: é só um padrão, nela contém apenas a página inicial, a primeira página “Default.aspx” direciona para a única página que está neste pacote; • Styles: contém esquemas das páginas, no caso as cascading Style Sheets, também conhecidas como css.4.6.2 Camada Business Logic É a camada que fica entre a persistence e a Info. É por ela que passa asrequisições ao banco e o modelo dos objetos que está na camada Info. Na Figura 10mostra o código gerado, onde se faz uso da camada de persistence pela classeUniversidadesDA e da camada Info com a classe tblUniversidades.Figura 10: Código gerado para camada de Business Logic.Fonte: Próprio Autor / 2010.4.6.3 Camada de Persistência A camada de persistência, possui o pacote Data Access, que contém os códigosde acesso a dados gerado pelo nDeveloper Studio que no caso estão no pacote base,como também deixa um modelo explicito para os desenvolvedores seguirem, deixando
  36. 36. 36o código de acesso mais organizado e dividido em módulos. Esta camada também fazuso de um pacote de arquivos XML chamado Domain Data, que possui asconfigurações do banco, o dicionário de dados, entre outros.Figura 11: Imagem do Projeto DataAcess no Visual Studio.Fonte: Próprio Autor / 2010. Os pacotes desta camada definem: • Base: contém as classes que são geradas pelo framework NDeveloper e contém os acessos padrões; • Sistema: contém apenas a classe “BaseDb”, que define a conection string de acordo com o banco que está sendo utilizado; • Os restos das classes que se encontram nessa camada chamam como método os acessos que estão no pacote “Base” e onde estão os acessos feitos pelo desenvolvedor, para que não se altere o que é gerado pela framework NDeveloper.4.6.4 Camada Info É a camada onde estão as classes que representam o banco de dados comoobjeto, ou seja, cada tabela representa um objeto, seus campos são representados comopropriedades e podem ser utilizados no projeto.
  37. 37. 37 Com esta camada é possível converter pesquisas de um banco relacional emobjeto, sendo possível o código do sistema tratar a informação como objeto e o bancode dados como modelo relacional.Figura 12: Código gerado para camada Info.Fonte: Próprio Autor / 2010. A Figura 12 mostra o código gerado para esta camada, com esta arquitetura épossível na camada de exibição (UI.Web) fazer uso destes códigos gerados, como émostrado na Figura 13.Figura 13: Código sendo utilizado na camada UI.Web.Fonte: Próprio Autor / 2010.
  38. 38. 385 PLATAFORMA DE SERVIÇO AZURE A plataforma de serviços Azure é um grupo de tecnologias da nuvem quefornece um conjunto específico de serviços hosteados nos data centers da Microsoft(AZURE, 2010). Como a Figura 11 mostra, a Plataforma de Serviço Azure pode serusada tanto por aplicativos em execução na nuvem quanto por aqueles executados emsistemas locais.Figura 14: A Plataforma de Serviço Azure suporta aplicativos executados na nuvem e em sistemas locais.Fonte: Azure / 2010. Os componentes da Plataforma de Serviços Azure podem ser usados poraplicativos locais executados em uma variedade de sistemas, inclusive vários tipos desistemas operacionais Windows, dispositivos móveis ou outros. Esses componentesincluem: • Windows Azure: Fornece um ambiente baseado no Windows para executar aplicativos e armazenar dados nos servidores dos centros de dados da Microsoft; • Microsoft .NET Services: Oferece serviços de infra-estrutura distribuídos para aplicativos baseados em nuvem e locais; • Microsoft SQL Services: Fornece serviços de dados na nuvem baseados no SQL Server;
  39. 39. 39 • Live Services: Através do Live Framework, fornece acesso aos dados a partir de aplicativos Live da Microsoft e outros. O Live Framework também permite sincronizar esses dados em estações de trabalho e dispositivos, encontrando e fazendo o download de aplicativos. Como explanado anteriormente, cada empresa visualiza a nuvem da suamaneira, a plataforma de serviço Azure tem como pilares os serviços SaaS, PaaS e IaaS,visto no capítulo de computação em nuvem.5.1 WINDOWS AZURE O Windows Azure é o sistema operacional para serviços na nuvem que éutilizado para o desenvolvimento, hosting e gerenciamento dos serviços dentro doambiente da plataforma Azure, provendo computação e armazenamento por demanda,com a finalidade de hostear, escalar, gerenciar aplicações Web e serviços através daInternet dentro dos data centers da Microsoft (Azure, 2010). Como mostra a figura 12, o Windows Azure é executado em máquinas presentesnos data centers da Microsoft.
  40. 40. 40Figura 15: Funcionamento das aplicações no Windows Azure.Fonte: Azure / 2010. Em vez de fornecer o software para que os clientes instalem e executem em seuspróprios computadores, o Windows Azure é fornecido como serviço onde os clientespodem executar aplicações e armazenar dados em máquinas com acesso à Internet quepertencem à Microsoft, como pode ser visto na Figura 13.Figura 16: Partes principais do Windos Azure.Fonte: Azure / 2010.
  41. 41. 41 Como os próprios nomes sugerem, o serviço de Computação executa aplicaçõese o serviço de Armazenamento armazena os dados. O terceiro componente, a Malha doWindows Azure, oferece uma maneira de gerenciar e monitorar as aplicações que usamessa plataforma na nuvem.5.2 SQL AZURE O SQL Azure é um banco de dados relacional baseado em banco de dados deserviços da nuvem construído em tecnologias SQL Server. É altamente disponível,escalável e também um serviço de banco de dados multi-tenant hospedado pelaMicrosoft na nuvem. O banco de dados SQL Azure ajuda a aliviar provisionamento eimplantação de múltiplos bancos de dados. Os desenvolvedores não precisam instalar,patch de instalação, ou gerenciar qualquer software. Alta disponibilidade e tolerância afalhas é built-in e não é necessária administração física. (SQL Azure, 2010) Dentro da plataforma Azure, o SQL Azure é um conjunto de serviços queimplementa as capacidades de processamento e armazenamento de dados na nuvem.Através das capacidades do SQL Azure, as aplicações podem aproveitar recursos comopersistência de dados, sincronização, replicação de dados, relatórios, a partir de umainfra-estrutura de alta escalabilidade e provisionamento dinâmico, características nativasde um ambiente em nuvem. Algumas características do SQL Azure que pode-se destacar é seu modelo deprogramação simétrico, que permite ao desenvolvedor trabalhar com o ambiente SQLServer 2008 local (on-premise) e o ambiente de dados na nuvem da mesma forma,aproveitando os mesmo recursos do .NET Framework. Outra característica do SQLAzure é permitir o foco na aplicação, uma vez que o administrador de dados ouDatabase Administrator (DBA) não precisará se preocupar com atividades relacionadasdiretamente à infra-estrutura do ambiente, como: • Compra de repositório e espaço de armazenamento de dados para o datacenter; • Dimensionamento de servidores; • Configuração física e lógica de repositórios; • Instalação e atualização de software de bancos de dados; • Diagnóstico e resolução de falhas de hardware.
  42. 42. 425.3 PRIMEIROS PASSOS DA PUBLICAÇÃO Como foi explanado no tópico anterior sobre a plataforma de serviço Azure,neste tópico será descrito como é feito para publicar o sistema web na nuvem, ou seja,como serviço no Windows Azure.5.3.1 Gerando os arquivos de publicação Após o desenvolvimento do sistema, é necessário instalar o SoftwareDevelopment Kit (SDK) e as ferramentas para a utilização do Azure dentro da IDE, nocaso o Visual Studio. Com o ambiente preparado, na solução é inserido um novo projeto que irá geraros arquivos que serão publicados na nuvem, como pode ser observado na Figura 14.Figura 17: Inserção de novo projeto.Fonte: Próprio autor / 2010. O projeto do Windows Azure trabalha com funções, do inglês role, querepresenta um componente único construído com código gerenciado e executado noambiente Azure. No projeto é utilizada a web role que basicamente é uma aplicação webASP.NET. Na criação do projeto não é incluída nenhuma nova role, só após a criação éatribuído como função o projeto “UI.Web” que é a aplicação ASP.NET do sistema,visto na Figura 15.
  43. 43. 43Figura 18: Novo projeto criado na solução.Fonte: Próprio autor / 2010. Terminado a inclusão é necessário apenas publicar o novo projeto, sendogerados dois arquivos que serão publicados na nuvem. Um arquivo que é um pacotecom definições do serviço e o outro são as configurações do serviço, como pode servisto na Figura 16.Figura 19: Novos arquivos gerados.Fonte: Próprio autor / 2010.
  44. 44. 445.4 PUBLICAÇÃO NA NUVEM A aplicação não foi totalmente testada na nuvem, mas algumas alterações teriamque ser feitas no projeto para que o mesmo funcione em sua totalidade na mesma. Nestesistema é necessária a utilização do Windows Azure e do SQL Azure. Para utilizar oWindows Azure ou o SQL Azure é necessário assinar algum plano, eles não sãoserviços gratuitos.5.4.1 Windows Azure A publicação na nuvem, mais especificamente no Windows Azure, se resume apublicar os dois arquivos mencionados anteriormente. Inicialmente é necessário criarum serviço, podendo ser uma conta de serviço de armazenamento ou um serviçohospedado como na Figua 17.Figura 20: Opções do Windows Azure.Fonte: Próprio autor / 2010. Após escolher em qual região onde será armazenado e assim criar o serviço, énecessário fazer o deploy da aplicação, como pode ser visto na Figura 18.
  45. 45. 45Figura 21: Deploy da aplicação.Fonte: Próprio autor / 2010. Com os dois arquivos submetidos à nuvem, o Windows Azure desempacota oarquivo e utiliza as configurações, que logo após é necessário dar um start na aplicaçãoe esperar que o Windows Azure inicialize e deixe pronta a aplicação, mostrado naFigura 19.Figura 22: Start da aplicação.Fonte: Próprio autor / 2010.5.4.2 SQL Azure A utilização do SQL Azure é bem intuitiva, visualmente no portal do Azure épossível criar e apagar o banco de dados, testar a conectividade, ver a string de conexãoe atribuir alguma regra de firewall com algum nome e IP, visto na Figura 20.
  46. 46. 46Figura 23: Página de administração do SQL Azure.Fonte: Próprio autor / 2010. A regra de firewall serve para ter acesso ao banco pelo programa SQL ServerManagement Studio da Microsoft, não é possível ter acesso e modelar o banco peloManagement sem atribuir essa regra, no caso o IP da máquina que o acessará. O acessoé feito com o nome do servidor, usuário administrador e senha que é disponibilizado noportal, também é necessário escolher o banco que terá acesso na propriedade avançadade conexão do programa, como é mostrado na Figura 21.Figura 24: Acesso ao SQL Azure pelo SQL Server Management Studio.Fonte: Próprio autor / 2010.
  47. 47. 476 CONSIDERAÇÕES FINAIS Durante o processo de desenvolvimento do sistema web foi possível verificarjuntamente à coordenação do curso as necessidades que deveriam ser supridas naproposta do sistema a ser desenvolvido. A parte visual foi definida de acordo com ospadrões de alguns sites web, como também com os esquemas de cores e estilo que foiatribuído à marca desenvolvida para o sistema. Para concluir esse objetivo, se fez necessário um levantamento de dados sobrecurrículos e uma pesquisa paralela sobre as tecnologias de computação em nuvem daMicrosoft, tornando mais visível de como é a nuvem para a empresa e como é possíveldesenvolver serviços e publicar em algum de seus datacentesr distribuído em algumaregião do mundo. As limitações encontradas em relação a esta monografia estão relacionadas aomaterial disponível tanto em livros, em revistas, como também na Internet e pelosserviços da Microsoft, na nuvem, serem pagos, o que para o sistema proposto ficariaviável apenas se ele for continuado e tornasse um grande ambiente todo centralizado,diminuindo assim os custos de todo o cenário que o mesmo necessitaria e não apenas deuma aplicação que ela é hoje. Um dos trabalhos futuros que podem ser implementados é deixar este sistemacom maior interação entre alunos e professores. Tornando o mesmo um ambiente, queseja possível a comunicação e a disponibilização facilitada de material provido pelosprofessores que possam servir de estudo ao alunado. Com a quantidade massiva dealunos de toda instituição, não visando apenas o curso de computação, como tambémdos professores, tornaria a nuvem o local mais adequado, pois utilizaria a elasticidadeda mesma, não tendo gasto com compra e manutenção do cenário, que em muitos casosé necessário à compra de hardware para suportar alguma demanda e depois de passadoeste tempo o mesmo fica ocioso, o que não aconteceria na nuvem. Este trabalho traz como contribuição uma forma simples de tornar os potenciasdos alunos mais visíveis ao mercado de trabalho, o relato de uma experiência depublicação para a nuvem de um serviço inicialmente desenhado para web, comotambém visa expor ao leitor que a computação em nuvem hoje já é uma realidade.
  48. 48. 48 REFERÊNCIASAZURE, Disponível em: http://msdn.microsoft.com/pt-br/windowsazure/default.aspx,Acesso em 09/11/2010.FERREIRA, Aurélio Buarque de Holanda. Miniaurélio Século XXI: O minidicionárioda língua portuguesa. 5ª edição. Nova Fronteira, 2001.FLÁVIO DE CARVALHO SERPA E LEO BRANCO. Computação sem fronteiras.Revista Veja, 62-72, agosto de 2009.GIL, Antonio Carlos. Como elaborar projetos de pesquisa. São Paulo: Atlas, 1991.GOOGLE APP ENGINE, Disponível em: http://code.google.com/intl/pt-BR/appengine/, Acesso em 26/10/2010.GUEDES, G.T.A. UML – Uma abordagem prática. Editora Novatec, 2ª Edição,2006.MARTIN, J. Rapid Application Development. Macmillan Coll Div, 1991.NDEVELOPER, Disponível em: http://www.codeplex.com/ndeveloper, Acesso em20/08/2010.PALMER, S. R. and FELSING, J.M. A Practical Guide to Feature-DrivenDevelopment. Prentice Hall PTR, 2002.PRESSMAN, R. S. Software Engineering: A Practitioners Approach,6thedition. McGraw-Hill, 2004.
  49. 49. 49PROSISE, J. Programming Microsoft .NET. Microsoft Press, 2002.SHUJA, A. K. and KREBS, J. IBM Rational Unified Process Reference andCertification Guide: Solution Designer (RUP). IBM Press, 2008.SOMMERVILLE, I. Software Engineering. 7ª Edição. Addison Wesley, 2004.SQL AZURE, Disponível em: http://www.microsoft.com/en-us/SQLAzure/database.aspx, Acesso em 09/11/2010.WALDEMIR CAMBIUCCI. Computação na Nuvem com Windwoz Azure. Mundo.NET, 3, 14, 16-21, abril/maio de 2009.YIN, Robert K. Case study research: design and methods. Estados Unidos: SagePublications, 1990.

×