You are on page 1of 15

DevMediaVersoparaimpresso

OrientaoaSOAParte1
Fundamentoseprticadaarquiteturaorientadaaservios
Dequesetrataoartigo Esteartigotratadaarquiteturaorientadaaserviosque,comoveremosaolongodoartigo, temumaabrangnciamaiordoqueapenastecnologia.precisomaisdoqueferramentas parabuscarimplantaresteestilodearquiteturaemumambiente. Emquesituaootematil Estetemainteressanteparatodoprofissionaldetecnologiaenvolvidoemarquiteturade integraes,poisinvariavelmentepoderenfrentaratentativadeimplantaodoestilo orientadoaserviosnabuscadesolues.Eletambmdealtaimportnciapara profissionaisdetecnologiamaisprximosreadenegcio,jqueestaabordagemprocura estabelecereficientementeumaformadealinharestasduasreas. ResumoDevman OrientaoaSOAParte1:Esteartigoabordaconceitos,aspectostcnicose comportamentaisenvolvidosnoestilodearquiteturaorientadaaservios.Explicamoscomo estetermo,latentenomundodatecnologiahumbomtempo,podesercompreendidodeuma formaterica,entendendoconceitualmenteoporqudesuaexistncia,buscandoorigense razesparatalinfluncianomercadotecnolgico. Areadetecnologianaturalmentesaturadadeacrnimos,taiscomo:HTTP,TCP/IP,SSL, BPM,EAI,JDBC,RDBMS,JSF,JPA,etc.Estaprofusodetermosoquecomumente chamamosdesopadeletrinhas.Edentrodestasopahumacrnimoemespecialquevem sedestacandocomotendnciahumbomtempo.Qualprofissionaldetecnologiaquenunca leuououviucomentriossobreSOA?SejaumprofissionaldeTIcomformaototalmente tcnicaoufuncional,estesjleramalgumartigo,conhecememdetalhes,praticam, implementam,estudamoupretendemadotarodesejadoSOA.Amenosqueesteprofissional detecnologiaestivesseperdidoemumailhaporalgunsanosconversandocomumabolade vlei,definitivamenteelejsedeparoucomotermoSOA. Nosimplescompreenderestatendnciatecnolgica,eparaaumentaraconfuso,existeo habitualconflitodedefiniesentreoplanocomercialeoplanotcnicoquandosereferemao SOA.Estaconfusoprovavelmenteademaiornvelsecomparadaaoutrastendncias tecnolgicas.Paraareacomercial,esteacrnimoumgrandecandidatoaserempacotado comoumprodutoevendidocomopanaceiaparaasempresas,porquantiasnomuito mdicas.Dequalquerforma,elesestoapenasdesempenhandobemotrabalhodeles.

Porm,aconfusojestestabelecidaquandoesteestilodearquiteturaoferecidocomo tecnologia,poisSOAnotecnologia!Dequalquerforma,ficaclaroquesefaznecessrio tecnologiaparaconseguirestabeleceroSOAemumambiente. Aarquiteturaorientadaaserviosencorajaaexistnciadeunidadesdelgicaautnomas, masquenosejamtotalmenteisoladasumadasoutras.Essasunidadesdelgicadevem seguirumconjuntodeprincpiosquepermitamqueevoluamindependentemente,eaomesmo tempomantenhamumnveldepadronizaoehomogeneidade.Essasunidadesdelgicaem SOAsoconhecidascomoservios. Ateoriadaseparaoderesponsabilidades(SoCSeparationofConcerns)baseadaem umprincpioestabelecidopelaEngenhariadeSoftwarequepromoveadecomposiodeum grandeproblemaempequenosproblemas,paraosquaisunidadesdelgicacorrespondentes soconstrudas.Aideiapoderexecutarumproblemagrandeecomplexo,comoumprocesso denegcio,deformamaissimpleseeficientequandoestesproblemassoseparadosem pequenaspartes.Cadaumadestasunidadesdelgicaconstrudasexistedeforma independente,esoresponsveisporsolucionarumoumaisdospequenosproblemas (responsabilidades)identificados. Estaabordagemestrelacionadaaumadecomposiofuncional,queocorrenaconstruo dosserviosemumambienteSOA.

Nota
Nohumconsensonaliteraturaparaumatraduoemportugusdoprincpiodedesign SeparationofConcerns(SoC).Astraduesmaiscomumenteencontradasso: SeparaodeResponsabilidades,SeparaodeInteressesoumesmoSeparaode Preocupaes.Noentanto,quersejaresponsabilidade,interesseoupreocupao,todos sereferemaumacaractersticaoucomportamentodeumsoftware.

