Download Que es una aplicación empresarial
Document related concepts
no text concepts found
Transcript
Introducción al Desarrollo de Aplicaciones Empresariales Ing. Yim Apestegui F • Una aplicación empresarial es un sistema que integra el manejo de diversas entidades del negocio. Por ejemplo, tener el inventario, la facturación, la caja, la planilla y la contabilidad bajo un solo sistema corporativo. 09/03/2015 Que es una aplicación empresarial 2 • • • • • • • Material de reposición Alamacen central Facturación Caja Contabilidad Recursos humanos Servicio al cliente Ing. Yim Apestegui F • Admisión • Seguimiento de expedientes • Exámenes biológicos (laboratorio) • Exámenes fisiológicos • Consultas • Hospitalización • Farmacia 09/03/2015 Aplicación Empresarial Hospitalaria 3 Ing. Yim Apestegui F 09/03/2015 Aplicación Empresarial Hospitalaria 4 09/03/2015 Todas las grandes como las medianas y pequeñas empresas tienen una cosa en común: sus aplicaciones empresariales revisten vital importancia. Empresas de todos los tamaños ejecutan SAP, Oracle, Exchange y otras muchas aplicaciones empresariales simplifican la gestión y presentan soluciones de infraestructura para implementarlas más rápidamente y a más bajo coste. Ing. Yim Apestegui F HOY… 5 Ing. Yim Apestegui F 09/03/2015 ¿Por qué? 6 Ing. Yim Apestegui F • Java Enterprise Edition: plataforma de desarrollo de aplicaciones para empresas, basado en EJBs. • EJB (Enterprise Java Beans): especificación de componentes server-side. • Nos permite escribir aplicaciones distribuidas escalables, fiables y seguras, sin tener que escribir el framework de objetos distribuidos uno mismo; ya se ha escrito para nosotros. 09/03/2015 Definición 7 Java (J2SE) EJB 1.0, 1.1 JDBC (Java Database Connectivity) 2.0 JTA (Java Transaction Service) 1.0. CORBA. RMI/IIOP. Java Servlets 2.2 JSP (Java Server Pages) 1.1 JNDI 1.2 JavaMail 1.1 JMS (Java Messaging Service) 1.0: API. XML Ing. Yim Apestegui F • • • • • • • • • • • • 09/03/2015 Elementos 8 9 Ing. Yim Apestegui F 09/03/2015 • No se requiere tanta experiencia: caja negra. • Ensamblado más rápido (gráfico...) • Coste menor. Ing. Yim Apestegui F • Es código que implementa un conjunto de interfaces perfectamente bien definidas. • No son aplicaciones enteras, sino piezas de puzzle. • Para qué: 09/03/2015 Recordando… ¿Qué es un componente? 10 Ing. Yim Apestegui F • Herramientas de creación. • Contenedor de gestión de componentes desplegados (deployed): entorno runtime y conjunto de servicios comunes. • Herramientas de despliegue y mantenimiento de componentes. 09/03/2015 Arquitectura de componentes 11 1. Applets: desplegados en una web page, con el appletviewer como contenedor. 2. Servlets: desplegados en un web server, con el servlet engine del ws como contendor. 3. EJBs: desplegados en el application server, con el motor del servidor como contenedor. Los dos primeros son client-side. El tercero es serverside. Ing. Yim Apestegui F 1. Java Beans: son componentes de desarrollo. 2. EJBs: son componentes de despliegue. 09/03/2015 Componentes en Java 12 • Capa de presentación. • Capa de lógica de negocio. • Capa de datos. • En n capas: • Cuando la arquitectura 3-tier no tiene ninguna limitación física. Ing. Yim Apestegui F • Arquitectura en dos capas. • En tres capas: 09/03/2015 Arquitectura N-tier 13 Problemas de la 2-tier Ing. Yim Apestegui F • Costes de desarrollo altos: los drivers ODBC, JDBC, han de ser instalados en ambas capas. • El cambio del driver de la bd implica cambios en todos los clientes y servidores. • Migración de la lógica de negocio es cara: implica reinstalaciones en todos los clientes. • Costes de conexión a BBDD son altos (uno por cliente). • Prestaciones de red. 09/03/2015 • Capa de presentación + capa de lógica de negocio: • Capa de lógica de negocio + capa de datos • Stored procedures: ¿qué pasa si cambio la bd? 14 Entonces Tenemos: Presentación: en el espacio de uno o más servidores web, vía ASPs, JSPs, servlets, etc. Lógica de negocio: en uno o más servidores de aplicaciones. Datos: en una o más bbdd, almacenando procedimientos. 2. 3. 4. 5. 6. 7. Los costes son menores: los drivers en la parte servidora. Modificación de bbdd menor: clientes no acceden a la bbdd. Migración de la lógica de negocio es mínima: clientes independientes. Se puede conseguir mayor seguridad mediante firewalls. Recursos pueden ser reutilizados, y “pooled”. Prestaciones: siguen sufriendo. Costes de mantenimiento altos. 09/03/2015 Ubicación de capas: Ing. Yim Apestegui F 1. 15 Ing. Yim Apestegui F 09/03/2015 Arquitectura JEE 16 17 Ing. Yim Apestegui F 09/03/2015 Qué necesita una arquitectura en N capas Broker de petición de métodos. Resource pooling. Gestión del ciclo de vida de componentes. Gestión del balance de carga de cada capa. Entorno seguro. Gestión de redes y sistemas: monitorización y control. Autorización de usuarios. ... Ing. Yim Apestegui F • • • • • • • • 09/03/2015 • Muchos Componentes: • ¿Y si reutilizamos componentes ya creados? 18 Ing. Yim Apestegui F • Microsoft DNA (Distributed interNet Applications architecture): producto. • Oracle JEE: especificación. • OMG CORBA: complementaria • Oracle Internet Platform: complementaria... • Microsoft .NET: 09/03/2015 Opciones …. 19 Ing. Yim Apestegui F • Bean provider: componentes reutilizables (as given, by customization, by extension). • Container provider: runtime. • Server provider: lógica del app. Server. • Application assembler. • Deployer. • Administrador de sistemas. 09/03/2015 Elementos de EJBs 20 21 Ing. Yim Apestegui F 09/03/2015