23
Business Components Alejandro Silva ARTech [email protected]

Business Components Alejandro Silva ARTech [email protected] Alejandro Silva ARTech [email protected]

Embed Size (px)

Citation preview

Page 1: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

Business Components Business Components

Alejandro Silva

ARTech

[email protected]

Alejandro Silva

ARTech

[email protected]

Page 2: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

Business componentsBusiness components

Desarrollar aplicaciones mas rápido y fácil.Desarrollar aplicaciones mas rápido y fácil.

Page 3: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

Que son los Business Components ?Que son los Business Components ?

Page 4: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

TransacciónTransacción

• Encapsula lógica

• Provee visualización

• Interacción con el usuario

• Actualización de la BD

• Validación de reglas

• Encapsula lógica

• Provee visualización

• Interacción con el usuario

• Actualización de la BD

• Validación de reglas

Que?Que?

Page 5: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

TransacciónTransacción

Presentación

Lógica de negocios

Acceso a la BD

Que?Que?

Page 6: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

Business ComponentBusiness Component

Que?Que?

Interfase O-O

Lógica de negocios

Acceso a la BD

Page 7: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

Como funciona ?Como funciona ?

Page 8: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

InterfaseInterfase

Como?Como?

Interfase O-O

Lógica de negocios

Acceso a la BD

Page 9: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

InterfaseInterfase

Load(key) Save() Check()

GetMessages() NoErrors() Mode()

(Propiedades)

Como?Como?

Interfase O-O

Page 10: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

InterfaseInterfase

Load(key) Save() Check()

GetMessages() NoErrors() Mode()

(Propiedades)

Como?Como?

Interfase O-O

Page 11: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

Interfase - PropiedadesInterfase - Propiedades

Asigna valor a atributos modificables del objeto

• Obtiene valor de atributos

• Ejemplo• &total = &factura.FacTotal

• For &facLinea in &factura.Factura1

&cantidadItems = &cantidadItems + &facLinea.PrdCant

EndFor

Asigna valor a atributos modificables del objeto

• Obtiene valor de atributos

• Ejemplo• &total = &factura.FacTotal

• For &facLinea in &factura.Factura1

&cantidadItems = &cantidadItems + &facLinea.PrdCant

EndFor

Como?Como?

(Propiedades)

Page 12: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

InterfaseInterfase

Load(key) Save() Check()

GetMessages() NoErrors() Mode()

(Propiedades)

Como?Como?

Interfase O-O

Page 13: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

Interfase - MétodosInterfase - Métodos

• Load(key)• Carga la información relacionada con la clave dada.

• Check()• Procesa el componente sin actualizar la BD.

• Save()• Procesa el componente y actualiza la BD.

• Delete()• Elimina el set.

• Load(key)• Carga la información relacionada con la clave dada.

• Check()• Procesa el componente sin actualizar la BD.

• Save()• Procesa el componente y actualiza la BD.

• Delete()• Elimina el set.

Como?Como?

Load(key) Save() Check()

Page 14: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

InterfaseInterfase

Load(key) Save() Check()

GetMessages() NoErrors() Mode()

(Propiedades)

Como?Como?

Interfase O-O

Page 15: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

Interfase - MétodosInterfase - Métodos

• NoErrors()• Estado del componente.

• GetMessages()• Mensajes de resultado de la ultima operación.

• Mode()• Modo en que se encuentra en componente.

• NoErrors()• Estado del componente.

• GetMessages()• Mensajes de resultado de la ultima operación.

• Mode()• Modo en que se encuentra en componente.

Como?Como?

GetMessages() NoErrors() Mode()

Page 16: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

InterfaseInterfase

• Ejemplo&factura.FacFecha = today()

&factura.CliCod = 1

&facLinea.PrdId = 1

&facLinea.PrdCantidad = 10

&factura.Factura1.Add( &facLinea)

&factura.Save()

If NoErrors()

return

Else

&messages = GetMessages()

EndIf

• Ejemplo&factura.FacFecha = today()

&factura.CliCod = 1

&facLinea.PrdId = 1

&facLinea.PrdCantidad = 10

&factura.Factura1.Add( &facLinea)

&factura.Save()

If NoErrors()

return

Else

&messages = GetMessages()

EndIf

Como?Como?

Page 17: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

Porque es mas fácil y rápido ?Porque es mas fácil y rápido ?

Page 18: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

VentajasVentajas

• Reutilizar lógica de la transacción• Delete cascade• Validación • Control de integridad

• Encapsular reglas del negocio• No es necesario controlar las reglas en todos lados.

• Reutilizar lógica de la transacción• Delete cascade• Validación • Control de integridad

• Encapsular reglas del negocio• No es necesario controlar las reglas en todos lados.

Porque?Porque?

Page 19: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

Caso ICaso I

• Delete en procedures

• Implementación• Control de referencias de integridad• Delete de tablas subordinadas

• Problemas• Duplica lógica

• Mantenimiento

• Falta de funcionalidad

• Delete en procedures

• Implementación• Control de referencias de integridad• Delete de tablas subordinadas

• Problemas• Duplica lógica

• Mantenimiento

• Falta de funcionalidad

Porque?Porque?

Page 20: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

Caso IICaso II

• Actualización en Work Panel

• Implementación• Crear procs – para actualizar la BD.• Validar la lóigica de negocios en eventos

• Problemas• Duplica lógica

• Mantenimiento

• Falta de funcionalildad• Lock optimista

• Actualización en Work Panel

• Implementación• Crear procs – para actualizar la BD.• Validar la lóigica de negocios en eventos

• Problemas• Duplica lógica

• Mantenimiento

• Falta de funcionalildad• Lock optimista

Porque?Porque?

Page 21: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

Caso IIICaso III

• Web services

• Implementación• Crear procedures SOAP – para actualizar la BD.

• Problemas• Duplica lógica de la Tansacción.

• Web services

• Implementación• Crear procedures SOAP – para actualizar la BD.

• Problemas• Duplica lógica de la Tansacción.

Porque?Porque?

Page 22: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

Web ServicesWeb Services

• Presentar el Business Component como Web Service

• Metodos “SOAP”• Load( in:key, out:component, out: messages)• Check( inout: component, out: messages)• Save( inout: component, out: messages)

• Presentar el Business Component como Web Service

• Metodos “SOAP”• Load( in:key, out:component, out: messages)• Check( inout: component, out: messages)• Save( inout: component, out: messages)

Porque?Porque?

Page 23: Business Components Alejandro Silva ARTech silva@artech.com.uy Alejandro Silva ARTech silva@artech.com.uy

demodemo