AhistriadaorigemdoSOAseconfundecomaevoluodaarquiteturadesoftware.Esta evoluofoinaturalmenteinduzidaatravsdasmudanasqueocorreramcomatecnologia queimpactarametransformaramasferramentaseaformadepensaremcomoconceberuma estruturadesoftwarealinhadaaoobjetivodesustentareapoiaraautomaodeumnegcio eficientemente.Estaevoluogradualdaarquiteturaaindaseencontraemcurso,talqualum organismoembuscadesuamelhoradaptaoaoambiente.Assim,nesteartigovamos abordarcomooSOAfoideformanaturalsendoconcebidoduranteaevoluodatecnologia, daarquiteturadesoftware,edabuscadeumaabordagemmaiseficazparaarealizaode soluesqueatendamareadenegcio.

AevoluodaArquiteturadeSoftware
Logononascimentodatecnologia,quandocomearamaserconstrudasasprimeiras soluesautomatizadas,aconstruodesoftwareeratosimplesqueatarefadeabstraoe definiodesuaarquiteturaerararamenterealizada. Comosurgimentodasaplicaesmulticamadas,asvariaescomasquaisestassolues poderiamserconcebidascomearamacrescerexponencialmente.Departamentosde tecnologiaresponsveispelaconstruocomearamasepreocupareareconhecera necessidadedacriaodeummodelodeaplicaoquepoderiaservircomobaseparatodas asoutras.Estemodelopoderiadefiniranaturezadasaplicaes,como:tecnologia,padres,

regras,limitaesecaractersticasdedesignqueseriamaplicveisatodasassolues baseadasnestetemplate.Istomarcouonascimentodaarquiteturadeaplicao,tambm conhecidacomoarquiteturadesoftware. Onveldecontroledaarquiteturadeaplicaopodeserdiferentedependendodecada corporao.Algumasmantmumnvelmaisalto,provendoabstraesfsicaselgicasdeum modelodedesenvolvimento,enquantooutrasinclueminformaesmaisdetalhadas,como modelosdedados,diagramasdefluxosdecomunicaeserequisitosdesegurana. Estemodelomaisdetalhadoeespecficopodesermaiscomumemempresasqueadotam diferentesespecificaesdetecnologias,comoJavaEEe.Net.Porestarazo,quandoexistir maisdeumaespecificaodearquiteturadeaplicaodentrodeumaorganizao,existea necessidadedemanteroalinhamentoatravsdagovernanaestabelecidapelaarquitetura corporativa. ArquiteturaClientServeremumacamada Oinciodautilizaodacomputaoparaautomaodeprocessosaconteceupormeiodos grandescomputadores,osmainframes.Ecomeles,aorigemdaarquitetura,ondetodosos aspectos(apresentao,regrasdenegcioedados)selocalizavamnamesmacamada.O mainframeserviaathinclients,clientesquenopossuamqualquerresponsabilidade, mquinaspopularmenteconhecidascomoterminaisburros.Seunicopapelerapossibilitar oacessoaomainframe,representandoanicacamadaquedetinhatodasas responsabilidades.EstaabordagemarquitetnicaestilustradanaFigura1. EstaarquiteturaClientServerfoigradativamentesendoabandonadaquandoumavariao damesmaemduascamadassurgiunofinaldosanos80. ArquiteturaClientServeremduascamadas Estanovaformadedesignintroduziuoconceitodedelegaoderesponsabilidadesparaas estaescliente. Responsabilidadescomoprocessamentodelgicaforamatribudasparaoladodocliente, nascendoentoofatclient,tambmconhecidocomothickclient.Estessoosclientesmais robustos,incorporadosdemaisresponsabilidadesdentrodaabordagemdearquitetura. Nestaarquiteturaosclientes(fatclients)possuemumaresponsabilidademaiorquantoao processamentodalgicadeaplicaoeapresentao.Asestaesclienteforam impulsionadasprincipalmentepeloavanodainterfacegrficadousurio(GUIGraphical UserInterface).EstetipodeclientedominouomundodeTInoinciodadcadade90.Na Figura2ilustradaaestruturaemduascamadasparaestemodelo.
[abririmagememjanela]

Figura1.ArquiteturaClientServerdeumacamadanoinciodacomputaocommainframes.

[abririmagememjanela]

Figura2.ArquiteturaClientServeremduascamadanaevoluodaarquiteturadesoftware.

