• No se han encontrado resultados

Descripción de los objetos comerciales en su relación con el conector

Estecapítulodescribecómoelconector deJDBCprocesa objetoscomerciales y describelossupuestos sobrelosquetrabajaelconectoralrecuperarymodificar datos.Estecapítulocontienelas seccionessiguientes:

v “Conveniosdedenominaciónparaobjetoscomercialesy atributos” v “Estructurade losobjetoscomerciales”

v “Procesosdeverbosde objetocomercial”enlapágina42

v “Propiedadesdeatributosde objetoscomerciales”enlapágina60

v “Informaciónespecífica delaaplicaciónparaobjetoscomerciales”enlapágina 62

Puedeutilizarestainformacióncomo guíaparamodificarobjetoscomerciales existentesoimplementar unosnuevos.Paraobtenerinformaciónsobreelprograma de utilidadqueautomatizalacreacióndearchivosdedefinicióndeobjetos

comerciales deWebSphereBusiness IntegrationAdapter,consulteelCapítulo4, “Creación dedefinicionesdeobjetoscomercialesutilizandoIBMODAfor Manugistics”,enlapágina75.

Elconectoractúasobrelabasede determinadaspremisasreferentesa laestructura de losobjetoscomercialesconlosquetrabaja,lasrelacionesentrelosobjetos comerciales padreyhijo, elformatodelainformaciónespecíficadelaaplicacióny larepresentacióndelobjetocomercialenlabase dedatos.Portanto,cuandocreeo modifiqueunobjetocomercialqueseráprocesadoporelconector,las

modificacionesquerealicedebenajustarsea lasnormasqueestáprevistoqueel conector siga.Delocontrario,elconectornopuedeprocesar correctamentelos objetoscomercialesnuevosomodificados.

Convenios

de

denominación

para

objetos

comerciales

y

atributos

Elnombredeunobjetocomercialutilizadoporelconectorsólopuedeestar formadopor caracteresalfanuméricosyelcarácterdesubrayado.Losnombresde atributos deobjetoscomercialestambiénsólopuedenconstardecaracteres alfanuméricosy elcarácterdesubrayado.

Estructura

de

los

objetos

comerciales

Enlamayoríadeloscasos,elconector suponequecadaobjetocomercial individual estárepresentadoporunasola tablaovistadebasede datos,yque cadaatributosimple(esdecir,unatributoquerepresentaunvalorindividual, tal como String,Integero Date)contenidoenelobjetoestárepresentadoporuna columnadeesatabla ovista.Portanto,losatributoscontenidos enelmismoobjeto comercialindividualnosepuedenguardarentablasdebasede datosdiferentes. Sinembargo,pueden darselassituacionessiguientes:

v Latabla debasede datospuedetenermáscolumnasqueelnúmerodeatributos simplescontenidos enelcorrespondienteobjetocomercialindividual(es decir, algunascolumnasde labase dedatosnoestánrepresentadas enelobjeto comercial).Elusuario debeincluirensudiseñosolamenteaquellascolumnas necesariasparaelprocesodeobjetoscomerciales.

v Elobjetocomercialindividualpuedetenermásatributossimplesqueelnúmero decolumnascontenidasenlacorrespondientetabla debasede datos(esdecir, algunosatributosdelobjetocomercialnoestánrepresentadosenlabasede datos).Losatributosquenoestánrepresentadosenlabasededatoscarecen de informaciónespecíficade laaplicaciónobiensehandefinidoconunvalorpor omisiónoespecificanprocedimientosalmacenados.

v Elobjetocomercialindividualpuederepresentarunavistaqueabarcavarias tablasde basededatos.Elconectorpuedeutilizarunobjetocomercialdeesa clasealprocesar sucesosCrear,Recuperar,ActualizarySuprimirquesehan desencadenadoenlaaplicación.Sinembargo,alprocesar peticionesdeobjeto comercial,elconectorpuedeutilizarunobjetocomercialdeesaclasesolamente parapeticionesde Recuperar.

v Elobjetocomercialindividualpuederepresentarunobjetoenvoltorioquese utilizacomocontenedorparaobjetoscomercialesquenoguardanrelaciónentre sí.Elobjetoenvoltorionoestárepresentadoporuna tablaniunavistadebase dedatos.Losobjetosenvoltorionosepuedenutilizarcomohijosdeotros objetos.

