La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

FRAMEWORKS DE DESARROLLO/LENGUAJES DE PROGRAMACION

Presentaciones similares


Presentación del tema: "FRAMEWORKS DE DESARROLLO/LENGUAJES DE PROGRAMACION"— Transcripción de la presentación:

1 FRAMEWORKS DE DESARROLLO/LENGUAJES DE PROGRAMACION
AREA DE ARQUITECTURAS Dirección de Ingeniería, Soporte a Gestión de Aplicaciones y Centros de Competencia Marzo de 2016

2 Análisis interno de ATLAS
OBJETIVOS DEL PROYECTO : Definir los Frameworks / lenguajes de programación en la agencia para los próximos años Establecer los distintos caminos para la realización de una Renovación Tecnológica de los Sistemas de Información / Aplicaciones Definición de matriz de Frameworks / lenguajes de programación a utilizar en función de la tipología de los sistemas de información / Aplicaciones a desarrollar INICIO DEL PROYECTO: 22/02/2016 FIN DEL PROYECTO: 18/03/2016

3 Actividades realizadas
Asesoramiento externo por parte de; Fabricantes Consultores Proveedores Reuniones internas en la Agencia Información disponible en:

4 Análisis interno de ATLAS
OBJETIVOS DEL PROYECTO : Definir los Frameworks / lenguajes de programación en la agencia para los próximos años Establecer los distintos caminos para la realización de una Renovación Tecnológica de los Sistemas de Información / Aplicaciones Definición de matriz de Frameworks / lenguajes de programación a utilizar en función de la tipología de los sistemas de información / Aplicaciones a desarrollar

5 Tendencias Lenguajes / Frameworks en el mercado
Tanto fabricantes como proveedores coinciden en cuanto el uso y tendencias en los Lenguajes de Programación en el mercado. Java Javascript C / PHP Phyton / Ruby Java es el lenguaje más utilizado en la mayoria de las organizaciones para el desarrollo de aplicaciones empresariales. Javascript es el lenguaje emergente hoy en día aunque su grado de evolución es tal que son continuos los cambios de versión en los frameworks basados en este lenguaje. Existen una serie de lenguajes, de siempre, que se mantienen con el tiempo como pueden ser C y PHP. También proliferan otra serie de lenguajes aunque no son utilizados para la creación de aplicaciones empresariales, más bien como lenguajes de scripting, generadores de código .. FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

6 Tendencias Lenguajes / Frameworks en el mercado
ICM: Comunicación e Imagen Corporativa FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

7 Tendencias Lenguajes / Frameworks en el mercado
FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

8 Tendencias Lenguajes / Frameworks en el mercado
FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

9 Tendencia de mercado para la Capa de Presentación
PRESENTACION JAVA JAVASCRIPT SE VEN DOS TENDENCIAS PARA LA IMPLEMENTACION DE LA CAPA DE PRESENTACION: JAVA-JSF: LA TENDENCIA GENERALIZADA ES USAR PRIMEFACES JAVASCRIPT: LA TENDENCIA GENERALIZADA ES UTILIZAR ANGULARJS SIN EMBARGO ACTUALMENTE HAY UNA VERSION 2 QUE ES BETA Y QUE CAMBIA RADICALMENTE CON LA VERSION 1

10 Tendencia de mercado para la Capa de Negocio
JAVA JAVASCRIPT SE VEN DOS TENDENCIAS PARA LA IMPLEMENTACION DE LA CAPA DE NEGOCIO: JAVA: LA TENDENCIA GENERALIZADA ES USAR SPRING (Varios proveedores aconsejan el uso de SPRING BATCH) JAVASCRIPT: VA EN AUMENTO EL USO DE NODE.JS SIN EMBARGO ESTA TECNOLOGIA LIMITA EL DESARROLLO A PROGRAMADORES JAVASCRIPT MUY EXPERIMIENTADOS.

11 Tendencia de mercado para la Capa de Acceso a Datos
JAVA LA TENDENCIA GENERALIZADA ES USAR JPA Y LA IMPLEMENTACION DE HIBERNATE EN ALGUN CASO SE HA RECOMENDADO UTILIZAR SPRING DATA

