Anda di halaman 1dari 50

TAPM50 Workload Analysis

Persistencia de datos en el JAVA Web AS


Fabio Cerioni Gerente Realtech Espaa
fabio.cerioni@realtech.com

2005 REALTECH

Copyright

Copyright 2005 SAP ESPAA. Reservados todos los derechos. Prohibida la distribucin, reproduccin o traduccin de este manual o de parte del mismo, sea cual sea el fin y la forma, sin la autorizacin expresa por escrito de SAP ESPAA. La informacin contenida en este manual puede modificarse o complementarse sin previo aviso. Reservados todos los derechos.

2005 REALTECH

Resumen del curso


Introduccin SQL Trace

Java Persistence @ SAP

Resumen

Esquemas de BD

Java Dictionary

JDBC

EJB

Entity Bean
2005 REALTECH

Introduccin
Introduccin SQL Trace

Java Persistence @ SAP

Resumen

Esquemas de BD

Java Dictionary

JDBC

EJB

Entity Bean
2005 REALTECH

Objetivos del curso

Una vez terminado este curso, podr: Definir estrategia de persistencia de datos en el Java Web AS Clasificar formas de acceso a BD en el en el Java Web AS Utilizar Acceso JDBC Definir los Enterprise Java Bean

2005 REALTECH

Antes de empezar

Requisitos previos:
Conocimiento JAVA

A quien va dirigido:
Programadores JAVA SAP Java WebAS System administrators Programadores ABAP

Duracin: 1,5 Horas

2005 REALTECH

Java Persistence @ SAP


Introduccin SQL Trace

Java Persistence @ SAP

Resumen

Esquemas de BD

Java Dictionary

JDBC

EJB

Entity Bean
2005 REALTECH

Java Persistence @ SAP: La Estratega

Habilitar las aplicaciones de negocio estandar java para que sean ejecutadas en el J2EE engine.
Ampla el modelo de programacin J2EE Proporciona soporte transparente en tiempo de ejecucin Transfiere su experiencia en el ambiente ABAP al mundo JAVA!

2005 REALTECH

Persistencia J2EE @ SAP


Persistencia de datos en el modelo J2EE

Applicacion(es) J2EE JDBC JDBC EJB CMP EJB CMP

Pool de Connexiones

Database Database
2005 REALTECH

Persistencia J2EE @ SAP


Applicacion(es) J2EE JDBC JDBC EJB CMP EJB CMP

SQLJ SQLJ

JDO JDO

De forma De forma Soporta APIs de transparente de las transparente de las aplicaciones, Open Persistencia estandar aplicaciones, Open Pool de Connexiones SQL for Java SQL for Java Java encapsulan distintos encapsulan distintos drivers JDBC Open SQL for Java drivers JDBC Open SQL for Java proprietarios proprietarios Java Dictionary Table Buffer Table Buffer Java Dictionary

Mejora el acceso a la base de datos de forma transparente a las aplicaciones


2005 REALTECH

SQL/JDBC Checker SQL/JDBC Checker

SQL Trace SQL Trace

Database Database

Java Persistence @ SAP


Introduccin SQL Trace

Java Persistence @ SAP

Resumen

Esquemas de BD

Java Dictionary

JDBC

EJB

Entity Bean
2005 REALTECH

Donde esta la base de datos?

Instancia Web AS Java Dispatcher Servidor Servidor

Instancia Web AS Java Dispatcher Servidor Servidor

Database Database Externo D Externo atabase

Esquema Java

Externo
La aplicaciones pueden acceder una base de datos arbritrarias

Oracle DB2 MS SQL MaxDB

La Base de datos es relacional Solo Unicode

View PAM: Product Availability //service.sap.com/pam Matrix PAM:


service.sap.com/pam

2005 REALTECH

Donde est la BD? Esquemas Java y ABAP Java y ABAP necesitan esquemas de BD separados!
Instancia Web AS Java Dispatcher Servidor Servidor Instancia Web AS Java Dispatcher Servidor Servidor ABAP Dispatcher WP WP

Instancia Web AS ABAP

Esquema Java Esquema ABAP No hay transaccin de BD entre los stacks ABAP y Java No hay acceso directo a tablas entre los stacks ABAP y Java
2005 REALTECH

Dispatcher WP WP

Interaccin solo a nivel de componente: JCo, WebServices, XI,

Conexin: Pool

Applicacion(es) J2EE
SQLJ SQLJ JDBC JDBC EJB CMP EJB CMP JDO JDO

Pool de Connexiones

Open SQL for Java Open SQL for Java


Java Dictionary Java Dictionary SQL/JDBC Checker SQL/JDBC Checker

Abrir una conexin Abrir una conexin fisica es caro fisica es caro Table Buffer Table Buffer El pooling de El pooling de conexiones abierto conexiones abierto SQL Trace mejora la SQL Trace mejora la escalabilidad escalabilidad

Database Database
2005 REALTECH

Configuracin Pool de conexiones

Applicacin #1

Applicacin #2 Compartidos entre aplicaciones :-)

Pool de conexiones

Connexin al esquema Java a travs un pool de conexin pre-configurado