Aconfiguraocomumdestaarquiteturaconsistiaemmltiplosfatclients,cadaumdeles possuindosuaprpriaconexodedadoscomoservidorcentral.Oservidor,porsuavez, detinhaescalveissistemasdeRDBMs(basesdedadosrelacionais)comalgumalgicade aplicao.Estetipodearquiteturadesoftwarecaracterizadoporaplicaesmonolticasque controlamedefinemaformacomoousuriointeragecomasaplicaes. Umadasdesvantagensdestaarquiteturaeraaexistnciadeumaconexodebasededados porusurio.Conexesdebasededadoseramdispendiosaspornatureza,ecausavamuma latnciadeprocessamentoaosusurios.Almdisso,asaplicaesdoladodoclientetendiam aserrobustaseoneravamcomumpesadoprocessamentoearmazenamentodasregrasda aplicaoassuasestaesdetrabalho.Haviaaindaadificuldadedemanutenotanto evolutivacomocorretiva,poistodasestasestaesdeveriamserindividualmenteatualizadas nocasodeumanecessidadedemanuteno. Outracaractersticadestaarquiteturadeaplicaomonolticaatransfernciadeparteda lgicadeaplicaoparaabasededados,inseridaemStoredProcedureseTriggers,eisto criavaumaltoacoplamentodasoluocomatecnologia. ArquiteturaClientServeremmltiplascamadas

Oprximopassodaevoluodaarquiteturaemrespostaaoscustoselimitaescoma ClientServeremduascamadas,foiacriaodemltiplascamadasnadivisodas responsabilidades,caracterizandoaindamaisummodelodistribudo.Juntamentecomesta inovao,oconceitodeaplicaesbaseadasemcomponenteschegouaomundoda arquiteturadesofware,quebrandoempartesasaplicaesmonolticas,formando componentescompatveiscomoparadigmadaorientaoaobjetos. Adistribuiodalgicadeaplicacoemmltiploscomponentes(algunsnocliente,outrosno servidor)facilitouoprocessodeinstalao,centralizandograndepartedalgicanos servidores.ComponentesdeservidoresagoraselocalizamemServidoresdeAplicao dedicados,quetmamissodecontrolaredisponibilizarrecursos,comoporexemplo,opool deconexescomabasededados,aliviandoaoneraodacriaoeacessoconcorrentea estesobjetos.Destaforma,umanicaconexopoderiafacilmenteserviramltiplosclientes.A Figura3representagraficamenteestanovaevoluodearquitetura. Comosempre,asvantagensvmacompanhadascomdesvantagens,eaplicandoeste modelodearquitetura,algunsproblemasforamresolvidos,masoutrossurgiram. Ocustonestecasofoioaumentodacomplexidade,queimpactavaodesenvolvimento, implantaoeadministraodasaplicaes.Aoinvsdacomunicaodistribudaviaconexo comabasededados,surgiramnovosmeiosdecomunicaoconhecidoscomoRPC(Remote ProcedureCall),taiscomoCORBAeDCOM.Estastecnologiaspossibilitaramacomunicao remotaentreoscomponentesqueresidiamnosservidoreseestaescliente.

[abririmagememjanela]

Figura3.ArquiteturaClientServeremmltiplascamadas,oadventodacomponentizao.

Estemodelodearquiteturaemmltiplascamadassecaracterizapelosurgimentodacamada domeio,comumentedenominadacomomiddleware. Assim,oesforodemanutenoseelevou,eservidoresdeaplicaesganharam significativamentemaisatenoerelevnciaemambientesmaiores. Atessemomento,astecnologiasdaWebaindanofaziampartedessetipodearquitetura. Foinofinaldadcadade90queestastecnologiassetornarammaisviveisecomearama serincorporadasemsoluesqueseguiamaarquiteturaClientServeremmltiplascamadas. Oeventomaissignificantefoiasubstituiodoscomponentesdesoftwarescustomizadosdas estaesclientepornavegadores(browsers).Esteevento,almdemudarelimitar radicalmenteodesigndainterfacedeusurio,moveupraticamente100%dalgicade

aplicaoparaoservidor. ArquiteturaWebdistribuda Estaarquiteturaapresentapraticamenteamesmaestruturadaarquiteturaanterior,porm, comoadventodastecnologiasWeb,ascamadasforamimpactadasgerandoalteraes quantoresponsabilidadecontidaemcadauma.Issoalterouaabordagemrealizadana estruturaodosoftware.NaFigura4podemosverificarcomoficouestaestruturao.

[abririmagememjanela]

Figura4.ArquiteturaWebdistribuda,oinciodousodastecnologiasdeInternetnaarquitetura.

