Sunteți pe pagina 1din 10

Apndice A

Elementos de Programacin Java Avanzada


Objetivos
Unavezfinalizadoesteapndice,ustedestarencondicionesde: Comprenderlasarquitecturasdedoscapasydetrescapasutilizadasen lacomputacindistribuida. ComprenderelroldellenguajedeprogramacinJavacomounfront endparaaplicacionesdebasesdedatos. UtilizarlaAPIJDBC. Comprenderlasmetodologasde intercambio dedatos usando object brokers. ExplicarelModelodeComponentesJavaBeans. Describiryusarlasherramientasjavadocyjar.

Apndice A-1
Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision F

Introduccin a las Arquitecturas de Dos Capas y Tres Capas

Introduccin a las Arquitecturas de Dos Capas y Tres Capas


LacomputacinClienteServerinvolucradosomscomputadoresque compartentareasrelacionadasaunanicaaplicacin.Idealmente,cada computadorrealizalalgicaapropiadaparasudiseoysufuncin definida. Laformamsusadaparaunaimplementacinclienteservidoresun clienteservidorendoscapas.Estoimplicaunaaplicacinclientefront endquesecomunicaconunmotordebasesdedatosbackendque ejecutaenuncomputadordiferente. LosprogramasclienteenvansentenciasSQL(structuredquerylanguage) alservidordebasesdedatos.Elservidordevuelveelresultadoapropiado yelclienteesresponsableporelmanejodelosdatos. Elmodeloclienteservidordedoscapasbsicoseusaparaaplicaciones quepuedenejecutarconmuchasbasesdedatosampliamenteutilizadas, incluyendoORACLE,SybaseeInformix. Enelmodeloclienteservidordedoscapassetieneprdidade performance,debidoaqueelsoftwaredelclientetiendeasergrandey complejodadoquelamayoradelalgicaestmanejadaenl.Lalgica enelladodelservidorestlimitadaalasoperacionesdebasesdedatos. Sedicequeelclienteesunclientefino.Losclientesfinostiendena producirtrficoderedparaaccederalabasededatosremotas.Esto funcionabienparatopologasderedbasadasenLAN(redesdereas locales)eintranets,peroproduceunaumentoentrminosdelos requerimientosdediscoymemoriaenelcliente.Adems,notodoslos servidoresdebasesdedatosbackendsonigualesentrminosdelalgica deservidorofrecidaytodosellostienensuspropiosconjuntosdeAPIque losprogramadoresdebenusarparaoptimizaryescalarencuantoa performance.Elmodeloclienteservidorentrescapas,quesedescribea continuacin,tieneencuentalaescalabilidad,performanceydivisinde lalgicademaneramseficiente.

Apndice A-2

El Lenguaje de Programacin Java


Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision F

La Arquitectura en Tres Capas

La Arquitectura en Tres Capas


Trescapaseseltipomsavanzadodearquitecturaclienteservidor.Un clienteservidorentrescapasrequiereunacurvainicialdedesarrolloms pronunciada,especialmentecuandosedebesoportarunagrancantidad deplataformasdiferentesydeentornosdered.Lacompensacinquese obtieneestdadaporunareduccineneltrficodelared,excelente performanceaniveldeInterneteintranetymscontrolsobrela expansinycrecimientodelossistemas.

La Definicin de Cliente- Servidor en Tres Capas


LaFiguraA1muestraundiagramaconunaarquitecturagenricadetres capas.

Figura A-1

ArquitecturaGenricadeTresCapas

