Você está na página 1de 35

STANFORD UNIVERSITY SISTEMAS DE INFORMAO

RELATRIO FINAL DE ESTGIO SUPERVISIONADO

Linus Torvalds

Varginha 2016

DECLARAO

Declaramos para os devidos fins, que Linus Torvalds, portador do CPF n 085.726.371-88, RG n MG-32.556.032, realizou estgio supervisionado no Setor de Desenvolvimento, no perodo de 01 de Dezembro de 2008 a 23 de Novembro de 2016, totalizando uma carga horria de 11.500 (Mil e quinhentas) horas.

Varginha MG, 23 de Novembro de 2016.

_________________________________ Larry Ellison ANALISTA DE SISTEMAS

STANFORD Stanford University

RELATRIO DE ESTGIO

Aluno:

Linus Torvalds

Curso:

Sistemas de Informao

Ano de concluso do estgio:

2016

Empresa:

ORACLE CONSULTORIA E ASSESSORIA

Local / Estado:

Varginha MG

Setor Estagiado:

Desenvolvimento

Perodo do Estgio:

01 de Dezembro de 2008 a 23 de Novembro de 2016

Total de Horas de Estgio:

11.500 horas

APRESENTAO
O trabalho realizado durante o estgio foi de fundamental importncia para a minha formao acadmica, pois proporcionou uma excelente oportunidade para a aplicao prtica das teorias estudadas durante o curso de Sistemas de Informao. No Captulo I destacado a Web 2.0. O captulo II caracteriza a empresa ORACLE CONSULTORIA E ASSESSORIA, local onde o presente estgio foi realizado. Esta uma empresa reconhecida na cidade no ramo de prestao de servios de consultoria e assessoria, portanto foi importante vivenciar seus processos. A rea escolhida foi o desenvolvimento de software para a web. No Captulo III, mais precisamente no item 3.1 realizada uma reviso terica dos fundamentos do desenvolvimento web. As fontes pesquisadas so atuais e tratam do assunto de forma clara e precisa. Em seguida, no item 3.2 so descritas as atividades que foram desenvolvidas no decorrer do estgio. No Captulo IV so apresentadas as concluses relativas ao estgio de uma forma geral e so apresentadas tambm sugestes Faculdade e empresa que proporcionou o estgio. No Captulo V so apresentadas todas as referncias bibliogrficas consultadas na realizao do trabalho. E por fim, so apresentados os anexos no captulo VI. Nesse perodo, a principal limitao encontrada, foi a dificuldade de conciliar o estgio s aulas e trabalhos extraclasse, porm esta limitao pde ser resolvida quando foi estabelecido um cronograma das prioridades dirias. Essa limitao considerada como um desafio mostrou que a organizao e o planejamento melhoram o rendimento das atividades e possibilitam melhor aproveitamento do tempo proporcionando tranqilidade para desenvolver as tarefas que necessitam de maior raciocnio e concentrao. Finalizando a apresentao deste estgio, gostaria de agradecer

primeiramente a Deus e Maria que sempre esto ao meu lado me dando foras para lutar. Agradeo principalmente aos meus pais e namorada que com muito amor,

pacincia e apoio irrestrito me incentivaram e auxiliaram, no s durante o perodo de estgio, mas durante todos os anos que estou estudando. Agradeo a todos os meus professores pela dedicao e pacincia que tiveram comigo, terei sempre admirao por eles. Agradeo tambm aos meus amigos de sala, porque nesses anos pudemos conviver e aprender uns com os outros, transformando assim as dificuldades em desafios. Contribuiu tambm para o sucesso deste trabalho o analista Larry Ellison que com disposio me recebeu e orientou. Seu apoio foi fundamental para concretizao deste trabalho. Por fim, agradeo ao meu orientador de estgio, o professor Hlio Lemes Costa Junior, principalmente pela pacincia e profissionalismo com que me orientou.

SUMRIO
I INTRODUO ....................................................................................... 7 II A EMPRESA .......................................................................................... 6 2.1 Histrico ............................................................................................ 6 2.2 Misso, Viso e Valores.................................................................... 6 2.3 Servios Prestados............................................................................. 7 2.4 Estrutura da rea Estagiada .............................................................. 8 2.4.1 Organograma e Croqui ............................................................... 9 III O ESTGIO ........................................................................................ 11 3.1 Referencial terico .......................................................................... 11 3.1.1 PHP ........................................................................................... 11 3.1.2 MYSQL .................................................................................... 12 3.1.3 PHP e o MYSQL ...................................................................... 13 3.1.4 PHP e o Modelo Orientado a Objetos ...................................... 13 3.1.5 Javascript .................................................................................. 14 3.1.5.1 Javascript no Java .......................................................... 15 3.1.6 XML ......................................................................................... 15 3.1.7 CSS ........................................................................................... 16 3.1.8 AJAX ........................................................................................ 16 3.1.8.1 Funcionamento do AJAX................................................... 16 3.1.8.2 A Classe XMLHttpRequest ............................................... 18 3.2 Atividades desenvolvidas................................................................ 19 3.2.1 Biblioteca TTABLE ................................................................. 20 3.2.2 Biblioteca TNAVIGATOR ...................................................... 24 3.2.3 Implementao.......................................................................... 25 IV CONCLUSES E SUGESTES ....................................................... 27 4.1 Concluses ...................................................................................... 27 4.2 Sugestes a Empresa ....................................................................... 28 4.3 Sugestes a STANFORD ................................................................ 28 V REFERNCIAS BIBLIOGRFICAS ................................................. 29 VI ANEXOS ............................................................................................. 30 6.1 Avaliao do estgio pelo aluno ..................................................... 30 6.2 Avaliao do estagirio pelo Supervisor na Empresa..................... 32