Nota: Siunobjetocomercialestábasadoenunprocedimientoalmacenado,cada atributosimple(salvolosatributosespecialesde procedimientoalmacenado) puedenteneronotenerinformaciónespecíficadelaaplicación.Para

obtenermásinformación, consulte“Procedimientosalmacenados”enla página51.

LosobjetoscomercialesdeWebSphereBusinessIntegrationAdapterpueden ser planos ojerárquicos.Todoslosatributosdeunobjetocomercialplanosonsimples y representanunvalor individual.Eltérmino objetocomercialjerárquicohace referenciaa unobjetocomercialcompleto, incluidostodoslosobjetoscomerciales hijoqueelobjetocontienea cualquiernivel.Eltérmino objetocomercialindividual hacereferenciaa unsóloobjetocomercial,conindependenciade losobjetos

comerciales hijoquepuedaconteneroenlosqueestécontenido.Eltérmino objeto comercialdenivelsuperior hacereferenciaalobjeto comercialindividual situado enlomásaltodelajerarquíayquenotiene ningúnobjetocomercialpadre. Un objetocomercialjerárquicotieneatributosquerepresentanunobjetocomercial hijo, unamatrizde objetoscomercialeshijoouna combinaciónde ambos.Asuvez, cadaobjetocomercialhijopuedecontener unobjetocomercialhijoounamatriz de objetoscomerciales,yasísucesivamente.Existeunarelacióndecardinalidad simplecuandounatributodeunobjetocomercialpadrerepresentaunobjeto comercialhijoindividual.Enestecaso, elatributoesdelmismo tipoqueelobjeto comercialhijo.

Existeunarelacióndecardinalidadmúltiplecuandounatributodeunobjeto comercialpadre representaunamatrizde objetoscomercialeshijo. Enestecaso,el atributoesunamatrizdelmismotipo quelosobjetoscomercialeshijo.

Elconectorescompatibleconlostipossiguientesderelacionesentreobjetos comerciales:

v “Relacionesdecardinalidadsimple”enlapágina 39

v “Relacionesdecardinalidadsimpleydatos sinpropietario”enlapágina 39 v “Relacionesdecardinalidadmúltiple”enlapágina 40

v “Relacionesdecardinalidadsimplequealmacenanlarelaciónenelhijo”enla página41

Encadatipode cardinalidad,larelaciónentrelosobjetoscomercialespadreehijo estádescritaporlainformaciónespecíficadelaaplicacióndelatributodeclave correspondiente alobjeto comercialdonde estácontenida larelación.Paraobtener másinformaciónsobreestainformaciónespecíficade laaplicación,consulte “FK=[nombre_objeto_cf.]nombre_atributo_cf” en la página 65.

Relaciones

de

cardinalidad

simple

Normalmente, unobjetocomercialquecontieneunobjeto comercialhijode cardinalidadsimple tienecomomínimodosatributosquerepresentanlarelación. Eltipode unode losatributoseselmismoqueeltipo delhijo. Elotroatributoes unatributosimple quecontienelaclaveprimariadelhijocomoclaveforáneadel padre. Elpadretiene tantosatributos declaveforáneacomoelhijotiene atributos de claveprimaria.

Debidoa quelasclaves foráneasqueestablecenlarelaciónestánalmacenadasenel padre, cadapadre solamentepuedecontenerunsólohijodecardinalidadsimple de untipo dado.

LaFigura2 muestraunarelacióntípicadecardinalidadsimple.Enelejemplo,fk1 eselatributosimple donderesidelaclaveprimariadelhijoehijo[1]esel atributoquerepresentaalobjetocomercialhijo.

Relaciones

de

cardinalidad

simple

y

datos

sin

propietario

Normalmente, cadaobjetocomercialpadre eselpropietariode losdatosdelobjeto comercialhijocontenidoenelobjetopadre.Por ejemplo,sicadaobjetocomercial Cliente contieneunobjetocomercialindividualdenominado Dirección,cuandose creaunnuevocliente,seañadeunanuevafilatantoa latabladeclientescomoa latabla dedirecciones.Lanuevadirecciónesexclusivadelnuevocliente.Del mismo modo,cuandosesuprimeunclientedelatablade clientes,tambiénse eliminaladireccióndelcliente enlatabla dedirecciones.