Lostrescomponentesocapasdeunentornoclienteservidordetrescapas son:presentacin,lgicadenegociosofuncionalidadydatos.Estnseparadas deformatalqueelsoftwareparacadaunadeellaspuedeser reemplazadoporunaimplementacindiferentesinafectarlasotras.Por ejemplo,siustedquisierareemplazarunapantallaorientadaacaracteres conunainterfazgrfica(capadepresentacin),deberaescribirlainterfaz grficausandounaAPIointerfazparaaccederalasmismas funcionalidadesdelosprogramasqueutilizanlaspantallasorientadasa caracteres.Lalgicadenegociosofrecefuncionalidadentrminosde definicindetodaslasreglasdenegocioatravsdelascualeslosdatos puedensermanejados.Loscambiosalaspolticasdelnegociopueden afectarestacapasintenerimpactosobrelabasededatos.Laterceracapa, ocapadedatos,incluyelossistemasexistentes,lasaplicacionesylos datosquehansidoencapsuladosparaobtenerventajasdeesta arquitecturaconelmenoresfuerzodeprogramacin.

Elementos de Programacin Java Avanzada


Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision F

Apndice A-3

Un Front-End de Base de Datos

Un Front-End de Base de Datos


EllenguajedeprogramacinJavaofreceunaampliagamadebeneficios paralosingenierosdesoftwarequecreanaplicacionesfrontendpara sistemasorientadosabasesdedatos.ConsucaractersticaEscribiruna vez,ejecutarencualquierlugar,ellenguajedeprogramacinJava ofreceventajasinmediatasentrminosdesudistribucinsobreunamplio rangodesistemasoperativosydehardware.Losprogramadoresno tienenqueescribircdigoespecficoparaunaplataformapara aplicacionesfrontend,aunenambientesmultiplataforma.Conel conjuntoenriquecidodelatecnologaJavadesoportedeclasesde desarrollofrontend,sepuedeinteraccionarconbasesdedatosatravsde laAPIJDBC.LaAPIJDBCofreceunaconectividadalasbasesdedatos backendquepuedenserconsultadasconresultadosqueestnsiendo manejadosporelfrontend. Enunmodelodedoscapas,labasededatosresidesobreunservidorde basesdedatos.Elclienteejecutaunaaplicacinfrontendqueabreun socketparacomunicarsesobrelared.Elsocketofreceunarutade comunicacinentrelaaplicacinclienteyelservidorbackend. Enlasiguientefigura,losprogramasclienteenvanconsultasSQLal servidordebasededatos.Elservidordevuelvelosresultadosalcliente,el quedaformatoalosresultadosparasupresentacin.Estaarquitecturase muestraenlaFiguraA2.

Figura A-2

ArquitecturaCentradaenlaBasedeDatos.

Frecuentemente,losmecanismosutilizadosparamanejardatosson embebidosenprocedimientosalmacenados(storedprocedures).Los disparadores(triggers)automticamenteejecutanlosprocedimientos almacenadoscuandoocurrenciertascondicionesduranteeltranscursodel manejodelabasededatos.Laprimerafalladeestemodeloconsisteen quetodaslasreglasdenegocioestnimplementadasenlaaplicacin cliente,ocasionandograndestiemposdeejecucindelladodelclientee incrementandolareescrituradelcdigodelcliente.

Apndice A-4

El Lenguaje de Programacin Java


Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision F

Un Front-End de Base de Datos Enunmodelodetrescapas,lalgicadepresentacinydecontrolest embebidaenlacapacliente(frontend).Estesecomunicaconunservidor intermedioqueofreceunacapadeabstraccinparalasaplicacionesback end.Estacapaintermediagestionalasreglasdelnegocioquemanejanlos datosmediantelascondicionesquegobiernanalasaplicaciones.Tambin puedeaceptarconexionesdesdevariosclientesaunoomsservidoresde basesdedatossobreunavariedaddeprotocolosdecomunicacin.La capaintermediaofreceunainterfazindependientedelabasededatos paralasaplicacionesycreaunfrontendrobusto.

Figura A-3

Arquitecturacentradaenbasededatos.

.LaFiguraA3muestraestaarquitectura.

Elementos de Programacin Java Avanzada


Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision F

Apndice A-5

Introduccin a la API JDBC

Introduccin a la API JDBC


