0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
35 tayangan16 halaman
O documento introduz o Enterprise Service Bus (ESB) Mule, um framework open source popular. Resume os principais pontos sobre a instalação e execução do Mule, incluindo como configurar o Maven, instalar o Mule em diferentes sistemas operacionais e iniciar o Mule via linha de comando ou Java Service Wrapper.
O documento introduz o Enterprise Service Bus (ESB) Mule, um framework open source popular. Resume os principais pontos sobre a instalação e execução do Mule, incluindo como configurar o Maven, instalar o Mule em diferentes sistemas operacionais e iniciar o Mule via linha de comando ou Java Service Wrapper.
O documento introduz o Enterprise Service Bus (ESB) Mule, um framework open source popular. Resume os principais pontos sobre a instalação e execução do Mule, incluindo como configurar o Maven, instalar o Mule em diferentes sistemas operacionais e iniciar o Mule via linha de comando ou Java Service Wrapper.
Felipe Moreira de S ndice Introduo ao Enterprise Service Bus (ESB)...........................................3 Introduo ao MULE............................................................................5 Instalando o Mule...............................................................................8 Executando o Mule............................................................................! Exe"plo de con#i$urao do Mule no Eclipse......................................... Bi%lio$ra#ia.......................................................................................& Introduo ao Enterprise Service Bus (ESB) 'ara entender o (ue ) o ESB* ) necess+rio antes con,ecer o conceito de S-.. S-. (.r(uitetura -rientada a Servios) no ) u" produto* e si" u" paradi$"a. /o "es"o 0eito (ue pro$ra"ao orientada a o%0etos ) u" paradi$"a* e no u" produto. -u se0a* S-. ) u" paradi$"a para $randes siste"as distri%u1dos de propriet+rios e tecnolo$ias di#erentes. 2iente deste conceito* a$ora pode"os entender (ue o ESB no i"ple"enta S-. por)" o#erece as #uncionalidades necess+rias para i"ple"entar esta ar(uitetura. . "aneira "ais co"u" de se i"ple"entar u" ESB ,o0e ) atrav)s de 3e% Services* "as isso no ) re$ra* existe" outras #or"as de se reali4ar a "es"a atividade. U" ESB no ) u"a lin$ua$e" de pro$ra"ao para 3e%services. Ele ) co"o u" 5u% utili4ado e" sua rede de co"putadores tradicional* "as co" "uitas outras caracter1sticas. U" Enterprise Service Bus ) u" #ra"e6or7 (ue possui v+rias #uncionalidades8 escol,a e use. 'or exe"plo* voc9 pode utili4ar apenas parte das #eatures e i$norar as de"ais (ue no #a4e" sentido para a soluo proposta pela ar(uitetura (ue voc9 pro0etou. /e (ual(uer #or"a* u" :%o" ESB: deve ter* pelo "enos* as se$uintes caracter1sticas8 ;er u"a ins#raestrutura de "ensa$eria ro%usta e con#i+vel 'ossi%ilitar desenvolvi"ento de siste"as %aseados e" ar(uitetura orientada a servios Ser #orte"ente %aseado e" <ML Suportar padr=es de 3e% Service (e.$. S-.') Ser independente de plata#or"a Suportar transa=es e ter #eatures de se$urana Utili4ar protocolos padro e ter inte$rao co" :le$ados: - ESB per"ite custo"i4a=es no servio de "ensa$ens* isto ) ele ) u" Mediador. 2o"o ele pode>se #a4er valida=es e rotea"ento de "ensa$ens %aseado no conte?do da "ensa$e" por exe"plo. U"a outra caracter1stica* ) poder ter u" produtor produ4indo "ensa$ens e" u" #or"ato e ter u" consu"idor consu"indo e" outro #or"ato. o ESB #a4 essa converso auto"atica"ente. - ESB per"ite u" %aixo acopla"ento entre siste"a visto (ue u" siste"a de ori$e" no precisa con,ecer o siste"a de destino. Ele ta"%)" #a4 controles de acesso de siste"as externos e per"ite con#i$urar se$urana das "ensa$ens* por exe"plo* usando encriptao. 2o"parao "atri48 ESB versus @MS e 3e% Services. ESB MOM Servios e! 2a"ada de transporte. @MS #ornecedor* provedor S-.'* 3S/L #ornecedor* provedor Strea"* .r(uivo #ornecedor* e "ais. @MS. S-.' so%re ,ttp. Mediao e re$ras. 'rotocolo de traduo* enca"in,a"ento* e de trans#or"ao de dados. Enca"in,a"ento de dados e de trans#or"ao. /ados trans#or"ao. I"plantao. A1vel "+xi"o de #lexi%ilidade para a con#i$urao dinB"ica. Ce(uer reco"pilar cDdi$o cliente. Ce(uer reco"pilarE Es%oos. 'ara explicar "el,or o conceito* se$ue u" exe"plo de utili4ao. Supon,a a se$uinte situao* u"a e"presa < possui u" siste"a de $rande porte desenvolvido e" @ava (@EE* E@B e outros). Essa e"presa < ad(uire u"a e"presa F (ue por sua ve4 utili4a tecnolo$ia .AE;. . e"presa possui u" siste"a de 2CM (ue necessita* por al$u" "otivo* o%ter in#or"a=es dos dois siste"as para (ue possa #a4er al$u" processo de atendi"ento ao cliente. 'ara #a4er isso voc9 teria v+rias op=es* poderia conectar os dois siste"as direta"ente* poderia desenvolver u"a classe (ou todo u" pacote de classes) (ue #aa acesso aos dois siste"as. 2o" te"po* G "edida (ue sur$isse" outras necessidades de conectar esses dois siste"as* voc9 aca%aria por ter u"a con#uso $eral de siste"as acessando outros siste"as. 'ara evitar isso* entra o papel de ESB* (ue neste caso seria u" :ne$ociador:* seria u"a :inter#ace: para a (ual voc9 iria solicitar a execuo de al$uns processos* consultas* etc. -u se0a* u" ele"ento inter"edi+rio (ue seria respons+vel por conectar siste"as di#erentes. - seu siste"a @ava ne" to"aria con,eci"ento de (ue o outro siste"a ) #eito e" .AE; ou e" (ual(uer outra tecnolo$ia* por(ue ele se co"unicaria apenas co" o ESB* o (ual por sua ve4 teria o papel de se conectar a esses outros siste"as. Cesu"ida"ente* ESB seria u"a a%strao dessa interconexo de siste"as (ue usa" tecnolo$ias di#erentes. Introduo ao MULE - MULE ) u" popular ESB open source* lanado e" H!!3 por C. Mason. Ele ) #lex1vel e per"ite as co"unica=es entre os co"ponentes distri%u1dos* pela execuo de "ensa$e" de co"ando* no"eado co"o Universal Messa$in$ -%0ects (U"os). Sua estrutura #ornece u" a"%iente alta"ente escal+vel* e" (ue ) poss1vel i"plantar os co"ponentes para seu ne$Dcio. - Mule $erencia todas as intera=es entre os co"ponentes de #or"a transparente* se eles existe" na "es"a "+(uina virtual ou atrav)s da internet e independente do transporte su%0acente utili4ada. - Mule #oi conce%ido e" torno da ar(uitetura Enterprise Service Bus* (ue estipula (ue os di#erentes co"ponentes ou aplica=es co"uni(ue">se atrav)s de u"a "ensa$e" co"u"* utili4ando nor"al"ente @MS ou al$u" outro servidor de "ensa$ens. - Mule vai "uito "ais lon$e* a%straindo @MS e (ual(uer outra tecnolo$ia de transportes de distBncia do ne$Dcio o%0etos usados para rece%er "ensa$ens. . #i$ura a%aixo ilustra os dados de #luxo de entrada* apresentando os parB"etros na sa1da8 UMO (Universal Messaging Object) Event>driven so#t6are cliente. 2o"ponente (ue rece%e e processa u"a "ensa$e". Inbound transformer 2o"ponente (ue #ornece "ensa$e" de trans#or"a=es a partir do transporte do cliente e" #or"ato i"ediata"ente anteriores G invocao ")todo UM-. Outbound transformer 2o"ponente (ue #ornece "ensa$e" de trans#or"a=es do cliente e" #or"ato de transportes. Iica entre o e"issor de "ensa$e" e o enca"in,ador da "ensa$e". Endpoint J u"a con#i$urao do o%0eto (ue de#ine a #or"a co"o os dados sero rece%idos e trans#or"ada pelo Mule. Inbound router 2o"ponente (ue controla o #luxo e" "ensa$e">endpoint a direo> UM-. Outbound router 2o"ponente (ue controla o #luxo na "ensa$e" UM->to>end point direoK pode incluir v+rios tipos de #iltros para testar se a "ensa$e" pode ser enviada para u" deter"inado parB"etro. Interceptor -#erece servios adicionais* co"o a explorao da "ensa$e"* coletando dados estat1sticos* etc. Conector 'rev9 a i"ple"entao do conector de li$ao ao siste"a exterior. "rincipais vanta#ens do Mule: 'ossi%ilidade de validar a sua ar(uitetura antes de partir para u" investi"ento e" u"a soluo co"ercial (se #or o caso). Si"plicidade de instalao e i"plantao. /isponi%ilidade da "ais a"pla "ar$e" de transportes apoiados* e Inverso de 2ontrole contentores. /isponi%ilidade de apoio ativo da co"unidade* %e" co"o o apoio co"ercial. "rincipais desvanta#ens do Mule: Ialta de inte$rao co" os produtos de outros #a%ricantes 2o"plexidade para i"ple"entar Lservios co"ple"entaresM necess+rios para ad"inistrar u" ESB8 o service "onitorin$ o ad"inistration o contract "ana$e"ent o securitN policies Instalando o Mule - Mule #uncionar+ e" toda a plata#or"a (ue suportar @ava* incluindo8 3indo6s <' S'H and 3indo6s H!!! Linux* Solaris* .I<* and 5'>U< Mac -S< 'ara a ?lti"a verso do "ule #uncionar* a $arantia de (ualidade de MuleSource certi#icou as se$uintes plata#or"as8 Siste"a operacional8 Ced 5at Enterprise Linux O.! (3H>%it) e 5.H (&O>%it) e 3indo6s H!!3 Server Mensa$eria8 .ctiveMP O. e 3e%Sp,ere MP Series &.!. Banco de dados8 /er%N and -racle !$ !.H.H..! @ava8 @/Q .5 and .& .ntes da instalo e utili4ao do Mule* ) necess+rio con#i$urar o Maven. .pDs* e" seu repositDrio ."H a%ra o ar(uivo settin$s.x"l e especi#i(ue o diretDrio do repositDrio8 <localRepository>c:/.m2/repository</localRepository> .pDs ) necess+rio criar a vari+vel de a"%iente MULER5-ME apontando para o diretDrio e" (ue se #ar+ a instalao do MULE. Ao 3indo6s caso no se ten,a o 0ava associador aos ar(uivos .0ar* a%rir o pro"pt de co"ando* nave$ar at) o diretDrio para onde #oi #eito o do6nload do ar(uivo .0ar e entrar co" o se$uinte co"ando8 java -jar mule-<version>-ee-installer.jar .pDs si$a as instru=es do instalador do Mule. ;er"inando a instalao* deve>se setar o repositDrio do "ule* no diretDrio %in* dentro do pro"pt de co"ando di$itar o se$uinte co"ando8 cd c:\mule\bin populate_m2_repo.cmd c:\.m2\repository 'ara executar o Mule* %asta no pro"pt de co"ando di$itar8 mule [-confi your-confi.!ml" Executando o Mule 'ara executar o Mule* %asta no pro"pt de co"ando di$itar8 mule [-confi your-confi.!ml" 'ara parar o Mule %asta dar u" ctrlSc. 'ara startar o Mule pela I/E usando o @ava Service 3rapper* voc9 pode usar a classe de or$."ule.MuleServer* (ue aceita os se$uintes parB"etros8 or.mule.#ule$erver -confi mule-confi.!ml Ou or.mule.#ule$erver -builder <fully %ualified classname> -confi app&onte!t.!ml $con%i# representa u" ou "ais ar(uivos de con#i$urao. Se est+ in#or"ao no existir* ele utili4a o ar(uivo "ule>con#i$.x"l $!uilder ) o classna"e (uali#icado para a con#i$urao %uilder e" uso. Se est+ in#or"ao no existir* ele utili4a a classe or$."ule.con#i$.%uilders..uto2on#i$urationBuilder . "aneira a "ais si"ples de a0ustar o classpat, ) incluir todos os ar(uivos .0ar nos diretDrios de .Tli%T"ule e de .Tli%Topt da distri%uio. ;a"%)" ) poss1vel startar u" usu+rio servidor do Mule utili4ando o se$uinte cDdi$o8 //create a new server and configure it with two configuration files #ule$erver server ' new #ule$erver("mule-config1.xml,mule-config2.xml")* //Start the server. The boolean argument determines if the server should start //in a new thread or use the current thread server.start(true)* Exemplo de configurao do Mule no Eclipse 'ara instalar o Mule ) necess+rio ter o @/Q .5 ou superior instalado e con#i$urado. ;a"%)" ) necess+rio ter o Maven ou o .nt instalado. Aesse tutorial va"os utili4ar o Maven. &' Baixe a verso Mule 2o""unitN Edition (Iull distri%ution) (,ttp8TT"ulesource.or$TdisplaNTMULET/o6nload) (' Extraia o ar(uivo 4ip. )' 2rie a vari+vel de a"%iente MULER5-ME e acrescente ao classpat,8 *' Ao eclipse i"porte o pro0eto L,elloM co"o Maven pro0ect. +' 2o"pile o pro0eto usando o Maven Build. Aa 0anela escol,a @ava .plication e especi#i(ue or$."ule.MuleServer para a "ain class. ,' Aa a%a ar$u"ents adicione $con%i# con%-.ello$con%i#'/ml 0' .pplN e Cun8 E pronto. . aplicao de exe"plo do Mule est+ rodando no eclipse.EE Bibliografia http://mulesource.org/pages/viewpage.action?pageId=13729892 http://mulesource.org/displa/!"#$2I%&'(/Installing)!ule htt!//mulesource.org/disla"/#$%&2'(T)O/)unning*#ule http://soasimples.com/*log/?p=18+ http://www.in,o*logs.com.*r/view.action? contentId=3-1.3/!ule)continua)liderando)no)(pen0ource)$01 http://translate.google.com.*r/translate?hl=pt2 1'/sl=en/u=http://www.na**le.com/0oap2!essage2232+3$2$0124ueue2232+3$2 0oap25e*20ervice2 td26-29.37.html/sa=7/oi=translate/resnum=-/ct=result/prev=/search3389 33:$0132132+21321we*321service32132+21321!"#$32.hl33:pt21' http://translate.google.com.*r/translate?hl=pt2 1'/sl=en/u=http://toda.;ava.net/pu*/a/toda/2667/67/31/e<ploring2es*2patterns2 with2mule.html/sa=7/oi=translate/resnum=+/ct=result/prev=/search3389 33:$0132132+21321we*321service32132+21321!"#$32.hl33:pt21' http://translate.google.com.*r/translate?hl=pt21'/sl=en/u=http://;ava2 source.net/open2source/enterprise2service2 *us/sa=7/oi=translate/resnum=9/ct=result/prev=/search338933:$01321 32+21321we*321service32132+21321!"#$32.hl33:pt21'