TIMELINE WEB BROWSER E ARQUITETURA DE SOFTWARE PARA

Tamanho: px
Começar a partir da página:

Download "TIMELINE WEB BROWSER E ARQUITETURA DE SOFTWARE PARA"

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 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 mais

Web Services. Autor: Rômulo Rosa Furtado

Web 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 mais

Web Services. (Introdução)

Web 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 mais

UFG - Instituto de Informática

UFG - 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 mais

3 Serviços na Web (Web services)

3 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 mais

Serviços Web: Arquitetura

Serviç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 mais

Introdução a Web Services

Introduçã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 mais

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

PROGRAMAÇÃ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 mais

CONCEITOS 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; 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 mais

Kassius Vargas Prestes

Kassius 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 mais

Integração de sistemas utilizando Web Services do tipo REST

Integraçã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 mais

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento 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 mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prá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 mais

Serviços Web: Introdução

Serviç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 mais

3 SCS: Sistema de Componentes de Software

3 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 mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 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 mais

Programação Cliente em Sistemas Web

Programaçã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 mais

Sistemas Distribuídos

Sistemas 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 mais

Curso 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 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 mais

Programando em PHP. Conceitos Básicos

Programando 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 mais

SISTEMAS DISTRIBUIDOS

SISTEMAS 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 mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteú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 mais

SISTEMA 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 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 mais

Service Oriented Architecture (SOA)

Service 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 mais

SCE-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 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 mais

SOA Introdução. SOA Visão Departamental das Organizações

SOA 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 mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO 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 mais

www.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 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 mais

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Web 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 mais

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histó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 mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo 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 mais

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

PROGRAMA 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 mais

Arquiteturas, 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 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 mais

INTEGRAÇÃ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 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 mais

2 Conceitos relativos a Web services e sua composição

2 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 mais

2 Diagrama de Caso de Uso

2 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 mais

SOA na Prática Ricardo Limonta

SOA 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 mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO 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 mais

Integre pela Internet com os Web Services OpenEdge

Integre 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 mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: 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 mais

5 Mecanismo de seleção de componentes

5 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 mais

MVC e Camadas - Fragmental Bliki

MVC 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 mais

Parte I. Demoiselle Mail

Parte 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 mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas 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 mais

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

IP 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 mais

Arquitetura Orientada a Serviço

Arquitetura 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 mais

REST. Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com

REST. 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 mais

www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com

www.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 mais

Intranets. 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 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 mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar 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 mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

04/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 mais

Laborató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 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 mais

Sistemas Distribuídos

Sistemas 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 mais

Microsoft.NET. Desenvolvimento Baseado em Componentes

Microsoft.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 mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM 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 mais

Conteúdo da Aula de Hoje. Web Services. Avaliação da Disciplina. O que é um web service? O que é um web service? Vantagens

Conteú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 mais

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

4. 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 mais

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

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 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 mais

1 http://www.google.com

1 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 mais

II 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 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 mais

Desenvolvendo para WEB

Desenvolvendo 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 mais

Agregador de feeds RSS para dispositivos móveis

Agregador 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 mais

Entendendo como funciona o NAT

Entendendo 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 mais

Saté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 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 mais

UFG - Instituto de Informática

UFG - 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 mais

JXTA. Alessandro Vasconcelos Ferreira de Lima. avfl@cin.ufpe.br

JXTA. 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 mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso 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 mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (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 mais

Documento de Análise e Projeto VideoSystem

Documento 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 mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo 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 mais

Fase 1: Engenharia de Produto

Fase 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 mais

Desenvolvendo Websites com PHP

Desenvolvendo 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 mais

CAPÍTULO 2. Este capítulo tratará :

CAPÍ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 mais

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento.

acoplamento 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 mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS 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 mais

MADALENA 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 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 mais

Usando Service Design Thinking para criar SOA Corporativo

Usando 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 mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA 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 mais

CRIAÇÃO DE SITES (AULA 1)

CRIAÇÃ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 mais

Padrões de Projeto WEB e o MVC

Padrõ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 mais

Universidade 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. 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 mais

Aplicativo 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 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 mais

DESENVOLVIMENTO 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 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 mais

milenaresende@fimes.edu.br

milenaresende@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 mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM 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 mais

Aplicação Prática de Lua para Web

Aplicaçã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 mais

Java para Desenvolvimento Web

Java 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 mais

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

INFORMÁ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 mais

Manual do Painel Administrativo

Manual 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 mais

INE5380 - Sistemas Distribuídos

INE5380 - 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 mais

Documento de Arquitetura

Documento 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 mais

5 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 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 mais

Web 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. 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 mais

3. 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.

3. 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 mais

Sistemas Operacionais. Conceitos de um Sistema Operacional

Sistemas 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 mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associaçã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