Escolar Documentos
Profissional Documentos
Cultura Documentos
PorJosMiguelLoor
nDeveloperCa.Ltda. Quito,Ecuador
MiembrodelParqueTecnolgicodeSoftwaredeQuito| HernndezdeGirnOe4175yVascodeContreras|+593(2)3319027/3319531|QuitoEcuador
ndicedeContenidos
1.QuesJSF?....................................................................................................................3 2.HaciadndeestdirigidoJSF?.......................................................................................3 3.ComponentesdeJSF........................................................................................................4 3.1ManagedBean..............................................................................................................4 3.2BackingBean................................................................................................................4 4.NavigationRules................................................................................................................5 5.RenderKits........................................................................................................................5 EjemplodeunaaplicacinutilizandocomponentesJSF.....................................................6 5.1EISTier.........................................................................................................................6 5.2IntegrationTier..............................................................................................................6 BusinessLogicTier.............................................................................................................7 PresentationTier.................................................................................................................7
MiembrodelParqueTecnolgicodeSoftwaredeQuito| HernndezdeGirnOe4175yVascodeContreras|+593(2)3319027/3319531|QuitoEcuador
1.QuesJSF? JavaServerFacesesunframeworkoambientedetrabajo,destinadoafacilitarlaconstrucciny desarrollodeinterfacesparaaplicacionesbasadasenentornosWeb. JSFtienelafuncindeproveerungrupomuyextensodeherramientaspredesarrolladaspara facilitar lacreacindeinterfaces;herramientas tales como: botones, cajas detexto,tablas de datos, etc. Similar a los objetos empleados para la generacin de aplicaciones de escritorio (aplicacionesSwingporejemplo) Uno de los puntos fuertes hacia los cuales se dirige la arquitectura JSF es la generacin de interfaces que puedan ser consumidas por diferentes tipos de dispositivos clientes. De esta manera,lamismainterfacepuedeversedesdeunaPCdeescritorio,ounaTablePCounPDA, sintenerquecrearnuevasinterfacesnidesarrollar diferentesprocesosparacadaunodelos ambientesantesmencionados. OtradelasventajasparalosambientesdedesarrolloquepresentaJSFesquemuchosdelos IDE'sactualesutilizadosparaeldesarrollo,incorporanmuchosdeloscontrolesutilizadosporel estndar,demaneraqueelprocesodelageneracindeunainterfazdeaplicacin,puedeser llevadoacaboutilizandoambientesvisuales,sintenerqueescribirtodoelcdigoqueserequiere paragenerarloscontrolesnecesarios.
2.HaciadndeestdirigidoJSF? EnunprincipioJSFestabadirigidofundamentalmenteaproveerun estndardecontrolespara aplicaciones.Estoes,ungrupodeherramientaspredefinidas concomportamientosembebidos quefuerancapacesdemanipular datosimplcitamenteexpresadosensuimplementacin. Por ejemplo,unacajadetextoquetuvieralacapacidaddeevaluarsucontenidoantesdequeeste participaraenningnotroesquemadecomportamiento,ounbotnquetuvieraimplcitocierto comportamientoensudefinicin. Lastareasdelmanejodeprocesos,comunicacindecomponentesoaccesoaorgenesdedatos se manejaba dentro de otros frameworks o ambientes de trabajo, como podan ser Struts o WebWorks.DeestamaneraJSFsoloseencargabadeenmascararlaltimaporcindelmanejo de las entradas y salidas de la capa Request/Response de la comunicacin HTTP de las aplicacionesbasadasenambientesWeb. Con el paso del tiempo, JSF ha ido proveyendo de soluciones para cada una de las partes involucradasenelproceso,comoporejemplolacapacidaddeestablecercomunicacionescon orgenesdedatosqueluegopuedensermanipuladosdesdelasinterfacesdesarrolladasconlos componentesdelaaplicacin.
MiembrodelParqueTecnolgicodeSoftwaredeQuito| HernndezdeGirnOe4175yVascodeContreras|+593(2)3319027/3319531|QuitoEcuador
EstonosignificaqueJSFvayaadesplazaraotrosframeworks.Dehecho,elresponsabledel desarrollodelframeworkStrutshaparticipadoactivamenteenelproyectoJSFdesdesusinicios. Struts y JSF pueden combinarse para dotar a la aplicacin de una extensa plataforma de desarrolloendondetodaslascapasdelaimplementacintienensuespaciodefinido. ComointegrarJSFconotrosframeworks dirigidos paraaplicaciones basadas enWeb esuna consideracinpropiadecadacaso;dependermuchodelanlisisdelaaplicacin,desutamao ycomplejidadydelasnecesidadesdeprocesamientoquepresentecadauna.Podradecirseque para aplicaciones pequeas con bajo nivel de complejidad puede usarse JSF por si solo y mientras ms complejidad presente la aplicacin, se puede ir aadiendo la capa extra de capacidadqueproveeelframeworkdeStruts(uotroframeworksimilar,actualmenteseintegra conSpring).
3.ComponentesdeJSF JSFintroduce2nuevostrminosalmundodeldesarrollodeaplicacionesparaJAVA:
ManagedBean BackingBean
MiembrodelParqueTecnolgicodeSoftwaredeQuito| HernndezdeGirnOe4175yVascodeContreras|+593(2)3319027/3319531|QuitoEcuador
4.NavigationRules CuandolosManagedBeansexpresadosenlaaplicacinserefierenapginasJSP,sepueden expresarNavigationRulesquedefinenlosflujosdeprocesoentreellos. EstosNavigation Rulessonexpresiones utilizadas enlos ManagedBeans querepresentanal flujodenavegacinentreunapginayotra. Bsicamente,losnavigationRulessonexpresionesliterales(String)quedefinenunasalidadesde unapginahastaotra.EstasexpresionesseescribenenelarchivodedefinicindeJSF(faces config.xml). Este es el mismo archivo donde se definen todos los Managed Beans y dems componentesdelaaplicacin.
5.RenderKits La tecnologa JSF no est directamente orientada al desarrollo de aplicaciones dirigidas a ambienteWeb.Muyporelcontrario,laimplementacindeManagedBeanscomopginasJSPes solounadesuscapacidades. En verdad, los Managed Beans pueden estar expresados como Beans que implementan componentespropiosdeJSF.Deestamaneraloscomponentespuedenluegoserconvertidosen unasalidadeinterfacemediantediferentestecnologas. En este punto es en donde entran en escena los Render Kits. Estos componentes estn encargadosdegenerarunasalidacomprensibleparaelescenariohaciaelcualestnorientados. Porejemplo:XML,WML,SVG,entreotros.
MiembrodelParqueTecnolgicodeSoftwaredeQuito| HernndezdeGirnOe4175yVascodeContreras|+593(2)3319027/3319531|QuitoEcuador
EjemplodeunaaplicacinutilizandocomponentesJSF
En el grfico expuesto podemos apreciar como integramos JSF dentro del esquema de una aplicacinorientadaaambienteWeb,manteniendotodaslascapastpicasdeunmodeloMVC.
MiembrodelParqueTecnolgicodeSoftwaredeQuito| HernndezdeGirnOe4175yVascodeContreras|+593(2)3319027/3319531|QuitoEcuador
accesoadatosdelrepositorioseleccionado,demaneratransparente.Paraelcasodelejemplo mostradoseutilizaHibernatecomomotordepersistencia,aunquepodranutilizarseotrastcnicas comoaccesodirectoporJDBCoEJB3EntityBeansoTopLinkmappingsoADFEntityObjectso cualquierotraestrategiasimilar. BusinessLogicTier LacapadeLgicadenegociosrepresentalaabstraccinhechaentrelacapadeaccesoadatosy lasinterfaces.Enestacapaalmacenamostodaslasoperacionespertinentesalasactividades propiasdelaaplicacinqueestemosdesarrollando.EnelejemploseestutilizandoSpring Framework,perosepuedeutilizarEJB3SessionBeans,ADFApplicationModulesouna combinacindecualquieradeellos. PresentationTier EnestacapaesendondeencontramoslaactividadpropiadeJSF.Podemosapreciarclaramente quelosBackingBeansdeestacapanoestnejecutandoningunaactividadpropiadelnegocio. EsasactividadeslasrealizalacapadeBusinessLogic.Loqueestrealizandosonsolamentelas actividadespropiasdemanejodelainterface. Sinembargo,estaarquitecturapodraextenderseoreducirsedependiendodelanecesidad presentadaporlaaplicacin.Porejemplo:
MiembrodelParqueTecnolgicodeSoftwaredeQuito| HernndezdeGirnOe4175yVascodeContreras|+593(2)3319027/3319531|QuitoEcuador