Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice...
Transcript of Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice...
![Page 1: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/1.jpg)
Desarrollos de proyectos J2EE
Aitor Medrano / Analista – Arquitecto J2EEConferencias Técnicas – Universidad Alicante
04 de Junio de 2004
![Page 2: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/2.jpg)
Índice
PresentaciónMódulos
Gestión de ProyectosCiclo de VidaMercado Laboral
ObjetivosConocer el Ciclo de Vida completo de un proyecto J2EE, junto conlas metodologías utilizadas actualmenteComprender el modo de enlazar las tecnologías J2EE
Introducción
2
![Page 3: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/3.jpg)
¿ De donde vienen los proyectos ?
Necesidades generadas por los clientes.
Usuarios internosMercadoEstrategiaEtc.
ConsultoríaNegocioTecnológicaProcesos
Gestión de Proyectos - I
PliegoDesarrollo internoASPOutsourcingHostingBPO
3
![Page 4: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/4.jpg)
Colaboración interdisciplinarGestión de Proyectos - II
UeB
consultoría tecnológica
integración con sistemas legados
construcción e implantación de soluciones
diseño técnico de frontal
diseño gráfico
contenidos y usabilidad (hci)
4
![Page 5: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/5.jpg)
Metodologías
Tendencia a la pérdida de la formalidad y rigor.Búsqueda de equilibrio entre una documentación extensa respecto a una documentación útil.Rational Unified ProcessExtreme Programming
Pruebas UnitariasMúltiples ResponsabilidadesCompartir Entornos de DesarrolloIntegración de código Continua
Ingeniería del SW
Metodología + Gestión = Éxito5
![Page 6: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/6.jpg)
Ciclo de Vida
Existe una tendencia a minimizar los tiempos de análisisEl cliente quiere ver, tocar, el producto cuanto antes.Ciclo de Vida en Cascada con vuelta atrás basado en prototipos.
Ingeniería del SW
Mod. Negocio Requisitos Análisis & Diseño
Desarrollo Pruebas Despliegue
Mod. Negocio Requisitos Análisis & Diseño
Desarrollo Pruebas Despliegue
Mod. Negocio Requisitos Análisis & Diseño
Desarrollo Pruebas Despliegue
ITERACIÓN 1
ITERACIÓN 2
ITERACIÓN n 6
![Page 7: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/7.jpg)
Toma de Requisitos
<Utopía\>Requisitos funcionales, explotación, sistemas, prestaciones, accesibilidad, etc.Normalmente, el cliente tiene conocimientos claros de QUÉ es lo que quiere.Nosotros decidimos el COMO, no el QUÉ.Aspectos muy importantes:
Delimitar el AlcanceFijar Objetivos
Ingeniería del SW
REQUISITOS DEL CLIENTE
NUESTRA APORTACIÓN
NEGOCIACIÓNREQUISITOS
DEL PROYECTO
7
![Page 8: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/8.jpg)
Análisis Funcional
QUÉ debe realizar la aplicación, localizando los actores y los casos de uso.Uso extenso de UML
Herramientas CASE:Rational XDEBorland TogetherSoft
Se traduce en Diagramas de Casos de Uso y Diagrama de Actividades
Ingeniería del SW
8
![Page 9: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/9.jpg)
Análisis Técnico
Aspecto técnicos que deben fijarse en la fase del Análisis.
Sistemas ExternosSeguridadMulti-idiomaEscalabilidad horizontal y verticalPrestaciones
Definir la Arquitectura Física y la TecnologíaAplicación Web desarrollada en J2EEUn máquina para el Servidor Web y Servidor de Aplicaciones y otra para la Base de Datos
Ingeniería del SW
9
![Page 10: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/10.jpg)
Prototipos NavegaciónIngeniería del SW
10
![Page 11: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/11.jpg)
Diseño GráficoIngeniería del SW
11
![Page 12: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/12.jpg)
Diseño I
COMO debe de implementarse el sistema:Eficiente
En recursos para su explotación.En recursos para su desarrollo.
EconómicaEn infraestructura.En recursos.
En plazosEn tiempo de desarrollo.
Sin riesgosSoluciones maduras y probadas.
Ingeniería del SW
12
![Page 13: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/13.jpg)
Diseño I
Se decide la arquitectura sobre la que se va a montar la aplicación.Basada en Patrones J2EE, aseguramos la calidad de la arquitectura.Arquitectura Orientada a los Servicios. (SOA)
Se localizan los casos de uso.Cada servicio se expone como una interfaz Encapsulamos/Abstraemos su implementación.
Ingeniería del SW
13
![Page 14: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/14.jpg)
Diseño II
Selección del producto sobre el cual va a residir la aplicación.
IBM WebSphere (vs Bea Weblogic)Alternativas: Tomcat, JBoss, JRun, Resin,
Normalmente el Cliente ya tiene licencias sobre el producto.Elegir la versión del producto junto con su defensa.
WebSphere Application Server 5.0 J2EE 1.3EJB 2.0 Interfaces LocalesServlet 2.3 Filtros
Ingeniería del SW
14
![Page 15: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/15.jpg)
Diseño II
Desarrollo Dirigido por las Pruebas (Test Driven Development)
Primero se implementa el cuerpo del método : interfaz e implementación vacíaSe escribe la prueba : definimos las precondiciones y las postcondicionesCiclo en Espiral de Prueba y Desarrollo
Ingeniería del SW
15
![Page 16: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/16.jpg)
Diseño III – Arquitectura Lógica Fisica
Arquitectura de 3- 4 capas
Lógica de PresentaciónLógica de NegocioLógica de Datos
Base de DatosMensajería
Ingeniería del SW
16
![Page 17: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/17.jpg)
Diseño IV - Objetos de Negocio
Definen el modelo de la aplicaciónSon los objetos que viajan entre las capas ligeros y serializables.Patrón: Value ObjectDividir el Objeto en 2
Base: Atributos mínimosDetalle : El resto
Ingeniería del SW
17
![Page 18: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/18.jpg)
Lógica de Presentación I
Model – View – Controller (MVC)
Ingeniería del SW
18
![Page 19: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/19.jpg)
Lógica de Presentación II
Seleccionar un frameworkStrutsAlternativas: Spring (+ complejo), Maverick
1 Caso de Uso 1 ActionSeleccionar Versiones para una Modelo Determinado SelectVersionAction....
Definición de paqueteses.ua.renault.pfnet.actiones.ua.renault.pfnet.forms....
Ingeniería del SW
19
![Page 20: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/20.jpg)
Lógica de Presentación III
Patrones J2EEFront ControllerCommandView Helper
RolesStruts Guru ( Experto en Struts )Desarrolladores Web ( Servlets + JSP)Programador Front (HTML + JavaScript)
Pruebas: JUnit, Cactus, StrutsTestCase
Ingeniería del SW
20
![Page 21: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/21.jpg)
Lógica de Negocio I
Grueso de la AplicaciónImplementación de las reglas de negocio
Definición de paqueteses.ua.renault.pfnet.manageres.ua.renault.pfnet.manager.clientes.ua.renault.pfnet.manager.client.ejb
Ingeniería del SW
21
![Page 22: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/22.jpg)
Lógica de Negocio I
Necesidad de Escalabilidad y Transaccionalidad Solución:
Stateless Session Bean
Ingeniería del SW
22
![Page 23: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/23.jpg)
Lógica de Negocio II
Al definir la lógica de negocio encapsulada con interfaces tenemos la posibilidad de exportar los métodos deseados a Web Services.Interconexión Presentación Negocio
ManagerFactoryPatrones Factory y Singleton
public IClientManager getClientManager() {return new ClientManager();
}
Ingeniería del SW
23
![Page 24: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/24.jpg)
Lógica de Negocio III
Patrones J2EEBusiness DelegateSession FaçadeService Locator
RolesDesarrollador JavaArquitecto J2EE
Pruebas: JUnit, Cactus
Ingeniería del SW
24
![Page 25: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/25.jpg)
Lógica de Datos I
Selección del modo de acceso a los datosRequerimientos: Acceso Optimo, 90% tablas de sólo lectura.Alternativas
JDBC “directo” / “hard coded”Framework JDBC
Jakarta Commons DbUtilsEntity BeansFramework ORM
HibernateTorqueCayenne
Ingeniería del SW
25
![Page 26: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/26.jpg)
Lógica de Datos II
Patrones J2EEJDBC For Reading
Las lecturas mediante JDBC “directo”Data Access ObjectSQLDictionaryServiceLocator
RolesJava DeveloperDBA (Perfil mixto)
Ingeniería del SW
26
![Page 27: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/27.jpg)
Lógica de Datos III
Añadir una capa de caché de Datos.OpenSymphony Cache (OSCache)
Flexibilidad Memoria/DiscoConfiguración algoritmo: LIFO, FIFO, ...Definición de GruposExpresiones CRON de caducidadPermite cachear contenido
HTML mediante taglibs• <cache:cache>texto cacheado</cache:cache>
Ingeniería del SW
27
![Page 28: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/28.jpg)
Lógica de Mensajeria
JMSDefinir la topología Punto a Punto vs Publish/SubscribeSolución : P2P
Dificultad: Mecanismo de construcción y parseo de tramas.Ningún producto, sólo suites con código propietario
Weblogic WorkshopWebSphere Business Integrator
Ingeniería del SW
28
![Page 29: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/29.jpg)
Lógica de Mensajeria II
Solución “hand-made”, genérica para futuras soluciones, basada en “reflection”.XML definen composición de:
Mensajes 1 ó + segmentosSegmentos 1 ó + subsegmentos
Subsegmento : mapping entre contenido de la trama y objeto de negocio
<subsegment class="TechnicalDetailSubsegment"><order>2</order><max>20</max><elements>
<element><name>segmentCode</name><size>2</size><order>1</order><type>int</type>
</element></elements>
</subsegment>
Ingeniería del SW
29
![Page 30: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/30.jpg)
Diagrama de ComponentesIngeniería del SW
30
![Page 31: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/31.jpg)
Diagrama de SecuenciaIngeniería del SW
31
![Page 32: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/32.jpg)
Situación actual
En España el desarrollo de productos no está tan difundido como en EEUU.Ofertas en las áreas:
ConsultoríaBody-ShoppingFactoryAdministración
Mundo laboralEmpresas Finales / Consultoras: Indra, Telefónica I+D, Cap & Gemini, Accenture, IBM, HP, EDS, IECISA, DMR ...Empresas de Servicios: Solkia, ICA, Intesys, EDR, Nextel Engineering, ...
Consejos Finales
32
![Page 33: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/33.jpg)
Carrera profesional
En España a diferencia de EEUU la carrera tecnológica no está lo suficientemente reconocida.
Consejos Finales
TEC
NO
LOG
ÍAG
ESTI
ÓN
33
![Page 34: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/34.jpg)
Reglas
Confianza y SinceridadHambre de ConocimientoCapacidad de comunicaciónAutoformación
Consejos Finales
34
Indexar documentaciónBuscar la mejor soluciónConocer el entorno de desarrolloNunca reinventar la rueda
![Page 35: Desarrollos de proyectos J2EEjtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice Presentación Módulos Gestión de Proyectos Ciclo de Vida Mercado Laboral Objetivos Conocer](https://reader034.fdocumento.com/reader034/viewer/2022052613/5f81fcf6ee127d231464e4b0/html5/thumbnails/35.jpg)
Preguntas...?
FIN