TIMELINE WEB BROWSER E ARQUITETURA DE SOFTWARE PARA
|
|
- Augusto Pais Martins
- 8 Há anos
- Visualizações:
Transcrição
1 UNIVERSIDADEFEDERALDEPERNAMBUCO GRADUAÇÃOEMCIÊNCIADACOMPUTAÇÃO CENTRODEINFORMÁTICA TIMELINEWEBBROWSEREARQUITETURADESOFTWAREPARA APLICAÇÕESWEB2.0 TRABALHODEGRADUAÇÃO
2 24deSetembrode2006 2
3 ASSINATURAS EsteTrabalhodeGraduaçãoéresultadodosesforçosdoalunoLivarCorreia deoliveiracavalcanticunha,sobaorientaçãodoprofessorsilviolemosmeira,sob otítulode TimelineWebBrowsereArquiteturaparaAplicaçõesWeb2.0.Todos abaixo estão de acordo com o conteúdo deste documento e os resultados deste TrabalhodeGraduação. LivarCorreiadeOliveiraCalvancantiCunha SilvioLemosMeira 3
4 Timeisonmyside.Yesitis! Timeisonmyside (RollingStones 12X5) 4
5 Agradecimentos Estetrabalhomarcaofimdemaisumafasenaminhavida.Ajornadaatéaqui teriasidomaisdifícilsetivessepercorridoestecaminhosozinho.eusempreestive,e estarei bem acompanhado. É impossível agradecer a todas as pessoas que me ajudaramachegaratéaquiequevãomeajudarachegaraindamaislonge,portanto gostariadeagradecerprimeiroaspessoasquenãocouberemouqueeumeesquecer deagradecernaspróximaslinhasdestetexto. Gostaria de agradecer em segundo lugar minha família, os primeiros responsáveisporeuserquemeusouhoje.comcertezafoiamelhorcriaçãopossível. Gostariadeagradecertambémaosgrandesprofessoresquetive,todoseles,do começodocolégioatéofimdagraduação. Gostaria de agradecer a Allan e Rafael (Cabelo), pelas várias reuniões e discussões,queajudaramageraraversãofinaldestedocumento.etambém,renan, Thiago,Fernando,JoséCarlos,etodosqueforammeusamigos,maispróximosemais afastadosduranteagraduação. Porúltimo,gostariadeagradeceraKatharina,quepassouameacompanhar nosúltimosmeses,masseiqueestesmeseslogoserãoanos,equedesdejáestá fazendosacrifíciospelomeufuturoprofissionaleacadêmico. Gostaria de terminar este agradecimento como comecei, agradecendo as pessoasqueeunãociteiounãoreferencieiaqui.atodosobrigado,eseiqueaindavou termuitoqueagradeceratodosvocês. 5
6 6
7 Resumo Este trabalho se propõe a analisar o conceito de Web2.0 ede plataformawebe estabelecerumaarquiteturaparaaplicaçõesbaseadasnesteconceito.éapresentada uma visão geral destes conceitos, e em seguida são abordadas as principais tecnologiasusadasparadesenvolvimentodeaplicaçõesnaplataformaweb.aseguiré sugeridaumaarquiteturaqueuseestastecnologias.eporfimédescritaumaaplicação chamadade TimelineWebBrowser,quesebaseianoconceitodeWeb2.0eusaa arquiteturadescritanestetrabalho. Palavraschave:Web2.0,PlataformaWeb,WebServices,SOA,SOAP,Padrõesde Projetos,ArquiteturadeSoftware. Abstract ThisworkintendstomakeananalysisoftheWeb2.0andWebPlatformconceptsand establishanarchitecturetoapplicationsbasedonthisconcept.itpresentsanoverview oftheseconcepts,andthendescribesthemaintechnologiesusedonthedevelopment of web platform applications. Then it establishes an architecture that uses these technologies.atlast,itdescribesanapplicationcalledtimelinewebbrowser,which is based on the concepts of Web 2.0 and web platform and uses the architecture describedhere. KeyWords:Web2.0,WebPlatform,WebServices,SOA,SOAP,DesignPatterns, SoftwareArchitecture. 7
8 Índice 1.Int r o d ução Objetivos Tra bal ho s Existe n te s Visão Geral Web Visão Geral Um p o uco d e his t ória Tecnologias Web Platafor m a Web Tecn ologias d a Platafor m a Web Arq uite t u r a SOA Web Services XML SOAP WSDL UDDI Arq uite t u r a d e u m a a plicação Web Int r o d uç ão ao p a d r ã o e m ca m a d a s Int r o d uç ão ao p a d r ã o ar q uitet u r al d e N - Ca ma d a s Aplicações b a s ea d a s e m se rviços Ca m a d a Web Ti meline Web Browser Arq uite t u r a d o Timeline Web Browser Estr u t u r a d e p acote s Ca m a d a Cliente Ca m a d a Web Ca m a d a d e Negócios Ca m a d a d e Da do s Conclu s õe s Tra bal ho s f u t u r o s Con si der açõe s finais Apê n dice A Referê ncias
9 ÍndicedeFiguras Figu r a Figu r a Figu r a Figu r a Figu r a Figu r a Figu r a Figu r a Figu r a Figu r a Figu r a Figu r a Figu r a Figu r a Figu r a Figu r a Figu r a Figu r a 1: Google Maps, d el.icio.us, digg, Flickr, Yout u be : ThinkFree, Writely, EyeOS, Netvibe s : Arq uitet u r a SOA : Uma m e n s age m SOAP : Co m u nicação client e - s erviço u s a n d o WSDL : Diagra m a d e Objeto s WSDL : Pa dr ão a r q uite t u r al e m ca m a d a s : Pa dr ão a r q uite t u r al d e N - Ca m a d a s : Arq uitet u r a d a s a plicações d a pla taf or m a web : Ca ma d a Web : Estr u t u r a d e p aco te s : Ca ma d a Clien te d o Ti meline Web Browser : Co m u nicação Cliente - Servido r : Pa dr ão d e Proje to Co m p o site : Estr u t u r a d o Playback : Co m e n t á rios n o playback : Estr u t u r a d a p e r sis tê ncia d e d a d o s : Ca ma d a d e d a d o s
10 ÍndicedeListagens Listage m 1: Exe m plo d e XML Listage m 2: Exe m plo d e Mensage m SOAP Listage m 3: Especificação d e u m a o pe r ação p a r a u m se rviço Listage m 4: Especificação d e u m d a d o d e e n t r a d a p a r a o pe r ação WSDL Listage m 5: Especificação d e u m d a d o d e s aí da p a r a o pe r ação WSDL.2 7 Listage m 6: Invacação d e u m web s e rvice Listage m 7: Arq uivo WSDL d e u m s e rviço d o Ti meline Web Browser
11 1. Introdução Alongjourneybeginswiththefirststep NeilArmstrong Comumaalusãoaosnúmerosdeversões,normalmenteusadosparaindicar novasversõesdesoftware,otermo Web2.0 indicaumaformaaprimoradadaworld WideWeb. Estanovawebdáênfaseaferramentaseplataformasquepermitemao usuárionãoapenasserumreceptordeinformações,masumprodutor. AWeb2.0sediferenciadesuaversãoanterior(Web1.0)àmedidaqueelase distanciadossitesestáticos,dousodeengenhosdebuscaedanavegaçãodeumsite paraumoutro,emdireçãoaumawebmaisdinâmicaeinterativa. Atualmente,váriosfatorescontribuemparaoavançodawebemdireçãoasua versão2.0: Apopularizaçãodabandalarga,proporcionandoumusocadavezmaiorda internet. Oaumentodepessoasusandoainternetpararealizar atividadesqueantes eramrealizadasdeformaoffline,comocompras,leituradenotíciasetc. ApopularizaçãodetecnologiascomoAJAX,quepossibilitamaousuáriouma experiênciadeusomaisricanaweb. São exatamente tecnologias como AJAX que possibilitam a web imitar aplicaçõesdesktopcomoprocessadoresdetexto,planilhasdecálculoeprogramasde apresentaçãodeslides.alémdesistemasoperacionaisquefuncionamdentrodeum browser. Não sistemas operacionais em si, mas sim, plataformas de aplicações. Serviços com características e aplicações similares a um ambiente desktop. A principaldiferençaéqueelespodemserusadosapartirdequalquerbrowser. Dandoumpassoadiante,ossites Web2.0 permitemquedesenvolvedores externos construam novos serviços em cima de serviços providos por sites já existentes, semelhante à maneira como a Microsoft incentiva os programados a desenvolverememcimadowindows. 11
12 Osserviçosdestessites Web2.0 sãoconstruídosedisponibilizadosparaos desenvolvedores em geral em cima de arquiteturas de web services que usam ferramentas de publicação para publicar suas APIs para a comunidade de desenvolvedores. Istolevaaumimportanteconceitode Web2.0 :odawebcomoplataforma deserviços,ondeaplicaçõesweb basednãodeveriamoferecersuasfuncionalidades apenas através do browser, mas também através de web services. Desta forma, transformandoestasaplicaçõesemprovedoresdeserviçoseawebemplataforma destesserviços,semelhanteaumsistemaoperacional. 1.1.Objetivos Estetrabalhotemcomoobjetivorealizarestudodoconceitodeweb2.0que coloca a internet como uma plataforma de desenvolvimento baseada em serviços, alémdadefiniçãodeumaarquiteturaparaaplicaçõesbaseadasnesteconceito.estes serviços são disponibilizados através de web services, que são usados por outras aplicaçõesparaprovernovasfuncionalidadesaindamaiscomplexas.otrabalhopossui doisobjetivosprincipais,listadosabaixo: 1. Definição de uma arquitetura para aplicações que se baseiam no conceitodequeainternetseriaumaplataformaparadesenvolvimento deaplicaçõesbaseadasemserviços; 2. DesenvolvimentodeumTimelineWebBrowser,umbrowserquegrava asaçõesdousuáriorealizadasnainterneteasdisponibilizaatravésde webservices,permitindoacriaçãodenovosserviços. 1.2.TrabalhosExistentes Apesquisadereferênciasbibliográficasmostrouqueexistemdiversosartigos quetratamdosconceitosdeweb2.0. Existem também livros e artigos que apresentam as tecnologias de Web Services e de Service Oriented Architecture. Porém, muitos destes documentos apresentamestesconceitosatreladosatecnologiasespecíficas,comojavaou.net. 12
13 Estetrabalhonãopossuiprecedente,poistemcomoobjetivounirtodosestes conceitosnacriaçãodeumaarquiteturapadrãoindependentedeprodutosespecíficos. 1.3.VisãoGeral Estedocumentoestádivididonosseguintescapítulos: Introdução: apresentaocontextonoqualotrabalhoseinsere,bem comoseusobjetivos. Web2.0:apresentaumavisãogeraldotermoWeb2.0,suahistóriae tratamaisafundoadefiniçãotratadanestetrabalho awebcomo plataformadesoftware. TecnologiasdaplataformaWeb: apresentaasprincipaissoluçõese tecnologiasusadasparaseconstruiraplataformaweb. Arquiteturadeumaaplicação Web2.0: apresentaumaarquitetura independentedesoluçõesproprietáriasparaconstruçãodeaplicações deacordocomoconceitodewebcomoplataformadesoftware. TimelineWebBrowser: descreveumtimelinewebbrowseresua arquitetura. Conclusões e considerações finais: conclui o trabalho e apresenta pontosdecontinuidade. 13
14 2. Web2.0 Theworldischanging. TreeBeard(TheLordoftheRings:TheTwoTowers) OtermoWeb2.0serefereaumasegundafasededesenvolvimentodaweb,no quedizrespeitoasuaarquitetura,suasaplicaçõeseprincipalmente,suasformasde uso.otermoestáassociadoaváriossignificados,entreeles: A transição de sites estáticos para gerenciadores de conteúdo e funcionalidades,transformandoawebemplataformacomputacional; Umfenômenosocialrelacionadoàcriaçãoedistribuiçãodeconteúdo naweb,deformaabertaedescentralizada; Umamudançanovaloreconômicodaweb; Umtermodemarketing,paradiferenciarosnovosnegóciosdaweb daquelasdabolhadainternet. Figura1:GoogleMaps,del.icio.us,digg,Flickr,Youtube Noentanto,aindanãosechegouaumconsensoemrelaçãoaosignificado termo.talvez,umaformamaissimplesdeentenderosignificadodeweb2.0seja 14
15 atravésdaassociaçãodotermocomprodutosbaseadosnosseusprincípios.alguns desses produtosmais conhecidossãogooglemaps,del.icio.us,digg,flickr e Youtube. 2.1.VisãoGeral Aversãoanteriordaweb(Web1.0)consistiabasicamentedepáginasHTML estáticasqueeramraramenteatualizadas,setanto.osucessoda Era.com dependia de uma webmais dinâmica, ondesistemas degerenciamento deconteúdo (CMS) geravam páginas HTML dinâmicas a partir de um banco de dados que podia ser atualizadomais facilmente.emambos os casos, aquestãovisualeraconsiderada intrínsecaaousodaweb,tornandoestéticavisualumfatordeextremaimportância.a Web 2.0 transforma a aparência das aplicações web, deixando as com cara de aplicaçõesdesktopeelevandooconceitodepáginasdinâmicas.algunsexemplosde produtos, onde isso acontece de forma mais explicita, são ThinkFree, Writely, EyeOSeNetVibes. Figura2:ThinkFree,Writely,EyeOS,Netvibes A web é, cada vez mais, baseada em interação e em redes sociais rudimentares. De certa forma, sites Web 2.0 são como portais dependentes de usuários.awebestácadavezmenossobocontroledeespecialistaseseaproximando maisdoseuconceitooriginaldemeiodecomunicaçãodemocráticoepessoal. 15
16 Comumaalusãoaosnúmerosdeversões,normalmenteusadosparaindicar novasversõesdesoftware,otermo Web2.0 indicaumaformaaprimoradadaworld WideWeb.OtermofoipopularizadoporumaconferênciapatrocinadapelaO Reilly MediaepelaMediaLivedepoisqueDaleDougherty,mencionouotermoemuma sessão de brainstorming.dougherty afirmouque a webestava passandopor uma revolução. 2.2.Umpoucodehistória Na abertura da primeira conferência sobre Web 2.0, O Reilly e Battelle resumiramascaracterísticasprincipaisdasaplicações2.0: A web como uma plataforma, onde a web se coloca como uma provedora de serviços que podem ser usados para criar novas aplicações; Dadoscomoaforçaprincipal; Efeitosderedecriadosporuma Arquiteturadeparticipação ; Inovaçãonamontagemdesistemasesites.Ondeajunção(mashup)de doisserviçoscomuns,geraumnovo,completamenteinovador; Modelodeprogramaçãoleve,apartirdousodewebservicesebaixo acoplamento; Fimdociclodereleasedesoftware,ondesoftwarepassaaserum serviço, ao invés de um produto, exigindo das companhias uma manutençãodiáriadeseusserviços; Softwareacimadoníveldeumúnicodispositivo,ouseja,nãoestá maislimitadoaumaplataformapc. Assim, uma forma de uso inicial do termo Web 2.0 se referia a Web Semântica,e,decertaforma,osdoisconceitossecomplementam.Acombinaçãode sistemasderedessociais,comodesenvolvimentodefolksonomias1baseadasemtags edisponibilizadasatravésdeblogsewikis criaumabasenaturalparaumambiente semântico.apesardastecnologiaseserviçosdaweb2.0seremmenospoderososque 1 Folks o n o mia é u m n e ologis m o p a ra a p r á tica d e categori z ação colabora tiva u s a n d o p alavra s d e livre e scolha. 16
17 uma internetonde as máquinas podem entender e extrair significados, a Web 2.0 representaumpassonessadireção. 2.3.TecnologiasWeb2.0 A infra estrutura da Web 2.0 é complexa e está em evolução. Ela inclui softwaresbaseadosemservidores,protocolosdecomunicação,browsersbaseadosem padrões evárias aplicações cliente.estas abordagens diferentes ecomplementares provêemaweb2.0comcapacidadesdecriação,disseminaçãoearmazenamentode informaçõesalémdaimaginadainicialmenteparapáginasweb. ExemplosdetecnologiascomumenteusadasemsitesWeb2.0são: Ajax XULeSVG RSS SOAeWebServices PlataformaWeb Web Platform (Plataforma Web) foi o nome da primeira conferência promovida pela O Reilly e pela MediaLive tratando do tema Web 2.0. Durante a conferênciaelesperceberamqueweb2.0iamuitoalémdesteconceitoinicial,mas istonãotornouesteaspectomenosimportante. O conceito de plataforma web se baseia na idéia de aplicações que são desenvolvidasusandoserviçosdisponibilizadosnainternet.assim,awebfuncionade forma muito semelhante a um sistema operacional, como Windows, que fornece funções (serviços) para que terceiros possam desenvolver novas aplicações e funcionalidades. A web fornece seus serviços através de APIs (Application Programming Interface),quesãoconjuntosdefunçõesusadaspelosprogramadores.Exemplosde APIssãoasdisponibilizadasnaMFC(MicrosoftFoundationClasses),usadaspara desenvolver aplicações windows; a API de java.io, que fornece funções para manipulaçãodearquivosemjava;ouainda,aapidogooglesearch,disponibilizada 17
18 atravésdawebparaqueoutrosdesenvolvedorespossamfazerusodaenginedebusca dogoogleemseusprópriossites,desenvolvendonovoseinovadoresserviços. AsaplicaçõeswebquedisponibilizamouutilizamAPIsnawebimplementam a arquitetura SOA (Service Oriented Architecture) através da tecnologia de web services.webservicesusamxmlparadescreverasfunçõesdaapiepararealizaro transporte de informações do cliente para o servidor, e vice versa, de forma independente de plataforma e de linguagem de programação, garantindo a heterogeneidadedaweb. 18
19 3. TecnologiasdaPlataformaWeb Liveinfragmentsnomore.Onlyconnect E.M.Forster O desenvolvimento na plataforma web exige que serviços possam ser desenvolvidoseusadosdeformaindependentedeplataformaedelinguagem.essa necessidade se apresenta pelo fato da web ser um ambiente extremamente heterogêneo.astecnologiasdescritasabaixoatendemperfeitamenteaesterequisitoe sãoasmaislargamenteusadas.umaindicaçãodissoéumrelatóriodagartnerquediz que Em 2008, SOA será uma prática prevalecente de engenharia de software, acabandocomumdomíniode40anosdearquiteturasdesoftwaremonolíticas e aindaque Durante2008,SOAewebservicesserãoimplementadosjuntosemmais de75%dosprojetosqueusaremsoaouwebservices. Estastecnologiasdeformaalgumacobremtodasastecnologiasrelacionadasà Web 2.0, mas são as tecnologias básicas mais usadas para o desenvolvimento de aplicaçõesqueseencaixamnoconceitodeplataformaweb. 3.1.ArquiteturaSOA Figura3:ArquiteturaSOA UmaarquiteturaSOA(Service OrientedArchitecture)éumaabordagemna qualasaplicaçõesfazemusodeserviçosdisponíveisemumarede,comoaworld Wide Web. Implementar uma arquitetura SOA envolve o desenvolvimento de 19
20 aplicaçõesqueusamserviçosouquesãodisponibilizadascomoserviços,deforma queoutrasaplicaçõesposamusarestesserviçosevice versa. Umserviçopodeproverumaúnicafuncionalidadesimples,comorealizara conversãodevalordeumamoedaparaoutra,atépodeprovarumconjuntodefunções complexas, como lidar com as várias operações em um sistema de reservas de passagensaéreas. Uma maneira deolhar paraa SOA é como uma abordagem paraconectar diferentesaplicações(disponibilizadascomoserviços)deformaqueelaspossamse comunicar umas com as outras. Em outras palavras, SOA é uma forma de compartilhar funções (serviços) de uma maneira abranjente e flexível. E esta é exatamenteasuaprincipalcaracterísticaparaaweb2.0. O conceito de SOA não é novo. Service Oriented Architectures têm sido usadasporanos.oquediferenciasoadeoutrosmodelosdearquiteturaéobaixo acoplamento. Esse baixo acoplamento significa que o cliente de um serviço é, essencialmente,independentedoserviço.aformacomoocliente(quepodeseraté umoutroserviço)secomunicacomoserviçoindependedamaneiracomooserviço foiimplementado.issosignificaqueoclientenãoprecisasaberalinguagemnaqualo serviçofoiimplementadoouemqualplataformaoserviçoestárodando,característica essencialparaaplataformaweb.nasoaoclientesecomunicacomoserviçoatravés de uma interface bem definida, edeixa que oserviço em sirealize as operações necessárias. Se a implementação de um serviço mudar, o cliente continua se comunicandocomoserviçodamesmamaneira,desdequeainterfacecontinuea mesma. Noentanto,oqueérelativamentenovoemSOAsãooswebservicesbaseados emsoa.umwebserviceéumserviçoquesecomunicacomumclienteatravésde umconjuntodeprotocolosetecnologiaspadrões.estespadrõesdewebservicessão implementadosportodososgrandesvendedoresdesoftware,tornandopossívelpara clienteseserviçossecomunicaremdeformaconsistentedentrodeumagrandegama deplataformasesistemasoperacionais.estasadoçõesuniversaisdoswebservicesos tornaaabordagemmaiscomumparaimplementarumasoa. 20
21 3.2.WebServices Web Services representam uma nova geração de tecnologia de desenvolvimento.comelaépossívelcriaraplicaçõesmodulareseindependentesque sãofacilmentedistribuídasemqualquerestruturaderedestcp/ip,poisestefoium dosprincipaisfundamentosdesuaimplementação. Umgrandepontopositivodestatecnologiaéqueacriaçãodeservidorese clientesindependedalinguagemdeprogramaçãoedosistemaoperacionalemquesão implementados.istotornaestetipodetecnologiaidealparaoambienteheterogêneo daweb. A abordagem de web services é baseada em padrões que são amplamente aceitoseusados.estaaceitaçãoabranjentetornapossívelqueclienteseserviçosse comuniquemeseentendammesmoemumavariedadedeplataformaseindependente delinguagens.osprincipaispadrõeseprotocolosusadosporwebservicessão:xml, SAOP,WSDLeUDDIeebXML,descritosaseguir XML extensiblemarkuplanguage(xml)setornouopadrãoparatrocadedados naweb.comoopróprionomeindica,xmléumalinguagemdemarcação,como HTML.Elafazusodetagspara marcar aoconteúdodeumdocumento.umatag XML identifica a informação dentro de um documento, e também identifica (ou marca)aestruturadainformação.porexemplo,aestruturaxmlaseguiridentifica informações a respeito de uma estante de livros. Os marcadores XML também descrevemaestruturadaestante.nestaestrutura,umelemento<estante>,possuium subelemento <livro>, que por sua vez possui três outros subelementos, <titulo>, <autor>e<preco>. <estante> <livro> <titulo>thesoawithinreach</titulo> <autor>dionhinchcliffe</autor> <preco>50.00</preco> </livro> </estante> Listagem1:ExemplodeXML 21
22 Apesardastagsacimapossuírem,aparentemente,umsignificadoinerentepara a informação que eles identificam, elas não possuem. Informações marcadas em XMLpossuemsignificaapenasseaspessoasassociaremsignificadosastagsXML. Apenasseaspessoasconcordaremcomossignificadosdastagseusaremastagsde formaconsistentexmlpoderáproverumaformaconsistentedetrocadeinformações. SuasaplicaçõespodemtrocardocumentosXMLentresi,eprocessarainformação nestesdocumentos,confiandonossignificadosqueforamestabelecidosparaastags. Documentos XML possuem uma estrutura bem formada, ou seja, toda tag XMLdevepossuirumatagdefechamento(<estante>...</estante>)equalquertag quecomecedentrodeumaoutratemquefecharantesdofimdaoutra.tipicamente, umdocumentoxmléassociadoaumesquema(schema)queespecificasuas regras gramaticais.estedocumentoespecificaquetagssãopermitidasdentrododocumento XML,aestruturadestastags,alémdeoutrasregras. Como documentos XML válidos devem ser bem formados e estar em conformidadecomoesquemaaqueestãoassociados,elessetornamrelativamente fáceisdeprocessar.comoresultado,xmléopadrãogeralmenteadotadoparatroca dedadosemwebservices SOAP Apesar de XML ser um meio efetivo para troca de informações, não é o suficienteparaatrocadedadosnaweb.porexemplo,aindaénecessáriodefinirum protocoloparaaformataçãodeumdocumentoxml,deformaqueoreceptorentenda oqueéaparteprincipaldamensagem, payload,equepartescontêminstruçõese conteúdoadicionais. 22
23 Figura4:UmamensagemSOAP Este protocolo é o Simple Object Access Protocol (SOAP). SOAP é um protocolobaseadoemxmlparatrocadeinformaçõesemumambientedistribuído, como aweb.soapestabeleceumformatodemensagemcomumparaatrocade dadosentreclienteeserviço. OelementobásicoparaumatransmissãousandoSOAPéamensagem(SOAP Message),queéformadaporumelementoobrigatório,oenvelope(SOAPEnvelope), porumcabeçalhoopcional(soapheader),emaisumelementoobrigatório,ocorpo damensagem. Oenvelopeéformadopordoiselementos,umXMLnamespaceeumencoding style. O XML namespace especifica os nomes que podem ser usados dentro da mensagemeevitamconflitosdenomes.o encodingstyle defineostiposdedados reconhecidospelamensagem. Se a mensagem possuir um cabeçalho, ele será usado para estender a mensagemdeformamodular.éimportanteentenderqueumamensagemviajadeum clienteparaumservidor,equenocaminhoelapassaporumconjuntoindeterminado denós.cadanóéumaaplicaçãoquepoderecebereencaminharmensagenssoap.e um nó intermediário pode prover serviços adicionais, como realizar operacionais relacionadasàsegurança.ocabeçalhopodeserusadoparaindicarqueénecessário realizar algum processamento extra em um dos nós intermediários. Este processamentoseriaindependentedoprocessamentofeitononófinal. Ocorpocontémamaiorpartedeumamensagem,ouseja,apartedestinadaao nódedestino.oexemploabaixomostraumamensagemsoapcomoobjetivode 23
24 obter o preço de um livro. Os elementos <SOAP ENV: Envelope>, <SOAP ENV: Header>e<SOAP ENV:Body>marcamrespectivamenteoenvelope,ocabeçalhoeo corpo da mensagem. O elemento <SOAP ENV: mustunderstand= 1 > dentro do cabeçalhoindicaqueoreceptordamensagemdeveprocessá laobrigatoriamente. <SOAP ENV:Envelope xmlns:soap ENV= SOAP ENV:encodingStyle= " <SOAP ENV:Header> <t:transactionxmlns:t="some URI"> <SOAP ENV:mustUnderstand="1"> </t:transaction> </SOAP ENV:Header> <SOAP ENV:Body> <m:getbookpricexmlns:m="some URI"> <title>mylifeandtimes</title> <author>felixharrison</author> </m:getbookprice> </SOAP ENV:Body> </SOAP Envelope> Listagem2:ExemplodeMensagemSOAP MensagensSOAPsãoindependentesdeplataformaesistemaoperacional,e podemsertransportadasusandováriosprotocolos,porexemplo,httpousmtp WSDL Comoumclientesabequeformatousarquandofizerumarequisiçãodeum serviço? Como o cliente e o serviço sabem o que uma requisição significa? As respostasparaestasperguntasestãoemumdocumentoxmlchamadodedocumento WSDL. Este documento contém a descrição da API de um web service. WSDL define um esquema XML para descrição de um web service. Para descobrir a especificaçãodeumwebservice,umclienteprecisaencontrarodocumentowsdl deste serviço. A forma mais típica de localizar este documento é através de um ponteiroparaestedocumentoquepodeserencontradonoregistrodowebservice,que podeestaremumregistrouddiouemumregistro/repositórioebxml. Porexemplo,alguémregistraumserviço.Oregistroincluiumponteiropara umarquivowsdlquepossuiodocumentowsdlparaesteserviço.umcliente 24
25 procura o registro e encontra o serviço. Um programador usa as informações no documento WSDL para conhecer a interface do serviço e realizar as chamadas necessáriasàsfunçõesdestainterface. Figura5:Comunicaçãocliente serviçousandowsdl UmdocumentoWSDLdescreveumwebservicecomoumacoleçãodeitens abstratoschamadasdeportsouendpoints.eletambémdescreve,deformaabstrata,as açõesrealizadasporumwebserviceeasinformaçõestransmitidasparaestasações. Ações sãorepresentadasporoperaçõesedados sãorepresentadospor mensagens. Umacoleçãodeoperaçõeséchamadadeporttype. O que transforma uma descrição WSDL de abstrata em concreta é um binding.umbindingespecificaumprotocoloderedeeumformatodemensagem paraumporttypeemparticular.umportédefinidoassociandoumendereçoderede comumbinding. 25
26 Figura6:DiagramadeObjetosWSDL Se um cliente localizar um documento WSDL e encontrar o binding e o endereçoderedeparacadaporta,elepodechamarasoperaçõesdoserviçodeacordo comoprotocoloeoformatodemensagensespecificado. O ApêndiceA possuiumexemplodeumdocumentowsdlqueespecifica umserviçodebuscadelivrosonline.noexemplo,umaoperaçãoéespecificadapara oserviço: <operationname= getbooks... Listagem3:Especificaçãodeumaoperaçãoparaumserviço Amensagemdeentradaparaaoperação,BookSearchInputpossuiumastring chamadaisbn: <complextype> <all> <elementname="isbn"type="string"/> </all> Listagem4:EspecificaçãodeumdadodeentradaparaoperaçãoWSDL 26
27 A mensagem de saída da operação, BookSearchOutput retorna uma string chamadatitle: <complextype> <all> <elementname="title"type="string"/> </all> Listagem5:EspecificaçãodeumdadodesaídaparaoperaçãoWSDL UDDI Como foi mencionado anteriormente, uma arquitetura SOA pode possuir tambémumserviçoqueprovêumdiretórioouregistrodeserviços.mascomoum serviço pode ser descrito em um registro de forma que um outro registro possa facilmentelocalizá lo?o UniversalDescription,DiscoveryandIntegration (UDDI) descreve como publicar e recuperar informações sobre serviços em um registro baseadoemuddi. OregistroUDDIpodeservistocomoumconjuntode PáginasAmarelas de webservices.comoaspáginasamarelasdenúmerosdetelefone,oregistrouddi provêinformaçõesemrelaçãoaumserviço,comoonomedoserviço,umabreve descrição do que ele faz, um endereço onde o serviço pode ser acessado, e uma descriçãodainterfaceparaacessaresteserviço. 27
28 4. ArquiteturadeumaaplicaçãoWeb2.0 Imaginationismoreimportantthanknowledge IsaacNewton Aarquiteturapropostanestecapítulofoiprojetadacomoobjetivodepermitir odesenvolvimentodeaplicaçõesbaseadasnoconceitodewebcomoplataformade software.porisso,essasaplicaçõesdevemsercapazesdeutilizarserviçosdisponíveis naweb,bemcomodisponibilizarserviçosprópriostambémnaweb. Além desta característica, a arquitetura também tem como objetivo ser genéricaobastanteparapoderserusadanodesenvolvimentodeoutrasaplicaçõespara aplataformaweb. Dois padrões arquiteturais serão usados para definir a arquitetura geral. O padrão em camadas (Layers pattern), que ajuda a separar os vários conceitos presentes no tipo de aplicação que a arquitetura visa atender. E o padrão de N Camadas(N Tierarchitecturepattern),umaderivaçãodopadrãoemcamadas,com umaaplicaçãomaisespecífica. 4.1.Introduçãoaopadrãoemcamadas Opadrãoemcamadasébásicopornatureza,masextremamenteimportantena prática. O conceito essencialdo padrão é que as aplicações devemser projetadas divididasemcamadas,comcadacamadarepresentandoumconjuntodeconceitos relacionados.cadacamadapossuiclassesecomponentesrelacionados,epossuiuma interfaceestruturadaeummecanismodecomunicaçãoparaacessarascapacidadesde umaoutracamada. Ascamadastipicamenteseempilhamumasemcimadasoutras,construindo asfuncionalidadesgeraisdaaplicação,comomostraa Figura7.Écomumqueuma camadasóacesseacamadaimediatamenteinferioraela,apesardeque,comumente, ascamadastenhamacessoamúltiplascamadasnaprática. Apartemaisdifícilemtrabalharemcamadasédeterminarquantascamadasa aplicação será separada e como realizar a separação entre elas. A separação em 28
29 camadasdevefazersentidodeumpontodevistatécnicoetambémdeumpontode vistadeestruturaorganizacional.énecessáriomanteremmentequeoaspectotécnico prevalecerá sobre o aspecto organizacional, portanto é necessário ter cuidado ao consideraroméritotécnicocomoprincipioorganizacionalprimário.camadastípicas são: a camada de apresentação, camada de negócios, camada de dados e camada cliente.porexemplo,aspreocupaçõesdacamadadeapresentaçãocomobrowsersão completamentediferentes das preocupações da camada de dados com o banco de dados. CamadaX CamadaY CamadaZ Figura7:Padrãoarquiteturalemcamadas Épossívelsepararascamadasdeváriasformasdiferentes.Tambémépossível implementaraarquiteturaemcamadaseaindaassimrodartodaaaplicaçãoemum únicoprocessofísico.tambémépossívelsepararascamadasemprocessosemum único computador, ou ainda, separar as camadas em processos em diferentes computadores,essencialparaaimplementaçãonosconceitosdaplataformaweb. Noentanto,apenasdizerqueaarquiteturadeumaaplicaçãoéemcamadasnão éosuficienteparaosdesenvolvedoreseprojetistas.énecessárioiralémeexplicaros conteúdosdecadacamadanaarquitetura. 4.2.IntroduçãoaopadrãoarquiteturaldeN Camadas 29
30 O padrão arquitetural de N Camadas é uma generalização do padrão arquiteturaldetrêscamadas.opadrãoarquiteturaldetrêscamadaséformadopor umacamadadeapresentação,umacamadadelógicadonegócioeumacamadade persistênciadedados.noentanto,umaarquiteturadetrêscamadasnãopossuiespaço para uma camada de comunicação, própria para os web services, necessários a disponibilizaçãodeserviçosparausodeterceiros. Uma descrição das camadas, assim como uma descrição de como essas camadassecomunicam,tipicamentefazempartedadescriçãodeumaarquiteturade N Camadas.A Figura8 mostraumexemploquepossuiumacamadacliente,uma camada de apresentação, uma camada de lógica do negócio e uma camada de persistência de dados. A comunicação entre a camada cliente e a camada de apresentação pode acontecer usando Hypertext Transfer Protocol (HTTP), a comunicaçãoentreacamadadeapresentação,acamadadenegóciospodeacontecer usando Remote Method Invocation (RMI) e a comunicação entre a camada de negócioseacamadadedadospodeacontecerusandojdbc(éimportanteressaltar queastecnologiascitadasacimasãoapenasexemplo). No entanto, uma aplicação que funcione de acordo com os conceitos de plataforma web, precisa ter seus serviços acessados a partir de qualquer outra aplicação na web, ou seja, ela possui múltiplos pontos de acesso ao sistema. Os usuáriospodemusarosistemaapartirdeumainterfacegráfica,eprogramaspodem acessarosistemaapartirdeapis.odesenvolvedordosistema,edosserviços,não sabetodasasformasqueosclientesdaaplicaçãovãousarseusserviços;elespodem desenvolver sua própria lógica, ou sua própria camada de apresentação baseadas nessesserviços. 30
UNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação
Leia maisWeb Services. Autor: Rômulo Rosa Furtado
Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que
Leia maisWeb Services. (Introdução)
Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services
Leia mais3 Serviços na Web (Web services)
3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem
Leia maisServiços Web: Arquitetura
Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula
Leia maisIntrodução a Web Services
Introdução a Web Services Mário Meireles Teixeira DEINF/UFMA O que é um Web Service? Web Service / Serviço Web É uma aplicação, identificada por um URI, cujas interfaces podem ser definidas, descritas
Leia maisPROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB WEBSERVICES Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é um WebService e sua utilidade Compreender a lógica de funcionamento de um WebService Capacitar
Leia maisCONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;
CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.
Leia maisKassius Vargas Prestes
Kassius Vargas Prestes Agenda 1. Introdução Web Services 2. XML, SOAP 3. Apache Tomcat 4. Axis 5. Instalação Tomcat e Axis 6. Criação de um Web Service 7. Criação de um cliente Baixar http://www.inf.ufrgs.br/~kvprestes/webservices/
Leia maisIntegração de sistemas utilizando Web Services do tipo REST
Integração de sistemas utilizando Web Services do tipo REST Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil jhowgarbo@gmail.com jaime@unipar.br
Leia maisDesenvolvimento de aplicação web com framework JavaServer Faces e Hibernate
Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade
Leia maisPrática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva
1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade
Leia maisServiços Web: Introdução
Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula
Leia mais3 SCS: Sistema de Componentes de Software
3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário
Leia mais3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio
32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio
Leia maisProgramação Cliente em Sistemas Web
Programação Cliente em Sistemas Web WEBSERVICES Cap 18. - Sistemas distribuídos e serviços web em Deitel, H.M, Sistemas Operacionais, 3 ª edição, Pearson Prentice Hall, 2005 Fonte: Rodrigo Rebouças de
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Protocolos de Aplicação Mecanismos de comunicação
Leia maisCurso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2
Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem
Leia maisProgramando em PHP. Conceitos Básicos
Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web
Leia maisSISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Leia maisConteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Leia maisSISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl
SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo
Leia maisService Oriented Architecture (SOA)
São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com
Leia maisSCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br
SCE-557 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side
Leia maisSOA Introdução. SOA Visão Departamental das Organizações
1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente
Leia maisESTUDO DE CASO WINDOWS VISTA
ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado
Leia maiswww.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00
www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br
Leia maisWeb Services. Integração de aplicações na Web. Sistemas Distribuídos
Web Services Integração de aplicações na Web Integração de Aplicações na Web Interoperação entre ambientes heterogêneos desafios diversidade de componentes: EJB, CORBA, DCOM... diversidade de linguagens:
Leia maisHistórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial
1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão
Leia maisDesenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA
Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos
Leia maisPROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações
Universidade de São Paulo Escola Politécnica Programa de Educação Continuada em Engenharia PROGRAMA DE MBA em Gestão e Engenharia do Produto O Produto Internet e suas Aplicações Tecnologias de Informação
Leia maisArquiteturas, Padrões e Serviços para Geoprocessamento. Lúbia Vinhas 13/05/2008
Arquiteturas, Padrões e Serviços para Geoprocessamento Lúbia Vinhas 13/05/2008 Desejo saber estatísticas sobre áreas queimadas. Desejo fazer análises por localização, por classes de uso ou ainda por seleção
Leia maisINTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3
INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1 Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3 INTRODUÇÃO Atualmente empresas de diversos portes estão encontrando nos web services soluções para seus
Leia mais2 Conceitos relativos a Web services e sua composição
15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados
Leia mais2 Diagrama de Caso de Uso
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa
Leia maisSOA na Prática Ricardo Limonta
SOA na Prática Ricardo Limonta Arquiteto JEE Objetivo Apresentar os conceitos de Arquiteturas Orientadas a Serviços; Entender a relação entre SOA e a tecnologia Web Services; Implementar SOA com Web Services
Leia maisDESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES
DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.
Leia maisIntegre pela Internet com os Web Services OpenEdge
Integre pela Internet com os Web Services OpenEdge Luciano Oliveira Solution Consultant, Progress OpenEdge Foco da Sessão Implementando OpenEdge Web Services Entendendo Web Services Identificar quando
Leia maisDado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:
MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação
Leia mais5 Mecanismo de seleção de componentes
Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações
Leia maisMVC e Camadas - Fragmental Bliki
1 de 5 20-03-2012 18:32 MVC e Camadas From Fragmental Bliki Conteúdo 1 Introdução 2 Camadas: Separação Entre Componentes 3 MVC: Interação Entre Componentes 4 Conclusão 5 Referências Introdução A Arquitetura
Leia maisParte I. Demoiselle Mail
Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução
Leia maisIP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.
Endereços IP Endereços IP IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.) precisam ter endereços. Graças
Leia maisArquitetura Orientada a Serviço
Arquitetura Orientada a Fabio Perez Marzullo IEEE Body of Knowledge on Services Computing Sponsored by Technical Committee on Services Computing, IEEE Computer Society 1 SOA e Web Services SOA é um modelo
Leia maisREST. Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com
REST Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com 1 RESTful REpresentation State Transfer Estilo de arquitetura de software para sistemas distribuídos Termo proposto por Roy Fielding
Leia maiswww.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com
SERVIÇOS DE REDES DE COMPUTADORES Prof. Victor Guimarães Pinheiro/victor.tecnologo@gmail.com www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com Modelo TCP/IP É o protocolo mais usado da atualidade
Leia maisIntranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO
Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial
Leia maisApesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:
1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que
Leia mais04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.
MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância
Leia maisLaboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9
Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Leia maisMicrosoft.NET. Desenvolvimento Baseado em Componentes
Microsoft.NET Lirisnei Gomes de Sousa lirisnei@hotmail.com Jair C Leite jair@dimap.ufrn.br Desenvolvimento Baseado em Componentes Resolução de problemas específicos, mas que podem ser re-utilizados em
Leia maisLINGUAGEM DE BANCO DE DADOS
LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados
Leia maisConteúdo da Aula de Hoje. Web Services. Avaliação da Disciplina. O que é um web service? O que é um web service? Vantagens
Web Services Pós-Graduação em Tecnologias para o desenvolvimento de aplicações WEB Conteúdo da Aula de Hoje Conceitos básicos Teste com WS Implementação de WS (Provedor e usuário) Instrutor : Avaliação
Leia mais4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?
Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer
Leia maisUm Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena
Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE
Leia mais1 http://www.google.com
1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou
Leia maisII Semana TI. Curso ASP.NET AJAX. Raphael Zanon Rodrigues zanonr@gmail.com. UNIVEM - Prof. Elvis Fusco
II Semana TI Curso ASP.NET AJAX Raphael Zanon Rodrigues zanonr@gmail.com UNIVEM - Prof. Elvis Fusco Apresentação O que é o AJAX? AJAX e o desenvolvedor AJAX para ASP.NET AJAX prático O que é AJAX? AJAX
Leia maisDesenvolvendo para WEB
Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura
Leia maisAgregador de feeds RSS para dispositivos móveis
Agregador de feeds RSS para dispositivos móveis Disciplina: Computação Móvel Professor: Mauro Nacif Rocha Data: 27/02/2007 Hadriel Toledo Lima 50290 Juliana Pinheiro Campos 47683 Luis Felipe Hussin Bento
Leia maisEntendendo como funciona o NAT
Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços
Leia maisSatélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br
Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 5 Servidores de Aplicação
Leia maisJXTA. Alessandro Vasconcelos Ferreira de Lima. avfl@cin.ufpe.br
JXTA Alessandro Vasconcelos Ferreira de Lima Roteiro Motivação Introdução Arquitetura de JXTA Elementos de JXTA Os Protocolos Comparações e Desvantagens Conclusão Motivação Limitações do Modelo Cliente
Leia maisCurso de Aprendizado Industrial Desenvolvedor WEB
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisDocumento de Análise e Projeto VideoSystem
Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento
Leia maisEduardo Bezerra. Editora Campus/Elsevier
Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES
Leia maisFase 1: Engenharia de Produto
Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os
Leia maisDesenvolvendo Websites com PHP
Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.
Leia maisCAPÍTULO 2. Este capítulo tratará :
1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,
Leia maisacoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento.
SOA Arquitetura Orientada a Serviços Conceitos e Aplicações Prof. MSc. Edilberto Silva edilms@yahoo.com/ http://edilms.eti.br Gestão de TI Conceitode SOA SOA - Service OrientedArchitecture (Arquitetura
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias
Leia maisMADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica
MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica Desenvolvimento de Web Services com SOAP. 1. Introdução. Com a tecnologia de desenvolvimento
Leia maisUsando Service Design Thinking para criar SOA Corporativo
Usando Service Design Thinking para criar SOA Corporativo Hilton Menezes 2013 Introdução Uma área de Tecnologia da Informação - TI ágil pode contribuir significativamente para que o negócio possa fazer
Leia maisSISTEMA GERENCIADOR DE BANCO DE DADOS
BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR
Leia maisCRIAÇÃO DE SITES (AULA 1)
Prof. Breno Leonardo Gomes de Menezes Araújo brenod123@gmail.com http://blog.brenoleonardo.com.br CRIAÇÃO DE SITES (AULA 1) Internet É um conglomerado deredesem escala mundial de milhões de computadores
Leia maisPadrões de Projeto WEB e o MVC
Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC O que são padrões? "Cada padrão descreve um problema que ocorre freqüentemente em seu ambiente, e então descreve o cerne da solução para aquele
Leia maisUniversidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.
Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco
Leia maisAplicativo web para definição do modelo lógico no projeto de banco de dados relacional
Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento
Leia maisDESENVOLVIMENTO DE APLICATIVO MÓVEL PARA AUXÍLIO NA PREVENÇÃO DE TRAGÉDIAS EM DECORRÊNCIA DE ENCHENTES
DESENVOLVIMENTO DE APLICATIVO MÓVEL PARA AUXÍLIO NA PREVENÇÃO DE TRAGÉDIAS EM DECORRÊNCIA DE ENCHENTES Autores: Luciano GONÇALVES JUNIOR, Natália Maria Karmierczak DA SILVA, Paulo César Rodacki GOMES,
Leia maismilenaresende@fimes.edu.br
Fundação Integrada Municipal de Ensino Superior Sistemas de Informação A Internet, Intranets e Extranets milenaresende@fimes.edu.br Uso e funcionamento da Internet Os dados da pesquisa de TIC reforçam
Leia maisABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE
ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com
Leia maisAplicação Prática de Lua para Web
Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio
Leia maisJava para Desenvolvimento Web
Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para
Leia maisINFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima
INFORMÁTICA FUNDAMENTOS DE INTERNET Prof. Marcondes Ribeiro Lima Fundamentos de Internet O que é internet? Nome dado a rede mundial de computadores, na verdade a reunião de milhares de redes conectadas
Leia maisManual do Painel Administrativo
Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...
Leia maisINE5380 - Sistemas Distribuídos
INE5380 - Sistemas Distribuídos Object Request Broker e CORBA Por: Léo Willian Kölln - 0513227-4 Novembro de 2006 ORB Object Request Broker ORB aqui será tratado como um Middleware que permite a construção
Leia maisDocumento de Arquitetura
Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento
Leia mais5 Everyware: Uma Arquitetura para Aplicações baseadas em serviços utilizando a Web Semântica
5 Everyware: Uma Arquitetura para Aplicações baseadas em serviços utilizando a Web Semântica! " " $ % &' (' $ ) * ' +,-$. / ) $0)( 5.1. Princípio de Organização 1* 2 " &)') $ $ *..*$ EveryWare: Uma Plataforma
Leia maisWeb services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.
Web services Um web service é qualquer software que está disponível através da Internet através de uma interface XML. XML é utilizado para codificar toda a comunicação de/para um web service. Web services
Leia mais3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.
Entregue três questões de cada prova. Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor
Leia maisSistemas Operacionais. Conceitos de um Sistema Operacional
Sistemas Operacionais Conceitos de um Sistema Operacional Modo usuário e Modo Kernel Como já vimos são ambientes de execução diferentes no processador Há um conjunto de funções privilegiadas acessadas
Leia maisAssociação Carioca de Ensino Superior Centro Universitário Carioca
Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos
Leia mais