I INTRODUO
Na Web 2.0 os aplicativos funcionam pela Internet, no somente instalados no computador, de forma que vrios programas, aplicativos estejam instalados e configurados em uma maquina servidora e o usurio possa acessar de qualquer maquina. Os programas online esto cada vez melhores, indispensveis e populares como editores de texto, publicadores, comunicadores, organizadores e muitos outros. Com a web 2.0 mudou-se a forma de fazer softwares. Para o melhor funcionamento na Internet, foi necessria a unio de vrias tecnologias como o Ajax por exemplo que proporcionou para a web uma comunicao cliente/servidor transparente para o usurio com interfaces rpidas e muito fceis de usar, hoje podemos destacar duas grandes empresas que investem muito em Ajax, o Yahoo e a Google. O contedo dos websites tambm sofreu uma enorme mudana, a utilizao de blogs dando ao usurio a possibilidade de participar do contedo de websites sem ter conhecimento em html. Mesmo quando o contedo no gerado pelos usurios, este pode ser enriquecido com comentrios e avaliao. Algumas aplicaes Web permitem ao usurio a configurao de contedo sob forma de pgina pessoal, permitindo a ele a filtragem de informao que ele considera relevante. At o momento no existe definio sobre o que exatamente a Web 2.0, e as definies variam de acordo com o entendimento de cada especialista. Esta indefinio tambm se deve ao fato de a Web 2.0 no ser um objeto, um produto, tampouco uma marca. Existe uma tendncia integrante da Web 2.0 chamada Computao em nuvem, esta tende a levar todas as informaes, sistemas operacionais que o usurio utiliza em sua maquina para servidores online deforma que o usurio no tenha nada instalado e armazenado em sua maquina. A Web 2.0 tem afetado diretamente as empresas, pois um timo diferencial apresentar servios online aos seus clientes proporcionando agilidade e acesso a informaes em tempo real.

II A EMPRESA 2.1 Histrico


A ORACLE CONSULTORIA teve incio em 2004, quando Amlia Oliveira, vislumbrou novos horizontes na sua vida profissional, convidou 2 amigos o Psiclogo Jos Donizete da Silva e o Analista de Sistemas Larry Ellison e ento iniciaram oferecendo consultorias de Recursos Humanos Informao desenvolvendo solues para as empresas. Em outubro de 2005 a ORACLE percebendo que poderia crescer ainda mais oferecendo desenvolvimento em informtica e cursos profissionalizantes para adolescentes de nveis sociais menos favorecidos fez parceria com a EDUCARE, e de Tecnologia da

participando desta empresa com 70% do capital. A EDUCARE, formao bsica constituda desde 2003 com foco no desenvolvimento de competncias e habilidades dentro da rea tcnico-educacional. E no sentido de agregar valor aos servios prestados uniram suas foras para atender com objetividade seus clientes. No final de 2007, a ORACLE assumiu por completo as atividades da parte de cursos da empresa EDUCARE, fundando a NETWAY Cursos, para expanso do atendimento em treinamentos e cursos em diversas reas de tecnologia e profissionalizantes, para a cidade e regio. As duas empresas hoje, conta com profissionais altamente competentes para desenvolver o seu negcio. A ORACLE iniciou pequena, meio tmida, mas hoje, presta servios para dezenas de empresas no Brasil, tendo seu reconhecimento e respeito no mercado. O crescimento foi deslumbrante e gratificante, pela total responsabilidade de seus empreendedores.

2.2 Misso, Viso e Valores


Misso: Disponibilizar s empresas e as pessoas um servio de excelncia
em consultoria de gesto eficiente em tecnologia, conhecimento e inovao, conquistando a confiana do mercado, trazendo vantagem competitiva para nossos

clientes e o bem-estar de nossos empregados, colaboradores e da comunidade onde atuamos.

Viso: Ser reconhecida como uma empresa de referncia na rea em que


atual e que presta seus servios de forma diferenciada pela base de conhecimento que dispe e reutiliza.

Valores:
Compromisso com a entrega, Qualidade na prestao de Servio, Inovao, Engajamento, tica, Transparncia, Respeito, Foco no desenvolvimento, Responsabilidade Social e Ambiental.

2.3 Servios Prestados


Constatamos a necessidade de desenvolver solues em Recursos Humanos, Gesto de Pessoas, Controles informatizados atravs da Consultoria Estratgica voltada para o dia a dia das organizaes, com projetos de curto e mdio prazo, no intuito de identificar ferramentas e procedimentos seguros para o gerenciamento na Gesto de Recursos Humanos e os recursos e/ou investimentos em Tecnologia, bem como controles estratgicos gerenciais e alinhados cultura e ao planejamento das empresas. Desenvolvemos treinamentos direcionados a necessidade da empresa, atendendo os aspectos: comportamentais, motivacionais, qualidade, conhecimentos tcnicos especficos, reengenharia funcional, segurana do trabalho e outros. Para o pronto atendimento temos profissionais qualificados e outras parcerias que promovem ORACLE em todos os seus processos.

Consultoria e suporte em Tecnologia da informao em conformidade com a estratgia da rea de TI da empresa, principalmente vindo a otimizar solues para empresas contratantes de solues de terceiros. Aconselhamento/acompanhamento de negociaes com fornecedores de solues de TI. Suporte e acompanhamento de projetos de TI, principalmente softwares de Gesto e projetos de infra-estrutura. Acompanhamento e suporte em solues de problemas de sistemas contratados de terceiros (ERP), assessorando em abertura de chamados (fichas de ocorrncias), acompanhamento de atualizaes de novas verses, bem como necessidades especficas do negcio da empresa. Consultoria para aplicao de atualizaes de novas verses (pacotes) do ERP e converses de bases. Desenvolvimento de customizaes especficas de programa para sistemas ERP, para extrao de informaes, gerao de relatrios e planilhas conforme necessidade da empresa, inclusive converso automtica em planilha Excel, diretamente dos relatrios padres do sistema ERP, facilitando o tratamento da informao (contas pagar, contas receber, estoques, etc) e eliminando a impresso em papel, provendo dados para tomada de deciso mais eficiente. Tambm desenvolvemos solues completas Desktop/Web integradas ao ERP para processos especiais, conforme necessidade da empresa (Progress, Webspeed, Delphi., PHP,COBOL,etc). Temos buscado parceiros no mercado de forma a prover uma soluo completa em TI, desta forma A ORACLE consultoria, tambm atua em projetos completos de infra-estrutura de dados, telefonia de qualquer porte, inclusive com venda dos equipamentos para o projeto. A ORACLE oferece para empresas e comunidade em sua Escola Netway Cursos, treinamentos e cursos de Informtica, profissionalizantes e idiomas.

2.4 Estrutura da rea Estagiada


A empresa composta de:

