140 likes | 292 Views
Experiencia de un líder de desarrollo J2EE. Ing. José Luis Bugarin CSM- Certified Scrum Master Iluminatic SAC. Agenda. Introducción Especialidades o rutas a seguir Arquitectura de Software Desarrollo de Proyectos J2EE Fortalezas Debilidades Alternativas de especialización
E N D
Experiencia de un líder de desarrollo J2EE Ing. José Luis Bugarin CSM-CertifiedScrumMaster Iluminatic SAC
Agenda • Introducción • Especialidades o rutas a seguir • Arquitectura de Software • Desarrollo de Proyectos J2EE • Fortalezas • Debilidades • Alternativas de especialización • Requisitos para la Arquitectura de Software
INTRODUCCION • Donde se debe aplicar Arquitectura • Para aplicar arquitectura, se deben considerar los siguientes puntos: • Tamaño de la solución, • Complejidad, • Rendimiento (es la velocidad en la que una única petición o solicitud puede ser ejecutada), • Escalabilidad (describe la capacidad de una solicitud o petición para ser ejecutadas rápidamente en virtud de un aumento de la carga), • Integracion, • Disponibilidad, • Multiplataforma, • Seguridad (https, firmasdigitales, encriptacion).
Especialidades o Rutas a Seguir • Empresarial • Infraestructura • Datos • Seguridad • Técnico (Arquitectura de software) • Arquitecto de Soluciones (SuperAnalista) • Según el tamaño de la empresaestos roles pueden ser desempeñadosporuna o varias personas. • La definición de estos roles suele ser confusa o confundidapor la mayoria de gerentes de proyecto, gerentesgenerales y otrostipos de gerenciaque no tengan la vision de tecnologia.
Arquitectura de Software • Arquitecturas de Referencia • Java Enterprise • Tamaño mediano – grande – con enfasis en integración de multiples plataformas y distintas tecnologias. • .NET • Tamaño pequeño – mediano – donde la plataforma y los proveedores de datos, y servicios estan bajo control. • Open Source (nuevo jugador) • Middle size (php - phyton) • Legacy (Mainframe – aún sigue vivo !) • Z-series – nucleo de reglas de negocio de las principales industrias - Seguros, telecomunicaciones, banca, finanzas.
Desarrollo de Proyectos J2EE • Estándares : POO, UML, Patrones de Diseño, Casos, RUP, XP, Agile (Scrum). • Equipos de desarrollomultidisciplinario, multilingue, y con localizacionesgeograficasdiversas.
Fortalezas como profesionales en sistemas • Recursividad: recursos limitados, entornos limitados, equipos limitados -> Creatividad • Liderazgo • Formacion y Vision Holistica (asumiendo especializacion previa - totalidad dinámica integrada) • Adaptabilidad • Comunicacion • Dependiendo de Formación …
Debilidades de los profesionales en sistemas • Estándares – Formalidad de Procesos • Contacto con Proyectos Reales - < academia > empresa. • Areas de Especializacion • Ausencia de Contacto Multicultural • No se valora los perfiles técnicos - queremos ser gerentes sin terminar la carrera.
ALTERNATIVAS DE ESPECIALIZACION • Academicas • Estudios de Postgrado tradicionales • Industriales • Certificaciones en habilidades especificas • Liderazgo - Coordinacion
Requisitos para llegar a la arquitectura de software • Experiencia • Preparacionacademica • Certificaciones • Habilidades de Liderazgo y Comunicacion: técnicas y de negocios • Vision Holistica • Innovación • Especializarse – dominar un área de conocimiento
Conocimientos Específicos Tecnicos • Servidores Web (apache – ibm http server) • Servidores de Aplicaciones JAVA J2EE (Tomcat, Apache Geronimo, WAS, OAS, GlassFish, etc) • Servidores de Bases de Datos (Oracle, DB2, SQL SERVER, MYSQL, etc.) • Arquitecturas de Redes • Sistemas Operativos (Windows, Linux, Unix, AIX) • Envios de email (smtp) • JMS – MQ (MessageQueue) • Arquitectura Orientada a Servicios (SOA) • Servicios Web (Web Services) • IDES de Desarrollo (eclipse, netbeans, jdeveloper,etc) • Frameworks (Struts, JSF, Hibernate, Ibatis,Spring,etc) • Sistemas de Trazas (Log de aplicaciones) • JSP, CLASES, CODIGO JAVA, JSTL
Conocimientos Técnicos Específicos • Para la capa de presentación se puede tener: ZK, GWT (google web toolkit). • Integración de AdobeFlex con Java • Desarrollo orientado al test • Junit para las pruebas de métodos escritos en java
Conocimientos especificos funcionales • Casos de Uso (Caso de uso del sistema y casos de uso del negocio) • Historias de Usuario • Diagramas de Actividad • Diagramas de Clase • Diagramas de Secuencia • Diagramas de Componentes • Priorización de Casos de Uso • Diferenciar Procesos de Negocio con Procesos de Sistemas
CONTACTO • jbugarin@iluminatic.info • http://consultorjava.com