Lahabilidadparacrearaplicacionesrobustaseindependientesdela plataforma,ascomoappletsbasadosenweb,llevalosdesarrolladoresa crearsolucionesdeconectividadfrontend.LatecnologaJavaSoft trabajconvendedoresdebasesdedatosydeherramientasbasesde datosparacrearunmecanismoindependientedelsistemadegestinde basesdedatos(DBMS)quepudierapermitiralosdesarrolladoresescribir aplicacionesdelladodelclientequefuncionarancontodaslasbasesde datos.EsteesfuerzodiocomoresultadolaJavaDatabaseConnectivity ApplicationProgrammingInterface(JDBCAPI).

JDBC, un Panorama General


JDBCofreceunainterfazestndarparaaccederalasbasesdedatos relacionales.ModeladoconposterioridadalaespecificacinODBC(open databaseconnectivity),elpaqueteJDBCcontieneunconjuntodeclasesy mtodosparatratarconsentenciasSQL,actualizartablasyrealizar llamadasaprocedimientosalmacenados. LaFiguraA4muestraunaaplicacinfrontenddellenguajede programacinJavausandolaAPIJDBCparainteraccionarconelJDBC DriverManager.ElJDBCDriverManagerusalaAPIJDBCparacargarlos driversJDBCapropiados.LosdriversJDBC,queestndisponiblespara variosmanejadoresdebasesdedatos,secomunicanconelDBMS subyacente.

Figura A-4

CapasenunaAplicacinJDBC

Apndice A-6

El Lenguaje de Programacin Java


Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision F

Introduccin a la API JDBC

Los Drivers JDBC


LasaplicacionesJavausanlaAPIJDBCparaconectarseconunabasede datosatravsdeundriverdebasededatos.Lamayoradelosmotores debasesdedatostienendiferentestiposdedriversJDBCasociadoscon ellos.JavaSoftdefinicuatrotiposdedriver.Paramsinformacin, dirigirsea: http://java.sun.com/products/jdbc/jdbc.drivers.html.

El Puente JDBC-ODBC
ElpuenteJDBCODBCesundriverJDBCquetraducellamadasJDBCa operacionesODBC.PermiteatodoslosDBMSquesoportanODBC interaccionarconlasaplicacionesJava.LaFiguraA5muestralascapasen unaaplicacinJDBCqueusaelpuenteODBC.

Figura A-5

UnaaplicacinJDBCUsandoelPuenteODBC.

LainterfazparaelpuenteJDBCODBCesprovistacomounconjuntode bibliotecasdinmicascompartidasescritasenC.ODBCofreceunconjunto debibliotecasdelladodelclienteyundriverespecficoparaelsistema operativodelcliente.EstasllamadasODBCsonrealizadascomollamadas CyelclientedebetenerunacopialocaldeldriverODBCydelas bibliotecasasociadasalcliente.Estoimplicaunarestriccinsobresuuso enlasaplicacionesbasadasenweb.

Elementos de Programacin Java Avanzada


Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision F

Apndice A-7

La Computacin Distribuida