12 Dos tendencias claras: JAVA Y JAVASCRIPT
EXISTEN DOS TENDENCIAS: APLICACION JAVA: JSF- SPRING- HIBERNATE APLICACIÓN JAVASCRIPT + SERVICIO REST JAVASCRIPT APLICACIONES EMPRESARIALES APLICACIONES ORIENTACIÓN CIUDADANO

13 SOLUCIÓN ORACLE: ORACLE ADF
FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

14 ORACLE ADF: Resumen opiniones de los Proveedores
Entorno de desarrollo visual Desarrollo basado en asistentes Stack completo con Oracle Fusion Middleware (SOA Suite, Oracle BPM, OSB, WebCenter, Oracle BI) Principales Ventajas Solución propietaria Alta curva de aprendizaje Escasa comunidad de desarrolladores Mantenimiento y evolución de aplicaciones costoso Alto consumo de recursos (Ram, Red, HD …) Coste de licencias Principales Inconvenientes FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

15 SOLUCION PROPIA DE INDRA: IDYNAMICS
COMPARTE LAS SIGUIENTES TECNOLOGIAS DEL FRAMEWORK ATLAS: JSF SPRING HIBERNATE LOG4J

16 SOLUCION PROPIA EVERIS: J-EVERIS
COMPARTE LAS SIGUIENTES TECNOLOGIAS DEL FRAMEWORK ATLAS: JSF SPRING HIBERNATE AXIS ECLIPSE MAVEN LOG4J FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

17 SOLUCION DE LA AGENCIA: ATLAS
TECNOLOGIAS DEL FRAMEWORK

18 SOLUCION DE LA AGENCIA: ATLAS
HERRAMIENTAS ENTORNO DE DESARROLLO ECLIPSE GESTION DE LIBRERIAS Y AUTOMATIZACION MAVEN GENERACION DE CODIGO JBOSS HIBERNATE TOOLS PRUEBAS: JUNIT, JMETER Y SOAPUI CALIDAD: COVER ARQUETIPOS APLICACIÓN WEB LIBRERÍA APLICACIÓN BATCH APLICACIÓN WEB DOCUMENTAL SERVICIO WEB SOAP SERVICIO WEB RESTFUL APLICACIÓN DESKTOP SERVICIOS BASICOS AUTENTICACION AUTORIZACION AUDITORIA DE LOPD COMPONENTES VISUALES SERVICIO DE CACHE SERVICIO DE TRAZAS INTEGRACIONES GESTION DOCUMENTAL INFORMES DE BUSINESS OBJECTS MEDICION DE AUDIENCIAS ENVIO DE SMS GIS: VISOR DE MAPAS ALMACENAMIENTO DE FICHEROS: FICA ADMIN. ELECTRONICA

19 ANALISTA GARTNER: Mark Driver
70% JAVA 20% .NET 10% OTROS OPENSOURCE (PHP, PHYTON, ETC) PRODUCTIVIDAD Y FLEXIBILIDAD SON CARACTERISTICAS QUE NO VAN DE LA MANO LAS TECNOLOGIAS DEL FRAMEWORK ATLAS SON UNA BUENA OPCION JAVA ES UNA SOLUCION COMPLEJA PERO POTENTISIMA ORACLE ADF: SOLUCION PROPIETARIA CON ALTA CURVA DE APRENDIZAJE RECOMIENDA FRAMEWORK SI O SI PARA AUMENTAR LA PRODUCTIVIDAD Herramientas sugeridas para el desarrollo rápido de aplicaciones:

20 EXPERIENCIA DE ATLAS POR PROVEEDORES: NEORIS
Documentación completa y actualizada Uso de Tecnologías estándar (JSF / SPRING / HIBERNATE) Curva de aprendizaje baja teniendo conocimientos de las tecnologías base Integración con servicios de Admon. Electrónica Desarrollo ágil: Gestión de Catálogos y Componentes preconstruidos. Grado de madurez apropiado Grado de estabilidad alto frente a otros frameworks del sector público Rendimiento adecuado (otros fw observados tienen graves deficiencias) Principales Ventajas No se utilizan últimas versiones de librerías. No se utilizan mecanismos de Integración continua Revisión de la gestión de transacciones Revisión de dependencias entre módulos y versionado Uso complejo de determinados componentes Principales Inconvenientes Sustituir Richfaces por Primefaces Utilizar Spring Batch, Spring WS Utilización de nuevas tecnologías tipo: Angular JS Utilización de servicios REST Utilización de sistemas de Integración continua Elementos de mejora FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