Sinembargo,existen situacionesenlasquevariosobjetoscomercialesjerárquicos contienenlosmismosdatos,loscualesnopertenecena ningunodelosobjetos comerciales.Porejemplo, supongaqueelobjetocomercialDireccióntieneel atributoEstadoProvincia[1]querepresentalatabladebúsquedaEstadoProvincia concardinalidadsimple.Debidoaquelatabladebúsquedararamenteseactualiza y sumantenimientoserealizaconindependenciadelosdatosdeladirección,la creaciónomodificación delosdatosdeladirecciónnoafectaa losdatosdela Figura2.Relacióntípicadecardinalidadsimple

tabla debúsqueda.Elconector encuentraunnombredeestado oprovincia existente obiennologra encontrarlo.Noañadenimodificavaloresenlatablade búsqueda.

Cuando variosobjetoscomercialescontienenelmismoobjetocomercialhijode cardinalidadsimple, elatributodeclaveforáneade cadaobjeto comercialpadre debeespecificarlarelacióncomoNO_OWNERSHIP(sinpropietario).Cuandoun intermediariode integraciónenvíaalconectorunobjetocomercialjerárquicocon una peticiónCrear,SuprimiroActualizar,elconectorpasa poraltoloshijosde cardinalidadsimple contenidossin propietario.Paraestosobjetoscomercialesel conector sólorealizaaccionesde recuperación.Sielconectornolograrrecuperar unobjetocomercialdecardinalidadsimple deesaclase,devuelveunerrory detieneelproceso.

Paraobtener informaciónsobrecómoespecificarlarelaciónsinpropietario, consulte “Atributosquerepresentanunobjetocomercialhijode cardinalidad simple”enlapágina71.Paraobtenermásinformaciónsobrelaespecificaciónde relaciones declaveforánea,consulte“Especificaciónde laclave foráneade un atributo” enlapágina67.

Datos

desnormalizados

y

datos

sin

propietario

Ademásde facilitarelusode tablasde búsquedaestáticas, lainclusiónsin

propietario proporcionaotracapacidad:lasincronizacióndedatosnormalizadosy desnormalizados.

Sincronización desdedatosnormalizadosa datosdesnormalizados: Especificar una relacióncomoNO_OWNERSHIPlepermitecrearomodificar datoscuando sincronizadesdeuna aplicaciónnormalizadaa otradesnormalizada. Porejemplo, suponga quesuaplicación normalizadade origenalmacenadatosendostablas,A y B.Supongatambiénquesuaplicacióndesnormalizada dedestinoalmacena todoslosdatosenunatabla individualdeformaquecadaentidadAalmacena datosde Bdeformaredundante.

Enesteejemplo,parasincronizaruncambioenlosdatosde latablaBdesdela aplicación deorigenalaaplicacióndedestino,debeactivarunsucesode latabla Acadavezquecambienlosdatosde latabla B.Además,debidoa quelosdatos de latablaBsealmacenandeformaredundanteenlatablaA,debeenviarun objeto comercialparacadafiladelatablaAquecontenga losdatoscambiados de latabla B.

Sincronización desdedatosdesnormalizados adatosnormalizados: Cuando sincronizadatosdesdeuna aplicacióndesnormalizadadeorigena unaaplicación normalizadade destino,elconectornocrea,suprimeniactualiza datoscontenidos sin propietarioenlaaplicaciónnormalizada.

Cuando sincronizadatosa unaaplicaciónnormalizada,elconector pasaporalto todoslosobjetoshijode cardinalidadsimple contenidossin propietario.Parapoder crear, eliminaro modificartalesdatoshijo, elusuariodebeprocesarlosdatos manualmente.

Relaciones

de

cardinalidad

múltiple

Normalmente, unobjetocomercialquecontengaunamatriz deobjetoscomerciales hijotieneunsóloatributopararepresentarlarelación.Elatributoesunamatriz delmismotipo quelosobjetoscomercialeshijo.Paraqueunobjetopadrecontenga másde unobjetohijo,lasclaves foráneasqueestablecenlarelaciónsealmacenan encadahijo.

Por tanto,cadahijotienecomomínimounatributosimplequecontienelaclave primariadelpadrecomoclaveforánea.Elhijotiene tantosatributosde clave foráneacomo atributosdeclaveprimariatieneelpadre.