3 Scios Proprietrios 1 Analista 2 Programadores 1 Estagirio 2 Secretrias 2 instrutores 1 Professora Parceira de Ingls 18 Computadores 1 impressora copiadora 26 mesas, 29 cadeiras e 2 arquivos. 2 linhas de telefone 2 banheiros 1 cozinha

2.4.1 Organograma e Croqui

Organograma

10

Croqui

11

III O ESTGIO 3.1 Referencial terico 3.1.1 PHP


PHP (Hipertext PreProcessor) uma linguagem de programao utilizada para criar sites dinmicos. Aplicaes em PHP so geradas em excelente performance, e automaticamente, pelo servidor. O usurio no tem acesso ao cdigo PHP. Esse tipo de detalhe muito importante quando estamos lidando, por exemplo, com senhas e acesso a banco de dados. Eduardo Moraz (2005, p.14) diz que:
Atualmente na verso 5.0.5, o PHP foi desenvolvido em 1994 por Rasmus Lerdorf. As primeiras verses foram aplicadas em sua homepage pessoal, com o intuito de saber quem estava consultando seu currculo. A primeira verso a ser utilizada por outras pessoas foi disponibilizada em meados de 1995 e era conhecida como Personal Home Page Tools (Ferramenta para Homepages Pessoais)

O PHP uma linguagem de script, executada no lado do servidor. Portanto, podemos coletar dados de formulrios, gerar pginas com contedo dinmico, enviar e receber dados, gerar xml a partir de dados coletados em banco de dados entre outras funes. Scripts no lado do servidor (server-side) a principal rea de atuao do PHP. Para implement-lo, precisamos apenas de um interpretador PHP, um servidor Web e um browser. Basta ento rodar o servidor Web conectado a um PHP instalado. possvel acessar os resultados do programa PHP com um browser, visualizando a pgina PHP por meio de um servidor Web.
O PHP pode ser utilizado na maioria dos sistemas operacionais, como Linux, variantes Unix (Solaris, OpenBSD), Microsoft Windows, etc. Ele tambm suportado pela maioria dos servidores Web atuais, incluindo Apache, Microsoft Internet Information Server (IIS), Personal Web Server e muitos outros. (Eduardo Moraz,2005, p.15).

Com o PHP no estamos limitados a gerar HTML. As funcionalidades do PHP incluem geraes de imagem, arquivos PDF e animaes em Flash criadas dinamicamente. Podemos, ainda, gerar padres de texto, como XML, e envia-los via HTTP para o usurio. Com o PHP possivel se conectar numa variedade de banco de

12

dados. Entre os bancos suportados pelo PHP, destacam-se MySQL, Oracle (OCI7 e OCI8), InterBase e PostgreSQL. Para Luke Welling e Laura Thomson (2005, p.368) O Protocolo HTTP no tem nenhuma maneira predefinida de manter o estado entre duas transaes, ou seja, o HTTP no fornece uma maneira de dizer se as duas solicitaes vm do mesmo usurio. Com isso a segurana da informao fica comprometida, podendo disponibilizar dados indevidos a um determinado usurio do sistema. Para resolver o problema de segurana na transao cliente/servidor o PHP utiliza o controle de sesso, onde gerado um ID nico de sesso, um nmero criptograficamente aleatrio. Esse ID de sesso gerado pelo PHP e armazenado no lado cliente. A idia do controle de sesso monitorar um usurio durante uma nica sesso em um Web site. Podendo facilmente suportar o login de um usurio e mostrar o contedo de acordo com seu nvel de autorizao.

