Professional Documents
Culture Documents
0 PBDD10
1- 1
Derechos Reservados de TechEra e-Learning
Tpicos
Revisando la Arquitectura Two-Tier Arquitecturas Multitier (Distribuida) CORBA
1-2
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 2
Derechos Reservados de TechEra e-Learning
Objetivos
1-3
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 3
Derechos Reservados de TechEra e-Learning
A un nivel alto, desarrollando una aplicacin two-tier, particionando una aplicacin consiste de los pasos mostrados en la diapositiva. No se tiene que abandonar la experiencia que se tiene para desarrollar aplicaciones multitier con el EAServer. Aunque hay unas diferencias, se puede perfeccionar lo que ya se sabe. Este curso se focaliza en los detalles de implementacin para los componentes de negocio desplegados al EASErver y los cambios necesarios en la aplicacin cliente para usar estos componentes. Esta no es una clase de Diseo; sin embargo, los pasos de diseo son crticos para este ambiente. Muchos desarrolladores ven que ellos tienen ms cambios en la fase de diseo que la fase de implementacin de una aplicacin multitier. Esta clase seala las buenas y malas estrategias y le da la oportunidad para definir y construir un componente EAServer ancestro para sus componentes de negocio. Se debera, sin embargo, buscar informacin adicional para la fase de diseo.
1- 4
Derechos Reservados de TechEra e-Learning
z z
z z
1-5
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Trabajo grupal/departamental Ud. Controla el nmero de clientes, y por consiguiente el nmero de transacciones. Ud. Controla la plataforma (s).
1- 5
Derechos Reservados de TechEra e-Learning
El manejo del cdigo no particionado Volver a probar los cambios La administracin de la mquina cliente El despliegue de cambio de la aplicacin a los mtilples clientes La administracin de la performance Dejando la inversin del Hardware existente
Falta de control centralizado Dficil de implementar la seguridad Cuello de bolletas en el servidor de la base de datos/ por la muchas conexiones Lgica de negocio almacenada en la base de datos escrita en el lenguaje propietario
1-6
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 6
Derechos Reservados de TechEra e-Learning
z z
z z z z
Lgica de negocio z Administracin de los datos Caching Manejo de las transacciones Transparencia de la ubicacin de los datos Balanceo de carga
1-7
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Caractersticas de la arquitectura Multitier nmero imprevisible de clientes/transacciones Aplicaciones abiertas a la Internet/extranet Principios de la arquitectura Multitier Encapsula o particiona la lgica de negocio en objetos. Mueve o distribuye la lgica de negocio a una mquina dedicada. Proporciona acceso a los objetos almacenados en un servidor de aplicaciones. El servidor de aplicaciones recibe los requerimientos de procesos desde los clientes. El servidor direcciona los requerimientos a los objetos de negocio para procesar. Ejemplos: Lgica de Negocio: autorizacin de tarjeta de crdito, carga de impuestos Cache de datos estticos: Estados, partes/productos Servicios para recursos especializados: Gateway para mainframe/fax server
1- 7
Derechos Reservados de TechEra e-Learning
Ventajas / Desventajas
Ventajas
z z
Desventajas
z
z z z z
Cientes ms delgados Disminuye la administracin del cliente Encapsulacin de la lgica Mejor perfomance Escalabilidad Consistencia, control y seguridad Reutilizacin de componentes existentes Posicionamiento para la Web
z z
Cambios en los hbitos de programacin Ms curvas de aprendizaje Mayor tiempo en el inicio del diseo y desarrollo Ms puntos de falla
1-8
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 8
Derechos Reservados de TechEra e-Learning
1-9
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 9
Derechos Reservados de TechEra e-Learning
CORBA
C PB ORB IIOP ORB C
Java PB
Java
ORB C
Java PB
1 - 10
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
CORBA proporciona comunicacin para cualquier lenguaje hacia cualquier lenguaje y cualquier plataforma.
plataformas soportadas:
z
1- 10
Derechos Reservados de TechEra e-Learning
1 - 11
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Los componentes CORBA-Java CORBA-Java siguen al modelo de componente CORBA y usan la interface estndar de CORBApra el manejo de transacciones. Cualquier clase Java con la conducta de un nonvisual puede ser adaptado para ejecutarse como un componente EAServer. Los componentes PowerBuilder NVO usando PowerBuilder 7.0 o superior, puede crear objetos no visuales(NVOs) que pueden correr nativamente en EAServer como un componente EAServer, entonces use los proxies en aplicaciones cliente PowerBuilder Los componentes EAServer CORBA C++ y los componentes C++ son clases C++ que contienen mtodos con similar prototipo para la interfaz del componente EAServer.
Los Enterprise Java Beans pueden ser accesado desde clientes PowerBuilder a travs de los mappings EJB-CORBA.
1- 11
Derechos Reservados de TechEra e-Learning
Qu es CORBA?
Common Object Request Broker Architecture Estndar de la arquitectura del objeto distribuido desarrollada por el Object Management Group (OMG)
Establecido en 1989 z Incluye a 800 compaas (IBM, SUN, Oracle, Sybase, ...) z No incluye Microsoft
z
1 - 12
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
La OMG proporciona las especificaciones y estndares. OMG no proporciona el software o implementaciones. Varios vendedores implementan las especificaciones. Un rasgo llamativo de CORBA es que escribe los software que interoperan con otros softwares via el bus objeto, solo se necesita conocer la interfaz del software; no se necesita conocer cualquier detalle de la implementacin.
1- 12
Derechos Reservados de TechEra e-Learning
Implementacin
on off
1- 13
Derechos Reservados de TechEra e-Learning
on off
1 - 14
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El module es un paquete o un container de clases relacionadas (como una amortizacin, finanzas, o una orden de entrada). La interfaz define una firma del mtodo. Note que no hay ningn detalle de implementacin en la especificacin del IDL. CORBA soporta un grupo de tipos de datos estndar. Estos tipos de datos deben ser mapeados para los varios lenguajes de implementacin (como Java y C/C++). En CORBA, las interfaces son especificadas en una manera orientada a objetos usando el Lenguaje de Definicin de Interfaz (IDL). Se usa el IDL para definir los objetos del componente (o tipos de datos), incluyendo cosas como la herencia, atributos, eventos, y mtodos (incluyendo sus parmetros y excepciones). Los mtodos especificados en el IDL pueden ser implementados en, o invocados desde cualquier lenguaje para que los IDL mapeados puedan estar definidso. No se especifica cualquier detalle de la implementacin en el IDL, as que el IDL es estrictamente declarativo y relativamente simple. La sintaxis del IDL es un subconjunto de C++, incluyendo las macros de preprocesamiento y pragmas, con algunas palabras claves para los conceptos de la computacin distribuida. La independencia del Lenguaje del IDL provee flexibilidad. Esto le d libertad para que puedas escoger el lenguaje de programacin y plataforma para cada componente en tu aplicaicn y te permite integrarlo con tus componentes existentes. Para usar componentes heredados, se puede modelarlos en el IDL y entonces escribir el cdigo de la envoltura en el lenguaje del legado para trasladarlo desde la interfaz de definicin del IDL hasta la interfaz del legado. Asi que la lgica de negocio que est implementado puede ser hecha en objetos CORBA. Se puede entonces ensamblar estos componentes como bloques de construccin para nuevas aplicaciones distribuidas.
1- 14
3. Enva el requerimiento
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Para la invocacin esttica, la aplicacin cliente necesita tener conocimiento de los servicios del objeto que deber necesitar, as que la especificacin IDL debe ser incorporada en el cliente como un objeto servidor, usando el lenguaje de programacin escogido. Se debe tener cuidado de esto por usar el compilador del IDL (proporcionado por el vendedor de su ORB) para compilar el IDL en las rutinas del stub en el lado del cliente y cdigo del skeleton del lado del servidor. Este diagrama muestra los procesos de un mtodo en un objeto remoto. Porque el objeto est en una mquina diferente, el requerimiento simplemente no puede enviarse de un objeto a otro. Esto puede ser empaquetado (encriptado) para que esto puede ser enviado sobre la red. Ambos tanto la mquina que envia y la que recibe deben tener el mismo protocolo (Internet Inter-ORB Protocol, o IIOP). El requerimiento entonces necesita ser desempaquetado (desemcriptado) y finalmente, los mtodos de la implementacin pueden ser invocados.
el objeto stub encripta los requerimientos y los somete al ORB del lado del cliente. el ORB encuentra el ORB destino en la red y envia el requerimiento.
el IIOP define una norma para enviar el requerimiento del ORB encima de algunos protocoloes de comunicacin de bajo nivel. el ORB destino recibe los requermientos y direcciona al objeto apropiado. The skeleton unmarshals the request and invokes the implementation object. el objeto de la implementacin contiene la lgica que comprende las reglas de negocio.
1- 15
Derechos Reservados de TechEra e-Learning
CORBA - Stubs
Objetos proxy local Empaqueta los requerimientos de la invocacin de los mtodos Provee transparencia de la ubicacin Implementa la misma interfaz como el objeto remoto deseado Implementa el IDL-defined de los mtodos en el lenguaje de programacin
1 - 16
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El stub contiene todos las firmas de un objeto remoto sin los detalles de la implementacin. El stub tambin contiene la lgica para empaquetar todas las invocaciones de los mtodos para que esto pueda ser enviado sobre la red.
1- 16
Derechos Reservados de TechEra e-Learning
Maneja todas las comunicaciones entre los objetos dentro de un sistema de objetos distribuidos:
1. Acepta los requerimientos de los clientes 2. Localiza y activa los objetos destinos
a. identifica la mquina que ejecuta el objeto del servidor b. pide al ORB de la mquina una conexin al servidor
1 - 17
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 17
Derechos Reservados de TechEra e-Learning
CORBA - Skeleton
Implementa los mecanismos para los requerimientos de invocacin hacia el servidor para ser desempaquetados y direccionados al mtodo correcto. Son la colas de la implementacin del objeto para el runtime del ORB Desempaqueta los argumentos de los mtodos Tambin conocido como las clases base de la aplicacin
1 - 18
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 18
Derechos Reservados de TechEra e-Learning
Implementacin
Define el comportamiento para todas las operaciones y atributos de la interfaz que soporta Es creado usando un lenguaje de programacin o modelo de componente como PowerBuilder, Java, C, C++, o ActiveX
1 - 19
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 19
Derechos Reservados de TechEra e-Learning
Servidor
Programa que contiene la implementacin de uno o ms tipos de objetos Provee un ambiente para almacenar los componentes Instancia los objetos CORBA Aplica la seguridad Maneja:
1 - 20
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El servidor tambin aplica la seguridad, maneja las transacciones, maneja el failover, maneja el balanceo de carga
1- 20
Derechos Reservados de TechEra e-Learning
Resumen
CORBA separa la interfaz de la implementacin de un componente. La interfaz de un objeto es descrito usando el Lenguaje de Definicin de Interfaz (IDL). Los Stubs son objetos local proxy y delega la invocacin de los mtodos a la implementacin del objeto remoto
1 - 21
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 21
Derechos Reservados de TechEra e-Learning
Mdulo 2: El EAServer
1- 22
Derechos Reservados de TechEra e-Learning
Tpicos
Los problemas con la Arquitectura Distribuida Roles de un Component Transaction Server (CTS) Ambiente del EAServer
1 - 23
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 23
Derechos Reservados de TechEra e-Learning
Objetivos
1 - 24
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 24
Derechos Reservados de TechEra e-Learning
1 - 25
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 25
Derechos Reservados de TechEra e-Learning
Para manejar eficientemente z La instanciacin y Ciclo de Vida de los Componentes z Conexiones a la base de datos z Transacciones z Seguridad:
Server
1 - 26
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 26
Derechos Reservados de TechEra e-Learning
Experiencia Requerida
Business Developers Ciclo de vida
accion es
ds rea Th
Trans
Se g u r ida d
GUI Developers
Componentes
System Developers
1 - 27
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
EAServer maneja mucho del desarrollo de los niveles del sistema, as que se puede focalizar en la lgica de negocio.
1- 27
Derechos Reservados de TechEra e-Learning
Co n e ccion
es
Provee un framework para desplegar la lgica de la capa media de una aplicacin distribuida basada en componentes Provee soporte para:
z z z z
La administracin del ciclo de vida de los componentes El Connection caching La administracin de las transacciones La Seguridad
1 - 28
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
EAServer proporciona un ambiente de ejecucin para tus componentes distribuidos. Esto almacena tus componentes mientras proporciona servicios como uno de los listados en el slide como servicios de componentes y objetos compartidos. Como se ver en los dems slides, EAServer tambin provee el Jaguar Manager, que es una interfaz simple de administracin para los servidores EAServer eso le permite cambiar las propiedades a travs de la interfaz.
1- 28
Derechos Reservados de TechEra e-Learning
1 - 29
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Limitar el nmero de objetos instanciados y la cantidad de tiempo que una instancia es ligado a un cliente es crtico en un ambiente WebOLTP con cientos o miles de requerimientos.
1- 29
Derechos Reservados de TechEra e-Learning
El Connection Caching
Los Componentes comparten un pool de conexiones preasignadas al servidor de la base de datos remoto
Connection Cache
1 - 30
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Controlar el nmero de conexiones y el tiempo de una conexin fsica que necesita ser creado y destruido en ambientes impredecibles son criticos para una performance eficiente. El Connection Caching le permite controlar el nmero de conexiones a su base de datos.
1- 30
Derechos Reservados de TechEra e-Learning
1 - 31
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Ud. Puede determinar como los componentes EAServer pueden manejar las transacciones y que roles pueden jugar en una transaccin. Ud puede cambiar el manejo de la transaccin sin cambiar el cdigo en su componente, haciendo cambios en la hoja de propiedades con el Jaguar Manager.
1- 31
Derechos Reservados de TechEra e-Learning
Administracin de la Seguridad
El soporte basado en roles para la autenticacin y autorizacin de usuarios La autenticacin de los usuarios cuando la aplicacin cliente crea los stub La lista de control de acceso para componentes que determina que usuarios pueden ser permitidos para invocar el componente
z
1 - 32
Potencialmente, cualquiera en internet podra conectarse y usar su aplicacin. La seguridad es ms importante en este ambiente. EAServer te permite que tu implementes un sistema de seguridad o liberes un sistema de seguridad establecido. La seguridad puede ser aplicada a los package, el componente o a un nivel de mtodo.
1- 32
Derechos Reservados de TechEra e-Learning
Java HTML
COM
IIOP/TDS
PowerBuilder MASP
SQL CORBA
EAServer
1 - 33
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
EAServer soporta los siguientes clientes: PowerBuilder Java: JDK 1.22, 1.3 usando un EAServer CORBA-compliant ORB o cualquier otro CORBA-compliant Java ORB; Enterprise Java Bean (EJB) tambin soportado componentes ActiveX usando el EAServer ActiveX proxy C++ usando un EAServer CORBA-compliant ORB o cualquier otro CORBA-compliant C++ ORB Mtodos como stored procedures (MASP); cualquier database-aware lenguaje/herramienta que pueda ejecutar procedimientos almacenados ASE clientes HTML ultraliviano usanod una extensn de Web server (como el PowerDynamo) CORBA (un cliente CORBA es una aplicacin escrita lenguaje con mappings CORBA) EAServer soporta los siguientes componentes: PowerBuilder custom class user objects (CCUOs) Java: Java Development Kit (JDK) 1.1 o superior; soporta la especificacin EJB (1.0, 1.1, 2.0) ActiveXs (solo Windows NT o Windows 2000): la interfaz MTS soportada permite mover fcilmente los componentes almacenados en el Microsoft Transaction Server (MTS) al EAServer C, CORBA C++
1- 33
Derechos Reservados de TechEra e-Learning
Soporta J2EE
EJB 2.0 J2EE applications J2EE Web Applications Object Caching JavaMail electronic mail API Java API for XML Parsing Java Authentication and Authorization Services
1 - 34
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 34
Derechos Reservados de TechEra e-Learning
Package
Componentes
EAServer Manager
1 - 35
Repositorio
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Servidor El Jaguar Manager (un plug-in para el utilitario Java Sybase Central) Componentes Packages (contenedores de componentes relacionados)
Repository (una colecin de archivos leibles que contienen las propiedades de informacin para los componentes) Un conjunto de libreras clases para soportar varios lenguajes/Herramientas ORB y compiladores IDL
El servidor Jaguar acepta requerimientos IIOP porque IIOP es un estndard CORBA. Acepta requerimientos TDS para la compatibilidad dirigida hacia atras con versiones 1.x. el servidor acepta requerimientos HTTP y puede tambin ser usado como un servidor de pginas.
1- 35
Derechos Reservados de TechEra e-Learning
Servidor EAServer
Provee un ambiente de ejecucin para los componentes Maneja los requerimientos de los clientes Instancia los componentes Maneja la seguridad, transacciones, el conection caching, el balanceo de carga y el failover. Definido usando el EAServer Manager El servidor por defecto es nombrado JAGUAR
1 - 36
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
En general, el ambiente en tiempo de ejecucin que almacena los componentes es llamado un servidor EAServer. Se puede crear servidores especficos para diferentes aplicaciones.
EAServer soporta IIOP porque es un estndard CORBA. TDS es soportado para clientes MASP y la compatibilidad con versiones anteriores de EAServer. HTTP tambin es soportado. EAServer puede actuar como un simple Web server.
1- 36
Derechos Reservados de TechEra e-Learning
Iniciando el EAServer
1 - 37
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 37
Derechos Reservados de TechEra e-Learning
1 - 38
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El Jaguar Manager es un Java Sybase Central especial, que maneja los componentes, la seguridad. Esto es una herramienta de administracin. Para los desarrolladores PowerBuilder, algunas de las funcionalidades del Jaguar Manager es ahora localizada en el PowerBuilder IDE via el System Tree y las hojas de propiedades desde los objetos projects.
1- 38
Derechos Reservados de TechEra e-Learning
El EAServer Manager
1 - 39
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Configurar y administrar servidores, packages, y componentes Generar un archivo IDL en un ambiente point-and-click Generar los stubs y los skeletons Define las propiedades de execution-time, como:
z
z z z
Monitorerar la performance en execution-time Configurar los clusters Crear y administrar los connection caches
1- 39
Derechos Reservados de TechEra e-Learning
1 - 40
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 40
Derechos Reservados de TechEra e-Learning
Qu es un Componente EAServer?
1 - 41
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 41
Derechos Reservados de TechEra e-Learning
Qu es un Package EAServer?
Grupo de componentes relacionados Coleccin de componentes que trabajan en conjunto para proveer aspectos de la lgica de negocio para la aplicacin Define un limite de confianza entre los componentes para comunicarse ms fcilmente Unidad de distribucin, que agrupa los recursos de la aplicacin para un fcil despliegue y manejo
1 - 42
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 42
Derechos Reservados de TechEra e-Learning
El Repositorio EAServer
Informacin de la configuracin para cada servidor EAServer Los datos para los packages, componentes y mtodos de la aplicacin
1 - 43
El repositorio es un conjunto de archivos que ud. Puede revisar con un editor de texto.
Los servidores en la misma instancia del EAServer comparten los mismos archivos del repositorio.
1- 43
Derechos Reservados de TechEra e-Learning
Una librera clase/virtual machine para cada lenguaje/modelo soportado por Jaguar Lenguaje / model-specific implementaciones de servicios EAServer Usado para implementar los servicios EAServer en componentes
PowerBuilder
EAServer almacena el virtual machine para PowerBuilder versiones 7, 8 y 9 Los Componentes escritos y desplegados en PowerBulder 7 no necesitan ser recompilados y desplegados.
1 - 44
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 44
Derechos Reservados de TechEra e-Learning
La nueva propiedad del componente indica la versin del PowerBuilder VM para utilizar con el componente.
1 - 45
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Hay una nueva Declarative Component Property definida en EAServer 3.6 y superior para soportar los mltiples PowerBuilder VMs. Esto es com.sybase.jaguar.component.pb.version. Esta propiedad no es presentada para componentes PowerBuilder desplegados desde PowerBuilder 7.x. Si la propiedad no es presentada por defecto en EAServer (Jaguar) para PowerBuilder 7.x VM. Los componentes desplegados desde PowerBuilder 8.0 tiene esta propiedad definida automtica con el EAServer.
1- 45
Derechos Reservados de TechEra e-Learning
Resumen
EAServer provee un framework para desplegar la lgica de la capa media. EAServer provee soporte para el ciclo de vida de los componentes, las conexiones, transacciones, thread, y administracin de la seguridad.
EAServer soporta PowerBuilder, Java, ActiveX, C, C++ , y los componentes Enterprise Java Bean (EJB).
1 - 46
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 46
Derechos Reservados de TechEra e-Learning
Resumen
EAServer soporta clientes PowerBuilder Java, ActiveX, C++, MASP, y HTML. Un package es una coleccin de componentes que trabajan en conjunto con aspectos de la lgica de negocio de la aplicacin. El Jaguar Manager es usado para configurar y manejar los servidores, packages y componentes.
1 - 47
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 47
Derechos Reservados de TechEra e-Learning
1 - 48
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 48
Derechos Reservados de TechEra e-Learning
1 - 49
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 49
Derechos Reservados de TechEra e-Learning
1- 50
Derechos Reservados de TechEra e-Learning
Tpicos
Evento Error Sentencias de Manejo de los Exception Jerarqua del Exception System Class Emitiendo Exceptions Custom Exception Classes
1 - 51
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 51
Derechos Reservados de TechEra e-Learning
Objetivos
1 - 52
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 52
Derechos Reservados de TechEra e-Learning
Evento Error
Todava mantenido para compatibilidad con versiones anteriores Si no hay cdigo en el evento Error, la informacin ser pasada al objeto RuntimeError
DWRuntimeError z OLERuntimeError
z
1 - 53
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Los eventos de Error pueden tambin ser emitidos por un error de comunicacin encontrados en una conexin cliente al EAServer El evento Error todava es contenido en los siguientes objetos:
z z z z z z z
1- 53
Derechos Reservados de TechEra e-Learning
Qu es un Exception?
Los Exceptions son objetos que se activan en alguna condicin o error y son usados para describrir la condicin o error encontrado. Ejemplos:
Referencia a objeto Null z Divisin por cero z Invalido nombre de columna DataWindow
z
1 - 54
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Los errores Standard, como una referencia a un objeto nulo o divisin por cero, son tpicamente emitos por el runtime system. Estos errores podran ocurrir en cualquier parte de la aplicacin y Ud. puede incluir clusulas catch en cualquier script ejecutable para poder controlar estos errores. Manejar un Exception le permite a Ud. disear una aplicacin para que pueda recuperar desde condiciones excepcionales y continuar la ejecucin. Cualquier exceptions que son un descendiente de RuntimeError que Ud. no captura son manejados por el runtime system y puede resultar en la finalizacin de la aplicacin. En PowerBuilder esto es manejado por el evento del Application el SystemError.
1- 54
Derechos Reservados de TechEra e-Learning
1 - 55
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Con la adicin del manejo del exception, los clientes PowerBuilder estn hbiles para capturar los exceptions a travs de los componentes EAServer (CORBA, EJB, PB) y recuperarlo desde estos. Los componentes desarrollados con PowerBuilder pueden tambin definir y emitir sus propios tipos de exception, hacindoles ms consistentes con otros tipos de Componentes EAServer como Java. El manejo del Exception es realizado como los Lenguajes Orientados a Objetos, como Java, C++ y Ada. La implementacin en PowerBuilder es similar a la implementacin del manejo de exception en Java.
Esto significa que Ud. puede manejar los errores de cdigo en cualquier parte de su aplicacin en lugar de un solo evento del error global.
1- 55
Derechos Reservados de TechEra e-Learning
1 - 56
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
TRY Inicia un bloque de cdigo que puede posiblemente emitir uno o varios exceptions que Ud. desee, sin tener el exception que ser enviado al evento SystemError del objeto Application. El bloque TRY puede contener uno o ms sentencias PowerScript. Esto debe ser seguido por uno o ms bloques CATCH o un FINALLY. CATCH Especifica el tipo de exception que Ud. desea capturar explicitamente. El bloque CATCH puede manejar y procesar el exception permitiendo a la aplicacin recuperarse y continuar adelante o esto puede re-emitir el exception.
FINALLY Es una clusula opcional que aparece despus de todos los bloques CATCH dentro del bloque TRY. Los bloques FINALLY son usados para continuar el cdigo que Ud. ejecuta sin tener en cuenta si el bloque TRY gener un exception o no.
END TRY Es usado para indicar el fin de un bloque TRY..CATCH..FINALLY y aparece como la ltima sentencia en el bloque.
1- 56
Derechos Reservados de TechEra e-Learning
Checked Unchecked
1 - 57
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Los PowerBuilder runtime errors son representados por la clase jerarquica RuntimeError. El RuntimeErrors puede ser capturado en bloque de cdigo TRY-CATCH-FINALLY-END TRY. No es necesario declarar donde una condicin de error pueda Ocurrir (PowerBuilder lo hace por Ud. desde donde un error de Sistema puede suceder en cualquier momento que la aplicacin que se est ejecutando). Estas exception classes son conocidas como Unchecked exceptions.
El system class Exception puede ser usado como una clase ancestro para tipos de exception definidos por usuario. Es la clase raz para todos los exceptions checked. Checked exceptions son exceptions definidos por el usuario que deben ser capturados en un error de TRY-CATCH, o debe ser declarado en el prototipo de un mtodo cuando emite fuera de un bloque TRY-CATCH.
1- 57
Derechos Reservados de TechEra e-Learning
Manejando un Exception
Double ld_num ld_num = Double (sle_1.text) TRY sle_2.text = string (acos (ld_num)) CATCH (runtimeerror e1) MessageBox("Runtime Error", e1.GetMessage()) FINALLY // Adicione el cdigo de limpieza this.of_cleanup() END TRY MessageBox(Despus", Hemos finalizado.")
1 - 58
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Este es un ejemplo de un bloque TRY-CATCH-FINALLY que captura un system error cuando un argumento arccosine, ingresado por el usuario de aplicacin (en un SingleLineEdit) no est en el rango requerido. Si Ud. no captura este error, la aplicacin terminar. Esto es importante para ordenar su clusula CATCH. Esto ocurrira si la primera clusula CATCH captura un exception de tipo Exception y una subsecuente clusula CATCH captura un descendiente del Exception. Desde que ellos se procesan en orden, cualquier exception emitido que es un descendiente de Exception debera ser manejado por la primera clusula CATCH y nunca por el segundo. El compilador PowerScript detectar esta condicin y emitir un error si lo encontr.
1- 58
Derechos Reservados de TechEra e-Learning
Connection z JaguarORB
z
Evento SystemError
1 - 59
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
PowerBuilder proporciona tres capas de manejo de error que pueden ser usados por clientes que se conectan a EAServer:
Un mecanismo, usando bloques try/catch/finally, para el manejo de exceptions emitidos por componentes ejecutndose en EAServer. Todos los errores system y runtime son convertidos en objetos que descienden del tipo RuntimeError. El evento Error en los objetos Connection y JaguarORB para manejar errores que ocurren en el contexto de una conexin EAServer. El evento SystemError de un objeto Application para manejar errores que no han sido capturados por otros mecanismos.
1- 59
Derechos Reservados de TechEra e-Learning
Una aplicacin cliente puede manejar los errores de comunicacin de varias maneras. Por ejemplo, si un cliente se conecta a un servidor y proeba el invocar a un mtodo de un objeto que no existe, el cliente puede desconectarse del servidor, conectarse a un servidor diferente y reintentar la operacin. Alternativamente, el cliente puede mostrar un mensaje al usuario y darle la oportunidad para controlar lo siguiente. Cuando un error ocurre, si el cliente se conecta a un nuevo servidor para reintentar la operacin, esto debe instanciar el objeto remoto del nuevo servidor antes de invocar un mtodo del objeto remoto. CORBA proporciona una manera estndar para que los componentes indiquen el error o warnings. CORBA soporta dos tipos de exceptions:
1.
System exceptions, Un system exception es uno de los erroes estndar levandos por el servidor. Estos exceptions son definidos en la especificacinCORBA. Exceptions definidos por el usuario, un user-defined exception es un error o warning defnido en el IDL del componente. Un exception de usuario es un nuevo tipo de dato que describe un conjunto de elementos de datos que son retornados al cliente cuando el exception es levantado.
2.
1- 60
Derechos Reservados de TechEra e-Learning
GetMessage()
z
SetMessage(newMessage)
Pone un mensaje de error para el tipo de objeto Throwable z Usado para poner un mensaje personalizado en un objeto exception definido por el usuario z newMessage es una cadena conteniendo el mensaje que se desea poner.
z
1 - 61
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 61
Derechos Reservados de TechEra e-Learning
Throwable ancestro de todos los Exceptions z RuntimeError ancestro del Unchecked Exceptions z Exception ancestro del Checked Exceptions
z
1 - 62
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Throwable es la clase ancestro de todos los exceptions, para ambos el Checked y el Unchecked. Los descendientes que crea del Throwable son Exceptions Checked. En la mayora de situaciones Ud. no estara utilizando este tipo de Standard Class User Object. En cambio use el Exception para definir su propia clase Checked Exception. El RuntimeError debe ser utilizado cuando Ud. desea crear una exception Unchecked que no necesita ser capturado por un bloque TRY CATCH. Si no lo captura explcitamente, las Exceptions Unchecked se irn al evento SystemError del Objeto Application dentro de una aplicacin PowerBuilder. El Exception es el ancestro comn para los Exceptions Checked que Ud. crea. Como todas las jerarquas de herencia, definir una clase base de exception proporciona la flexibilidad para hacer cambios y mejoras que sern realizados por todos los descendientes de un solo origen. Este es el tipo de clase que es utilizado para crear clases custom exception para componentes PowerBuilder desplegados al EAServer.
1- 62
Derechos Reservados de TechEra e-Learning
1 - 63
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Seleccionando el exception de la lista permite que Ud. defina un descendiente del PowerBuilder System Class Exception.
1- 63
Derechos Reservados de TechEra e-Learning
Propiedad Propiedadpara para Sostener Sostenerla la sentencia de Error sentencia de Error Funciones Funcionespara para Obtener Obtenery yPoner Poner sentencias sentenciasde deError Error
1 - 64
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
La propiedad text es usado para contener la sentencia de error, la razn por la que ocurri el exception.
El Getmessage() proporciona una interfaz programatica para obtener el valor del texto y debe ser utilizado en lugar de accesar a la propiedad de texto directamente.
El Setmessage() proporciona una interfaz programtica para cambiar el valor del texto. La mejor prctica es llamar este mtodo para cambiar el valor de texto como el mtodo puede tener que ser extendido para aparecer en la propiedad del texto, en lugar de reemplazarlo.
1- 64
Derechos Reservados de TechEra e-Learning
1 - 65
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El Setmessage() puede ser extendido pero no el Getmessage(). Esto es debido a las restricciones del CORBA IDL. El SetMessage() y GetMessage() son mtodos estandard de la clase CORBA IDL Exception.
1- 65
Derechos Reservados de TechEra e-Learning
1 - 66
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
THROW Sentencia usada para emitir un exceptin con cdigo. Debe seguirse inmediamente por un objeto exception vlido dentro de la gerarqua de la clase throwable. Trabaja como una sentencia de RETURN inteligente. Ninguna lnea de cdigo dentro del mtodo que aparece despus de que la declaracin de THROW se ejecuta a menos que el cdigo se contenga dentro de un bloque TRY.
THROWS Clusula definida dentro de un mtodo. Las funciones y eventos soportan la definicin de la clusla THROWS. Su presencia le dice al compilador el tipo de de mtodo del objeto(s) throwable que es permitido para emitir el cdigo que invoca este mtodo. Los exceptions Unchecked (class RuntimeError y sus descendientes) no tienen que ser explicitamente definidos con la clusula THROWS para el mtodo para que ellos puedan ser emitidos por su cdigo. Los exceptions Checked (clase exception y sus descendientes) necesitan ser explicitamente defnidos en las clusulas THROWS para el mtodo.
1- 66
Derechos Reservados de TechEra e-Learning
Mltiples exceptions pueden ser separados por una coma en la clusula throws
1 - 67
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 67
Derechos Reservados de TechEra e-Learning
1 - 68
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Para que el mtodo soporte emitir nuestro exception debemos de definir que el mtodo sea capaz de lanzar el nex_outofstock. Esto es cumplido a travs del campo Throws en la declaracin del prototipo del mtodo. La falla para definir esto resultar en un error de compilacin. Recuerde que estos son Exceptions Checked que deben ser capturados en el mtodo o emitidos fuera del mtodo donde ocurre el exception. Un mtodo puede soportar emitir ms de un exception. Separe cada exception en el campo Throws con una coma.
1- 68
Derechos Reservados de TechEra e-Learning
Resumen
Un Exception es un objeto que puede ser emitido en el evento de condicin excepcional o error. PowerBuilder 9 soporta exceptios Checked y Unchecked. Exceptions Unchecked no tienen que ser manejadas dentro de un script. Exceptions Checked deben ser manejados, un error de compilar resulta si dejo sin verificar y si el mtodo no tiene definido el exception.
1 - 69
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 69
Derechos Reservados de TechEra e-Learning
Resumen
Las sentencias CATCH deben ser ordenadas basadas en su jerarqua de herencia, Iniciando con los descendientes. El bloque FINALLY siempre se ejecuta sin saber si se ejecut un exception o no. El GetMessage y SetMessage pueden ser usados para mostrar o modificar mensajes de errores Los Custom Exception Classes son Standard Class User Objects Tres tipos de Standard Class para escoger:
Throwable ancestro de todos los Exceptions z RuntimeError ancestro de Unchecked Exceptions z Exception ancestro de Checked Exceptions
z 1 - 70
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 70
Derechos Reservados de TechEra e-Learning
Lab 3 1
Crear una clase exception user-defined nex_negative Modificar la signatura de una funcin para emitir un exception Manejar el exception desde un cliente
1 - 71
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 71
Derechos Reservados de TechEra e-Learning
Lab 3
1 - 72
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 72
Derechos Reservados de TechEra e-Learning
Lab 3 Interrogantes
1 - 73
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 73
Derechos Reservados de TechEra e-Learning
Lab 3 Interrogantes
Todos los exceptions emitidos de una funcin deben ser capturados en un Exception Handler. El compilador fuerza esto.
1 - 74
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 74
Derechos Reservados de TechEra e-Learning
1- 75
Derechos Reservados de TechEra e-Learning
El objetivo
Mover desde un Two-Tier a... Multitier
calculate( )
EAServer Loan
1 - 76
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
En este laboratorio previo del captulo, se puede particionar la aplicacin Loan Calculator y separar la lgica de negocio de la interfaz. Ud. Har esto creando un NVO y cree un mtodo en el NVO para que realice el clculo que es realizado presionando el botn. Una vez que la lgica comercial es dividida, esto puede ser distribuida al EAServer. Distribuir la lgica de Negocio al EAServer proporciona un ambiente de escalabilidad con opciones de ayudarte a manejar los connection caches, administrar las transacciones, el pool de instancias, y la seguridad. Distribuir la lgica de negocio tambin le permite reusar la lgica de negocio en otras aplicaciones clientes como Java, C++ y clientes Web.
1- 76
Derechos Reservados de TechEra e-Learning
Tpicos
Modelo de desarrollo de Alto Nivel Procesos de Desarrollo
Definiendo un componente EAServer z Desplegando un Componente EAServer z Conectndose al EAServer z Generando un Proxy z Inicializando el Proxy z Invocando mtodos de un componente EAServer
z
1 - 77
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 77
Derechos Reservados de TechEra e-Learning
Objetivos
1 - 78
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 78
Derechos Reservados de TechEra e-Learning
Este es un modelo de desarrollo de alto nivel que puede ser familiar para el trabajo en un ambiente two-tier. Aunque un ambiente multitier con EAServer difiere del ambiente two-tier, Ud. Ser capaz de poder usar sus conocimientos actuales. Este curso se enfoca en lo siguiente:
Implementando la lgica de negocio Conectar la lgica de negocio con el origen de datos Combinar la interfaz y la lgica de negocio
1- 79
Derechos Reservados de TechEra e-Learning
Procesos de Desarrollo
Libreras Cliente Libreras del Servidor 1. Define un Componente 2. Deploy al Componente 3. Conectase al EAServer gn_connect = CREATE n_jaguar_connect
l_rc = gn_connect.ConnectToServer()
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Para distribuir la lgica de negocio desde el cliente al Jaguar y entonces llamar la lgica de negocio almacenada en el Jaguar, Ud. Puede seguir este proceso simple. PowerBuilder proporciona wizards para ayudarte con estos pasos. Una vez que se est familiarizado con este proceso, te puedes mover a un escenario ms complejo como la llamadas de entre componentes y configurar a los componentes para las transacciones, que son cubiertas en mdulos posteriores. En este tiempo, se tiene que focalizar en este simple proceso para dominar los conceptos bsicos. Cada paso incluye una serie de sub pasos e informacin adicional que es especificada en la Gua de Tareas.
1- 80
Derechos Reservados de TechEra e-Learning
1 - 81
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1) Una librera (PBL) que contendr su componente o componentes. 2) Uno o ms custom classes que se intent desplegar como componentes 3) Un objeto project con la informacin de despligue
Hay EAServer Component wizards en varias pginas del dilogo New . Dependiendo donde se encuentre determine que wizard utilizar.
1- 81
Derechos Reservados de TechEra e-Learning
1 - 82
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Este EAServer Component wizard en el tab page Target crea las 3 piezas necesarias
z z
2) Un custom class user object vacio que debe ser personalizado para contener la funcionalidad que se desea desplegar. 3) Un objeto project con propiedades que tu especificas.
El EAServer Component wizard en el tab pate PB Object asume que tu tienes un target y solo crear los pasos 2 y 3 de arriba
The EAServer Component wizard en el tab pate Project asume que tienes un target PBL y un custom class user object. Esto simplificar crear un objeto project para desplegar el componente o componentes que tu especifiques.
1- 82
Derechos Reservados de TechEra e-Learning
1- 83
Derechos Reservados de TechEra e-Learning
Cuando presionas click en el icono Deploy en el objeto project, el objeto project despliega el NVO al EAServer y crea los skeletons en el servidor. El EAServer Component wizard crea un objeto project para ti automticamente. Ud. Tambin puede crear el objeto project usando el EAServer Component wizard en el tab Project. Una vez que el objeto es desplegado al EAServer, deberas estar hbil para ver esto en el Jaguar Manager (se puede necesitar refrescar el Jaguar Manager).
1- 84
Derechos Reservados de TechEra e-Learning
Conectndose al EAServer
El Connection Object wizard crea un objeto connection para que te puedas conectar a un servidor EAServer. Deberas estar hbil para ver el nuevo objeto connection en el System Tree despus presionas el botn Finish en el wizard. El Connection Object es un objeto no visual de PowerBuilder (CCUO) Todo esto sucede en las PBLs del lado del cliente.
1- 85
Derechos Reservados de TechEra e-Learning
Conectndose al EAServer
// Instanciando el objeto connection gn_connect = CREATE n_jaguar_connect // Conectarse al Jaguar ll_rc = gn_connect.ConnectToServer() IF ll_rc <> 0 THEN MessageBox (la conexin al EAServer fall", & ll_rc) return END IF
1 - 86
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Se debera instanciar el objeto connection despus de que este fue definido por el Connection Object wizard. Despus de instanciar el objeto, llamar a la funcin ConnectToServer( ) para conectarse al EAServer. El objeto connection y conectarse al EAServer son anlogos a un objeto transaction que se conecta a un base de datos. Como operaciones de conectarse y desconectarse a una base de datos, existe un mtodo DisconnectServer() para complementar el mtodo ConnectToServer().
1- 86
Derechos Reservados de TechEra e-Learning
TRY l_rc = gn_connect.ConnectToServer() CATCH ( CORBAcommfailure ccf ) MessageBox("corbacommfailure Caught", & "ConnectToServer caught: " +& ccf.getMessage() ) l_rc = 998 CATCH ( CORBASystemException cse ) MessageBox("CORBASystemException Caught", & "ConnectToServer caught: " + & cse.getMessage() ) l_rc = 998 END TRY
1 - 87
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Revisn: Volver a llamar, el PowerBuilder Provee 3 capas de manejos de errores que puede ser usado por los clientes para conectarse al EAServer:
Un mecanismo, usando bloques try/catch/finally, para manejar excepciones thrown por componentes ejecutndose en EAServer. Todos los errores de sistema o en tiempo de ejecucin son convertidos en objetos que descienden desde el tipo RuntimeError.
El evento Error en el Connection y el objeto JaguarORB para manejar errores en el contexto de una conexin EAServer. El evento SystemError en el objeto Application para manejar los errores que no tienen que ser capturados por otros mecanismos. Este slides ilustra usando los bloques try/catch en un manejo estndar del exception El siguiente slide ilustra usando el evento Error de un objeto Connection
1- 87
Derechos Reservados de TechEra e-Learning
1 - 88
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
En este ejemplo, asume un standard class user object n_jaguar_connect, que descienden del tipo connection que fue creado. Este tiene una funcin of_logError que registra la informacin del error. Nota: este mtodo para manejar el error y el uso del evento SystemError ambos son mantenidos para compatibilidad con versiones anteriores. El mtodo del bloque de try/catch es preferible ser usado por los desarrolladores.
1- 88
Derechos Reservados de TechEra e-Learning
Use el EAServer Proxy wizard en el tab Project para definir un objeto project que pueda crear un proxy. Este wizard no crea el proxy por si mimos. Esto crea el objeto project que debes de desplegar para generar el proxy. El Proxy estn en el lado del cliente. Hace pensar al cliente que el objeto est localmente.
1- 89
Derechos Reservados de TechEra e-Learning
1 - 90
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El wizard del proxy tendr que seleccionar todos los componentes para los cuales deseas crear proxies. Tu puedes seleccionar el package entero o solo algunos.
1- 90
Derechos Reservados de TechEra e-Learning
1 - 91
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 91
Derechos Reservados de TechEra e-Learning
1 - 92
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Una vez que el objeto project es definido, click en el botn Deploy para generar el proxy. Tu puedes ver el nuevo proxy en el System Tree y el Library painter.
1- 92
Derechos Reservados de TechEra e-Learning
Inicializando el Proxy
// Inicializando el proxy ll_rc = gn_connect.CreateInstance(in_rules, & SurfsideVideoPB/n_businessrules" ) IF ll_rc <> 0 THEN MessageBox (Fall el CreateInstance ", ll_rc) return END IF
1 - 93
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 93
Derechos Reservados de TechEra e-Learning
Nota: se debe necesitar un bloque try.. Catch block si cualquier exception fue levantado. Ud. debe estr dispuesto a ver el proxy exceptions en el System Tree, Cuando Ud. despliega el Proxy project
1 - 94
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Despus el proxy es instanciado, se puede invocar los mtodos del componente usando la notacin familiar <object>.<method>.
1- 94
Derechos Reservados de TechEra e-Learning
1 - 95
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
La programacin Drag and drop est disponible desde el System Tree. Localice el proxy en el System Tree y abra las funciones. Localice el mtodo que deses para llamar y entonces drag and drop y sueltalo en el cdigo del objeto window. Podrs modificar este cdigo para usarlo con tu variable usando la notacin familiar<object>.<method>.
Si tienes el autoscripting habilitado, (Design | Options) desde el men principal de PowerBuilder y tienes que habilitar After a dot include .. Methods entonces digitar la variable y despus del punto esperar un momento y aparecern los mtodos disponibles para la seleccin.
1- 95
Derechos Reservados de TechEra e-Learning
Invocacin de Mtodos
Client Object 3) Invoca el Mtodo Stub Object 2) CreateInstance( ) ORB ORB EAServer provides Skeleton PowerBuilder provides Implementation Object
1) ConnectToServer( )
1 - 96
IIOP
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Si cualquier caja no est creada o si cualquier lnea entre las cajas no est establecida, la invocacin del mtodo fallar. Use este diagrama como un checklist para asegurarte que tienes establecido cada objeto y todos los enlaces entre los objetos.
1- 96
Derechos Reservados de TechEra e-Learning
Resumen
Los Wizards te ayudan a crear los Componentes EAServer, los objetos connection, y los projects para desplegar componentes y generar proxys
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1 - 97
1- 97
Derechos Reservados de TechEra e-Learning
calculate( )
EAServer Loan
1 - 98
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Seguir el Libro de Laboratorio para completar el laboratorio. El Libro de Laboratorio proporciona referencias especificas a las secciones en la Gua de Tareas, para la documentacin de PowerBuilder, y/o la documentacin de EAServer para ayuda adicional.
1- 98
Derechos Reservados de TechEra e-Learning
Laboratorios Opcionales
Lab 4-2 (Opcional): Usando un Servidor Remoto Lab 4-3 (Opcional): Administrando el mantenimiento Lab 4-4 (Opcional): Depurando un Componente Remoto
1 - 99
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Seguir el Libro de Laboratorio para completar estos laboratorios adicionales. Ud. puede realizar estos laboratorios en cada orden. Segn su inters. El Libro de Laboratorio proporciona referencias a la Gua de Tareas, la documentacin de PowerBuilder, y/o la documentacin de EAServer para ayuda adicional.
1- 99
Derechos Reservados de TechEra e-Learning
Lab
Llamar al mtodo
double ld_amount, ld_payment, ld_interest = 6.625 int li_months ld_amount = Double ( sle_amount.text ) li_months = integer( ddlb_months.text ) try ld_payment = in_loan.calculate(ld_amount, li_months) catch (nex_negative e1) MessageBox(Captura un Exception ", e1.getMessage()) end try sle_payment.text = string ( ld_payment )
1 - 100
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 100
Derechos Reservados de TechEra e-Learning
1- 101
Derechos Reservados de TechEra e-Learning
El objetivo
1 - 102
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 102
Derechos Reservados de TechEra e-Learning
Tpicos
El ciclo de vida de un Componente EAServer Eventos del ciclo de vida en EAServer Diseo de componentes Stateful Versus Stateless El Instance Pooling
1 - 103
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 103
Derechos Reservados de TechEra e-Learning
Objetivos
1 - 104
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 104
Derechos Reservados de TechEra e-Learning
Desactivacin
No
Destruccin Desactivacin
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 105
Derechos Reservados de TechEra e-Learning
1 - 106
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
En una aplicacin de alto volumen, como un ambiente WebOLTP, la instanciacin y destruccin de componentes pueden ser operaciones caras que degraden la performance de su aplicacin. El objetivo debe ser minimizar ambos el nmero de instancias y la cantidad de tiempo de una instancia de componente ligado a un cliente, y para que no pueda ser accesado por otros clientes. EAServer proporciona caractersticas que te permiten tener un pool de instancias de componentes y administrar el ciclo de vida de los componentes para obtener una mejor performance para tu aplicacin.
1- 106
Derechos Reservados de TechEra e-Learning
Facilidades
El Instance pooling z Soporte de componentes Stateful y stateless
z
Beneficios
Minimiza el nmero de objetos creados y destruidos z Maximiza la comparticin y reuso de recursos z Minimiza la posibilidad de que un cliente monopolice un recurso del servidor
z
1 - 107
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El ciclo de vida EAServer se refiere a cuando un componente es instanciado, cuando esto es destruido, cuanto tiempo es ligado a un cliente, y si el componente puede ser reusado. Como establecer una conexin a una base de datos es un proceso largo y debe manejarse en un servidor, el instanciar un objeto es tambin un proceso que consume tiempo y debe ser manejado para la performance.
1- 107
Derechos Reservados de TechEra e-Learning
Un componente puede implementar los eventos del Ciclo de Vida del EAServer
Constructor z Activate z Deactivate z CanBePooled z Destructor
z
1 - 108
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El servidor EAServer llama a estos eventos en el momento apropiado en el ciclo de vida de los componentes. Esto le d una oportunidad para la realizacin de cualquier lgica necesitada, como la inicializacin. El EAServer Component wizard define estos eventos para t. Si tu estas convirtiendo un objeto de negocio existente a un componente EAServer, Ud. tiene que declarar estos eventos y asignarle el event ID apropiado. Considerar adicionar un componente ancestro EAServer. Vea en la seccin Definiendo un Componente EAServer Ancestro en la Gua de Tareas para ms detalles.
1- 108
Derechos Reservados de TechEra e-Learning
Constructor
Invocado cuando el componente es inicialmente creado (primer mtodo llamado) z El evento constructor es estndar para cualquier custom class user object (CCUO)
z
Activate
Invocado cuando el componente es ligado al cliente z Usado para (re)inicializar las instancias con datos especficos
z
Deactivate
Invocado cuando el componente es desligado del cliente z Usado para liberar recursos
z
1 - 109
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Si el componente usa recursos como un manejo de archvos, liberar el manejo en el evento Deactivate. Instanciar variables en el componente puede ser inicialzado en el evento Activate.
1- 109
Derechos Reservados de TechEra e-Learning
CanBePooled
Invocado justo despus del Deactivate z Invocado para determinar si la instancia puede ser usado
z
Destructor
Invocado cuando el componente es destruido z El evento destructor es estndar para cualquier CCUO
z
1 - 110
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Evento CanBePooled :
Este evento es llamado solo cuando la opcin instance Pooling es desactivada. si el evento retorna 1, entonces la intancia es reusada.
El EAServer Component wizard no declara automticamente esto para ti. Tu debes de insertar un evento y asignarle el event ID apropiado. Ver la Gua de Tareas para ms detalles.
1- 110
Derechos Reservados de TechEra e-Learning
Estrategias de diseo
Stateful
La instancia permenece ligado al cliente entre llamadas de mtodos Las instancias pueden almacenar estados de informacin El desarrollador es responsable para inicializar la desactivacin La Instancia es automticamente desactivada despus de cada llamada del mtodo. Para cada llamada del mtodo, Ud. no puede asumir que la instancia ser ligada al cliente. El desarrollador es responsable para inicializar la instancia.
Stateless
1 - 111
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Los componentes Stateful son buenos para almacenar informacin sobre el cliente para ser usados en el manejo de una transaccin. Por ejemplo, un componente que ubica una orden puede tener muchos mtodos para permitir al cliente configurar un customer ID, informacin sobre la orden, e informacin sobre cada item de la orden. En esta caso, tu puedes usar componentes stateful para retener la informacin entre la invocacin de mtodos. En muchos casos, sin embargo, un componente no tiene que mantener la informacin entre la llamada de mtodos. Si el componente es stateful, el componente podra ser asignado al cliente por un periodo largo y la performance de la aplicacin se degradara porque el servidor necesita instanciar ms instancias del componente.
1- 111
Derechos Reservados de TechEra e-Learning
Componentes Stateful
Instance Pool
1 - 112
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Componentes Stateful:
Mantener la informacin sobre un cliente entre la invocacin de mtodos Almacena la informacin en propiedades (variables de instancia) Exponga los mtodos para manipular las propiedades
1- 112
Derechos Reservados de TechEra e-Learning
Componentes Stateful
15000 24
Instance Pool
1 - 113
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Una instancia es removida desde el pool y ligada a un cliente. La informacin sobre el cliente es almacenada en la variable de instancia entre la llamada de varios mtodos. La instancia no puede ser usada por otros clientes mientras est ligado a un cliente especfico.
1- 113
Derechos Reservados de TechEra e-Learning
Componentes Stateful
Como el cliente libera una instancia? Que sucede si el cliente se olvida de liberar la instancia?
Instance Pool
1 - 114
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Una vez que el cliente desactiva o libera la instancia, la instancia retorna al pool y puede ser usada por otros clientes.
1- 114
Derechos Reservados de TechEra e-Learning
Componentes Stateless
Instance Pool
1 - 115
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Los componentes Stateless no pueden acumular o almacenar datos especficos de instancias entre la invocacin de mtodos. Ellos no retienen informacin de una invocacin del mtodo para el siguiente. El cliente necesitar pasar la informacin como parmetros a lo mtodos en cada uso o usar algn tipo de almancenamiento persistente para mantener los estados de informacin.
1- 115
Derechos Reservados de TechEra e-Learning
Componentes Stateless
Instance Pool
1 - 116
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Con un componente stateless, se asume que la instancia es retornada al pool, la instancia es desactivada y retornada al pool de instancias inmediatamente despus de cada llamada al mtodo. Esto limita la cantidad de tiempo a la instancia de estar ligado a un cliente. Dos invocaciones de mtodos usando el mismo proxy puede ser servidas por diferentes instancias.
in_customer.getData( ) in_customer.save( )
1- 116
Derechos Reservados de TechEra e-Learning
Componentes Stateless
Instance Pool
1 - 117
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 117
Derechos Reservados de TechEra e-Learning
Stateful
Las instancias son ligados a los clientes por largos periodos z El servidor tiene iniciadas ms instancias z Las instancias son reusadas poco frecuentemente z El servidor requiere ms recursos, limitando la escalabilidad
z
Stateless
Las instancias son ligados a clientes por periodos cortos z El servidor tiene iniciado pocas instancias z Las instancia son reusadas ms frecuentemente z El servidor requiere pocos recursos
z
1- 118
Derechos Reservados de TechEra e-Learning
1- 119
Derechos Reservados de TechEra e-Learning
El Instance Pooling
Permite a una sola instancia de un componente para sucesivamente servir a mltiples clientes La instancia es removida del pool cuando es ligado al cliente(activated) La instancia retorna al pool cuando se desliga del cliente (deactivated)
Instance Pool
1 - 120
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El pool de instancias es similar al pool de conexiones. Crear una conexin fsica para una base de datos o inicializar una instancia fsica de un componente es una operacin que consume bastante tiempo que degrada la performance. El pool de instancias reduce el nmero de tiempo que el EAServer debe fsicamente crear y destruir una instancia de un componente. El objetivo es reducir el nmero de objetos instanciados. Los Beneficios de esto incluyen: Mejor escalabilidad Compartir el nmero limitado de instancias por muchos clientes Improvisar la performance en un ambiente impredecible
1- 120
Derechos Reservados de TechEra e-Learning
1 - 121
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 121
Derechos Reservados de TechEra e-Learning
1 - 122
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Esta diapositiva muestra la hoja de propiedades de un objeto project que despliega un NVO al EAServer. Se puede activar la opcin instance pooling en la hoja de propiedades. Por defecto soporta el instance pooling. Nota: muchas propiedades que se configure (como este) pueden tambin ser configurado en el Jaguar Manager. Sin embargo, si tu configuras enel Jaguar Manager, la propiedad deber sobreescribirlo en el siguiente tiempo que despliegues desde PowerBuilder. El lugar apropiado para poner estas configuraciones es en la hoja de propiedades de PowerBuilder.
1- 122
Derechos Reservados de TechEra e-Learning
Propiedad Timeout
1 - 123
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Esta hoja de propiedad es mostrada desde el painter del objeto Project in PowerBuilder La propiedad Timeout permite configurar un periodo mximo del tiempo que una instancia puede ser ligada a un cliente. Cuando el timeout expira, el EAServer desactiva la instancia desde el cliente. Vea la documentacin para ms informacin.
1- 123
Derechos Reservados de TechEra e-Learning
Si el componente es stateless, entonces el componente es desactivado despus de cada llamada del mtodo Si el componente es stateful, entonces el desarrollador debe llamar a los mtodos primitives para desactivar las instancias Si la propiedad Timeout es fija y expira
1 - 124
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Los componentes Stateless son desactivados automticamente al final de cada invocacin. Los componentes Stateful permanecen ligados al cliente hasta que una funcin SetComplete( ) o SetAbort( ) del objeto TransactionServer es llamado. Si un state primitive no es llamado, la instancia no es desligada del cliente. Si el cliente cierra, la instancia queda huerfana. Considere configurar la propiedad Timeout para los componentes stateful. Despus que el tiempo expire, el EAServer desactiva el componente.
1- 124
Derechos Reservados de TechEra e-Learning
El objeto TransactionServer provee state primitives (funciones) Los state primitives son llamados antes de que el mtodo sea retornado para:
z z
Llamar al engine del Jaguar execution-time para desactivar la instancia Verifica si la transaccin debe ser satisfactoria o fallida*
1 - 125
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 125
Derechos Reservados de TechEra e-Learning
TransactionServer Primitives
Mtodos TransactionServer:
SetComplete( ) Desactiva el componente z SetAbort( ) * Desactiva el componente z EnableCommit( ) * No desactiva el componente z DisableCommit( ) * No desactiva el componente
z
Ejemplo
// el mtodo ejecuta la lgica de negocio //Llama al EAServer para desactivar la //instancia its_jag.SetComplete() return
El TransactionServer es un objeto que debera ser creado en el evento Activate. El TransactionServer almacena la informacin sobre el componente. Se usa los state primitive en la interfaz para el control del ciclo de vida para obtener y configurar la informacin en el TransactionServer. El TransactionServer puede almacenar la informacin de la transaccin como la informacin del ciclo de vida.
1- 126
Derechos Reservados de TechEra e-Learning
Ejemplo 1
Instance Pool
1 - 127
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Se puede llamar a la funcin SetComplete( ) desde la funcin calculate( ). Se puede tambin crear otra funcin que debera simplificar la llamada a la funcin SetComplete( ). El cliente podra hacer muchas interacciones llamando al setAmount( ), setMonths( ), y calculate( ) almacenadas en la misma instancia. Entonces se podra llamar a estas otras funciones que deberan llamar a SetComplete( ) para finalizar la liberacin de la instancia.
1- 127
Derechos Reservados de TechEra e-Learning
Ejemplo 2
1 - 128
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 128
Derechos Reservados de TechEra e-Learning
Execute method
Instantiate Constructor
si si no CanBe Pooled no Pooling
EnableCommit( ) / DisableCommit( )
1 - 129
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El soporte de Pooling incluye el checkbox y el evento CanBePooled. Si Pooling es seleccionada, la instancia es automticamente reciclada y el evento CanBePooled no es llamado. Si el Pooling checkbox es desactivado, entonces el evento CanBePooled es llamado. Si el mtodo retorna 1, entonces la instancia es reciclada o pooled. si el mtodo no retorna 1, entonces la instancia no es reciclada y esto es destruida. El checkbox Automatic Deactivation determina si el componente es stateless o stateful. Si el componente es stateless (seleccionado), entonces la instancia es deslgada del cliente y verificada para ser reciclada. Si el componente es stateful, entonces el componente determina cuando esto es desligado por la llamada a un state primitive.
1- 129
Derechos Reservados de TechEra e-Learning
n_order n_order_items
1 - 130
Add( )
Add( )
n_cart
PlaceOrder( )
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 130
Derechos Reservados de TechEra e-Learning
Resumen
El ciclo de vida de un componente refiere a como las instancias son creadas, ligados a un cliente, desligados de un cliente y destruidos. Los componentes stateless son desactivados en el retorno del mtodo. Los componentes stateful permanecen ligados al cliente. El desarrollador del componente es responsable de desactivar un componente usando los state primitives.
1 - 131
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 131
Derechos Reservados de TechEra e-Learning
Lab 5-1: Adicionando Eventos EAServer a un Custom Class User Object Lab 5-2: Escribiendo al EAServer Log
z z z
Adicione la capacidad de anotar el error a n_loan Ver el mensaje en el server.log Adicione un command button Deactivate Escenario 1: Stateful Primera llamada, segunda llamada Escenario 2: Stateful Cliente A desactiva, pooling, no pooling Escenario 3: Stateless / pooling Primera llamada, segunda llamada Escenario 4: Siga su curiosidad
1 - 132
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 132
Derechos Reservados de TechEra e-Learning
Lab 5 Preguntas
Preguntas? Preguntas a los alumnos sobre el Lab 5-3
1 - 133
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 133
Derechos Reservados de TechEra e-Learning
1- 134
Derechos Reservados de TechEra e-Learning
El objetivo
Cliente
EAServer
GetData( )
Save( )
Customer
1 - 135
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 135
Derechos Reservados de TechEra e-Learning
Tpicos
Qu es un Connection Cache? Instalando un Connection Cache Obteniendo una conexin de la base de datos Trabajando con DataWindows en un ambiente Distribuido
Sincronizacin de los DataWindow z Recuperando un DataWindow en un Componente EAServer z Actualizando un DataWindow en un Componente EAServer
z
1 - 136
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 136
Derechos Reservados de TechEra e-Learning
Objetivos
1 - 137
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 137
Derechos Reservados de TechEra e-Learning
El Connection Management
Connection Cache
El Connection Manager
1 - 138
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
EAServer te permite que establezcas un pool de conexiones a varias base de datos. Cuando un componente necesita una conexin, esto pregunta al Connection Manager para esto. El Connection Manager provee una conexin desde el pool si existe uno, o establece una nueva conexin fsica si no hay conexiones disponibles en el pool. Cuando un componente libera una conexin, el Connection Manager retorna la conexin al pool pero no se desconecta de la base de datos.
1- 138
Derechos Reservados de TechEra e-Learning
Qu es un Connection Cache?
Un pool de conexiones disponibles para una base de datos especfica Todas las conexiones en un cache comparten:
z z z
1 - 139
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Todas las conexiones en un cache comparten el mismo user ID, password, base de datos, y libreras de conectividad. Sin embargo, muchas aplicaciones WebOLTP pueden asignar usuarios a los grupos y crear connection caches sobre estos grupos. En estos casos, se puede obtener grandes beneficios desde un connection cache.
1- 139
Derechos Reservados de TechEra e-Learning
Mejora la performance
z
Elimina la necesidad de crear una configuracin a una conexin cuando es requerida Permite a los servidores EAServe servir a cientos de clientes usando solo unas pocas conexiones a la base de datos Establece un nmero mximo de conexiones en un ambiente impredecible
Mejora la escalabilidad
z
1 - 140
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 140
Derechos Reservados de TechEra e-Learning
1 - 141
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Nota: vea en el Task Guide y el captulo 24 Using Connection Management, en el EAServer Programmers Guide para detalles de implementacin. La documentacin Online para este libro est disponible cuando el EAServer es ejecutado desde la siguiente URL: http://localhost:8080/docs/jagpg/main.htm hay una manera para especificar un nmero mnimo de conexiones que el EAServer debera establecer al inicializarse? Respuesta: No hay una propiedad en el Jaguar Manager que permite especificar un nmero mnimo de conexiones al EAServer cuando se inicializa. El EAServer provee eventos que pueden ser codificados. Hay un evento Start que el cual se puede especificar un nmero fijo de conexiones. Tu puedes codificar el evento en C en este tiempo.
1- 141
Derechos Reservados de TechEra e-Learning
1- 142
Derechos Reservados de TechEra e-Learning
1- 143
Derechos Reservados de TechEra e-Learning
1- 144
Derechos Reservados de TechEra e-Learning
Laboratorios 6
Lab 6-1: Instalando un Connection Cache Lab 6-2: Familiarizarse con la Aplicacin los Los Logos
1 - 145
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 145
Derechos Reservados de TechEra e-Learning
Usa el objeto transaction y Usa la sentencia CONNECT Using <objeto transaction >; CacheName Nombre del cache definido en el Jaguar Manager GetConnectionOption vea la documentacin de PowerBuilder ReleaseConnectionOption vea la documentacin de PowerBuilder UseContextObject Use la opcin YES para administrar las transacciones*
Valores dbparm
z z z z
1 - 146
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 146
Derechos Reservados de TechEra e-Learning
El GetConnectionOption
JAG_CM_FORCE JAG_CM_NOWAIT JAG_CM_WAIT
1 - 147
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Especificar como el EAServer debera comportarse si todas las conexiones en un cache estan siendo usadas. Este parmetro DBParm es aplicado solo cuando un PowerBuilder custom class user object es desplegado como un componente EAServer. Los valores son:
JAG_CM_FORCE (Defecto) asigna y abre una nueva conexin. La nueva conexin no es ubicada en el cache y des asignada cuando la conexin explicitamente o implicitamente es cerrada por el componente. JAG_CM_NOWAIT Falla con un error si no se puede hacer las conexiones. JAG_CM_WAIT No retorna hasta que una conexin est disponible.
1- 147
Derechos Reservados de TechEra e-Learning
1 - 148
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 148
Derechos Reservados de TechEra e-Learning
// Evento Activate
If NOT IsValid(itr_trans) then itr_trans = CREATE transaction END IF Itr_trans.dbms = ODBC Itr_trans.DBParm =& UseContextObject=Yes,CacheName=EASDemoDB CONNECT USING itr_trans; If itr_trans.sqlcode <> 0 THEN process error
// Evento Deactivate
//Release the connection Disconnect using itr_trans;
1 - 149
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 149
Derechos Reservados de TechEra e-Learning
1 - 150
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 150
Derechos Reservados de TechEra e-Learning
1 - 151
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 151
Derechos Reservados de TechEra e-Learning
GetChanges( ) SetChanges( )
1 - 152
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 152
Derechos Reservados de TechEra e-Learning
Retrieve( )
1 - 153
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El objeto DataWindow y cualquier dropdown DataWindows no son necesarios en la aplicacin cliente. GetFullState( ) proporciona las definiciones para esto. Sin embargo, el objeto DataWindow debe estar disponible en la librera del servidor si el componente servidor usa la funcin GetFullState().
1- 153
Derechos Reservados de TechEra e-Learning
Update( )
1 - 154
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El datastore en el componente EAServer no necesita ser asignado con un SetFullState( ). SetChanges( ) puede ser aplicado para un datastore vacio. Asignar los datos al DataStore permite al componente trabajar sin el estado de informacin.
1- 154
Derechos Reservados de TechEra e-Learning
Component
Instance Variables Protected: datastore ids_data Transaction itr_trans Activate // Code to get a connection. See Task Guide // Create data store IF NOT IsValid(ids_data) THEN ids_data = CREATE datastore END IF ids_data.dataobject = "d_customers" ids_data.SetTransObject(itr_trans)
Client connects to Jaguar and creates proxy (i.e., Open event) gn_connect = CREATE n_connect gn_connect.ConnectToServer() // check for errors gn_connect.CreateInstance(in_customer, "orderentry/n_customer") // check for errors
Client initiates data retrieval (i.e., Retrieve event) blob lbl_data lbl_data = in_customer.getData ( ) dw_1.SetFullState ( lbl_data )
1 - 155
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Este ejemplo asume que el componente es stateless, y que el componente debera ser reusado. Note que el objeto transaction y el DataStore no necesitan ser recreados. Ellos pueden ser creados y reusados por cada cliente para que la instancia sea ligada. Ud. No necesita realizar la instanciacin y destruccin de estos objetos cada vez se Activa y Desactiva una instancia. Cuando la instancia es retornada al pool, este toma su objeto transaction y datastore con l. Sin embargo, asegurarse para inicializar estos objetos en el evento Activate y liberar todos los recursos en el evento Deactivate. Nota: Se podra tambin reestablecer el DataStore en el evento Deactivate para liberar cualquier dato de memoria.
1- 155
Derechos Reservados de TechEra e-Learning
1 - 156
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 156
Derechos Reservados de TechEra e-Learning
Resumen
Un connection cache es un pool de conexiones disponibles para una base de datos especfica. Usando connection caches mejora la performance y escalabilidad de la aplicacin. Se define un connection cache usando el EAServer Manager. EAServer provee un API para acceder a un connection cache desde un componente
1 - 157
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 157
Derechos Reservados de TechEra e-Learning
GetData( )
Customer
1 - 158
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 158
Derechos Reservados de TechEra e-Learning
EAServer
Save( )
Customer
1 - 159
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 159
Derechos Reservados de TechEra e-Learning
Laboratorios
Lab 6-3:
Examine el cdigo del n_customer para el mtodo getData() z Revise los procesos z Revise solucionando los problemas con los tips del Libro de Laboratorio
z
Lab 6-4
z
1 - 160
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 160
Derechos Reservados de TechEra e-Learning
1- 161
Derechos Reservados de TechEra e-Learning
Tpicos
Qu es una Transaccin? Transacciones en un ambiente basado en Componentes Manejando Transacciones Llamadas entre componentes Los Transaction Coordinators
1 - 162
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 162
Derechos Reservados de TechEra e-Learning
Objetivos
1 - 163
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 163
Derechos Reservados de TechEra e-Learning
Qu es una Transaction?
Una secuencia de sentencias SQL que completan una unidad lgica de trabajo
Cada sentencia SQL realiza parte de una tarea z Todas las sentencias SQL deben ser satisfactorias para que la transaccin sea completa z Si cualquier sentencia falla, todos los pasos previos satisfactorios son deshechos
z
1 - 164
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Ejemplo: Asumir que se desea transferir dinero desde una cuenta de ahorros para una cuenta corriente. Hay dos pasos en este proceso: 1) Debitar desde su cuenta de ahorros. 2) Depositar a su cuenta corriente. Porque ambos pasos son necesarios para que sean satisfactorios, ellos necesitan estar ejecutados en una transaccin. Si el dbito fue satisfactorio, pero el depsito falla, se debera desear desactivar el dbito. Solo si todos los pasos son satisfactorios debera realizar un commit para la transaccin.
1- 164
Derechos Reservados de TechEra e-Learning
transferencia
Ejemplo
Cajero Savings
1. retiro
2. deposito
Checking
3. escribir
Log
Este ejemplo demuestra una funcin de transferencia en una cuenta bancaria. Una transferencia de ahorros a corriente debe satisfacer el dbito y acreditar la verificacin. El root instance coordina la transaccin.
1- 165
Derechos Reservados de TechEra e-Learning
Transacciones 2 Tier
/* Si el Log es parte de la transaccin*/ IF Savings.withdraw()ok THEN IF Checking.deposit()ok THEN IF log.write() ok THEN COMMIT; ELSE ROLLBACK; ELSE ROLLBACK; ELSE ROLLBACK; END IF /* Si el Log es separado de la transaccin*/ IF Savings.withdraw()ok THEN IF Checking.deposit() ok THEN COMMIT; ELSE ROLLBACK; ELSE ROLLBACK; END IF IF log.write() ok THEN COMMIT; ELSE ROLLBACK; END IF TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1 - 166
1- 166
Derechos Reservados de TechEra e-Learning
1 - 167
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
La transaccin en una aplicacin two-tier fue manejada en el cdigo para verificar el cdigo de retorno desde los mtodos y codificar un commit o rollback. Si la lgica cambia requiere un cambio en como la transaccin es manejada, el cdigo tambin necesitar ser cambiado. EAServer permite que definas y cambies la salida de una transaccin a travs del property sheets. Cambiar a la transaccin puede ser hecho tambin a travs de cdigo.
1- 167
Derechos Reservados de TechEra e-Learning
1 - 168
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Se debe usar un Connection Cache en orden para usar el administrador de transacciones del EAServer cuando el EAServer es configurado para usar el Shared Connection transaction coordinator
1- 168
Derechos Reservados de TechEra e-Learning
Demo
1 - 169
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 169
Derechos Reservados de TechEra e-Learning
Manejando Transacciones
1. Determine el soporte de transacciones de los componentes 2. Configurar la propiedad Transaction Support 3. Invocar los state primitive de una transaccin
El EAServer Transaction Manager asegura que los cambios a la base de datos sean realizados o no.
1 - 170
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El Transaction Manger del EAServer asegura que los cambios a la base de datos realizados por la participacin de componentes sean todas guardadas o deshechos. EAServer asegura que todos los componentes participantes en la transaccin usen la misma conexin fsica si el Shared Connection coordinator es seleccionado. Cuando un componente requiere una conexin desde un connection cache, EAServer automticamente asegura que el componente obtenga la misma conexin como otros componentes en la misma transaccin.
1- 170
Derechos Reservados de TechEra e-Learning
Requires Transaction El componente debe ejecutarse en una transaccin. Si hay una transaccin abierta, el componente se ejecuta en este. Si no hay una transaccin abierta, el componente inicializa la transaccin.
New Transaction el componente debe ejecutarse en una nueva transaccin; por consiguiente, esto siempre inicializa una transaccin. Supports Transaction el componente no necesita una transaccin. Si hay una transaccin abierta, el componente se ejecuta en la transaccin, si no hay una transaccin abierta, entonces el componente no crea una transaccin, esto se ejecuta sin una transaccin. Not Supported El componente nunca puede ejecutarse en una transaccin.
1- 171
Derechos Reservados de TechEra e-Learning
1 - 172
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Mandatory los mtodos pueden ser solo invocados por otros componentes que tienen una transaccin excelente. Llamando a este componente cuando no hay transaccin excelente genera un error en tiempo de ejecucin. OTS Style el componente puede manejar las transacciones. Esto puede heredar una transaccin del cliente. Si llam sin una transacicn, el componente puede explcitamente iniciar, guardar, y deshacer transacciones usando una instancia del objeto de servcio de contexto CORBACurrent.
Never los mtodos no pueden ser invocados cuando hay una transaccin excelente. Llamando estos componentes cuando hay una transaccin excelente genera un error en tiempo de ejecucin.
1- 172
Derechos Reservados de TechEra e-Learning
El Root Instance
Usando la tabla en la Gua de Tareas, puede A y B estar siempre en la misma transaccin si ambos son llamados directamente desde el cliente?
Component A
Component B
1 - 173
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 173
Derechos Reservados de TechEra e-Learning
Root Instance
Coordinator
Component A
Component B
1- 174
Derechos Reservados de TechEra e-Learning
Transferencia
2. Depsito
Checking
3. Escribir
Log
Un componente puede tener mltiples posibilidades para las caractersticas de la transaccin (en otras palabras, Requires Transaction y Requires New Transaction pueden ser ambas vlidas). Asegurarse de ver el mayor alcance. Los componentes pueden ser llamados desde otros componentes que pertenecen a una transaccin separada o aplicacin.
1- 175
Derechos Reservados de TechEra e-Learning
1 - 176
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 176
Derechos Reservados de TechEra e-Learning
No Desactiva EnableCommit( )
Falla
SetAbort( )
DisableCommit( )
1 - 177
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Un voto para satisfactorio significa que el rol del componente en la transaccin fue satisfactoria. Algunas otros componentes podra todava causar que la transaccin falle.
un voto para fallar significa que el rol del componente en la transaccin fue insatisfactoria, y sin embargo la transaccin es obligada a fallar.
El diseo de un componente en el EAServer debera ser complementametne encapsulada. El componente debera no necesitar conocer la salida de la transaccin o que otros componentes estn participando en la transaccin. El componente simplemente debera indicar donde ser su participacin en la transaccin que fue satisfactoria..
En el retorno del mtodo, si el Automatic demarcation/deactivation es configurado en TRUE En el retorno del mtodo, despus del SetComplete( ) o SetAbort( )
z Si instancia est participando en una transaccin, despus el root instance guarda la transaccin con el SetComplete( ) o deshace la transaccin con el SetAbort( )
IsInTransaction( ) le permite preguntar si el mtodo actual est ejecutando en el contexto de una transaccin. IsTransactionAborted( ) le permite consultar si la transaccin actual es obligada a deshacerse o estar todava viable.
1- 177
Derechos Reservados de TechEra e-Learning
Satisfactorio o Fracaso
// Proceso parte de una transaccin // its_jag es el objeto TransactionServer ... IF successful Then // satisfactorio its_jag.SetComplete( ) ELSE // fracaso its_jag.SetAbort( ) // Log error return END IF
1 - 178
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
PREGUNTAS: Si una transaccin falla, se tiene que usar la funcin SetAbort( ) otra vez, si es esto fue llamado por otro componente? RESPUESTA: No se necesita llamar a SetAbort( ) para causar que la transaccin falle si otro componente ya haba llamado a SetAbort(). En este caso, porque la transaccin falla, la funcin SetAbort maneja el ciclo de vida del componente y instruye al EAServer para desactivar la instancia.
1- 178
Derechos Reservados de TechEra e-Learning
1 - 179
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 179
Derechos Reservados de TechEra e-Learning
Ejemplo: Suponer que el componente n_cart desea llamar al mtodo Add( ) del componente n_order
this.GetContextService ( & "TransactionServer", its_jag ) its_jag.CreateInstance ( in_order, & "orderentry/n_order" ) in_order.add()
1 - 180
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Usando el shortcut requiere menos cdigo y es ms simple. Sin embargo, si el componente est siempre ubicado en diferentes mquinas, entonces este cdigo no debera funcionar.
1- 180
Derechos Reservados de TechEra e-Learning
Si la transaccin es abortada?
Usar el IsTransactionAborted( ) para verificar si la transaccin pueda ser deshecha El Mtodo del TransactionServer retorna un valor Boolean Ejemplo
in_order.add() //llama al componente IF its_jag.IsTransactionAborted() THEN its_jag.SetAbort()//desactiva el componente return ELSE // continua el proceso de la transaccin END IF
1 - 181
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
PREGUNTA: Tienes que emitir la funcin SetAbort() si ya conoces que la transaccin es fallida? RESPUESTA: No necesitas emitir el SetAbort( ) para decirle al EAServer para abortar la transaccin porque algunos otros componentes participantes en la transaccin votaron para fallar. Tu puedes desear para llamar a SetAbort( ) para asegurarte que el componente es desactivado.
1- 181
Derechos Reservados de TechEra e-Learning
1 - 182
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
EAServer 4 ofrece transaction coordinators: el Shared Connection coordinator, el Microsoft Distributed Transaction Coordinator (DTC), y el OTS/XA Transaction Coordinator, y el JTS/XA Transaction Coordinator. (no mostrado en este pantalla) 1) Para el Shared Connection coordinator, todos los componentes participantes en una transaccin deben compartir una sola conexin fsica a la base de datos. Los componentes participantes utilizan el transaction management service para votar para un xito o falla. Al final de la accin de la transaccin comercial el servicio de administracin de la transaccin usa la informacin proporcionada por los componetnes para decidir donde hace un commit o un rollback la transaccin en la base de datos. 2) EAServer proporciona soporte para usar el Microsoft DTC, que maneja transacciones que usan mltiples conexiones fsicas de la base de datos. El DTC soporta el two-phase commits y requiere la plataforma Wintel (NT, 2000, XP), ODBC, y una base de datos DTC-compliant. 3) La opcin OTS/XA (Object Transaction Service X/Open Architecture Transactions) usa el Transarc Encina transaction coordinator que es creada en el EAServer. El Encina transaction coordinator usa two-phase commit para coordinar las transacciones entre las base de datos mltiples. El OTS/XA transaction coordinator habilita para el control del EAServer basado en transacciones desde un aplicacin cliente EAServer.
1- 182
Derechos Reservados de TechEra e-Learning
Resumen
Una transaccin es una secuencia de sentencias SQL que completan una unidad lgica de trabajo. EAServer provee el manejo implicito de las transacciones. El objeto TransactionServer permite a los componentes influenciar en la transaccin en los que estn participando. Las propiedades transaccionales pueden ser definidas a nivel componente o mtodo.
1 - 183
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 183
Derechos Reservados de TechEra e-Learning
n_order_items
1 - 184
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 184
Derechos Reservados de TechEra e-Learning
Lab 7 Laboratorio
1 - 185
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 185
Derechos Reservados de TechEra e-Learning
1- 186
Derechos Reservados de TechEra e-Learning
El objetivo
Cliente
EAServer
n_order n_order_items
1 - 187
add( )
add( )
n_cart
placeOrder( )
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 187
Derechos Reservados de TechEra e-Learning
Tpicos
Actualizando un componente con una Lista Definiendo un componente ancestro Trabajando todo en conjunto
1 - 188
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 188
Derechos Reservados de TechEra e-Learning
Objetivos
1 - 189
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 189
Derechos Reservados de TechEra e-Learning
PowerBuilder CCUO
?? ?
EAServer Component
1 - 190
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 190
Derechos Reservados de TechEra e-Learning
Actualizando un Componente
Crear grupos de 23 Preparar una lista de items que tienen que cambiar para actualizar su componente a EAServer Compartir su lista con la clase Revisar el checklist en la Gua de Tareas
1 - 191
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 191
Derechos Reservados de TechEra e-Learning
n_cart
n_order
n_order_items
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 192
Derechos Reservados de TechEra e-Learning
n_cart
n_order
n_order_items
1- 193
Derechos Reservados de TechEra e-Learning
Resumen
Los Objetos no visuales Two-tier y distributed requieren cambios para tener funcionalidad en el Jaguar. Use el checklist en la Gua de Tareas cuando actualice un objeto no visual. Use un componente ancestro para el Jaguar.
1 - 194
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 194
Derechos Reservados de TechEra e-Learning
Laboratorio 8
Lab 8-1
z z
z z
Identificar las tareas comunes que un componente EAServer realiza Declare variables de instancias relacionadas a EAServer en un componente ancestro Inserte eventos relacionados a EAServer en un componente ancestro Codifique la funcionalidad tpica de inicializacin en eventos EAServer Identifique las tareas necesarias para actualizar un componente Implementar el EAServer vote-style transaction management Invoque un mtodo de otro componente EAServer
Lab 8-2
z z z
1 - 195
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Identificar las tareas necesarias para actualizar componentes Implementar el EAServer vote-style transaction management Invocar un mtodo en otro componente EAServer
1- 195
Derechos Reservados de TechEra e-Learning
add( )
add( )
n_cart
placeOrder( )
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 196
Derechos Reservados de TechEra e-Learning
Lab 8 Interrogantes
Revisar el cdigo del Lab 8-1 y Lab 8-2 Preguntas / Discusiones?
1 - 197
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 197
Derechos Reservados de TechEra e-Learning
1- 198
Derechos Reservados de TechEra e-Learning
Piense sobre
Cliente Cliente Cliente
Jaguar
getData( )
getData( )
getData( )
1- 199
Derechos Reservados de TechEra e-Learning
Jaguar
getData( )
getData( )
getData( )
ServiceProduct
1 - 200
Product
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 200
Derechos Reservados de TechEra e-Learning
Tpicos
Componentes Shared Componentes Service
1 - 201
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 201
Derechos Reservados de TechEra e-Learning
Objetivos
1 - 202
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 202
Derechos Reservados de TechEra e-Learning
Componentes Shared
Tipo de componente EAServer Puede ser usado por mltiples clientes Permite trabajar con datos persistentes y compartidos Provee acceso conveniente a datos comunes No soporta el instance pooling Bueno para retener los datos relativamente estticos para muchos usuarios Reduce el nmero de conexiones a la base de datos
1 - 203
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 203
Derechos Reservados de TechEra e-Learning
1 - 204
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 204
Derechos Reservados de TechEra e-Learning
Llamar al mtodo refresh( ) desde el getData() si el DataStore es invalido Llamar al mtodo refresh( ) desde otro componente cuando los datos deberan ser refrescados
1 - 205
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 205
Derechos Reservados de TechEra e-Learning
1 - 206
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Este es la hoja de propiedades del objeto project que despliega un componente al EAServer.
1- 206
Derechos Reservados de TechEra e-Learning
Componentes Service
Los Componentes Service realizan procesos internos o proporcionan los servicios comunes como:
z z
Manteniendo las copias comunes de los datos usados Moviendo o replicando datos entre los origenes durante la espera del servidor Maneja los archivos log de las aplicaciones
1 - 207
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 207
Derechos Reservados de TechEra e-Learning
1- 208
Derechos Reservados de TechEra e-Learning
start( )
Llamado cuando el servidor es iniciado Usado para la inicializaicn Llamado inmediatamente despus de completar el mtodo start( ) Realiza un loop por siempre para una tarea, y tiene un periodo de espera especfico. Usado para parar el mtodo run( )
run( )
stop( )
1 - 209
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 209
Derechos Reservados de TechEra e-Learning
1 - 210
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 210
Derechos Reservados de TechEra e-Learning
JagSleep( )
Usado si escribimos en versiones anteriores de PowerBuilder y no tenemos la funcin Sleep( ). Declare una subrutina local external Use libjdispatch.dll como el library
1 - 211
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 211
Derechos Reservados de TechEra e-Learning
Resumen
Los componentes Shared permiten trabajar con datos persistentes y compartidos. Los componentes Shared proveen acceso conveniente a los datos comunes. Los componentes Shared no soportan el instance pooling. Los componentes Service son activados e inicializados cuando el servidor Jaguar es iniciado. Los componentes Service tienen un mtodo run( ) que puede ser ejecutado perpetuamente, independiente de cualquier interaccin con el cliente. Use componentes service para realizar procesos internos y servicios comunes.
1 - 212
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 212
Derechos Reservados de TechEra e-Learning
EAServer
getData( )
getData( )
getData( )
Product
1 - 213
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 213
Derechos Reservados de TechEra e-Learning
EAServer Product
1 - 214
ServiceProduct
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 214
Derechos Reservados de TechEra e-Learning
1- 215
Derechos Reservados de TechEra e-Learning
Tpicos
Ambiente Web / Arquitectura Ambiente de Desarrollo de los Web Target Usando el Editor Web Desplegando el Web Target Llamando componentes EAServer desde un pgina Web 4GL Web Pages
1 - 216
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 216
Derechos Reservados de TechEra e-Learning
Objetivos
1 - 217
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 217
Derechos Reservados de TechEra e-Learning
Browser
EAServer
Corporate Data
1 - 218
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Base de datos
Almacena los recursos Web y los datos. Estos podran combinarse en la misma base de datos. A menudo ellos estn separados en su propia base de datos. Application Server
Extiende la funcionalidad del Web Server. PowerDynamo (incluido en EAServer) es un servidor de pginas que permite crear pginas web dinmicas. Microsoft ASP es otro ejemplo para la creacin de pginas web dinmicas. API Soporta las comunicaciones entre el Web server y el servidor de pginas (PowerDynamo). EAServer Almacena los componentes que pueden procesar la lgica de negocio, el manejo de las transacciones y la seguridad. Los Web Targets de PowerBuilder Es el ambiente de desarrollo integrado para desarrollar pginas Web, las utilidades incluyen la generacin rpida de documentos HTML, rpida generacin de cdigo para el lado del cliente y del lado del servidor, depuracin JavaScript, Wizards para la creacin y despliegue, design time controls y property sheets programming by property. Se puede desplegar las pginas web a sites FTP, a una base de datos en PowerDynamo y sitios Active Server Pages.
1- 218
Derechos Reservados de TechEra e-Learning
1 - 219
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Estos son los tres tipos de soluciones que los negocios desean implementar en el Internet. Como los productos Sybase encajan en las soluciones para estas necesidades comerciales comunes?
1- 219
Derechos Reservados de TechEra e-Learning
HTTP
Web Server
1 - 220
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El primer desafio para muchas compaas es ir a a la Web. Las compaas desean una presencia en Internet, siempre que la presentacia ea limitada para una coleccin de pginas Web Estticas. PowerBuilder 9 permite la creacin de Web Targets. Con los Web Targets, los usuarios pueden crar pginas a travs de un editor WYSIWYG. PowerBuilder Web Targets puede tambin importar pginas web creadas con otras herramientas Web como Microsoft Frontpage y Macromedia DreamWeaver.
1- 220
Derechos Reservados de TechEra e-Learning
Web Server
ASE / ASA
1 - 221
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Para publicar pginas Web dinmicas, PowerDynamo es un servidor de pginas rpido que puede acceder a una base de datos y formatear el contenido dinmico. PowerBuilder te brinda el editor HTML WYSIWYG HTML con soporte para:
Codificar Funcionalidad drag & drop desde el System Tree 4GL Web Pages para la fcil integracin con los componentes EAServer Design Time Controls para los Web DataWindow Property Sheets para habilitar el coding by property
Esto es una solucin Web pura. Sin embargo, la lgica de Negocio escrita en script PowerDynamo o JavaScript no es fcil reusar. El manejo de Transacciones, multithreading, y el soporte de conexin debe codificarse. Esto es perfecto para usar los Componentes EAServer. Generalmente, esto es una buena solucin para aplicaciones que no son transaccionales, stateless, o no interactivos: la publicacin de la base de datos Revisar el perfil del cliente (por ejemplo, frecuencia de millas de vuelo), mostrar la lista de productos y coleccin de datos (por ejemplo, registro en lnea para eventos, seminarios y as sucesivamente).
1- 221
Derechos Reservados de TechEra e-Learning
WebOLTP
Enterprise Application Server
Java HTML
COM HTTP
Web Server
JSP
Soporta WebOLTP de alto volumen, aplicaciones transaccionales. Muchos clientes estn moviendo sus aplicaciones cliente/servidor existente a Web. Estas aplicaciones encajan en esta categora.
Como trabaja la comunicacin? Para clientes no HTML, el cliente se comunica con el EAServer a travs del IIOP. Para clientes HTML, El cliente se comunica con el servidor web a travs del HTTP. El servidor web usa CGI, ISAPI, o NSAPI para comunicarse con PowerDynamo. PowerDynamo se comunica con el EAServer a travs de un Java stub, MASP, o ActiveX. EAServer puede aceptar requerimientos HTTP directamente. Applets ejecutados en una pgina Web pueden conectarse al EAServer directamente a travs del IIOP. Las caractersticas de una aplicacin WebOLTP incluyen : a) Un volumen con muchas conexiones, b) Transaccional, c) Habilidad para manipular los resultados de datos, d) Una necesidad para la encriptacin de datos seguro, e) Habilidad para mantener el estado de informacin, f) Diseo basado en componentes, g) Soporte para clientes heterogneos, y h) Un ambiente de carga impredecible. Ejemplo: Comercio Electrnico, Banca electrnica.
1- 222
Derechos Reservados de TechEra e-Learning
1 - 223
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 223
Derechos Reservados de TechEra e-Learning
Arquitectura
Base de datos 3 4
Servidor de Componentes
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
2. Si la pgina Web contiene un requerimiento para un componente EAServer o un Web DataWindow, la informacin es enviada al Servidor de Componentes. Este es el EAServer 3. El EAServer, a su vez puede necesitar acceder a la base de datos (si un componente tiene una sentencia SQL o la informacin se necesita para refrescar un Web DataWindow). 4. La base de datos retorna la informacin necesaria al Servidor de Componentes. 5. El Servidor de Componentes (EAServer) entonces pasa la informacin al servidor de Pginas la estructura de la informacin. 6. La informacin estructurada es pasada al usuario
1- 224
Derechos Reservados de TechEra e-Learning
1 - 225
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Simplifica la creacin de aplicaciones Web porque te brinda muchos wizards para este desarrollo, as como utilizar objetos de PowerBuilder como los DataWindows, las curvas de aprendizaje utilizando PowerBuilder son menores. Automatiza la configuracin de despliegue(deploy) a travs del wizard de Deployment Configuration. Se especifica el tipo de servidor en la cual se desea ejecutar los archivos Web como: PowerDynamo, Active Server Pages o un file system que puede ser usado por cualquier servidor que se escoja. El Deployment Controllers ajusta / transforma la sintaxis del script del archivo de origen para convertirlo a los requerimientos del servidor Web escogido. Dinmicamente extiende el soporte a los modelos de objetos para proveer un modelo de objeto genrico con herramientas grficas y propiedades de hojas para simplificar la obtencin de las conexiones a la base de datos, integra el Web DataWindows, y los componentes EAServer. Si se sabe que la plataforma escogida es PowerDynamo o Active Server Pages se utiliza las especificaciones de la plataforma ms all del modelo de objetos genrico proporcionado. Automatiza el manejo de los links de los recursos Web. El proceso de construccin para los Web Targets verifica los enlaces entre archivos y reportes de cualquier enlace roto. Un enlace roto es una referencia a un recurso Web que no es localizado en una locacin especfica. Soporta la depuracin para HTML y soporta los lenguajes de codificacin
1- 225
Derechos Reservados de TechEra e-Learning
Arquitectura Abierta
El modelo de objeto Basic Web Target object soporta codificacin para mtlples applications servers Permite el despliegue a mltiples application servers Provee contenido dinmico para implementar el comportamiento usando cualquier script ECMA-compliant :
1 - 226
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 226
Derechos Reservados de TechEra e-Learning
1 - 227
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 227
Derechos Reservados de TechEra e-Learning
Ambiente de Desarrollo
Creando PowerBuilder Web Targets Importando pginas existentes, imgenes y cdigo Usando el Editor Web para crear Pginas Web Usando el Coding Aids en el Editor Web Desplegando los Web Targets
1 - 228
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 228
Derechos Reservados de TechEra e-Learning
Los Web Targets contienen todos los elementos necesarios para crear su website
1 - 229
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Un Web target es una aplicacin Web, que contiene todos los elementos necesarios para construir un Web site, archivos HTML, scripts, imgenes, componentes downloaded, como opciones de configuracin de conexiones a una base de datos, y despliegue. PowerDynamo Web Site, Este wizard crea una base de datos ODBC que deber contener al web target. Esto configura un mapping ODBC para el website, crea la base de datos, publica la base de datos y configura el despliegue por defecto para esta base de datos. Tambin crea un mapping para la URL para acceder a los archivos desde el web server. Web Site, Este wizard simplifica las preguntas para el nombre del web target y crea un target vaco en la ubicacin que se especifique. Este wizard debera ser usado cuando el web target no est bajo el mando de source control y si es un nuevo target (no un proyecto PowerSite existente creado en una versin anterior de PowerSite) JSP Target, Se usa el wizard del target JSP para construir una aplicacin Web y te ayuda a configurar las opciones de despliegue para desplegar una aplicacin Web hacia un application server, como EAServer o Tomcat. Migrate PowerSite 7.1 Project, Use el wizard del Migrate PowerSite 7.1 Project para traer un proyecto de PowerSite a PowerBuilder como un Web target. Se debe mantener una copia accesible a la base de datos del Component Manager en orden para migrar los proyectos PowerSite. Nota: PowerSite fue herramienta para disear pginas Web que vena con el PowerBuilder 7.0 a partir de la versin 8.0 fue integrada a PowerBuilder y ahora es representada por los Web Target. Source Controlled Web, Se usa el wizard del target Source Controlled para abrir un Web target que se encuentra dentro de un sistema de source control.
1- 229
Derechos Reservados de TechEra e-Learning
Grficos existentes, pginas HTML y archivos JavaScript pueden ser importados desde el file system
1 - 230
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Presionar el botn derecho en el Web target donde deseas importar los archivos. Se puede importar uno o ms archivos de un directorio o todo el directorio.
Import Files permite que se pueda seleccionar uno o ms archivos en el Web Target.
Import Folder permite que se puede seleccionar e importar un directorio con todo su contenido. Un flder con el mismo nombre como fue seleccionado debe ser creado en el Web Target.
1- 230
Derechos Reservados de TechEra e-Learning
1 - 231
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Quick Web Page, es usado para poner una pgina rpida en el editor web.
Web Page, es un wizard simple que crea una pgina web simple. El wizard pregunta alguna informacin bsica acerca del cascading style sheet, headers/footers y la imagen para el background. 4GL Web Page, es un wizard ms sofisticado que configura las propiedades del 4GL. La Pgina Web 4GL permite que se pueda declarar la creacin e instanciacin de componentes EAServer, crea variables, maneja errores y otras opciones. Esto deber ser discutido en detalle en este captulo como una manera de acceder a los NVOs de PowerBuilder y otros componentes CORBA y EJB.
Web DataWindow Page, es un wizard sofisticado que consulta al usuario para poner un DataWindow existente en un design time control en la pgina web. Frameset Page, es un wizard que consulta al usuario para crear una pgina HTML frame. El wizard te pide la ubicacin y el nombre de los framesets.
Script, crea un archivo de texto en el web target que contendr el cdigo que haya escrito el usuario (como un archivo JavaScript para ser incluido en una pgina Web).
Cascading Style Sheet, este es el wizard que induce al usuario a crear una hoja de estilo con formato propio para asignarlas a las pginas que se van a crear, como para tener un estndar de desarrollo.
1- 231
Derechos Reservados de TechEra e-Learning
1 - 232
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 232
Derechos Reservados de TechEra e-Learning
1 - 233
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 233
Derechos Reservados de TechEra e-Learning
Configuraciones de Deployment
Las configuraciones de Deployment pueden ser modificadas o adicionadas accediendo a las propiedades del web target Ud. puede tener mltiples configuraciones de Deployment (Dynamo, ASP, basic) El orden de las configuraciones puede ser modificado
1 - 234
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Si se crea un Web Target usando el PowerDynamo WebSite Wizard, una configuracin de deployment fue configurada para el web Target.
Se puede crear configuraciones de deployment adicionales accediendo a las propiedades de los Web Target.
z z z
Para Desplegar un web target es similar a desplegar cualquier objeto objeto project de PowerBuilder. Se presiona el botn derecho en el target en el system tree y se selecciona Deploy desde el men popup.
1- 234
Derechos Reservados de TechEra e-Learning
1 - 235
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 235
Derechos Reservados de TechEra e-Learning
Codificacin Manual (Necesario en versiones anteriores de PowerSite) z A travs de una Pgina Web 4GL (preferido en PowerBuilder 8 y 9)
z
1 - 236
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 236
Derechos Reservados de TechEra e-Learning
1 - 237
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Generate Java stubs en el Jaguar Manager. Se puede generar Java stubs para un componente PowerBuilder. 1.Presionar el botn derecho en el componente o package y seleccionar Generate Stub/Skeleton.
2. 3.
Especificar el directorio que deseas donde el Jaguar escribir los archivos stub. Activar el Check del Compile Java Stubs.
Muchos archivos Java son generados por el EAServer. Estos archivos comprenden el stub y las clases.
1- 237
Derechos Reservados de TechEra e-Learning
1 - 238
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
El DynaScript para inicializar un Java proxy es una declaracin simple de variable y llamada de la funcin .
Si la llamada es satisfactoria, se puede entonces invocar los mtodos del componente. El document.value es DynaScript que permite obtener los valores desde un campo en su pagims web. Por ejemplo, document.value.amount obtiene el valor en el campo llamado amount.
1- 238
Derechos Reservados de TechEra e-Learning
1 - 239
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 239
Derechos Reservados de TechEra e-Learning
1 - 240
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Si se est creando una nueva pgina web, se puede usar el 4GL Web Page Wizard. El Wizard puede acceder a los componentes EAServer que puedes necesitar usar, opciones de depuracin y otras opciones. Si ya hay una pgina web existente, se puede modificar esto para que se convierta en una pgina web 4GL, activando el Checkbox en las propiedades de la pgina la opcin es Enable the 4GL Web Server Side Event Model.
1- 240
Derechos Reservados de TechEra e-Learning
1 - 241
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
La cracin de variables para toda una sesin se ha simplificado con las pginas Web 4GL. En pginas Web no 4GL, las variables son declaradas en cdigo. Las variables Session son creadas llamando a mtodos en el script del servidor. Con 4GL Web Pages, sin embargo, este proceso es simplificado declarando variables en las propiedades de las pginas web.
1- 241
Derechos Reservados de TechEra e-Learning
1 - 242
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
Una vez que las variables son declaradas ellos pueden se ligados a los controles en las pginas Web 4GL. Ligando el el single line edit a la variable session username en este ejemplo, cuando el usuario ingrese algo en el singleline edit en tiempo de ejecucin, la variable contendr lo ingresado. Esta variable entonces puede ser usado en scripts del servidor segn el tiempo de vida especificado para esta variable.
1- 242
Derechos Reservados de TechEra e-Learning
Use el 4GL Web Page Wizard y cuando pregunte por los componentes EAServer, seleccionar todos a los que desea accesar o Acceder al tab EAServer en el Page Properties de un 4GL Web Page. Adicionar los componentes que se desea acceder
STEP 2
Localizar el mtodo en el componente EAServer en el tab Components del System Tree. Use la programacin Drag & Drop para su server script (o simplemente digitar la llamada de la funcin)
1 - 243
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 243
Derechos Reservados de TechEra e-Learning
Revisar
Database 3 4
Component Server
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
2) Si la pgina Web contiene un requerimiento para un componente EAServer o un Web DataWindow, la informacin es enviada al servidor del Componente. Este es el EAServer.
3) El EAServer, puede acceder a la base de datos (si un componente tiene acceso a SQL o la informacin es necesaria publicar en el Web DataWindow). 4) La base de datos retorna la informacin necesaria para el Servidor del Componente 5) El Servidor del Componente (EAServer) entonces pasa la informacin al Servidor de Pginas con la informacin formateada 6) La informacin formateada es pasada al usuario
1- 244
Derechos Reservados de TechEra e-Learning
Resumen
Un Web target es una coleccin de archivos y componentes usados para crear una aplicacin Web que puede representar todo un Web site. Los Web sites Database pueden ser replicados para proveer acceso fuera de lnea o a usuarios conectados ocasionalmente . Los Web targets pueden contener cascading style sheets, imgenes, pginas HTML, Framesets, archivos de cdigo JavaScript y pginas HTML especiales que contienen los componentes DataWindows .
1 - 245
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 245
Derechos Reservados de TechEra e-Learning
Resumen
Se puede invocar los mtodos de los componentes EAServer desde un cliente HTML. Las Pginas Web 4GL simplifican
El cdigo DynaScript es para invocar un mtodo de un componente que usa un Java stub. Generar el Java stub desde el EAServer Manager.
1 - 246
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 246
Derechos Reservados de TechEra e-Learning
Lab 10-1
Crear Stubs/Skeletons para el componente Loan Crear un Web Target para la aplicacin Loan Crear un 4GL Web Page para accesar al mtodo calculate del Componente Desplegar y probar
1 - 247
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 247
Derechos Reservados de TechEra e-Learning
1 - 248
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines
1- 248
Derechos Reservados de TechEra e-Learning