Esquema DB

Dentro del servicio JDBC Connector se pueden configurar pool de conexines adicionales (JDBC data sources)
Connexin a una BD arbitraria Elegir la capa de soporte Open SQL Elegir el nivel de isolacin por defecto
2005 REALTECH

Ejemplo Configuracin Pool de


conexiones II

2005 REALTECH

Java Dictionary
Introduccin SQL Trace

Java Persistence @ SAP

Resumen

Esquemas de BD

Java Dictionary

JDBC

EJB

Entity Bean
2005 REALTECH

Java Dictionary: Resumen

La descripcin de los tipos de datos para las aplicaciones Java puede ser descripta de forma central evitando redundancias y de forma independiente de los programas. Se pueden definir tipos de datos independiente de la plataforma. La definicin de datos est basada en XML. En el Java Dictionary, se pueden almacenar metadatos para objetos de BD o interfases usuario (Web Dynpro). The Java Dictionary proporciona datos adicionales a lo del catalogo de BD. La definicin de tipos de datos para campos, por ejemplo pude ser usada en un campo de input o en una etiqueta

2005 REALTECH

Java Dictionary: Resumen II


Create elementary types, structures, and database tables Soportado
Indices DB buffer de Tablas Global namespace (Name Server) Tipos de Datos

Beneficios
Independencia Base de datos Uso de SQLJ basado de Java Dictionary Includo en Web Dynpro Caracteristicas de Open SQL

2005 REALTECH

Java Dictionary & APIs: Chequeo en fases de desarrollo Los chequeos de consistencias en fase de desarrollo nos asegura programas ms robustos y tiempos de desarrollo ms cortos SQLJ: column names and types EJB CMP: O/R Mapping, EJB QL syntax

JDO: Checker

JDBC: runtime checks


2005 REALTECH

Java Dictionary & APIs: Usos en Runtime

2005 REALTECH

Java Dictionary & Database: Definicin Tipos y Tablas Dentro de la SAP Naming Convention se pueden Despegar aplicaciones en cualquier sistema sin el riesgo de conflicto de nombre dentro de la base de datos Admitidas letras mayusculas numeros y guin bajo, hasta 18 caracteres Reservar el prefijo de nombres (namespace) en SAP

Prefijos de Nombre separa desarrollo de clientes, de partners y de SAP

MYCOMP_TABLENAME

Mirar la nota 710315, en Mirar la nota 710315, en http://service.sap.com http://service.sap.com

2005 REALTECH

Java Dictionary: Definicin de tipos


1. Java Dictionary proporciona tipo de datos built-in. 2. Se puede definir derivacin de tipos y constrir tipos mas complejos y agruparlo en estructuras
Built-in Type
string binary short integer long float double decimal (p,[s]) date time timestamp

2005 REALTECH

Java Dictionary And Web Dynpro: Reutilizo de tipos


Applicar los tipos del Dictionary 1. Como tipo de columna de tabla de base de datos 2. In Web Dynpro pages (required: NWDI)

Se define una vez, y se reuyiliza en muchas aplicaciones"


2005 REALTECH

Java Dictionary And Open SQL Data Source

Java Dictionary
CR TA EA BL TE E

Open SQL Data Source

T ER TE S IN D A TE UP LE CT DE L E SE

Java Schema
DDL Queries and DML

Definicin Creacin Modification


2005 REALTECH

De objetos de base datos

Procesamiento de instrucciones SQL Buffering Tablas SQL Trace

J2EE Persistence @ SAP: Big Picture J2EE Application(s)


SQLJ SQLJ JDBC JDBC EJB CMP EJB CMP JDO JDO

Relational APIs Write SQL

Connection Pool Object-relational (O/R) APIs

Proporcionan mapeo O/R Open SQL for Java Open SQL for(XML) Java y usanBuffer Java Dictionary Table Buffer Table metodos dedicados Java Dictionary Java
SQL/JDBC Checker SQL/JDBC Checker SQL Trace SQL Trace

Database Database
2005 REALTECH

<Ttulo de la Unidad (fondo azul)>


Introduccin SQL Trace

Java Persistence @ SAP

Resumen

Esquemas de BD

Java Dictionary

JDBC

EJB

Entity Bean
2005 REALTECH

JDBC

2005 REALTECH

JDBC: Conexin

2005 REALTECH

JDBC: Ejecucin

2005 REALTECH

JDBC: Ejecucin

Sin parmetros

Con parmetros

2005 REALTECH

JDBC: Evaluation

2005 REALTECH

JDBC: Evaluation

Cada ResultSet tiene un cursor Despues de la inicializacin, el cursor es posicionado antes de la primera lnea El metodo next modifica el cursor en la linea siguiente Los valores de columna se acceden usando los metodos get<xxx>()

2005 REALTECH

JDBC: Evaluation
Cada ResultSet tiene un cursor Despues de la inicializacin, el cursor es posicionado antes de la primera lnea El metodo next modifica el cursor en la linea siguiente Los valores de columna se acceden usando los metodos get<xxx>()

2005 REALTECH

Enterprise Java Bean


Introduccin SQL Trace

Java Persistence @ SAP

