desarrollos de proyectos j2eejtech.ua.es/j2ee/2003-2004/modulos/cr/desarrollo.pdf · Índice...

Post on 31-Jul-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Desarrollos de proyectos J2EE

Aitor Medrano / Analista – Arquitecto J2EEConferencias Técnicas – Universidad Alicante

04 de Junio de 2004

Í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

¿ De donde vienen los proyectos ?

Necesidades generadas por los clientes.

Usuarios internosMercadoEstrategiaEtc.

ConsultoríaNegocioTecnológicaProcesos

Gestión de Proyectos - I

PliegoDesarrollo internoASPOutsourcingHostingBPO

3

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

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

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

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

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

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

Prototipos NavegaciónIngeniería del SW

10

Diseño GráficoIngeniería del SW

11

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

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

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

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

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

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

Lógica de Presentación I

Model – View – Controller (MVC)

Ingeniería del SW

18

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

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

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

Lógica de Negocio I

Necesidad de Escalabilidad y Transaccionalidad Solución:

Stateless Session Bean

Ingeniería del SW

22

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

Lógica de Negocio III

Patrones J2EEBusiness DelegateSession FaçadeService Locator

RolesDesarrollador JavaArquitecto J2EE

Pruebas: JUnit, Cactus

Ingeniería del SW

24

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

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

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

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

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

Diagrama de ComponentesIngeniería del SW

30

Diagrama de SecuenciaIngeniería del SW

31

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

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

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

Preguntas...?

FIN

top related