Comestenovomodelohouveaintroduodeumnovocomponenteimportanteebem conhecido,oServidorWeb,quepoderiaformar,porsis,umacamada.Istomudoua comunicaoentreservidoreseestaescliente,passandodeprotocolosRPCproprietrios (CORBA,DCOM)paraoprotocolodaWorldWideWeb,oconhecidoHTTP.OprotocoloRPC setornoumaisutilizadonacomunicaoentreservidoresWebremotoseServidoresde Aplicao. Comexceodealgumastecnologiasproprietriasqueestendemasfuncionalidadesdos navegadores,amaioriadassoluesdestemodelodearquiteturacolocatodaalgicada aplicaonoladodoservidor.Atmesmoasregrasdeapresentaoescritasemlinguagens comoJavaScriptresidemnoservidor,esobaixadasparaousurionaprimeirarequisio HTTP,centralizandotodaasoluonoservidor. Anfasemaiordestemodelodearquiteturaestemdefiniestaiscomo: Estruturarcomoaaplicaovaiserparticionada Aresponsabilidadedecadaumadestasparties,e Dequeformaelasirointeragirentresi. Emumaperspectivaestrutural,aarquiteturawebdistribudamuitosemelhantearquitetura orientadaaservios.Porexemplo:algicaprovidapeloservidoreseencontrasegmentada emcomponenteslgicos. Adiferenaestnosprincpiosestabelecidos.Paracomporaarquiteturawebdistribuda,a soluoserestringenastrsdefiniesanteriormenteenfatizadas,enquantoquenoSOAh maisconsideraesaseremabordadas,comotodososprincpiosquedefinemacriaode serviosquepermitamumambienteserorientadoporeles. Dofinaldadcadade90atametadedaprimeiradcadadosanos2000,aarquiteturaweb

distribudarepresentoudefatoaarquiteturapadroparaodesenvolvimentodesolues corporativas. Estaarquiteturacontinuaemconstanteevoluo,conformenovastecnologiassurgeme possibilitampensardeformadiferentealgunsdetalhes.Comoexemplo,tecnologiasque possibilitamaconstruodeInterfacesdeUsuriomaisricas,commaisdinmicaepoderde processamento,fazemcomqueacamadadeapresentaotenhamaisrelevnciana separaoderesponsabilidadeentreascamadas.Htambmtecnologiasqueenvolvem novasformasdecomunicaoentreascamadas,como:AJAX,JSON,RESTeWebSocket. Esteltimotemumconceitonovoquepode,nofuturo,impactarmaisfortementeassolues dearquitetura,poissetratadeumprotocolobidirecionalquepermitequeacomunicaoentre onavegadoreservidorWebsejainiciadatantopelonavegadorquantopeloprprioservidor Web,representandoumcanalabertodedupladireodecomunicao.

AArquiteturaOrientadaaServios
Durantetodaestaevoluodearquitetura,oSOAfoiparalelamentesendoconfeccionadoe setornandomaistangvel,conformeasideias,estruturasetecnologiasdesenvolvidasforam surgindo.Osprincpiosqueenvolvemacriaodeumambienteorientadoaservios(veremos adiante),poderiamsermaisfacilmentevisionadoscomtodaamaturidadequeacompanhou estaevoluodearquitetura.Comoexemplodestaevoluo,podemoscitaraspectoscomo: segregaoemcamadas,segregaoderesponsabilidades,comunicaodistribuda, servidoresweb,servidoresdeaplicaoeprotocolosquepermitemacomunicaoentre tecnologiasheterogneas(WebServices/SOAP). Juntamentecomestaevoluodearquitetura,escolasdepensamentoforamseformando, criandomaneirasdistintasdepensaremcomocomporumaaplicao,oumesmotodoo ecossistemadeaplicaesdeumaempresa.Istoaconteceunaturalmenteconformeoaumento damaturidadenabuscadamelhorestratgiaparaelaborarumasoluodesoftwarede qualidade. Comisso,partimosdesdeumambienteisoladocomaplicaesmonolticas,passandopelo desenvolvimentoorientadoaobjetos,desenvolvimentobaseadoemcomponentese, finalmente,crescendoemamplitudeevisodenegcionacorporao,paraumambiente orientadoaserviosqueapoiamosprocessosdenegcio.Estamudanadematuridadeno paradigmaparadesenvolversoftwareilustradaemuminfogrficorepresentadopelaFigura 5. OparadigmadaorientaoaobjetosedoSOApossuemalgumasequivalnciasemseus princpios.Ambosbuscam,porexemplo,desenvolvimentodeunidadeslgicas,baixo acoplamentoereuso.NoSOA,estasunidadelgicassoservios,enquantonaorientaoa objetossorepresentadasporclasses.Contudo,htambmdiferenasrelevantes.NoSOA, osserviosnopossuemestadoeasmensagenspossuemmuitomaisautonomiae informaocontida.Naorientaoaobjetos,aclassecentralizadadoselgicaemumnico local(objeto),caracterizandoacriaodeunidadescomestado.Oescopodeatuao tambmmuitodistinto.Aorientaoaobjetosseestabelecenonveldearquiteturade aplicao,enquantooSOApossuiumescopocommuitomaioramplitude:arquiteturade integraoearquiteturacorporativa.Portanto,osdoispodemedevemconviveremharmonia ecooperao. Destaformapodemosteraplicaesorientadasaobjetosqueiroexporfuncionalidadesem formadeunidadeslgicasautnomas,seguindoaabordagemdaarquiteturaorientadaa servios.

