Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guia de Tareas PBDD10
Guia de Tareas PBDD10
Gua de Tareas
PowerBuilder
Distributed
Developer v10.0
PBDD10
cursos@techeras.com
www.techeras.com
______________________________________________________________________________________________
Lab- 1
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Gua de Tareas
PowerBuilder Distributed
Developer v10.0
2005 TechEra e-Learning
______________________________________________________________________________________________
Lab- 2
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 3
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Procesos de Desarrollo
Procedimientos
En general, Ud. Sigue estos pasos de alto nivel cuando construye objetos
de negocio para ser almacenados en EAServer.
______________________________________________________________________________________________
Lab- 4
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 5
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Iniciando el EAServer
1. Iniciar el servidor EAServer (Start | Programs | Sybase | EAServer
| Jaguar Server).
Una ventana en modo DOS es mostrada, si Ud. vee el mensaje
Accepting connections, el servidor EAServer est ejecutndose y
esperando por sus requerimientos.
______________________________________________________________________________________________
Lab- 6
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 7
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 8
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 9
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 10
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 11
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Conectndose al EAServer
Procedimientos 1. Iniciar el servidor EAServer sino se encuentra iniciado.
Descripcin
Default package
El driver EAServer
<EAServer
server>:<port>
EAServer ser User ID
EAServer server
password
Ejemplo
Finance
Jaguar
Localhost 9000
Jagadmin
______________________________________________________________________________________________
Lab- 12
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 13
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Generando un Proxy
Procedimientos
Ud. puede usar este nombre cuando declara cualquier variable para su
clase proxy. La llamada a la funcin CreateInstance( ) no cambiar.
______________________________________________________________________________________________
Lab- 14
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 15
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Inicializando un Proxy
Procedimiento
Declarando una
variable de
referencia al proxy
Prepend
package name to
component
No
Yes
Loan
Loan
No
Yes
Definicin de la
Clase Proxy
n_loan in_loan
finance_n_loan
in_loan
loan in_loan
finance_loan
in_loan
______________________________________________________________________________________________
Lab- 16
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 17
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
1. Crear
un
objeto
GetContextService().
ErrorLogging
usando
el
mtodo
______________________________________________________________________________________________
Lab- 18
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 19
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
1.
2.
3.
4.
Database
Client Library 11.x
ODBC
JDBC 1.1
OCI 6.x
OCI 8.x
OCI 9.x
DLL
Libjct.dll
Odbc32.dll
The Java class name for the driver
Ociw32.dll
Oci.dll
Oci.dll
Descripcin
Ejemplo
Client
Library 11.0
Sales
ODBC
JDBC 1.1
OCI 7.x /
OCI 8.x
EAS Demo DB V3
//JConnect
jdbc:sybase:Tds:sales:
5000
//JDBC-ODBC driver
jdbc:odbc:LosLogos
tns:LosLogos
______________________________________________________________________________________________
Lab- 21
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 22
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 23
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 24
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Asuma que Ud. Desea recuperar los clientes desde un componente, modificar los
datos en el cliente, y entonces actualizar lo datos desde un componente. Asuma
que el mtodo es llamado save( ).
Esto es una extencin del escenario en la seccin anterior, Recuperando un
DataWindow en un Componente EAServer. Refirase a esta seccin como sea
necesario. Tambin referirse a Proporcionando soporte para la Administracin
de la Transaccin.
Asumiento que Ud. Tiene codificado los eventos Activate y Deactivate y la
funcin de recuperacin de datos, codificar lo siguiente:
1. Declarar una variable TransactionServer.
2. Definir una funcin que tome un argumento blob y retorne un long. El
argumento blob debe tener que ser poblado en el cliente con la funcin
GetChanges( ). Aqu est un ejemplo de declaracin:
long save ( blob lbl_data )
______________________________________________________________________________________________
Lab- 25
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 26
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 27
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Pros
DataWindow
Synchronization
La tecnologa DataWindow
soportada en PowerBuilder,
PowerJ y HTML.
El objeto DataWindow no
tiene que ser instalado en el
lado del cliente. Si la
definicin
del
objeto
DataWindow cambia, la
aplicacin cliente no tiene
que realizar el redespliegue.
ResultSet
Ms estndard y abierto a
la estructura de datos
(CORBA standard).
Puede ser manipulado
desde una variedad de
herramientas.
______________________________________________________________________________________________
Lab- 28
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Cons
No
construye
un
mecanismo para capturar
los cambios hechos en la
aplicacin cliente y enviar
esto
al
componente
EAServer.
______________________________________________________________________________________________
Lab- 29
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Activate
Returns
Type
Long
Long
Long
Event ID
pbm_component_activate
pbm_component_canbepooled
pbm_component_deactivate
CanBePooled
El evento CanBePooled es llamado justo antes del evento Deactivate cuando una
instancia es desligada del cliente. CanBePooled es llamado solo cuando la opcin
Pooling es desactivada. Si el evento retorna un 1, entonces la instancia es
reusada.
// Identificar que este evento dispara en el log
iel_jag.log ( "CANBEPOOLED de "+ this.classname() )
______________________________________________________________________________________________
Lab- 30
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Deactivate
Para cada componente, Ud. Necesita adicionar los eventos Activate, Deactivate,
y CanBePooled para tomar completa ventaja de la funcionalidad de EAServer.:
Manualmente adicionar cada uno para cada custom class user object
(CCUO). Seleccionar la opcin Insert | Event en el painter del User
Object.
Si el CCUOs tiene un ancestro comn, Ud. puede manualmente insertar
los eventos listados en la tabla anterior al ancestro. Los eventos son
entonces disponibles para los descendientes.
Si el CCUOs no tiene un ancestro comn, o si Ud. desea adicionar una
nueva capa especficamente al cdigo relacionado al EAServer, Ud.
puede crear el componente ancestro usando el wizard EAServer
Component. Ud. puede entonces hacer este componente ancestro para un
CCUO existente.
Asuma que un CCUO llamado n_customer no tiene un ancestro (heredado
directamente dede el NonvisualObject system class). Tambin asuma que Ud.
Desea hacer ancestro el n_ancestor para n_customer.
1. Click al objeto n_customer desde el System Tree.
2. Seleccionar Edit Source desde el menu de contexto.
3. Cambiar las dos instancias de NonvisualObject a la nuevo clase ancestro . En
su caso, cambiar NonvisualObject por n_ancestor. Grabar el archivo.
$PBExportHeader$n_customer.sru
forward
global type n_customer from nonvisualobject
end type
end forward
global type n_customer from nonvisualobject
end type
global n_customer n_customer
______________________________________________________________________________________________
Lab- 31
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 32
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
2. Declare una variable de referencia para la clase que Ud. Desea crear.
n_order ln_order
Procedimiento
______________________________________________________________________________________________
Lab- 34
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Not Support
Component Instantiated By
Client
Other intercomponent call
executing in a transaction
Other component not executing in
a transaction
Support
Transaction
Component Instantiated By
Client
Other intercomponent call
executing in a transaction
Other component not executing in
a transaction
Requires
transaction
Requires new
transaction
Transactional Behavior
Do not participate in
transaction
Do not participate in
transaction
Do not participate in
transaction
Transactional Behavior
Do not participate in
transaction
Participate in callers
transaction
Do not participate in
transaction
Component Instantiated By
Client
Other intercomponent call
executing in a transaction
Other component not executing in
a transaction
Transactional Behavior
Begin new transaction
Participate in callers
transaction
Begin new transaction
Component Instantiated By
Client
Other intercomponent call
executing in a transaction
Other component not executing in
a transaction
Transactional Behavior
Begin new transaction
Begin new transaction
Begin new transaction
______________________________________________________________________________________________
Lab- 35
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
o
Poner el tipo de transaction en el EAServer Manager. Ir a la hoja de
propiedades para el componente. Click al tab Transaction.
Use uno de los cuatro State primitives para votar por satisfactorio o falla de la
transaccin. tambin, use un State primitive para indicar si el componente debe
ser desactivado o no. Use la tabla de abajo para seleccionar los State primitive
apropiados.
Vote for success
Vote for failure
Votando para
satisfactorio o
falla
Desactiva
SetComplete( )
SetAbort( )
No Desactiva
EnableCommit( )
DisableCommit( )
______________________________________________________________________________________________
Lab- 36
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Asuma que Ud. necesita un mtodo llamado Stock que captura los precios de
stock y lo hace disponible para una variedad de aplicaciones cliente. Los precios
de stock son recuperados cada 10 minutos desde un servicio externo.
Ud. desea crear un componente service que llamar a un mtodo que obtendr los
stock cada 10 minutos y luego ir a esperar.
1. Defina un nuevo componente EAServer con el wizard EAServer
Component. Cuando le pida el tipo de componente, seleccionar Service
Component como el tipo de componente. Un componente service tiene los
mtodos start( ), run( ), y stop( ).
2. Declare una variable de instancia protected de tipo boolean. Esta variable
permite iniciar y parar el mtodo run( ).
boolean ib_continue = TRUE
service/ServiceProduct
______________________________________________________________________________________________
Lab- 38
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
Notas: el evento Error del objeto connection es disparado siempre que hay un
error de comunicacin, el servidor EAServer envia un exception, o un
componente del servidor envia un exception. Procese el error en este evento y
proceselo apropiadamente.
// evento Error del objeto connection
int li_choice
li_choice = MessageBox ( "Erro de Conexin " &
+ string(ErrorNumber), ErrorText, &
Question!, AbortRetryIgnore! )
CHOOSE CASE li_choice
CASE 1
action = ExceptionFail!
CASE 2
action = ExceptionRetry!
CASE 3
action = ExceptionIgnore!
END CHOOSE
______________________________________________________________________________________________
Lab- 39
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 40
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 41
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines
______________________________________________________________________________________________
Lab- 42
PowerBuilder Distributed Developer v10.0
2005 TechEra e-Learning
Este producto solo puede ser usado para uso personal y no para otros fines