Professional Documents
Culture Documents
Facultad de Ingeniera
Por:
ndice
I.
Importancia....................................................................................................... 3
1.2.
1.3.
2.2.
2.3.
2.4.
2.5.
2.6.
3.2.
3.3.
3.4.
3.5.
Gestin de Reportes........................................................................................ 50
V.
4.1.
4.2.
4.3.
4.4.
4.5.
4.6.
5.2.
5.3.
5.4.
5.5.
Importancia
La tecnologa informtica permite no slo disminuir el papeleo y en general
agilizar las operaciones, sino tambin aumentar la competitividad de la empresa.
Los tiempos actuales han modificado substancialmente la forma de operar de las
organizaciones y ha inducido modificaciones en el quehacer de la tecnologa
computacional dentro de ellas. Algunos de los aspectos que han cambiado son
los siguientes:
Las aplicaciones deben ser desarrolladas ms rpidamente pues los
requerimientos del negocio cambian rpidamente.
La importancia de contar con una buena informacin destaca el
fundamental papel que juegan los sistemas de informacin.
Cada vez es ms importante el poder hacer que la informacin est
disponible en donde se necesita.
A medida que crece la competencia, las organizaciones tienen cada vez
menos recursos disponibles para los proyectos internos.
Con el fin de aumentar la productividad y de facilitar el uso de las
aplicaciones por parte de los usuarios, se requieren interfaces simples e
intuitivas, y que proporcionen un acceso transparente a la informacin.
Cada vez es mayor la tendencia hacia la integracin de los sistemas
evitando las "islas de informacin" en las diferentes dependencias de
una empresa.
Las aplicaciones deben adaptarse al ritmo vertiginoso de desarrollo de la
tecnologa, para que puedan aprovechar sus potencialidades.
1.2.
Terminologa y Conceptos
Cliente:
Una aplicacin que inicia una comunicacin con otra se la califica como Cliente.
Los usuarios finales invocan aplicaciones cliente cuando utilizan un servicio de
red. Cada vez que se ejecuta una aplicacin cliente, esta contacta con el servidor,
le enva una solicitud de servicio y espera la respuesta o resultados del servicio.
Los Clientes interactan con el usuario, usualmente en forma grfica.
Frecuentemente se comunican con procesos auxiliares que se encargan de
establecer conexin con el servidor, enviar el pedido, recibir la respuesta,
manejar las fallas y realizar actividades de sincronizacin y de seguridad.
Servidor:
Un Servidor es un programa que espera peticiones de servicio por parte de un
cliente. El Servidor recibe la peticin del cliente, ejecuta el servicio solicitado y
retorna los resultados al cliente. No existe una interaccin directa entre el
Ms. Ing. Camilo E. Surez Rebaza
Versin Diciembre 2008
Por
esta
razn
se
utilizan
PCs
poderosos,
estaciones
de
trabajo,
Infraestructura de Comunicaciones:
Para que los clientes y los servidores puedan comunicarse se requiere una
infraestructura de comunicaciones, la cual proporciona los mecanismos bsicos
de direccionamiento y transporte. La mayora de los sistemas Cliente/Servidor
actuales se basan en redes locales y por lo tanto utilizan protocolos no orientados
a conexin, lo cual implica que las aplicaciones deben hacer las verificaciones.
La red debe tener caractersticas adecuadas de desempeo, confiabilidad,
transparencia y administracin.
Privilegios y Complejidad:
Debido a que los servidores a menudo tienen la necesidad de acceder a datos,
funciones, o puertos que el sistema operativo protege, el software servidor suele
precisar de privilegios del sistema especiales para poder realizar la tarea para la
cual ha sido creado. Como consecuencia de esto se tiene mucho cuidado para
evitar que los privilegios concedidos al servidor sean aprovechados por los
clientes para obtener permisos especiales. Por ejemplo, un servidor de objetos
que se ejecuta como un programa privilegiado debe contener cdigo para
verificar si un cliente dado tiene permiso para acceder a un objeto en concreto.
El servidor no puede relegar esta funcin sobre el sistema operativo, ya que su
estado privilegiado le sita, en ciertos aspectos concretos, por encima del
sistema. Los programas servidores deben contener cdigo que maneje
situaciones de:
Autenticacin : Verificar la identidad del cliente.
Autorizacin : Determinar si un cliente dado posee permisos para
acceder al servicio que suministra.
Seguridad de datos : Garantizar que la informacin no es revelada, de
manera no intencionada, a clientes sin autorizacin.
Privacidad : Preservar la informacin de un usuario de accesos no
autorizados.
Proteccin : Garantizar que las aplicaciones de red no puedan abusar de
los recursos del sistema.
Los servidores que realizan un intensivo uso de la potencia del procesador o que
manejan grandes volmenes de informacin operan ms eficientemente si
manejan las solicitudes de servicio concurrentemente. La combinacin de
privilegios especiales y ejecucin concurrente, por norma general, hace que los
servidores sean ms difciles de disear e implementar que los clientes.
los cuales se acceden directamente desde una aplicacin cliente. Los mejores
gestores de base de datos relacionales proporcionan soporte para implementar en
ellos diversas reglas de negocio, mediante el uso de claves primarias, integridad
referencial, triggers, etc., mientras que sistemas como dBase y otros apenas
proporcionan soporte para reglas de negocio.
Las bases de datos relacionales son cada vez ms potentes, pero no todas las
reglas de negocio pueden reflejarse en ellas: por ejemplo, las reglas de flujo son
bastante difciles de implementar dentro de la base de datos, y suelen ser las
aplicaciones cliente las que controlan que la informacin siga una ruta vlida a
travs del sistema. El problema se agrava cuando la informacin del negocio se
encuentra en distintas bases de datos, en donde no hay manera de establecer una
10
pidiendo o consultando los datos necesarios, que son provistos por la capa de
datos que adems de proveer dichos datos a la capa superior se encarga de
almacenarlos y mantenerlos correctamente.
Aplicaciones
Cliente
Servidores de
Aplicaciones
Servidores de
Datos
11
Cotizar Productos
Registrar Compra
Confirmar Cotizacin
Vendedor
Reportar Pendientes
Almacenero
Registrar Provedor
Emitir Comprobante
Registrar Producto
Reportar Ingresos
Pedir Productos
Cajero
Administrador
Registrar Transportista
Registar Personal
12
Vendedor
ID_Vendedor
Apellidos
Nombres
Direccion
F_Ingreso
Estado
smallint
<pk>
varchar(40)
varchar(50)
varchar(100)
date
smallint
Cotizacion
ID_Cotizacion
ID_Cliente
ID_Vendedor
Fecha
F_Vencimiento
bigint
<pk>
bigint
<fk1>
smallint <fk2>
date
date
Proveedor
RUC
Razon
Direccion
Telefono
char(12)
<pk>
varchar(100)
varchar(100)
varchar(15)
Compras
ID_Compra
ID_Producto
RUC
NroGuia
Cantidad
PrecioUnit
bigint
<pk,fk1>
bigint
<pk,fk2>
smallint
money
bigint
<pk>
varchar(40)
varchar(50)
varchar(100)
varchar(30)
varchar(15)
GuiaSalida
ID_GuiaSalida
ID_Transportista
ID_Boleta
ID_Factura
bigint
smallint
bigint
bigint
Boleta
ID_Boleta
ID_Cliente
Fecha
Total
Estado
bigint
<pk>
bigint
<fk>
date
money
smallint
Factura
ID_Factura
ID_Cliente
Fecha
T otal
Estado
bigint
<pk>
bigint
<fk>
date
money
smallint
ID_Producto
ID_Categoria
Descripcion
StockActual
StockMinimo
PrecioActual
Comentarios
bigint
<pk>
smallint
<fk>
varchar(100)
integer
integer
money
varchar(500)
ID_Boleta
ID_Producto
Cantidad
Precio
SubTotal
bigint
<pk,fk1>
bigint
<pk,fk2>
smallint
money
money
Factura_Detalle
ID_Factura
ID_Producto
Cantidad
Precio
SubTotal
bigint
<pk,fk1>
bigint
<pk,fk2>
smallint
money
money
Antes de crear las tablas y dems objetos, debemos crear la Base de Datos, esta
tarea la realizamos con Sybase Central (consola de administracin):
<pk>
<fk1>
<fk2>
<fk3>
Boleta_Detalle
Producto
Categoria
Cliente
ID_Cliente
Apellidos
Nombres
Direccion
e_mail
telefono
Cotizacion_Detalle
ID_Cotizacion
ID_Producto
Cantidad
Precio
bigint
<pk>
bigint
<fk2>
char(12)
<fk1>
varchar(20)
smallint
money
ID_Categoria smallint
<pk>
Descripcion
varchar(100)
smallint
<pk>
varchar(12)
varchar(80)
varchar(15)
13
Clic en <siguiente>:
14
Clic en siguiente
Clic en siguiente:
Clic en <siguiente>:
Ms. Ing. Camilo E. Surez Rebaza
Versin Diciembre 2008
15
Clic en <siguiente>:
Clic en siguiente:
16
Clic en siguiente:
Clic en siguiente
17
Clic en <Siguiente>:
18
Clic en <Siguiente>:
Clic en <Siguiente>:
Clic en <Siguiente>:
19
Clic en <Siguiente>:
Clic en <Siguiente>:
20
21
22
Clic en <Siguiente>:
Clic en <Siguiente>:
23
Clic en <Siguiente>:
Clic en <Siguiente>:
Luego agregamos
Ms. Ing. Camilo E. Surez Rebaza
Versin Diciembre 2008
:
24
Lo mismo hacemos lo mismo para cada una de las dems tablas del modelo, por
ejemplo para la tabla Producto:
Cabe destacar que no creamos los campos <fk>, se crean junto con las relaciones,
para relacionar esta tabla con la tabla Categoria, hacemos clic en la pestaa
Foreign Keys, luego hacemos <clic derecho> y aparece el siguiente men:
25
Clic en <Siguiente>:
Clic en <Siguiente>:
26
Clic en <Siguiente>:
Clic en <Siguiente>:
Clic en <Siguiente>:
27
28
Clic en <Siguiente>:
Clic en <Siguiente>:
29
Guardamos
30
31
32
Para nuestro caso de estudio vamos a agregar 3 trigger a la tabla Compras cuya
finalidad es mantener actualizado el precio de venta actual y el stock de los
productos.
33
Clic en <Siguiente>:
Ms. Ing. Camilo E. Surez Rebaza
Versin Diciembre 2008
34
Clic en <Siguiente>:
35
36
Clic en <Siguiente>:
Clic en <Siguiente>:
37
38
Clic en <Siguiente>:
39
Clic en <Siguiente>:
40
41
42
Clic en <OK>:
43
44
45
46
47
wf_recuperar ()
// Nota: este cdigo debe ser modificado al pasar a 3 capas
dw_Ingreso.Retrieve()
wf_Modo_Edicion(False)
long wf_nuevo ()
Long Pos
Pos = dw_Ingreso.InsertRow(0)
IF Pos > 0 THEN dw_Ingreso.ScrollToRow(Pos)
wf_Modo_Edicion(True)
Return Pos
wf_editar ()
wf_Modo_Edicion(True)
48
wf_eliminar ()
Long Pos
Pos = dw_Ingreso.GetRow()
IF Pos > 0 THEN dw_Ingreso.DeleteRow(Pos)
wf_guardar ()
//por modificar en 3 capas
dw_Ingreso.AcceptText()
IF dw_Ingreso.Update() > 0 THEN
commit;
ELSE
MessageBox("Error: ", "No se Pudo actualizar" + Sqlca.SqlErrText )
rollback;
END IF
wf_Modo_Edicion(False)
wf_anterior ()
dw_Ingreso.ScrollPriorRow( )
wf_primero ()
IF dw_Ingreso.RowCount()>=1 THEN dw_Ingreso.ScrollToRow(1)
wf_siguiente ()
dw_Ingreso.ScrollNextRow()
wf_ultimo ()
IF dw_Ingreso.RowCount()>=1 THEN
dw_Ingreso.ScrollToRow(dw_Ingreso.RowCount())
Luego de w_class_registrador heredamos a: w_categoria, w_cliente,
w_compra, w_producto, w_proveedor, w_transportista y w_vendedor
49
50
Tareas en
EAServer
Tareas de Target
Servidor (NVO)
Tareas de
Target Cliente
4. Definir Componente.
5. Especificar DB (Opcional).
6. Desplegar Componente.
7.
8.
9.
10.
Conectar a EAServer.
Generar Proxy de Componentes.
Instanciar el Proxy
Enviar Mensajes.
Y aparecer la Herramienta de Administracin Sybase Central con un plugin que permite administrar el EAServer.
51
52
53
Clic en <Siguiente>:
Clic en <Siguiente>:
Clic en <Siguiente>:
54
Clic en <Siguiente>:
55
Clic en <Siguiente>:
56
Ahora debemos modificar los puertos por los que atender este nuevo servidor
para que no exista conflictos con el Servidor Jaguar, para lo cual
seleccionamos la carpeta Listeners del Servidor EAS_VentaPC:
57
Y obtenemos lo siguiente:
58
Las ltimas lneas indican que nuestro servidor esta listo y atendiendo.
Luego nos conectamos ingresando el password eas y el puerto 9500:
59
60
61
62
63
Clic en <Siguiente>:
Clic en <Siguiente>:
64
Clic en <Finalizar>:
65
66
Clic en <Agregar>:
Clic en <OK>:
Ms. Ing. Camilo E. Surez Rebaza
Versin Diciembre 2008
67
Clic en <Siguiente>:
68
Clic en <Siguiente>:
Clic en <Siguiente>:
69
Clic en <Siguiente>:
70
Clic en <Siguiente>:
Clic en <Siguiente>:
Clic en <Siguiente>:
71
Clic en <Siguiente>:
Clic en <Siguiente>:
Clic en <Siguiente>:
Clic en <Siguiente>:
Ms. Ing. Camilo E. Surez Rebaza
Versin Diciembre 2008
72
Clic en <Siguiente>:
Clic en <Siguiente>:
73
74
75
Creadas
Enlazadas a un Cliente
Desligadas de un Cliente
Rehusadas y
Destruidas.
Pool de Instancias
Reciclamiento
Enlazado a
Cliente
Ejecucin de
Mtodo
(Permanece)
SI
Desactivacin
Automtica
Desactivacin
SI
Soporta
Pool de Inst.
Destruccin
NO
NO
Destruido
NO
Desactivacin
por Primitiva
Desactivacin
SI
76
Los
objetos
no
visuales
(NVO)
se
crearn
por
herencia
de
Variables de instancia:
77
of_guardar()
78
n_categoria,
n_transportista,
n_cliente,
n_vendedor.
n_compra,
para
cada
n_producto,
n_proveedor,
componente
establecemos
79
Son
el
tipo
de
Permiten
informacin
de
mantener
estado.
Los
stos
componentes
no esta marcado el
debe
ser
desactivado
explcitamente.
80
Support
Instance
Marcamos
esta
Pooling:
propiedad
para
81
Clic en <OK>:
Clic en <Siguiente>:
82
Clic en <Siguiente>:
83
Clic en <Siguiente>:
Ms. Ing. Camilo E. Surez Rebaza
Versin Diciembre 2008
84
85
Clic en <OK>:
Clic en <Siguiente>:
Clic en <Siguiente>:
86
Clic en <Siguiente>:
Clic en <Siguiente>:
87
Clic en <Siguiente>:
Clic en <Siguiente>:
Clic en <Finalizar>
En la Aplicacin creamos una variable global:
88
89