SOAeosConsrciosInternacionais AconcepoeconsolidaodaarquiteturaSOAfoitambmimpulsionadaporalgumas especificaesquepossibilitaramacomunicaoentretecnologiasheterogneas proprietrias,utilizandoprotocolospadres.Dentreestastecnologiaspodemosdestacaro XMLeWebServices(SOAP).OXMLtemopapeldecodificarunidadesdeinformaes estruturadas,eosWebServices,formandoumframeworkqueutilizaoprotocoloSOAPcomo acordodecomunicaoentreaspartes,protocoloestebaseadoemXML,queporsuavez indiferentetecnologia. Estastecnologiasabertassoespecificadasporconsrciosformadospormembrosque cooperamnodesenvolvimentodepadresdetecnologiaparaaWeb.Estasorganizaes ganharamforaerelevnciaconformeaimportnciadaInternetcresceu.Especificaesde padrescomoHTML,XMLeSOAPnasceramnestasorganizaes.NaTabela1temosos principaisconsrciosresponsveispelamanutenoeevoluodasprincipaiscontribuies naespecificaodetecnologiasrelevantesaoSOA. EstasorganizaestmaparticipaoecontribuiodegrandesplayersdaindstriadeTI, quecolaboramcomoconsrcionaespecificaodestespadres.Obviamente,oSOAse tornoutendnciafortetambmporcausadapromoofeitaporestesgrandesplayerscriando produtosqueajudaramnaimplantaodesteestilodearquitetura,fazendoganharevidnciae fora.Afinal,seoSOAfosseadotadoporumaminoriadaindstriadeTI,provavelmenteno teriaarelevnciaquepossuiatualmente.

[abririmagememjanela]

Tabela1.PrincipaisconsrciosquecomsuasespecificaeseesforoscontriburamparaoSOA.

SOAnosNegcios Mesmocomtodaestaevoluo,aindaexistiaumagrandelacunaentreTIenegcio.A complexidadedodesenvolvimentodesoluesnestesmodelosmaisevoludoslevou necessidadedacriaodopapeldoarquiteto,comaresponsabilidadedeelaboraraestrutura adequadaconformeoobjetivoetamanhodasoluorequerida,alinhandodiferentesvises queabrangemdesdereasmaistcnicasareasdenegcio,paraprincipalmenteatingiro alinhamentocomoobjetivodonegcio. Noentanto,estealinhamentoentrenegcioeTInoestsendofacilmenteatingido.Area detecnologiarecebegrandesaportesdeinvestimento,osquaisnosovistoscomoretorno apropriadoeesperadopelareadenegcio.Almdeconsumirgrandesquantiasfinanceiras, TIvistocomoumobstculoparaumamaioragilidadeeflexibilidadedosnegciosdeuma corporao. nestepontoqueSOAentracomograndecandidatoacorrigirestesproblemas, supostamentecriandoavisoparaareadenegciodequeTIformadadeativosque podemserutilizados,reutilizados,orquestradosecompostoscomolegos,noformato necessrioparaconstruiroprocessodenegcioidealeautomatizadoparaomomentoem queaempresaseencontranomercadoenomundo.Porissoosbenefciosdaagilidadee flexibilidadenaexecuodosnegciossoosprincipaisatributosdoSOAqueatraem investidores.

importantemencionarque,aarquiteturaorientadaaserviosimpactavriascamadasda arquitetura(arquiteturadeaplicao,arquiteturadedados,arquiteturafuncional), principalmenteodeArquiteturaCorporativa.Somentechegandoaestenveldeamplitudee compromissotransversal,queserpossvelexistirumaimplantaoqueusufruados potenciaisbenefciosoferecidosporSOA. OcompromissocomamissodeimplantaroSOAdevecomearnasaltaspatentesechegar atasbases,ouseja,envolverdesdeosmembrosquedefinemaestratgiaegovernanada empresa,atosmembrosqueexecutamassuasoperaes.

[abririmagememjanela]