La Computacin Distribuida
ExistentecnologasJavaparacrearentornoscomputacionales distribuidos.DostecnologasmuyutilizadassonRMI(remotemethod invocation)yCORBA(commonobjectrequestbrokerarchitecture).RMIes anlogoaRPC(remoteprocedurecall)yeselpreferidoporlos programadoresdellenguajedeprogramacinJava.CORBAofrece flexibilidadenambientesheterogneos.dedesarrollo. LacaractersticadeRMIpermiteaunprogramaqueestejecutandosobre uncomputadorclienterealizarllamadasamtodossobreunobjeto ubicadoenunamquinaservidorremota.Estodaalprogramadorla facilidaddedistribuirlacomputacinsobreunentornodered.Eldiseo orientadoaobjetosrequierequecadatareaseaejecutadaporelobjetoms apropiadoparaella.RMIllevaesteconceptounpasomsadelante permitiendoqueseaejecutadoenlamquinamsapropiadaparalatarea. RMIdefineunconjuntodeinterfacesremotasquepuedenserusadaspara crearobjetosremotos.Unclientepuedeinvocarlosmtodosdeunobjeto remotoconlamismasintaxisqueutilizaparainvocarlosmtodossobre unobjetolocal.LaAPIRMIofrececlasesquemanejantodaslas operacionesdecomunicacinsubyacenteylasreferenciasalos parmetrosrequeridosparaaccederalosmtodosremotos. Comoentodaslasarquitecturasdecomputacindistribuida,unprocesoo servidorobjeto(demonio)notificaalmundoregistrndosecomoun serviciodenombressobreunamquinalocal(nodo).Enestecaso,un demoniodeserviciodenombres,denominadoRMIRegistry(registro RMI),ejecutasobreunpuertoRMIquedebeserescuchadopordefecto. DichopuertoIPes1099enesehost.ElregistroRMIcontieneunatabla internadereferenciasaobjetosremotos.Porcadaobjetoremoto,latabla contieneunnombrederegistroyunareferenciaaeseobjeto.Sepueden almacenarmltiplesinstanciasparaelmismoobjetoinstancindoloy asignndolovariasvecesalregistro,usandoparaellonombresdiferentes.

Apndice A-8

El Lenguaje de Programacin Java


Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision F

RMI

RMI
CuandounclienteRMIasignaunobjetoremotoatravsdelregistro, recibeunareferencialocalalobjetoinstanciadoremotamenteatravsde suinterfazysecomunicaconelobjetoatravsdeestareferencia.Pueden existirreferenciaslocalesalmismoobjetoremotoenmltiplesclientes. Cualquiervariableomtodocontenidoenunobjetoremotoest compartida.ElappletcomienzaimportandoelpaqueteRMIapropiadoy creaunareferenciaalobjetoremoto.Luegodequeelappletestableceel vnculo,puedellamaralosmtodosdelobjetoremotocomosiestuvieran disponiblesenformalocalparaelapplet.

La Arquitectura RMI
LaarquitecturaRMIofrecetrescapas:CapadeTransporte,Capade ReferenciayCapadeStubs/Skeleton.LaFiguraA6muestraestascapas

Figura A-6

CapasdeunaArquitecturaRMI

LacapadeTransportecreaymantienelasconexionesfsicasentreel clienteyelservidor.ManejalosflujosdedatospasadosatravsdeRRLs (Remote/Referencelayers)sobreelladodelclienteydelservidor.

Elementos de Programacin Java Avanzada


Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision F

Apndice A-9

RMI LacapaRemoteReferenceofreceunprotocolodereferencia independienteparaestablecerunaredvirtualentreelclienteyelservidor. ImplantainterfacesalacapadeTransportemsbajayalacapasuperior deStub/Skeleton. UnStubesunproxydelladodelclientequerepresentaalobjetoremoto. ElclienteinteraccionaconelStubatravsdesusinterfaces.ElStubacta comounobjetolocalenelcliente.ElSkeletonsobreelladodelservidor actacomounainterfazentreelRRLyelobjetoimplementadosobreel ladodelservidor.

Una Aplicacin RMI


Estaseccinpresentaunaguaparacrear,compilaryejecutaruna aplicacinRMI. Lossiguientespasosilustranelproceso: 1. 2. 3. 4. 5. 6. 7. Definalasinterfacesparalasclasesremotas. Creeycompletelasclasesdeimplementacinparalasclases remotas. Creelasclasesstubyskeletonusandoelcomandormic. Creeycompilelaaplicacinservidor. InicieelRMIRegistryylaaplicacinservidor. Creecompileunprogramaclienteparaaccederalosobjetos remotos. Pruebealcliente.

Apndice A-10

El Lenguaje de Programacin Java


Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Sun Services, Revision F

S-ar putea să vă placă și