el universo java (2007)
DESCRIPTION
Presentación realizada en 2007 a un auditorio de jefes de proyecto y técnicos sin conocimientos de Java de una determindada empresa, con el fin de exponer conceptos básicos sobre la arquitectura J2EE utilizada en ese momento para el desarrollo de aplicaciones, basada en SAP NetWeaver Java (SAP WAS Java y SAP NWDI).TRANSCRIPT
El universo Java en [empresa]
Isidro José López Martínez
jueves, 15 de Noviembre de 2007
2
ÍNDICE
Introducción
SAP NetWeaver: ese gran desconocido
Introducción a SAP WAS Java
Plataforma de desarrollo SAP WAS Java en [empresa]
Nueva plataforma de desarrollo: BEA WebLogic
Web Services
Servicios Java: envío de SMS
3
Introducción
Universo Java:
SAP
No SAP
Mundo abierto: open source e integración
Tecnologías heterogéneas
Evolución continua
4
Introducción
¿Qué es Java?
Lenguaje de programación: alto nivel, con estilo y sintaxis particulares.
Plataforma: donde corren las aplicaciones.
Origen de Java:
SUN Microsystems: lenguaje para electrónica de consumo (microondas, tostadoras…)
Búsqueda de:
• Fiabilidad del código y facilidad de desarrollo (alto coste de C++)
• Portabilidad (en C/C++ se compila para un chip concreto)
Oak (James Gosling): primer esbozo del lenguaje
Green: primer proyecto (sistema de control completo de los aparatos electrónicos y el entorno de un hogar)
Presentación en sociedad: agosto 1995
5
Introducción
Las plataformas del lenguaje de programación Java. Existen tres plataformas del lenguaje de programación Java:
Java Platform, Standard Edition (Java SE) Java Platform, Enterprise Edition (Java EE) Java Platform, Micro Edition (Java ME)
Componentes de la plataforma Java: Java Virtual Machine (JVM)
La máquina virtual Java es un programa, para un HW y una plataforma SW particulares, que ejecuta las aplicaciones Java.
Application Programming Interface (API). Una API es un conjunto de componentes SW que pueden ser utilizados para crear otros componentes SW o aplicaciones.
Ventajas: independencia de la plataforma, potencia, estabilidad, facilidad de desarrollo (sic) y seguridad.
6
Introducción
Java SE
When most people think of the Java programming language, they think of the Java SE API. Java SE’s API provides the core functionality of the Java programming language. It defines everything from the basic types and objects of the Java programming language to high-level classes that are used for networking, security, database access, graphical user interface (GUI) development, and XML parsing.
In addition to the core API, the Java SE platform consists of a virtual machine, development tools, deployment technologies, and other class libraries and toolkits commonly used in Java applications.
Java EE
The Java EE platform is built on top of the Java SE platform. Java EE provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications.
JavaME
The JavaME platform provides an API and a small-footprint virtual machine for running Java programming language applications on small devices, like cellular phones. The API is a subset of the Java SE API, along with special class libraries useful for small device application development. Java MEapplications are often clients of Java EE application services.
7
SAP NetWeaver
Definición:
SAP NetWeaver es una plataforma web abierta de integración y aplicación que sirve como base para la Enterprise Service-Oriented Architecture (enterprise SOA), permitiendo la integración y alineamiento de gente, información y procesos de negocio interconectando diferentes tecnologías y negocios. Utiliza estándares abiertos para permitir la integración con información y aplicaciones desde prácticamente cualquier fuente o tecnología.
SAP NetWeaver es la base para todas las soluciones SAP sobre un determinado soporte hardware.
NetWeaver: “tejedor de red”
SAP NetWeaver NO es sinónimo de Java ni de SAP WAS
8
SAP NetWeaver
9
SAP NetWeaver
SAP NetWeaver 04
SAP WAS 6.40
SAP NetWeaver 04s = SAP NetWeaver 7.0
SAP WAS 7.0
SAP WAS 7.1 (Java EE 5) – CE (Composite Environment)
Lectura recomendada: SAP NetWeaver for dummies
10
SAP Web Application Server Java
SAP WAS: componente base del resto de componentes de NetWeaver.
Motor ABAP
Motor Java
11
SAP Web Application Server Java
A Java cluster installation consists of:
One or more Instances of the Web AS Java
The Central Services, which also create an instance
One or several databases
A Java Instance consists of (with the exception of Central Services):
a Java Dispatcher
One or several server processes
The dispatchers and servers can be split up among different physical servers. The Central Services (Message Service and Enqueue Service) are installed on one host that meets possible requirements for high availability.
12
SAP Web Application Server Java
This Java installation consists of:
A Java central instance with a dispatcher, a server process, and the Software Deployment Manager (SDM)
The Central Services, which also create an instance
The Database
13
SAP WAS: Servicios Centrales
The Central Services form the basis of communication and synchronization for the Java cluster.
The Message Service keeps a list of the dispatchers and server processes of the Java cluster. It represents the infrastructure for data exchange (small datasets only) between the participating nodes. The message service also supplies information to the SAP Web Dispatcher about Load Balancing Between Many Java Instances.
The Enqueue Service manages logical database locks, which are set by the executed application program in a server process. The enqueue service also synchronizes data across the cluster.
14
Alta disponibilidad en SAP WAS
15
Ciclo de vida del desarrollo “tradicional”
16
Ciclo de vida en SAP NWDI
17
SAP NWDI
Gestión del ciclo de vida: JDI (Java Development Infrastructure)/ NWDI (NetWeaver Development Infrastructure)
DTR: Design Time Repository
Repositorio de código y control de versiones
CBS: Component Build Service
Entorno de compilación centralizada y proveedor de librerías para los componentes de desarrollo requeridos
CMS: Change Management Service
Administración del entorno y gestión de los transportes
SAP NDS: SAP NetWeaver Developer Studio
IDE (Integrated Development Environment) para el desarrollo SAP NetWeaver Java, basado en Eclipse.
18
SAP NWDI
19
SAP NetWeaver Developer Studio
20
SAP WAS RoadMap
21
SAP Web Application Server
22
SAP Web Application Server
23
SAP Web Application Server
24
SAP Web Application Server
25
SAP Web Application Server
26
Entorno de Producción SAP WAS Java CCS1 CCS2
Instancia sin balanceo
Instancia con balanceo
Balanceo de Peticiones
P- 1500
Alteon
P- 1500 P- 1500
CI DI DI
Nodo Server
SCS
DB
ERS
SCS
ERS
DB
Alteon
IP SCS
Usuarios
Ip Scs? Ip Scs? Ip Scs?
Peticiones usuario
SCS
ERS
Alteon
DB
27
Nueva plataforma de desarrollo: BEA
Motivaciones:
Plataforma robusta de desarrollo Java
Servidor: BEA WebLogic Server (WLS) 10 (Java EE 5)
IDE (Integrated Development Environment):
BEA Workshop for WebLogic (W4W)
BEA Workshop Studio (WS)
Cuestiones a definir:
Arquitectura
Gestión del ciclo de vida (gestión del código, compilación, transportes…)
Best practices y tecnologías: Java Server Faces + JPA (Java Persistence API)
28
Entorno de Producción BEA
29
Web Services
30
Web Services
31
Web Services
32
Servicios Java: envío de SMS
SIEMENS
Consulta_estdísticas (sms)
Consola_actividad (logs)Similar a Patrol
INCIMOV
INCISIS
PAGOS
SMSIIFF
SMSP. Central
SMSNombramiento
Otros Proyectos
SMS
Oracle
XMLServer
MODEM’sMODEM BROKER(Web Services)
IIS
Tamino Mobile Server
Monitor
Monitor
Monitor
Oracle
Servicio_SMS (MSISDN ,TFNO, Texto, envio_OK, ...)BEA Weblogic
WSDLBack-end JAVA
Balanceador de SMS’s
IIS
Informe incidencias
SMS
APLICATIVOS
33
SAP Developer Network (SDN)
34
El universo Java en [empresa]
Gracias por vuestra atención