Debidoa quelasclaves foráneasqueestablecenlarelaciónsealmacenanenelhijo, cadapadre puedetenerdeceroavarioshijos.

LaFigura3 muestraunarelaciónde cardinalidadmúltiple.Enelejemplo,IDpadre eselatributosimple donderesidelaclaveprimariadelpadre yhijo[n]esel atributoquerepresentalamatrizde objetoscomercialeshijo.

Relaciones

de

cardinalidad

simple

que

almacenan

la

relación

en

el

hijo

Algunasaplicacionesalmacenanunaentidadhijaindividual deformaquela relaciónsealmacenaenelhijoenlugardehacerlo enelpadre.Es decir,elhijo contieneunaclave foráneacuyo valoresidéntico alvaloralmacenadoenlaclave primariadelpadre.

LaFigura4 muestraestetipo especialderelacióndecardinalidadsimple.

Lasaplicacionesutilizanestetipo derelaciónde cardinalidadsimplecuandolos Figura3.Relacióndeobjetoscomercialesdecardinalidadmúltiple

másde unpadre,ynecesitanqueelpadreysu valordeclaveprimariaexistan parapoder crearelhijoysuvalor declaveforánea.

Paratenerencuentalasaplicacionesdeestaclase,elconector tambiénpuede trabajarconobjetoscomerciales jerárquicosquecontienenunhijoconcardinalidad simple, peroquealmacenanlarelaciónenelhijoenlugardehacerlo enelpadre. Paraespecificarqueunobjetocomercialpadrecontieneunhijodecardinalidad simple deestaformaespecial,cuandoespecifiquelainformaciónespecíficade la aplicación delatributodonde estácontenidoelhijo,noincluyaelparámetro CONTAINMENT.Paraobtener másinformación,consulte“Atributosquerepresentan unobjetocomercialhijodecardinalidadsimple”enlapágina71.

Objetos

envoltorio

Elobjetoenvoltorioesunobjetocomercialdenivelsuperiorquenocorrespondea ninguna tablanivistadebasede datos.Elobjetoenvoltoriosedenotamediante la propiedad deobjetocomercialdenivelsuperiorWRAPPER,quetieneelvalor true.El objeto envoltorioesunpadre ficticioqueseutilizacomocontenedorparahijosque noguardanrelaciónentresí.Alprocesarelobjetoenvoltorio,elconectorpasapor altoelobjetocomercialdenivelsuperiorysóloprocesa loshijos.Elobjeto

envoltorio puedecontener entidadesdecardinalidadN odecardinalidadN-1o ambascosas.

UnaentidaddecardinalidadN debetenercomo mínimounatributoexclusivo designadocomoclave primariay almenosunatributodesignadocomoclave foránea.Estaclaveforáneaseañadiráluegocomoclaveprimariaalobjeto envoltorio. Laclaveforáneadelaentidadharáreferenciaalaclaveprimariadel objeto envoltorioqueseacabade añadir.

Enelcasode unaentidaddecardinalidadN-1,laclaveprimariadebeestar designada comoclaveprimariayclaveforánea,yhacerreferenciaalaclave primariadelenvoltorio,queeslamismaquelaclaveprimariacontenidaenla entidadN-1.

Procesos

de

verbos

de

objeto

comercial

Estaseccióndescribelosaspectossiguientesdelprocesodelosverbosdeunobjeto comercial:

v “Determinacióndelverbo” enlapágina 43,quedescribecómoelconector determinaelverboquesedebeutilizarparacadaobjeto comercialde origen. v “Imágenesposterioresydeltas”enlapágina43,quedefinelostérminosy

describecómoelconector trabajaconimágenesposteriores

v “Procesode verbos”enlapágina44,quedescribelospasosqueelconector emprendealcrear,recuperar,actualizarosuprimirunobjetocomercial v “Sentenciasde SQL”enlapágina51,quedescribecómoelconectorutiliza

sentenciassimplesde SQLparaoperacionesdeselección,actualización, recuperaciónosupresión

v “Procedimientosalmacenados”enlapágina51,quedescribecómoelconector utilizaprocedimientosalmacenados

v “Confirmacióny retrotraccióndetransacciones” enlapágina 59,quedescribe brevementecómoelconectorutilizabloquesdetransacciones

Determinación

del

verbo