3.1.2 MYSQL
O MySQL um sistema de gerenciamento de banco de dados relacional (relational database management system -RDBMS) poderoso e muito rpido. Um banco de dados permite armazenar, pesquisar, classificar e recuperar dados de forma eficiente. O servidor do MySQL controla o acesso aos dados para assegurar que vrios usurios possam trabalhar com os dados ao mesmo tempo, fornecer acesso rpido aos dados e assegurar que somente usurios autorizados obtenham acesso. Portanto, o MySQL um servidor multiusurio e multiencadeado (ou multithreaded). Ele utiliza SQL (Structured Query Language), a linguagem de consulta padro de banco de dados em todo o mundo. Para Luke Welling e Laura Thomson (2005) O MySQL est publicamente disponvel desde 1996, mas tem uma historia de desenvolvimento que remonta a 1979. O MySQL ganhou o prmio Journal Reades` Choice Award Linux em vrias ocasies. MySQL est disponvel sob a licena Open Source, contanto que cumpra os termos de licena.

13

3.1.3 PHP e o MYSQL


Uma das maiores qualidades do PHP e do MySQL o fato de eles funcionarem com qualquer dos maiores sistemas operacionais e muitos dos menores: Com o Linux utilizando o servidor Web Apache. Com o Microsoft Windows XP utilizando o Microsoft Internet Information Server (IIS).

3.1.4 PHP e o Modelo Orientado a Objetos


A linguagem de programao PHP disponibiliza recursos para que a criao de scripts possa ser realizada baseada nos conceitos do modelo orientado a objetos ou escolher entre programao estrutural ou, ainda, uma mistura de ambas. Em junho de 2004 foi lanada a verso 5 do PHP. O novo modelo de orientao a objeto em PHP, reformulou os construtores e adicionou destrutores. O tratamento de objetos do PHP foi completamente reescrito, permitindo um desempenho melhor e mais vantagens. Enquanto na verso anterior era preciso muito esforo para atender orientao a objetos, o PHP 5 veio para sanar essa deficincia. A visibilidade de uma propriedade ou mtodo pode ser definida com os seguintes modificadores de acesso: public, protected ou private. Itens declarados como pblicos podem ser acessados pelo objeto (instncia da classe). Membros protegidos esto acessveis s classes filhas (herdadas). A visibilidade privada limita a apenas a classe que define o atributo ou mtodo. Alguns conceitos bsicos do modelo orientado a objetos, segundo Sgio Luiz Tonsig (2007); Classes: um modelo estrutural que possue caractersticas semelhantes, que podem ser modeladas e especificadas em uma estrutura. Tomando como exemplo uma classe funcionrios, esta tera as caractersticas gerais de um funcionrio. Cada funcionrio uma instncia (objeto) da classe funcionrios.

14

Objetos: Objeto criado (instanciado) a partir de uma classe, para que seja possivel utilizar-se dos atributos e mtodos especificados na classe que representa o objeto. Atributos: So as caractersticas prprias de um determinado objeto. Considere o objeto pessoa. Pessoa pode ter nome, endereo, telefone, altura, idade, religio, cor dos olhos etc. Todas estas caractersticas especificas de pessoa so chamadas de atributos. Mtodos: Funcionalidades e aes que o objeto pode oferecer. No caso de um objeto funcionrio, por exemplo, algumas possveis funcionalidades seriam: admisso, promoo, suspenso, alterao, demisso, afastamento etc. Herana: Pode chamar de classe filha aquela que herda as caractersticas de outra (classe me). Herana uma forma de reutilizao de cdigos. Por exemplo, que se tenha uma classe pessoa e tambm uma classe funcionrios. Na classe pessoa se define alguns atributos como nome, endereo, telefone e alguns mtodos como, por exemplo, cadastrar e consultar. Se a classe funcionrios tiver como caracterstica tudo que j foi definido para pessoa, ento, a classe funcionrios uma sub-classe de pessoa (pessoa a classe me). Herana, implica dizer que tudo aquilo que foi definido na classe me est tambm disponvel (se faz presente) na classe filha. (Sgio Luiz Tonsig, 2007). Encapsulamento: Conceito que abrange liberao ou restrio de acesso aos atributos e mtodos de uma classe, utilizando a propriedade de visibilidade que emprega os chamados modificadores de acesso (private, project e public). Polimorfismo: Segundo Sgio Luiz Tonsig (2007) a Capacidade de respostas diferentes a uma mesma forma de chamada do mtodo. Fato que pode ocorrer pela sobreposio do mtodo, isto , a classe me possui uma definio e procedimento de um mtodo que, na classe filha o mesmo no utilizado tal como foi herdado, em funo de seus procedimentos terem sido redefinidos.

3.1.5 Javascript
Javascript uma linguagem de programao, interpretada e com recursos de orientao a objetos. O ncleo de uso geral da linguagem foi incorporado no

15

Netscape, Internet Explore e em outros navegadores Web. (David Flanagan, 2004). O javascript roda lado cliente e permite que o contedo executvel seja includo em paginas Web. Significa que uma pagina Web no precisa mais de HTML esttico, mas pode conter programas que interagem com o usurio, controlam o navegador e criam contedo HTML dinamicamente. Sintaticamente, o JavaScript assemelha-se s linguagens C, C++ e Java, instruo IF, o lao while e o operador &&. Entretanto, o JavaScript uma linguagem no-tipada, ou seja, as variveis no precisam ter um tipo especificado.

3.1.5.1 Javascript no Java


Um dos equvocos mais comuns que se comete sobre JavaScript sugerir que seja o Java, a linguagem de programao da Sun Microsystems. Exceto por alguma semelhana sinttica e pelo fato de que tanto Java como JavaScript podem fornecer contedo executvel em navegadores Web, as duas linguagens no tem nenhuma relao. Segundo David Flanagan (2004) A semelhana de nomes puramente uma manobra de marketing (no inicio a linguagem foi chamada de LiveScript; seu nome mudou para Javascript no ultimo minuto). JavaScript e Java formam, porm, uma boa equipe. As duas linguagens possuem diferentes recursos. JavaScript consegue controlar o comportamento e o contedo de um navegador, mas no consegue desempenhar operaes de rede. Java no tem nenhum controle sobre o navegador como um todo, mas oferece recursos grficos e recursos de rede. Segundo David Flanagan (2004) JavaScript do lado cliente consegue interagir com applets Java embutidos em uma pagina Web e as controlar. Nesse sentido, JavaScript pode realmente empregar Java em Scripts.

3.1.6 XML
XML (Extensible Markup Language) uma linguagem que veio com a inteno de organizar e formatar conjuntos de cdigos aplicados em textos ou a dados. Segundo Ryan Asleson e Nathaniel T. Schutta (2006) O XML um formato para a criao de documentos com dados organizados de forma hierrquica, a estrutura de tags do XML parecidada como a do HTML porem ela d ao programador a capacidade de

16

criar suas proprias tags. Um banco de dados pode, atravs de uma aplicao, escrever em um arquivo XML, e um outro banco distinto pode ler ento estes mesmos dados. Hoje temos como exemplo o sistema de nota fiscal eletronica que troca informaes utilizando XML.

3.1.7 CSS
CSS (Cascading Style Sheets) uma linguagem de estilo utilizada para definir a apresentao de documentos. Ao invs de colocar a formatao dentro do documento, o desenvolvedor cria um link para uma arquivo que contm os estilos, procedendo de forma idntica para todas as pginas do site. Quando o programador desejar alterar a aparncia do site basta modificar apenas o arquivo linkado. Segundo Edgard B. Damini (2006) O CSS veio para botar cada coisa no seu lugar por ser uma linguagem prpria de formatao.

3.1.8 AJAX
AJAX um acrnimo para Asynchronous Java Script e XHTML (JavaScript e XHTML Assncrono). Trata-se de um recurso existente h muito tempo na linguagem javaScript sendo muito utilizada por algumas empresas como a Google, por exemplo.

3.1.8.1 Funcionamento do AJAX


Em geral, uma aplicao Desktop apresenta facilidades operacionais e grande velocidade no retorno das informaes (tempo de resposta), estes aspectos sem a tecnologia AJAX estavam fora do alcance das aplicaes desenvolvidas para Web. A utilizao do AJAX torna possivel que s aplicaes desenvolvidas para Web tenham o mesmo contexto das aplicaes desenvolvidas para Desktop, desta forma, a Web deixa de ser uma provedora de contedos e passa a ser uma plataforma de aplicativos, o que tem permitido atribuir Web uma nova categorizao (Web 2.0), embora ela prpria (estrutura) nada tenha mudado at o momento.

17

Com o AJAX possvel conseguir em aplicaes, dinamismo, recuperao assncrona de dados, utilizando a classe XHTMLHttpRequest. A figura 1.0 a seguir apresenta aspectos dos dois modelos de aplicaes em ambientes Web: o modelo clssico e o modelo com AJAX.

Figura 1 Comparativo do modelo web clssico e modelo web em Ajax Fonte: TONSIG (2007, p.222)

No modelo clssico de aplicaes para Web, uma aplicao funciona da seguinte forma: Um evento (com o clique em um link) na interface HTML dispara uma solicitao http para um servidor. O servidor recebe e verifica o que fazer com a solicitao (faz algum clculo, acessa o banco de dados) retornando uma resposta em HTML que recebida pelo browser, que realiza um carregamento (reload) da pgina. No modelo clssico, aps a solicitao ter sido disparada, o usurio fica aguardando um retorno do servidor, durante o tempo em que o servidor processa a requisio, o usurio nada pode fazer na interface. A cada retorno do servidor, toda a interface (pgina HTML) recarregada. No modelo com AJAX as aplicaes podem ser constitudas de maneira que a comunicao com o servidor seja transparente ao usurio e tambm que no tenha que

18

ficar aguardando retornos que interrompam o funcionamento local do aplicativo, tal como acontece em uma aplicao desktop. O AJAX utiliza uma nova camada de software no lado cliente (engine AJAX) que escrita em javaScript, a qual executa processamentos assncronos de comunicao com o servidor (trocando dados) de forma que um nico browser possa realizar mais de uma solicitao ao mesmo tempo ao servidor

A figura 2.0 a seguir apresenta o funcionamento dos dois modelos de aplicaes em ambientes Web: o modelo scrono e o modelo assncrono.

Figura 2 modelo de comunicao sincrono e assncrono

Fonte: TONSIG (2007, p223)

Um processamento do tipo sncrono aguarda o trmino da execuo de um processo para s depois iniciar um outro, enquanto um processamento assncrono permite que outros processos sejam acionados ao mesmo tempo da execuo do primeiro.

3.1.8.2 A Classe XMLHttpRequest


O XMLHttpRequest uma API (Application Programming Interface), que disponibiliza as funcionalidades HTTP (Hiper Text Transfer Protocol Protocolo de Transferncia de Hiper-Texto) permitindo a troca de dados entre cliente e servidor. Tosing (2007) diz que:
Inicialmente foi disponibilizada pelo Internet Explore 5.0 (Julho/2000) e depois pelos demais navegadores. Porm, enquanto os demais navegadores seguiram as especificaes da W3C, o Internet Explore disponibilizou o

19

recurso na forma de um ActiveX (Conjunto de tecnologias criado pela Microsoft para facilitar a integrao de aplicae ).

Portanto, para que o recurso possa funcionar em todas as verses de browsers necessrio observar alguns procedimentos no momento de instanciar a classe XMLHttpRequest.

3.2 Atividades desenvolvidas


Durante o perodo de estgio na empresa ORACLE um de seus clientes aqui da cidade de Varginha, solicitou um desenvolvimento de um sistema Web para a gesto de sua empresa. Uma das principais solicitaes do cliente era que o sistema pudesse ser acessado de qualquer maquina sem a necessidade de instalar aplicativos locais, ou seja, a nica requisio para acesso ao sistema era ter um navegador instalado na maquina A partir deste ponto juntamente empresa ORACLE foram estudadas as melhores ferramentas para o desenvolvimento deste sistema. Decidiu-se optar por uma combinao de JavaScript, MySQL e PHP, com essa combinao tinha-se o javaScript atuando lado cliente com total domnio sobre os eventos e interaes com o navegador, proporcionando ao usurio um ambiente interativo fazendo com que o sistema ganhe agilidade evitando o excesso de solicitao de dados ao servidor. Com o PHP rodando lado servidor tinha-se aplicaes poderosas com uma excelente comunicao com o banco de dados Mysql capazes de gerar javaScripts, Xml, PDF, etc. Alem de serem ferramentas open Source elas tem total portabilidade para sistemas Linux, Windows e os principais navegadores como: FireFox, Google Chrome, Internet Explore, Opera. Aps optar por essas trs linguagens surgiu um pequeno problema: a agilidade da programao, pois no h boas ferramentas de desenvolvimento de sistemas voltados a PHP e javaScript. Foi a dedicado o perodo de estagio: a

construo de bibliotecas e classes PHP capazes de gerar rotinas que agilizam a programao reduzindo linhas de cdigos e implementadas nestas bibliotecas o conceito de Ajax para tornar transparente a comunicao cliente/servidor. A seguir tem-se um detalhamento maior sobre as duas principais bibliotecas desenvolvidas: a biblioteca TTable e a TNavigator que juntas tem a capacidade de gerar

20

telas, criar rotinas lado cliente que interagem com o usurio, manipulam dados locais e rotinas lado servidor que manipulam informaes no banco de dados.

3.2.1 Biblioteca TTABLE


A biblioteca TTABLE uma ferramenta geradora de cdigo desenvolvida na linguagem PHP, ela auxilia na construo de aplicativos reduzindo grandes linhas cdigos em pequenas passagens de parmetros a partir de tcnicas de orientao a objeto. A funo da biblioteca controlar a comunicao da interface do usurio com o banco de dados gerando scripts capazes de atuar lado cliente e scripts pr programados que agem lado servidor.

Lado cliente
Para a comunicao lado cliente so geradas rotinas em javascripts para manipulao da interface com o usurio, criao de eventos (onClick(),

OnMouseOver(), etc.), manipulao dinmica de folhas de estilo css, so gerados scripts em Ajax para a comunicao direta com o servidor fazendo requisies HTTP, nesta comunicao o Ajax faz solicitaes de dados ao servidor onde o mesmo retorna os dados no formato XML para que de forma assncrona o javaScript possa atualizar os dados na tela do usurio.

Figura 3 Comunicao lado cliente

21

Lado Servidor
Para a comunicao lado Servidor so gerados scripts PHP pr programados capazes de receber dados via HTTP enviados pelo Ajax (lado cliente) e comunicar com o banco de dados fazendo consultas, incluses, alteraes, excluses, etc. Aps atingir um resultado esperado o script PHP cria dinamicamente um arquivo XML e envia para o Ajax lado cliente.

Figura 4 - Comunicao lado servidor

Segurana
Para manter segura a comunicao cliente/servidor a biblioteca utiliza-se de um recurso de sesso que testa a autenticidade do browser lado cliente com o servidor, alem disso so criadas variveis de sesso que contem as configuraes e informaes da aplicao que foi gerada e passada para o cliente, isto permite com que a cada solicitao do usurio a biblioteca possa validar a autenticidade da informao.

Figura 5 Controle de segurana baseado em sesso

22

Funcionalidades
A biblioteca possui diversas funcionalidades como: telas com funes de filtro de dados, telas com funes de pesquisa, telas com funes de localizao de registro pela chave primaria, telas com funes de uploads de arquivos, tratamento de erros, exibio de imagens e arquivos pdf.

Tela de Filtragem
A tela de filtragem tem como objetivo disponibilizar ao usurio a capacidade de definir quais os registros da tabela em questo ele ira visualizar e trabalhar, tomando como exemplo um cadastro de clientes o usurio poder escolher trabalhar com apenas clientes da cidade de Varginha. Ao clicar em OK o sistema se encarregara de trazer do servidor os primeiros 50 registros filtrados no formato XML para a maquina do cliente facilitando sua forma de consulta.

Figura 6 - Tela de Filtragem

Tela de Pesquisa
A tela de pesquisa tem como objetivo disponibilizar ao usurio a capacidade de listar pequenos grupos de registros. A partir de um pequeno clique sobre um registro listado o sistema carregara o mesmo na tela.

23

Figura 7 - Tela de Pesquisa

Tela Ir Para
A tela de Ir Para tem como objetivo disponibilizar ao usurio a capacidade de localizar um registro pela chave primaria e carregar na tela.

Figura 8 - Tela Ir Para

Tela de Upload
A tela de upload tem como objetivo disponibilizar ao usurio a capacidade de carregar arquivos que esto em sua maquina para um diretrio especifico no servidor e registrar no banco de dados o nome e diretrio onde o arquivo se encontra, os arquivos permitidos so apenas PDF e JPEG.

Figura 9 - Tela de Upload

24

Tratamento de erros - A biblioteca tambm capaz de tratar alguns erros de entrada de dados como: validao de CPF, CNPJ, campos que no podem estar em branco, comparao de senhas e validao de data. Exibio de imagens e arquivos pdf - A biblioteca capaz de buscar uma imagem ou arquivo pdf que foi carregado anteriormente pela rotina de upload e exibilos no browser. Para o correto funcionamento da biblioteca necessrio que se agregue a sua configurao a utilizao de uma outra biblioteca chamada TNavigator para que assim o usurio possa ter acesso visual aos botes de navegao e atravs destes possa disparar eventos.

3.2.2 Biblioteca TNAVIGATOR


A biblioteca TNavigator essencial para o funcionamento da biblioteca TTable, sendo responsvel pela parte visual dos botes de navegao e pelo direcionamento de eventos que sero disparados pelo usurio do sistema

Rgua de Navegao
A rgua de navegao gerada dinamicamente pela biblioteca TNavigator onde so gerados folhas de estilos css para estilizar o visual dos botes e javascripts para controlar o bloqueio e visibilidade dos mesmos. possvel optar pela gerao de botes pr-estilizados ou por imagens geradas pelo programador.

Figura 10 Rgua de Navegao

No exemplo acima, demonstrado na Figura10. Foi criada uma imagem especifica para cada boto da rgua, estas imagens esto em uma pasta, basta o programador configurar o diretrio, nome e extenso da imagem, a partir dai a biblioteca se encarrega de realizar o vinculo com a TTable a qual contem toda a programao dos eventos onClick disparados pela rgua.

25

3.2.3 Implementao
A Figura11 abaixo demonstra uma tela de cadastro de usurios, onde foi usada as bibliotecas TTable e a TNavigator.

Figura 11 Tela de Cadastro de Usurios

A capacidade de criao destas bibliotecas se deu ao fato do PHP ser orientado a objeto, nessas foram implementados os conceitos de classes, objetos, herana e polimorfismo assim como descritos abaixo. Tanto a biblioteca TTable quanto a TNavigator possuem uma classe principal com seus respectivos nomes, esta classe responsvel por todo o processo de utilizao e configurao a partir de acesso a mtodos e propriedades da classe. A classe TTable possui diversas classes filhas cujo a funo e tratar eventos lado servidor. A biblioteca permite ao programador implementar clculos e eventos fora da classe (com eventos que tratam dados antes de uma gravao no banco de dados) isto se d ao fato da biblioteca seguir o conceito de polimorfismo, onde ocorre a sobreposio de

mtodos da classe por mtodos programados pelo programador. Algumas configuraes bsicas da classe TTable: Include("libs/componentes/TTable/TTable.php"); // Fazendo o uso da biblioteca TTABLE na pagina.

26

$tabela1= new TTable('libs/'); // Criando uma no servidor.

instancia da classe

TTABLE. O parmetro libs identifica o diretrio raiz da localizao das bibliotecas

$tabela1->nome=cadastroDeUsuarios; // Definindo um nome para identificao do objeto. Esta propriedade ajuda na identificao via javascript com php. $tabela1->nomeTabela=cad_usuario; // Vinculando o objeto a uma tabela do banco de dados, basta informar o nome da tabela $tabela1->idCone=1; // Informando o id de coneco com o banco de dados. O id 1 indica um respectivo nome de banco de dados, usurio e senha de coneco que se encontra em um arquivo de configurao. $tabela1->campos[1]='codigo,,'; $tabela1->campos[2]='nome,,'; // Configurando campos da tabela. Esta propriedade um array onde podemos informar quais os campos o objeto vai tratar e reconhecer. $tabela1->carregar(); // Implementando as configuraes. Este mtodo tem a funo de implementar todas as configuraes realizadas anteriormente, incluindo a gerao dos programas que atuaro no lado cliente. Algumas configuraes bsicas da classe TNavigator: require_once("libs/componentes/TNavigator/TNavigator.php");// Fazendo o uso da biblioteca TNavigator na pagina. $obj=new TNavigator; // Criando uma instancia da classe TNavigator. $obj->nome='navegador1';// Definindo um nome para identificao do objeto. Esta propriedade ajuda na identificao via javascript com php. $obj->nomeTabela='cadastroDeUsuarios '; // Vinculando o objeto TNavigator ao objeto TTABLE, basta informar o valor da propriedade nome do Objeto TTABLE. $obj->setRegua(1,1,1,1,1,1,1,1,0); // Informando quais botes de eventos estaro visveis. Existem nove botes de eventos, neste exemplo somente o ultimo estar invisvel, o parmetro 1 indica visvel e 0 invisvel. $obj->setNavegador(1,1,1,1)' // Informando quais botes de navegao estaro visveis. Existem quatro botes de navegao, neste exemplo todos estaro visveis, o parmetro 1 indica visvel e 0 invisvel.

27

$obj->carregar(); // Implementando as configuraes. Este mtodo tem a funo de implementar todas as configuraes realizadas anteriormente, incluindo a gerao das rguas de botes.

IV CONCLUSES E SUGESTES 4.1 Concluses


Com toda base adquirida durante o curso de Sistemas de informao, principalmente nas aulas de programao e com muitas horas de leituras de apostilas, sites e de livros adquiridos nestes perodos, ao trmino deste estgio chega-se concluso de que ele foi de grande valia para concretizar todo este aprendizado. O principal ponto ao desenvolver estas bibliotecas, foi adequar todo o funcionamento da biblioteca aos conceitos da web 2.0, o que fundamental para a vida til de um sistema web. Com este desenvolvimento adquire-se maiores conhecimentos em banco de dados MySql, PHP, JavaScript, Ajax, Xml, Css e na construo de programas que atuam lado cliente/servidor. Com o auxlio do supervisor (Larry Ellison) foi possvel acessar conceitos de programas desenvolvidos pela empresa ORACLE e de ERPs consagrados. Atravs deste conhecimento foi possvel alm de acertar na definio do modelo de dados, implementar nas bibliotecas interfaces com usurio bem definidas,

ergonomicamente corretas e procedimentos seguros de transaes com banco de dados, mantendo a integridade e segurana da informao a todo momento e sob quaisquer circunstncias. Um dos principais benefcios da criao destas bibliotecas foi a reduo do tempo de desenvolvimento de novos programas, com elas foi possvel reduzir 96% do tempo de desenvolvimento, ou seja, sem a utilizao das bibliotecas um programador web que tenha conhecimento em php e javaScript, gastaria em mdia 25 horas ou mais para o desenvolvimento de um cadastro de clientes com funes de incluso, alterao, excluso, filtragem, pesquisa, upload de aquivos e criao de programas lado cliente/servidor. Com a utilizao da biblioteca foi possvel criar um cadastro de clientes com todos estes recursos em apenas 1 hora e sendo necessrios apenas conhecimentos bsicos em PHP. Foi um desenvolvimento complexo, completo e bem

28

trabalhado, porem o retorno deste trabalho vir agora com o desenvolvimento de novos sistemas. Um desafio futuro facilitar a implementao destas bibliotecas e outras que venham a ser desenvolvidas, atravs de telas mais amigveis e um gerador automtico de programas auto-documentados.

4.2 Sugestes a Empresa


Criar um programa de treinamento de futuros programadores, porque por mais que a faculdade ensine, na prtica que o aprendizado se consolida. muito importante o futuro profissional j sair da faculdade com este conhecimento da tecnologia aplicada nas empresas. Outra sugesto identificar e indicar alguns projetos que poderiam ser executados por grupos de alunos da faculdade. No tempo estagiado, percebi que algumas solicitaes de oramentos, devido a sobrecarga de trabalhos para clientes maiores, no eram possveis de ser atendidas.

4.3 Sugestes a STANFORD


Sugere-se a Stanford University criar um horrio para simulaes de estgio onde os alunos possam apresentar prvias da pasta de estgio, e com isso entender melhor como funciona a avaliao da banca examinadora. Dessa forma os alunos poderiam se sentir mais seguros na hora de apresentar as suas pastas de estgio. importante tambm intensificar as aulas que do um embasamento melhor ao aluno a respeito de prticas cotidianas que possam otimizar a relao entre empresas e clientes. As orientaes poderiam ter um horrio pr-estabelecido em alguns dias da semana, para que os professores pudessem ter mais tempo para orientar os alunos. Durante os intervalos das aulas o tempo muito curto para um orientador dar a devida orientao para vrios alunos ao mesmo tempo. A Biblioteca, por sua vez, poderia criar uma lista de livros separados por assunto, que os alunos pudessem consultar, assim ficaria mais fcil encontrar o melhor livro e agilizaria o processo de escolha.

29

V REFERNCIAS BIBLIOGRFICAS
ASLESON, RYAN; SCHUTTA, NATHANIEL T.. FUNDAMENTOS JANEIRO: ALTA BOOKS, 2006. DAMIANI, EDGARD. JAVASCRIPT: NOVATEC, 2006. FLANAGAN, DAVID. JAVASCRIPT: 2004.
DO

AJAX. RIO

DE

O GUIA DE CONSULTA RPIDA. O GUIA DEFINITIVO.

SO PAULO:

PORTO ALEGRE: BOOKMAN,

MORAZ, EDUARDO. TREINAMENTO PRTICO EM PHP. SO PAULO: DIGERATI BOOKS, 2005. OFICINADANET. O QUE XML?. DISPONVEL EM: <HTTP://WWW. OFICINADANET.COM.BR/ARTIGO/437/O_QUE_E_XML. ACESSO EM: 19 OUT. 2016. TONSIG, SRGIO LUIZ. PHP MODERNA, 2007.
COM

AJAX

NA

WEB 2.0. RIO


E

DE

JANEIRO: CINCIA

WELLING, LUKE; THOMSON, LAURA. PHP RIO DE JANEIRO: ELSEVIER, 2005. WIKIPEDIA. WEB 2.0. DISPONVEL ACESSO EM: 16 OUT. 2016.
EM:

MYSQL DESENVOLVIMENTO WEB.

<HTTP://PT.WIKIPEDIA.ORG/WIKI/WEB_2.0>.

WIKIPEDIA. CASCADING STYLE SHEETS. DISPONVEL EM: <HTTP://PT.WIKIPEDIA. ORG/WIKI/CASCADING_STYLE_SHEETS >. ACESSO EM: 19 OUT. 2016.

30

VI ANEXOS 6.1 Avaliao do estgio pelo aluno

Nome Curso Empresa CNPJ

Linus Torvalds Sistemas de Informao Perodo 8 Data de Trmino do Estgio ORACLE CONSULTORIA E ASSESSORIA 06.306.877/0001-91

23/11/16

O estgio tem atendido suas expectativas com relao aos objetivos de sua atuao profissional? Sim. A empresa onde est atuando possui estrutura suficiente que possibilite seu desempenho profissional? Sim. Seu estgio tem sido orientado, supervisionado de forma adequada? Sim. Qual o cargo de seu Supervisor do estgio na Empresa? Scio proprietrio, Analista de sistemas. Seu orientador solicito quando voc pede a sua ajuda para soluo de determinado problema? EMPRESA Sim ( x ) No ( ) s vezes ( ) STANFORD Sim ( x ) No ( ) s vezes ( ) De modo geral, a orientao recebida foi suficiente? EMPRESA Sim ( x ) No ( ) s vezes ( ) STANFORD Sim ( x ) No ( ) s vezes ( ) Como seu relacionamento pessoal com o Supervisor de Estgio? EMPRESA timo ( x ) Bom ( ) Regular ( ) STANFORD timo ( x ) Bom( ) Regular ( ) O estgio que est realizando possibilitou aplicao prtica dos conhecimentos adquiridos no curso? ( x ) SIM ( ) NO ( ) EM PARTE OBS:___________________________________________ Seu curso ofereceu embasamento terico e prtico suficiente para a realizao das atividades desenvolvidas durante o estgio? ( ) SIM ( ) NO ( x ) EM PARTE OBS: Falta de embasamento terico para Linguagens Web. O estgio permitiu conhecer a organizao da Empresa, transmitindo experincias teis para o futuro do exerccio profissional? ( x ) SIM ( ) NO ( ) EM PARTE OBS:___________________________________________ A Empresa proporcionou condies para o desenvolvimento e aproveitamento do estgio? ( x ) SIM ( ) NO ( ) EM PARTE OBS:___________________________________________ A atuao por parte do supervisor de seu estgio na Empresa contribuiu para o bom andamento e aproveitamento do estgio?

31

( x ) SIM ( ) NO (

) EM PARTE OBS:___________________________________________

As orientaes e/ou informaes fornecidas pela STANFORD foram adequadas para a realizao do seu estgio? ( x ) SIM ( ) NO ( ) EM PARTE OBS:___________________________________________ Durante o estgio, voc participou de algum treinamento ou curso dentro da Empresa? Se afirmativo, quais? No. De 0 a 5, que nota voc daria para: (0 Mnimo 5 Mximo) 04 Sua dedicao pessoal ao estgio 04 Aprendizagem adquirida no estgio 05 Relacionamento com outros funcionrios 05 Relacionamento com o Supervisor de Estgios da STANFORD 05 Relacionamento com o Supervisor da Empresa onde ocorreu o estgio OBS:___________________________________________________________________________ Voc recebe orientao na Empresa antes de executar tarefas especficas? ( x ) SIM ( ) NO ( ) EM PARTE OBS:___________________________________________ De modo geral, como voc avalia os contedos aprendidos e apresentados em seu curso e aproveitamento no estgio? ( ) TIMO ( x ) BOM ( ) RUIM ( ) MDIO OBS: _________________________________ De modo geral, como voc avalia o estgio realizado? ( ) TIMO ( x ) BOM ( ) RUIM ( ) MDIO OBS: _________________________________

______________________________
Linus Torvalds Acadmico

32

6.2 Avaliao do estagirio pelo Supervisor na Empresa


Estgio Supervisionado:____ Aluno Curso Perodo:____ Semestre Letivo:____/____

Empresa CNPJ Supervisor Larry Ellison (Empresa) Analista de sistemas Cargo

Linus Torvalds Sistemas de Perodo 8 Data de Trmino do Estgio Informao ORACLE CONSULTORIA E ASSESSORIA 06.306.877/0001-91

23/11/16

PARECER DO SUPERVISOR (Empresa/Instituio)

A 90 a 100 C 70 a 79 E 0 a 50

B 80 a 89 D 50 a 69 Conceitos (A, B, C, D ou E)

ASPECTOS PROFISSIONAIS
Itens a serem avaliados:

1. Qualidade do trabalho: cuidado no manejo de equipamentos, capricho, destreza. 2. Esprito inquisitivo: disposio para aprender, curiosidade cientfica, capacidade investigativa. 3. Iniciativa e determinao: capacidade para realizar tarefas de estgio sem influncias externas, capacidade para solucionar problemas, segurana na execuo de tarefas. 4. Conhecimentos: preparo tcnico demonstrado no desenvolvimento das atividades. ASPECTOS PESSOAIS
Itens a serem avaliados:

A A A A
Conceitos (A, B, C, D ou E)

1. Assiduidade: ausncias de faltas injustificadas e cumprimento do horrio estabelecido. 2. Disciplina e responsabilidade: observncia das normas internas relativas ao local de estgio, discrio quanto a assuntos sigilosos, zelo pelo patrimnio, postura adequada. 3. Relacionamento Interpessoal: facilidade de integrao com os colegas, integrao ao ambiente de trabalho e relao com outros profissionais afins. 4. Cooperao: disposio para colaborar o com os colegas e atender prontamente s solicitaes das partes envolvidas. 5. Interesse: envolvimento e comprometimento demonstrados para com as Tarefas a serem realizadas e o ambiente de estgio. Carga horria cumprida: 1.500 Horas
Observaes:

A A

A A A

Supervisor Local e data:

Carimbo da Empresa

33

STANFORD UNIVERSITY Bacharelado em sistemas de Informao CADASTRO DE ESTAGIRIO Estagirio Nome: Linus Torvalds Endereo: Rua Eustquio Jnior, n 36 Telefone Residencial: (35) 555-1890 Curso: Sistemas de Informao E-mail: linus@yahoo.com.br Instituio Provedora do Estgio (Empresa/Instituio) Nome: ORACLE CONSULTORIA E ASSESSORIA Endereo: Av. Major Venncio, n417 Sala 2 Telefones: (35) 555-7441 E-mail: larry@oracle.com.br Profissional Supervisor do Estgio (Empresa/Instituio) Nome: Larry Ellison Cargo ou Funo: Scio proprietrio, Analista de Sistemas Telefones: (35) 555-6580 E-mail: larry@oracle.com.br rea do Estgio: Desenvolvimento Professor Orientador do Estgio: Nome: Prof. Hlio Lemes Costa Junior, PhD Aceite:__________________________ Data:____/____/____ Telefone Celular: (35) 555-2086 Perodo: 8

Você também pode gostar