Resumen

Esquemas de BD

Java Dictionary

JDBC

EJB

Entity Bean
2005 REALTECH

Familia de Enterprise JavaBeans

Enterprise Java Bean

Session Bean

Entity Bean

Messagedriven Bean

Stateless Session Bean

Stateful Session Bean

Containermanaged persistence

Beanmanaged Persistence

Relacionado a sesin de usuario El session bean no es persistentes

Maneja la persistencia en forma OO Representa un business object

Basado en mensajes Recibe mensajes asynchronous JMS

2005 REALTECH

Enterprise JavaBeans Definition

Un Enterprise Java Bean es un componente servidor que encapsula la lgica de negocio de una aplicacin EJBs siempre se ejecutan dentro de un EJB container, que proporciona los servicios de sistema a los EJBs Estos servicios incluyen gestin transaccionalidad, persistencia , pooling
EJB EJB EJB EJB

EJB EJB EJB


EJB Container J2EE Server

2005 REALTECH

Beans
Un cliente accede a la aplicacin llamando los metodos del bean de sesin El bean de sesin oculta al cliente la complejidad de la lgica de negocio Los bean de sesin no pueden ser compartidos entre clientes: pueden tener un solo cliente Los bean de sesin no son persistentes Los bean de sesin pueden ser: stateless o stateful
EJB Container J2EE Server Bean de Sesin

Cliente

2005 REALTECH

Entity Bean Persistence


Entity beans representan business objects (e.g. clientes, pedidos y maestro de materiales) El mecanismo de persistencia es representado por una BD relacional
Normalmente, los entity beans corresponden a una tabla de BD y cada instancia del bean corresponde a un registro de dicha tabla
Session Bean

Entity beans differ from session beans in several ways


Are persistent (dedicated load/store methods) Allow shared access Have primary keys May participate in relationships with other entity beans

Entity Bean

EJB Container J2EE Server

Database

2005 REALTECH

Entity Bean Persistence


Entity EJB representa un objeto de negocio (ej. Cliente, pedidos y materiales) Fundamentalmente hay dos tipos de bean de entidad
Bean-Managed Beans (BMP) Container managed Beans (CMP)
Entity Bean

Session Bean

El mecanismo de persistencia es una BD relacional


Normalmente, los entity beans corresponden a una tabla de BD y cada instancia del bean corresponde a un registro de dicha tabla
EJB Container J2EE Server

Los Entity beans difieren de los bean de sesin en los siguientes aspectos:
Son persistentes (mtodos dedicados load/store) Permiten acceso compartido Tienen clave primaria Puede participar en relacin con otros entity beans
2005 REALTECH

Database

Entity Bean
Introduccin SQL Trace

Java Persistence @ SAP

Resumen

Esquemas de BD

Java Dictionary

JDBC

EJB

Entity Bean
2005 REALTECH

Entity Bean

Definicin proyecto entity Bean

2005 REALTECH

Entity Bean: definicin campos


Definicin campos persistentes

Definicin claves Primarias

2005 REALTECH

Entity Bean: Mapeo Campos

Mapeo entity bean a tabla del Java Dictionary

Mapeo Campos Entity bean a tabla java dictionary

2005 REALTECH

SQL trace
Introduccin SQL Trace

Java Persistence @ SAP

Resumen

Esquemas de BD

Java Dictionary

JDBC

EJB

Entity Bean
2005 REALTECH

SQL TRACE
J2EE Application(s) SQLJ SQLJ JDBC JDBC EJB CMP EJB CMP JDO JDO
Log de los accesos Log de los accesos sql permiten de sql permiten de resolver problemas!!! resolver problemas!!!

Connection Pool

Open SQL for Java Open SQL for Java


Java Dictionary Java Dictionary SQL/JDBC Checker SQL/JDBC Checker Table Buffer Table Buffer SQL Trace SQL Trace

Database Database
2005 REALTECH

SQL Trace: JDBC Call Logging and Viewing


http://localhost:50000/SQLTrace
Locate Locate bugs bugs Locate Locate performance performance bottlenecks bottlenecks JDO, EJB CMP: JDO, EJB CMP: Examine the Examine the generated code! generated code!

switch on

execute

switch off

evaluate

2005 REALTECH

Resumen
Introduccin SQL Trace

Java Persistence @ SAP

Resumen

Esquemas de BD

Java Dictionary

JDBC

EJB

Entity Bean
2005 REALTECH

Informacin adicional
Web Publica:
www.sap.com SAP Developer Network: www.sdn.sap.com SAP NetWeaver Developers' Guide Application Development Persistence eLearning/SAP Web AS SAP Web AS eLearning Catalog Java Persistence FAQs SAP Customer Services Network: www.sap.com/services/ NetWeaver Developers Guide: www.sdn.sap.com/sdn/developersguide.sdn

2005 REALTECH

Resumen

Ahora puedes:

Definir estrategia de persistencia de dato en el Java Web AS Clasificar formas de acceso a BD en el en el Java Web AS Utilizar Acceso JDBC Definir los Enterprise Java Bean

2005 REALTECH

Anda mungkin juga menyukai