Figura5.Infogrficoquerepresentaaevoluodamaturidadenamaneiradeconstruirsoftware.

NestamissodeimplantaodoSOA,osinteressadosnesteinvestimentopossuemumaalta eambiciosaexpectativaemaprimorardeformadefinitivaeeficienteoTIdesuacorporao,e assimatingiroesperadoeprometidoretornosobreoinvestimentorealizado.Estealinhamento eharmoniaentreTIeNegciotemsidobuscadoatravsdobaixoacoplamentodosprocessos denegciosdaempresacomasfunesautomatizadasoferecidasporTI. Paraatingirestebaixoacoplamentoeaindamanterumaaltacoesoentreestasduaspartes, deumladoestaorquestraodosnegcios,representadaporferramentasdeBPM,edo outroladoestaorquestraodosservios,representadaporumbarramentodeservios corporativo,oESB.EstecenriorepresentadonaFigura6.dessamaneira,compondoas regrasdenegcioemunidadesdelgicaindependentes,autnomas,reutilizveise representadasporservios,quesebuscaflexibilidade,agilidadeeaprimoramentonarea denegciocomosuportedetecnologia. OParadigmadaArquiteturaOrientadaaServios Novamenteapalavraparadigmaacompanhaumconceitodetecnologia.

[abririmagememjanela]

Figura6.CamadasdeinteraocomprocessosdenegcioeserviosdeTIaocentro.

Nocontextoemquerealizadooempregodestapalavra,podemosentenderparadigma comoumpadrodepensamento(ummodelo),umaescoladepensamento,queuniformizaem umambienteprincpiosediretrizesquesoreconhecidamentecorretos,eporisso,so coletivamenterespeitadoseaplicados. UmaformasimplesdecompreenderconceitualmenteoqueSOA,seriaentenderoqueele noo.SOAnotecnologia,umaabordagemdiferenteparaatingirumobjetivo,queno casotratasedoalinhamentoeharmoniaentrenegcioeTI.SOAestrelacionadoa comportamento,comoaformadepensaredeagir.Nopossvelcomprloemuma prateleira,eleestrelacionadomudanadehbitosequebrasdeparadigmas(antigos pensamentos)paratornlorealidade. porestarazoquepossuirumconjuntodeWebServicescentralizadoemumservidor disponibilizandofunesdeaplicaesnocaracterizaumambienteorientadoaservio.Para conseguirconceberumambientecomumaarquiteturaorientadaaservios,precisocolocar emprticaaaplicaoeocontrolesobreosprincpiosqueregemedefinemoqueum servio. NaTabela2solistadosestesprincpios.Empregarestesprincpiosumdesafio,enem semprefcilgarantirquetodoselessejamseguidosemseunvelmximo,poisexistem decisesquenososimplesdeseremtomadasquandosenecessrioestabelecerum equilbriodosresultadosdesuaaplicao.
[abririmagememjanela]

Tabela2.PrincipaisprincpiosquefundamentamacriaodeserviosparaumambienteSOA.

Porexemplo,criandoumserviocoarsegrained(debaixagranularidade),esteexecutaum nmeroelevadodefunes,eassimacabanosendoreutilizadoemvariadoscontextospelos consumidores.Poroutrolado,quandocriamosumserviofinegrained(dealtagranularidade), corremosoriscodediminuirasuautilidadeporqueestenorealizafunesosuficientepara sertilparamuitosconsumidores.Podemosverificaroequilbrioentreestesatributosque agemcomoforascontrriasnasFiguras7e8. Paraqueestesprincpiosdeserviosejamreais,respeitadoseincorporadosemumambiente detecnologia,existeumprocessodevitalimportnciaquedeveserestabelecido: governana!

[abririmagememjanela]

Figura7.Equilbriodasforasopostasdoresultadodacriaodeserviosfinegrained.

[abririmagememjanela]

Figura8.Equilbriodasforasopostasdoresultadodacriaodeservioscoarsegrained.

Semaimplantaodegovernanadeserviosnohcontrolesobreoqueefetivamente umservio,nohcontrolesobreoambiente,nohgarantiassobreocumprimentodos padres,normasepolticas,eprincipalmenteaaplicaodosprincpiosdeserviosdescritos anteriormente.Semestecontroleoquerestaapenastecnologia,noocorrendono ambienteaimportantemudanadepensamentoeaocontroladaeincentivadapela governanadeservios. Assimcomoaorientaoaobjetosumexemploclssicodeumparadigmade desenvolvimentodesoftware,SOAtambmestrelacionadoaumnovoparadigmapara desenvolvimentodesoluesdetecnologia. Ambosprecisamdealinhamentoquantoaocomportamento:pensareagirdeacordocomos princpios! Emrelaoaestesdoisparadigmas,maisfcilimplementaraOrientaoaObjetos,jque estisoladanaarquiteturadeumaaplicao,enquantoSOAestportodaaempresa,sendo responsabilidadedasarquiteturasdeintegraoecorporativa.