21 EXPERIENCIA DE ATLAS POR PROVEEDORES: INDRA
Desarrollo de aplicaciones Web con apariencia/funcionalidad a las aplicaciones típicas de escritorio+ Desarrollo estructurado de las aplicaciones en tres capas Una normativa muy completa que ayuda a la calidad de las aplicaciones. Componentes propios que ayudan a la integración con sus sistemas actuales Arquetipos que ayudan al inicio de los proyectos desde 0. Entorno de desarrollo preparado para framework ATLAS Generador de código a partir de entidades de base de datos para patrones CRUD. Se facilitan herramientas para revisión de la calidad de código (COVER) Principales Ventajas No se dispone de: - Carpeta Electrónica -Generación automática de informes –Tareas asíncronas (Batch) Framework orientado a proyectos pequeños Herramienta de generación automática de código no contempla casuística N+1 de Hibernate Incompatibilidad de aplicaciones con navegadores obsoletos Nuevas versiones de Atlas no tienen compatibilidad hacia atrás testada adecuadamente Complicado el uso de componentes reutilizables Normativa del uso de subversión para proyectos multi módulo Principales Inconvenientes Actualizar versiones de Richfaces, Spring e Hibernate Evolucionar y perfeccionar la herramienta de generación de código Implementar mecanismos de validación de entrada de datos y presentación de errores Creación de arquetipos para la generación de proyectos multi módulo Utilización de sistemas de Integración continua Implementar mecanismos de generación de aplicaciones Web Responsive Elementos de mejora FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

22 EXPERIENCIA DE ATLAS POR PROVEEDORES: EVERIS
EVERIS presenta una metodología para la evaluación de arquitecturas (ArqEval). Se realiza una evaluación del framework ATLAS a ALTO NIVEL tal y como nos indican Grado de cobertura global medio 42,2% DETECTAMOS QUE NO TIENEN LA INFORMACIÓN SUFICIENTE PARA REALIZAR UN ANÁLISIS REAL DE LA SITUACIÓN Se detectan necesidades en los components de la capa de Front-end/capa de servicios/Acceso a Datos Actualización de versions del framework, soporte multidispositivo, single sign on Mejora de los componentes de acceso a datos Implementación de arquitectura Batch y de Gestión de Trazas Mejoras en Arquitectura de Ejecución Cobertura baja tanto para las herramientas de desarrollo, como para el aseguramiento de la calidad y las pruebas Se proponen iniciativas para la gestión automática de código y mejoras en la gestión de versiones de las aplics en producción Mejoras en Arquitectura de Desarrollo Detectado elementos de mejora en los apartados de despliegue y configuración Se proponen Iniciativas para la automatización de los despliegues Mejoras en la Arquitectura de Operación FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

23 EXPERIENCIA DE ATLAS POR PROVEEDORES: AYESA
Buena experiencia en el uso del framework ATLAS Las tareas de desarrollo se realizan relativamente rápida La curva de aprendizaje es pequeña El framework transmite confianza por la estabilidad de los componentes utilizados Generación automática de CRUD Muchas funcionalidades out of the box Aisla al desarrollador de la complejidad de ciertas funcionalidades. Soporte experto a los desarrolladores. Abundante documentación con normas incluidas Simplificación en las tareas de mantenimiento pues las aplics están desarrolladas de forma similar Estilo unificado, haciendo que todas las soluciones que se desarrollen tengan la misma apariencia Verificación de la calidad de los desarrollos automatizada mediante herramienta de auditoría de código Principales Ventajas Excesiva burocracia para realizar actividades fuera de norma Limitación de las tecnologías a utilizar, puede provocar que no se utilice la más adecuada (librerías de código) Limitación del uso de otros frameworks que podrían acelerar el desarrollo en ciertos casos Complicado el uso de componentes reutilizables Principales Inconvenientes Evolucionar el framework sustituyendo o evolucionando tecnologías, por ejemplo, Primefaces, Vaadin Utilización de servidores de aplicaciones open source avanzados, tipo Wildfly Incorporar una suite de interoperabilidad Open Source, como puede ser WSO2 para la interconexión e interoperabilidad de sistemas Elementos de mejora FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