Un objetocomercialdenivelsuperiorycadaunodesusobjetoscomercialeshijo puedecontenersuspropiosverbos.Portanto,unintermediariodeintegración puedepasaralconectorunobjetocomercialquetiene verbosdiferentesparalos objetoscomercialespadre ylosobjetoscomercialeshijo. Cuandosedaesta condición,elconectorutilizaelverbodelobjetocomercialpadredenivelsuperior paradeterminarcómoprocesar elobjetocomercialcompleto.Paraobtener más información, consulte“Procesodeverbos”enlapágina44.

Imágenes

posteriores

y

deltas

Unaimagenposterioreselestado deunobjetocomercialdespuésderealizar todosloscambiosenelobjeto.Undeltaesunobjeto comercialutilizadoenuna operacióndeactualizaciónquesólocontienevaloresde claveylosdatosquese deben cambiar.Puestoqueelconectorsólopuedetrabajarconimágenes

posteriores,cuandorecibe unobjeto comercialparaactualizar,elconector supone queelobjeto comercialrepresenta elestadodeseadodelosdatostrasla

actualización.

Por tanto,cuando unintermediariodeintegraciónenvíaalconectorunobjeto comercialconelverboActualizar,elconectorcambia larepresentación actualdel objeto comercialenlabasededatos paraquecoincidaexactamenteconelobjeto comercialdeorigen. Parahaceresto,elconector cambiavaloresdeatributos simplesyañadeo eliminaobjetoscomercialeshijo.

Por ejemplo,supongaqueelestadoactualdeContrato2345enlabasededatoses elsiguiente:

Supongatambiénqueelintermediariodeintegraciónpasaelobjetocomercial siguiente alconector:

Paraprocesar laactualización,elconectoraplicaloscambios siguientesa labasede datos:

v Actualizalosatributossimplesenlosobjetoscomercialesde nivelsuperior Contratoy Dirección

v CreaelobjetocomercialTeléfono

v ActualizalosatributossimplesenlosobjetoscomercialeshijoA,B,FyG v SuprimelosobjetoscomercialeshijoC, Dy E

v CrealosobjetoscomercialeshijoH,IyJ

Debidoa queelconectorsuponequecadaobjetocomercialquerecibedel intermediariode integraciónrepresentauna imagenposterior,esimportante asegurarse dequecadaobjetocomercialenviado paraactualizara eseconector contenga objetoscomercialeshijoexistentesválidos.Aunquenohayacambiado ningunode losatributossimplesdeunobjetocomercialhijo,elobjetocomercial hijodebeestarincluidoenelobjetocomercialdeorigen.

Sinembargo,existeunaformadeimpedirquealgunosconectoressupriman objetoscomercialeshijofaltantesduranteuna operaciónde actualización.Puede utilizarlainformaciónespecíficadelaaplicacióncorrespondientealatributo representativo delhijoomatrizde hijosparaindicaralconectorqueconservelos objetoscomercialeshijoquenoestén incluidosenelobjetocomercialdeorigen. Parahaceresto, establezcaKEEP_RELATIONSHIPentrue.Paraobtener más información, consulte“Especificación delaclaveforáneadeunatributo”enla página 67.

Proceso

de

verbos

Estaseccióndescribelospasos queelconectoremprendealcrear,recuperar, actualizar osuprimirunobjetocomercialqueharecibidodeunintermediariode integración. Elconector procesalosobjetoscomerciales jerárquicosde forma recursiva,esdecir,ejecutalosmismospasosparacadaobjetocomercialhijohasta quehaprocesadotodoslosobjetoscomercialesindividuales.

Nota: Unobjetocomercialdenivelsuperiorqueseaunobjetoenvoltorioadmitela utilizacióndelosverbosde crear,recuperar,actualizarysuprimir.Laúnica

diferenciaenelprocesodeunobjetoenvoltorio esqueelobjetoenvoltorio noseprocesa,sóloseprocesanlosobjetosquecontiene.

Comparación

de

objetos

comerciales

Endiversosmomentosdelprocesodescritomásabajo,elconectorcomparados objetoscomercialesparaversisonidénticos.Porejemplo,durante unaoperación de actualización,elconectordeterminasiunobjetocomercialdeterminadoexiste enunamatriz deobjetoscomerciales.Pararealizarlacomprobación,elconector

Documento similar