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