24 EXPERIENCIA DE ATLAS POR PROVEEDORES: ATOS
Tecnologías actuales y demandadas por otros clientes: JSF-Spring-Hibernate Entorno integrado de desarrollo con ayudas en el ciclo codificación-test-corrección. Gran facilidad de empaquetado y despliegue. Enfoque backward-compatibility para facilitar actualizaciones de framework en aplicativos Principales Ventajas Complejidad en el uso de determinados componentes internos. Principales Inconvenientes Dar la alternativa a frontends no acoplados (REST) para web y canales móviles. Securización por tokens Revisión de diseño gráfico en frontend JSF para adecuar a tendencias actuales (Responsive Design) Bus de servicios para integración WS. Soporte para cachés en memoria y sistemas GRID Elementos de mejora FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

25 Análisis interno en la Agencia de ATLAS
Falta de conocimiento interno Curva de aprendizaje Tiempo de desarrollo mayor en valoraciones (4 a 1) Bajo rendimiento por uso inadecuado de Hibernate Problemas de rendimiento de forma habitual Capacidad de inversión interna en framework frente producto de mercado Coste alto en la subida de versiones No dispone herramienta visual de desarrollo (drag and drop)-baja productividad Pantallas complejas obligan desnormalización modelo de datos Dudas en la seguridad No es la herramienta adecuada para todo tipo de desarrollo (desarrollos pequeños) Usabilidad de usuario Diseño de componentes limitado Falta de buenas practicas en Hibernate Tiempo y esfuerzo en incorporar nuevas integraciones en el framework Dependencia de navegadores Diferencia de infraestructura entre entornos Gestión de versiones con subversión Debilidades Adaptación a ICM Capacidad de amortización Alto recorrido Fiabilidad Estabilidad Portabilidad en infraestructuras Desarrollo Ágil (CRUD) Open source Amplia comunidad de desarrollo Multidispositivo Escalabilidad Modularidad en la separación capa Lenguaje Java Mantenibilidad Abundancia de recursos en el mercado Construido internamente Fácil integración tecnologías de ICM Estandarización en pruebas, funcionales, de rendimiento, monitorización Existencia de arquetipos Fortalezas

26 RESUMEN: Áreas de mejora
Uso de Hibernate Rendimiento Productividad Integración continua Conocimiento interno Capa de Presentación Valoración de Proyectos Desarrollo Ágil Ciclo de vida Software

27 PLAN DE ACCION Productividad
Mejorar la estabilidad de los equipos de desarrollo y mantenimiento (CMMA). Potenciar la inversión en el framework (equipo estable y especializado) Rendimiento Asegurar la creación de un plan de pruebas completo y la ejecución y control del mismo antes de la puesta en producción de las aplicaciones. Posibilidad de incorporar una herramienta para realizar el control y seguimiento de las pruebas. Infraestructuras en Cloud (PaaS, IaaS) Tecnologías de cache y DataGrid Uso de Hibernate Manual de buenas practicas de Hibernate (en estado de elaboración) Creación de aplicación ejemplo con catálogos y entidades de negocio que aplica las buenas prácticas del manual. Modificación de la herramienta de generación automática de código con indicaciones de ayuda para una mejor implementación del código.

28 PLAN DE ACCIÓN Integración continua Incorporar al ciclo de vida una herramienta de integración continua: Jenkins que permita automatizar la revisión de calidad, despliegue, pruebas, gestión de versiones. Conocimiento interno Plan de formación específico para el conocimiento del framework ATLAS impartido por personal de la Unidad de Arquitectura de Software. Capa de presentación Actualización del FrontEnd ATLAS incorporando la tecnología PrimeFaces en el framework. Estudio e incorporación de una solución Javascript completa del tipo AngularJS, Backbone, Bootstrap … común para los frameworks ATLAS y MOVA