OModeloCannico Umdospadresmaiscomentadosemumambientecomarquiteturaorientadaaservioso conhecidocomoModeloComumdeDados,ouEsquemaCannico,ousomenteModelo Cannico.Esteconsistenauniformizaodacomunicaoentreconsumidoreseprovedores quandosereferemaentidadesdedadosnasmensagens. Oobjetivofazercomqueaspartesfalemamesmalnguaquandosereferiremadadosna trocadeinformaes,facilitandoacomunicao.Portanto,dentrodeumambientecorporativo, ondevriossistemasprecisamtrabalharcomainformaodeCliente,porexemplo,omodelo cannicoestabelecequeestaunidadedeinformao(objetoouentidadeCliente)tenhaa mesmaestruturapadronizada.Paraajudaraestabelecerpadres,ousodeinstrumentosde validaoadotado,comoporexemplo,alinguagemdeesquemaXSD. EstepadrorequerumaaltamaturidadedocontroledoambienteSOA,poisexigeesforoe consensoentreosdistintosdomniosdentrodeumaempresa.Adefiniodaestruturanica deumaentidadedeinformaoparaumacorporaointeira,ondejexistemvriossistemas emexecuo(cadaumcomsuaestruturadedados)aolongodeanosdeexistncia,no definitivamenteumatarefatrivial. Destemodo,necessrioavaliarorealbenefciodaaplicaodestepadrodeacordocom oimpactonoambienteatual,paradepoisestabelecerumobjetivoalvoparaofuturo,eento, atravsdeumplanejamentoeumroteiro(roadmap),colocloemprtica. Umatarefacomestamagnitudeeescopoprecisadacooperaodepessoascompoderde decisonaempresa,emumpadrodecomandoecoordenaoqueiniciadesdeoalto escaloataspartesmaisoperacionais(topdown). Outraestratgiadeabordagemparaaadoodestemodelo,deformaquereduzaoimpacto, seriaestabelecerpadresdemodelodedadospordomnio,uniformizandoaomenosas estruturasdedadosdentrodeumescopoespecfico,limitadaspordomnio. Porconsequncia,estaestratgiairtambmdiminuiraamplitudeaqualdeveserrealizada agovernananoempregodestepadro.

Nota
OModeloCannicopossuiumacaractersticaqueodiferedeoutrospadres:simplesde entender,pormcomplexopararealizarnaprtica.

ModelosdeMaturidadeparaoSOA
Umaformadeobservaroestadoqueseencontraocenriopresentedeumambienteem relaoaoSOA,utilizarcritriospadronizadosdeavaliaoquepossamauxiliardeforma eficienteaidentificaodasituaoatual.Destaformapossvelidentificaramaturidade efetivadacorporaosobreotema.Estescritriospadronizadospodemserencontradosem modelosdematuridade. Modelosdematuridadesohabitualmenteutilizadospararealizarumaavaliaosobreo nveldeexcelnciaqueumaorganizaopossuinaexecuodeumdeterminadoprocesso, possibilitandoencontraroseuestadoatualdematuridadesobreoassunto.Porexemplo,o CMMIummodelodematuridadeutilizadoparaaveriguaronvelatualdeumacorporao quantoaoseuprocessodedesenvolvimentodesoftware. ParaoSOAtambmforamelaboradosmodelosdematuridadeconcebidosporvrias empresasdetecnologiadomercado,como:HP,IBM(SIMM),SONIC,OracleeMicrosoft (SOAMM). Noentanto,nosomentegrandesplayersdomercadosepreocuparamemestabelecerum

modelodematuridadeparaoSOA.OTheOpenGroup,umconsrciosemconexodiretacom areacomercial,formadoporempresasdetecnologiaeconhecidopordesenvolveroTOGAF (frameworkparaarquiteturacorporativa),tambmdesenvolveuoseuprpriomodelode maturidade,denominadoOSIMM(TheOpenGroupServiceIntegrationMaturityModel).O objetivodesteesforoconceberoprimeiromodeloemtododeavaliaocolaborativoda indstriadeTI,eassimauxiliarorganizaesnaadoodoSOA.Nomomentodaelaborao desteartigo,oOSIMMseencontranaverso2.0. Comestemodeloabertoecolaborativo,possvelrealizarumaavaliaodocenrioatuale futurodeumaorganizaoreferenteaoSOAatravsdeumametodologia. Ospassosparaelaboraodoparecerfinaldematuridadedeumambienteesto representadosnaFigura9,seguidosdeumabreveexplicaonaTabela3.
[abririmagememjanela]

Tabela3.DefiniesdospassosdeexecuodomodelodematuridadeOSIMM.

[abririmagememjanela]

Figura9.OspassosrealizadosduranteaexecuodomodelodematuridadeOSIMM.

Concluso
ApromessadequeumambienteOrientadoaServiostrarumaltoretornodeinvestimento emtecnologia,alinhandodeformaeficaznegciosaTI,fazcomqueSOAsejaumadas tendnciasmaisdiscutidasnomercadodetecnologia. Podeseperceberissodeformaemprica,analisandoaquantidadedesolues,deprodutos epacotesquegrandesempresasdetecnologiaoferecemaomercado,assimcomotambm,a quantidadedeescolasefaculdadesengajadasemoferecercursosespecializadosemSOA. Conceitualmente,comoprometidoporestemodelodearquitetura,possvelatingiruma maturidademaiornosserviosoferecidosporTIseoSOAforeficientementeimplantado.
[abririmagememjanela]

Figura10.MatrizdeavaliaodomodelodematuridadeOSIMM.

Aoestabelecertalmaturidade,serpossvelatingiropapelprincipaldareadetecnologiana empresa,queoferecerautomatizaoaosprocessosdenegcio,paraqueestasejamais eficientenabuscadosseusobjetivos.EstaevoluopoderfazercomqueareadeTIdeixe desermaisumobstculonocaminhodareadenegcio,quandosenecessriomodificare inovarseusprocessosdeformagileflexvelparaatenderconstanteedinmicademanda deevoluodosseusnegcios,principalmenteemrelaoaomundoexterior. Porm,naprtica,istonodemonstrafcilrealizaoapenasinvestindoemtecnologia atravsdaaquisiodeferramentas,cursosecontrataodefornecedoresapropriados,pois, comomencionadonesteartigo,SOAtemmuitomaisavercommudanadecomportamentodo quecomimplantaodeumanovatecnologia.Enessepontolidamoscomorecursomais difcildeseradministrado,orecursohumano!Colocaremprticamudanadecomportamento, quebradeparadigma,emdoisoutrsindivduosnaconcepodeumsoftwareorientadoa objetos,jumdesafio.Porisso,quandofalamosemSOA,estamosnosreferindoamudana decomportamento,depensamentodeumgrupomuitomaior,quepodecompreenderdesde umdepartamentointeiroatmesmotodaacorporao,incluindoreasdenegcioquese relacionammaisintimamentecomtecnologia. Porissoodesafiotranscendeoaspectotecnolgico. sempreumdesafiolidarcomsoluesquetranscendemaarquiteturadeumaplicativo,pois nocasododesenvolvimentodeumaplicativoisolado,lidamoscomfronteirasbem estabelecidaseumaequipereduzida,representadaporarquitetosedesenvolvedoresdo projetodesoftware.Porm,quandolidamoscomaintegraodeumecossistemade aplicaesdeumacorporao,ograudedificuldadeaumentaemuito. Nestemomentoampliamosoimpactodequalquerdecisotomada,ehoenvolvimentode umtimedeprofissionaismuitomaior.Portanto,temosquebuscarumavisomuitomaisampla doqueapenasarelacionadaaumaArquiteturadeAplicao,eabuscadestavisoextensa podeenvolverumdepartamentooumesmoumaempresainteira.Conseguirestabeleceruma harmoniafuncionalentrevriossistemasheterogneos,cadaqualcomumafunoespecfica, eaindamantertotalalinhamentocomosobjetivosdenegcio,umdesafiograndeealtura deumdostemasmaiscomentadosemtecnologia,oSOA. Nasegundapartedesteartigo,vamosanalisardeformapragmticaumaabordagemde implantaodaarquiteturaSOAemumambientefictcio.Paraisso,vamosutilizaralgumas ferramentaseestratgiasqueauxiliaroapromoverabuscadeumanovamaneiraderealizar soluesdetecnologiamaiseficientementealinhadasaosobjetivosdonegcio:orientadaa servios!

UALTEROTONIAZAMBUJAJUNIOR
Atuacomoprofissionalnareadetecnologiahdezesseteanos,dosquaisdezdedicadosa plataformaJavaesoluesdeArquiteturadeAplicao/Integrao.TrabalhacomoArquitetode SistemaparaoBancoItaS/A,psgraduadoemTecnologiaOrientadaaObjetosepossuias certificaes:SCJP,SCWCDeSCEA.