29 Herramienta de valoración
PLAN DE ACCION Desarrollo Ágil Estudio de implantación de metodologías ágiles tipo SCRUM. DevOps para la producción de productos y servicios software de forma ágil. Infraestructuras en Cloud (PaaS, IaaS, SaaS). Herramienta de valoración Es necesario disponer de una herramienta de valoración. Imprescindible que los requisitos estén bien definidos, preferentemente disponer del diseño funcional. Ciclo de vida Revisar ciclo de vida completo para identificar problemas de productividad

30 LENGUAJE / FRAMEWORK DESARROLLO FUTURAS APLICACIONES
CONCLUSIÓN ACERCA DEL LENGUAJE / FRAMEWORK A UTILIZAR PARA LOS PRÓXIMOS AÑOS EN LA AGENCIA LENGUAJE JAVA TECNOLOGIAS OPEN SOURCE JSF/Javascript Spring Hibernate FRAMEWORK ATLAS

31 Análisis interno de ATLAS
OBJETIVOS DEL PROYECTO : Definir los Frameworks / lenguajes de programación en la agencia para los próximos años Establecer los distintos caminos para la realización de una Renovación Tecnológica de los Sistemas de Información / Aplicaciones Definición de matriz de Frameworks / lenguajes de programación a utilizar en función de la tipología de los sistemas de información / Aplicaciones a desarrollar

32 Que nos dicen los proveedores …
Todos los proveedores consultados coinciden en: Actualizar las versión obsoletas de Oracle Forms a última versión No construir Sistemas de Información nuevos en Oracle Forms

33 Situación actual de Tecnologías
Total Framework 2 648 HTML 346 ATLAS 227 Forms 10g 201 Delphi 161 Forms 6i 122 Fatwire 83 Forms 4.5 63 Framework Justicia 59 Joomla 54 BI 37 BI Crystal Reports 34 Documentum 31 Delphi CGI 30 PRO*C 29 Crystal Reports 24 SAP 16 Microsoft .NET 14 TED 11 SharePoint 10 APP 5 ESB 4 UNIFACE 3 Tecnologías en la Agencia FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

34 Renovación Tecnológica
Roadmap de Tecnologías obsoletas INTEGRACIÓN TECNOLOGÍA Interacción con otros Sistemas de Información (Institucional, Sectorial, Ereg) GEA Gestor de Expedientes Integración fuerte con puesto cliente Puestos aislados (sin red) Grado de Obsolescencia Coste de migración Delphi Atlas/Atlas standalone Atlantix/?? Atlas + Applet / ActiveX Atlas Standalone Alto Delphi CGI Atlas ----- Forms v4.5 Forms v11g/Atlas Forms v11g / Atlantix Forms v6i Forms v11g Bajo Forms v10g Medio TED Atlantix J2EE Framework 2 Pro*C Batch Pro*C en Linux/Atlas Batch Otras (Uniface, Clipper...) FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

35 Análisis interno de ATLAS
OBJETIVOS DEL PROYECTO : Definir los Frameworks / lenguajes de programación en la agencia para los próximos años Establecer los distintos caminos para la realización de una Renovación Tecnológica de los Sistemas de Información / Aplicaciones Definición de matriz de Frameworks / lenguajes de programación a utilizar en función de la tipología de los sistemas de información / Aplicaciones a desarrollar

36 FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN
Usuario CM Ciudadano Colaborador Aplicación empresarial ATLAS JAVA Aplicación informativa ATLAS JAVASCRIPT Aplicación multidispositivo Aplicación para teléfono móvil MOVA Aplicación móvil integración fuerte NATIVO Desarrollo rápido limitado FRAMEWORKS / LENGUAJES DE PROGRAMACIÓN

37 Desarrollos empresariales
Desarrollos rápidos Desarrollos Ciudadano Informacional Desarrollos Ciudadanos Tramitación Desarrollos móviles Desarrollos móviles Avanzados (uso intensivo)


Descargar ppt "FRAMEWORKS DE DESARROLLO/LENGUAJES DE PROGRAMACION"

Presentaciones similares


Anuncios Google