Documentos de Académico
Documentos de Profesional
Documentos de Cultura
discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/28791477
Article
Source: OAI
READS
147
3 authors:
SEE PROFILE
Galo Valverde
Universidad Politécnica Salesiana (UPS)
17 PUBLICATIONS 45 CITATIONS
SEE PROFILE
TESIS DE GRADUACIÓN
Presentada por:
Carlos Joseph Mera Gómez
Francisco Miguel Ramírez Méndez
GUAYAQUIL – ECUADOR
Año 2004
2
AGRADECIMIENTO
Álvarez, a la Lcda.
Mercedes Triviño, a
su indispensable apoyo.
3
DEDICATORIA
confianza, la comprensión
y el apoyo brindado.
Carlos Mera
4
DEDICATORIA
todo el cariño,
comprensión y
enseñanzas.
Francisco Ramírez
5
TRIBUNAL DE GRADUACIÓN
DECLARACIÓN EXPRESA
RESUMEN
seleccionados.
trámites.
roles para los procesos pilotos seleccionados haciendo uso del modelador
gráfico de procesos.
ÍNDICE GENERAL
INDICE DE FIGURAS..................................................................................XVI
1 INTRODUCCIÓN..................................................................................... 1
1.1 Antecedentes.................................................................................... 3
1.3 Objetivos........................................................................................... 7
1.4 Metodología...................................................................................... 8
PROCESOS. ......................................................................................... 64
3.2 Creación gráfica de las tareas a ejecutarse dentro del proceso ..... 66
3.4 Asignación de lista de usuarios y roles para cada una de las tareas
browser......................................................................................... 121
5.2 Consulta gráfica de la ejecución del trámite y sus tareas ............. 159
GLOSARIO
BIBLIOGRAFIA
15
ÍNDICE DE FIGURAS
ÍNDICE DE TABLAS
CAPITULO 1
1 INTRODUCCIÓN.
acercarse a ventanilla.
1.1 Antecedentes.
1
WARIA (Workflow And Reengineering International Association): Asociación Internacional cuyo
objetivo es identificar y clarificar los temas en común entre los usuarios de workflow, comercio
electrónico y aquellos quienes se encuentran en procesos de reingeniería de sus organizaciones.
http://www.waria.com/
5
2
WfMC: (Workflow Management Coalition). Fundada en Agosto de 1993, es una organización
internacional sin fines de lucro de vendedores, usuarios, analistas y grupos universitarios de
investigación de Workflow
6
importantes:
(ejemplo: un fax).
Acciones: son las que toman los participantes para poder lograr el
automatizado.
1.3 Objetivos
Workflow son:
procesos.
en ventanilla.
1.4 Metodología.
1.5 Contribución.
necesario.
los tiempos.
funciones y relaciones.
actividades.
12
cantidad de programación.
3
JFlow: Nombre de la herramienta Workflow desarrollada en esta tesis de graduación
14
4
Outsourcing Documental: Empresas que ofrecen soluciones para el tratamiento integral de grandes
volúmenes de documentos.
15
de los que son posibles procesar con eficiencia, por ejemplo: faxes,
órdenes de compra, pedidos, etc., que son generados día con día.
una institución.
documentos.
documentos digitalizados:
información.
17
5
Firma Electrónica: Datos en forma electrónica consignados en un mensaje de datos, utilizado para
identificar al titular e indicar que aprueba y reconoce la información, según la “Ley de Comercio
Electrónico, Firmas Electrónicas y Mensaje de Datos” del Ecuador.
6
Public Key Cryptography: Criptografía de Clave Pública, texto basado del Digital Document Signing
in Java-Based Web Applications por Svetlin Nakov. www.developer.com/security
18
documentos.
privada, así como también para cifrar documentos que puede ser
disponibles públicamente.
privada. Cabe notar que existe una ciencia que trata con el
criptoanálisis.
20
de la información y su integridad.
sus productos que han cambiado la forma como los clientes hacen
igualadas.
23
queda resuelto.
24
proceso.
tareas.
25
7
SAF: Sistema Administrativo Financiero, utilizado en los departamentos Administrativo y Financiero
de la ESPOL.
26
implementar.
27
entidad-relación
8
UML (Lenguaje Unificado de Modelado): Conjunto de notaciones y diagramas estándar para modelar
sistemas orientados a objetos. Empezó como una consolidación del trabajo de Grade Booch, James
Rumbaugh e Ivar Jacobson, creadores de tres de las metodologías orientadas a objetos más populares.
28
CAPITULO 2
DESARROLLO.
empresa u organización.
9
Ultimus Workflow: Una de las herramientas Workflow de mayor éxito comercial en el mundo.
http://www.ultimus.com/es
30
final.
daño en su computador.
Características Generales
1. No Programación o Scripting para Características Centrales
2. Procesamiento de Transacciones
3. Arquitectura de Tres Capas
4. Sistema de Transporte de Mensajes
5. Escalabilidad
6. Login/Contraseña Unificados
7. Modo Intranet e Internet
19. Firmas
20. Memos
21. Ruteo de Documentos con Workflow
22. Validación de Datos y Masking
23. Deshabilitar Procesos
24. Queries Personalizados
25. Abrir Formularios Usando Tecnologías de Browser
26. Formularios Dinámicos
27. Envío de E-Mail
28. Tiempo de Duración de Tareas
29. Variables Globales
30. Personalizar Mensajes de Notificación
31. Derechos de Iniciación de Procesos
32. Instalación Automática de Proceso y Control de la Versión
10
J2EE: The Java 2 Platform, Enterprise Edition. Es un conjunto de especificaciones y prácticas
coordinadas que juntas brindan soluciones de desarrollo, despliegue y manejo de aplicaciones n-capas
y cliente-servidor. Provee una plataforma completa, estable, segura y reduce el costo y complejidad de
soluciones n-capas. Fuente: http:// java.sun.com
35
workflow.
datos.
http://polaris.dit.upm.es/~jcduenas/patrones/Modelo.htm
Diagrama de clases
Diagrama de interacción
Vistas sincronizadas
usuario
sus datos.
http://www.intranetjournal.com/articles/200105/ap_05_16_01
a.html.
C#, etc.).
Vendedores Independientes
42
Comparten en común:
orientados a e-business.
Vendedores Independientes
siguientes circunstancias:
Java
propietaria de Microsoft
existen.
propietaria.
rápido.
Independencia de Plataformas
proceso propietario.
JSP ASP
Web Server Cualquier Web Server incluyendo Microsoft IIS or
Apache, Netscape, and IIS Personal Web Server.
Plataformas Independiente de la plataforma, es Microsoft Windows
decir Solares, Windows, Mac OS,
Linux, y otras plataforma UNIX
Modelo de Componentes reutilizables sobre Usa Win32 basado en
Componentes cualquier plataforma tales como el modelo de
JavaBeans, Enterprise JavaBeans, componentes COM
y librerías de tags personalizados
Scripting Puede usar el lenguaje de Soporta VBScript y
programación Java o JavaScript JavaScript , C#.
Seguridades Trabaja con el modelo de Puede trabajar con la
seguridades de Java arquitectura de
seguridad de Windows
NT
Acceso a Base Usa JDBC para acceso a datos Usa Active Data
de Datos Objects para acceso a
datos
Tags JSP es extensible con librerías de No usa librerías de
personalizados tags personalizados tags
La Ventaja de Java
12
JavaBeans: Componentes que permiten interactivamente la creación de interfaces gráficas de
usuario. Los Enterprise JavaBeans permiten escribir componentes de software que ejecutan lógica del
negocio que corre exclusivamente en el servidor. Con Enterprise JavaBeans la implementación del
manejo de transacciones y estados, multihilos y pooling de recursos son dejados del lado del servidor.
Fuente: Java Technology http://java.sun.com
51
tecnológicas en J2EE:
Porta Celular
Banco de Guayaquil
Superintendencia de Bancos
Siemens
13
memory leak. Un error durante la asignación dinámica de memoria en un programa
52
páginas JSP.
53
servidor.
Web.
Diagramador
de Procesos
Monitor de
Trámites
Motor de
Ejecución Web
Servidor de
Aplicaciones
Monitor de
Trámites Web
Disponibilidad
Entorno / Hardware
Soporte SQL
14
RDBMS: Relational Database Management Systems
57
satisfacer.
Oracle es la base de datos que utilizan los tres sistemas que han
19%
39% Oracle
11% IBM
Microsoft
Otros
31%
bases de datos:
60
Tabla 2.11 Comparación entre los dialectos SQL de Oracle, DB2 y SQL Server
Fuente: http://www.mssqlcity.com/Articles/Compare/Compare.htm
Autor: MSSQLCity.com
J2EE.
16
Java bytecodes: Código independiente de la plataforma interpretado por el interpretador de una
plataforma Java. Fuente: http://java.sun.com
17
JRE: Java Runtime Enviroment. Fuente: http://java.sun.com
62
de menor coste.
aplicaciones.
63
afectar al resto.
CAPITULO 3
MODELAMIENTO DE PROCESOS.
agrupa las tareas por proceso y los campos y las funciones por tarea.
proceso.
diagramador.
66
la tarea actual.
trámite.
formulario.
69
de datos.
presionado.
digitalizada en el formulario.
70
en ejecución, etc.
SQL.
trámite.
de una tarea:
trámite.
su procesamiento.
tarea.
procesados en la tarea.
73
Los caminos son los que definen los nexos entre las tareas
agrupación.
75
JFlow.
76
existente.
o rol en el JFlow.
3.7 Diseño
la aplicación.
almacenados.
diagramador.
botón de la aplicación.
18
AbstractAction. Clase Java que provee la implementación por defecto para el comportamiento de
acciones generadas por eventos
79
diagramador acciones
plantillas
Diagramador
de Procesos
Recursos
persistencia
main(String[])
Diagramador( )
getDialog( )
setVisible(boolean)
actionP erformed(ActionEvent)
conectar( )
dispose( )
getContentPane( )
add(Component, Object)
Arbol de
Procesos
add(Component, Object)
Area de Dibujo
add(Component, Object)
Barra de
Herramientas
actionPerformed(ActionEvent)
VntUsuariosRoles(Administracion, IAplicacion)
cargaDatos( )
actionPerformed(ActionEvent)
cargarDatos( )
Usuario(String)
actionPerformed(ActionEvent)
grabar( )
Grabar los
cambios
UpdateData(boolean)
grabar(IAplicacion)
insertar(AbstractModel, IAplicacion)
obtenerNuevos( )
grabar(IAplicacion)
insertar(AbstractModel, IAplicacion)
actionP erformed(ActionEvent)
arm aDialogo( )
cargarDatos( )
cargarDatos( )
actionP erformed(ActionEvent)
grabar( )
UpdateData(boolean, int)
setModificado(boolean)
grabar(IA plicacion)
actualizar(AbstractModel, IA plicacion)
grabar( )
setM odificado(boolean)
grabar(IA plicacion)
actualizar(AbstractModel, IA plicacion)
proceso):
actionPerform ed(ActionEvent)
arm aPanel( )
actionPerform ed(ActionEvent)
cargarD atos ( )
arm aD ialogo( )
actionPerform ed(ActionEvent)
U pdateData(boolean)
Grabar los
cam bios
s etModificado(boolean)
s etModificado(boolean)
grabar(IAplicacion)
grabar(IAplicacion)
: BarraArbol : : VntT area : Container : JT abbedPane : PnlT area : PnlCam pos : PnlFunciones : : PnlRolT area
: Diagram ador
ArbolProcesos PnlUsuarioT area
actionPerform ed(ActionEvent)
crearNodo( )
armaDialogo( )
JT abbedPane( )
getContentPane( )
add(Com ponent)
add(Com ponent)
add(Com ponent)
add(Com ponent)
add(Component)
grabarPaneles( )
Grabar los
cam bios
campo):
actionPerformed(ActionEvent)
armaDialogo( )
cargarDatos( )
setVisible(boolean)
actionPerformed(ActionEvent)
grabarPaneles( )
Grabar los
cambios
grabar( )
setModificado(boolean)
actualizar(AbstractModel, IAplicacion)
actionPerformed(ActionEvent)
mousePressed(MouseEvent)
CaminoVista(TareaVista)
mouseReleased(MouseEvent)
Camino( )
cargarDatos( )
Requisito( )
actionPerformed(ActionEvent)
Grabar los
cambios grabar( )
UpdateData(boolean)
grabar(IAplicacion)
insertar(AbstractModel, IAplicacion)
UpdateDataRequisito(boolean, int)
grabar(IAplicacion)
insertar(AbstractModel, IAplicacion)
función y parámetros):
armaDialogo( )
cargarDatos( )
setVisible(boolean)
actionPerformed(ActionEvent)
grabar( )
setModificado(boolean)
setModificado(boolean)
grabar(IAplicacion)
actualizar(AbstractModel, IAplicacion)
grabar(IA plicacion)
actualizar(AbstractModel, IAplicacion)
Hashtable
(from util)
#hash
TabCaminos TabGlobales
AbstractTab
(from persistencia) (from persistencia)
(from persistencia)
#$tab
TabCaminos() TabGlobales()
AbstractTab()
insertar() #$tab insertar()
insertar()
actualizar() actualizar()
actualizar()
eliminar() eliminar()
eliminar()
getInstance() getInstance()
#$tab
#$tab
TabCampos TabFunciones
(from persistencia) (from persistencia)
TabCampos() TabFunciones()
insertar() insertar()
actualizar() actualizar()
eliminar() eliminar()
copiar() getInstance()
getInstance()
Conexion
-usuario (from persistencia)
String -clave -conn
(from lang) Conexion()
setConexion()
-host
conectar()
Connection
-sid getConnection()
desconectar() (from sql)
Hashtable
(from util )
T abUsuarios T abUsuariosRoles
(from persistencia) (from persistencia)
T abUsuarios() T abUsuariosRoles()
insertar() insertar()
actual izar() actual izar()
eli m inar() eli m inar()
getInstance() getInstance()
Hashtable
(from util)
TabProcesos TabGrupos
AbstractTab #hash
(from persistencia) (from persistencia)
(from persistencia)
#$tab #$tab
TabProcesos() TabGrupos()
AbstractTab()
insertar() insertar()
insertar()
actualizar() actualizar()
actualizar()
eliminar() eliminar()
eliminar()
getInstance() getInstance()
#$tab
#$tab
TabParametros TabOpcionesListas
(from persistencia) (from persistencia)
TabParametros() TabOpcionesListas()
insertar() insertar()
actualizar() actualizar()
eliminar() eliminar()
getInstance() getInstance()
Hashtable
(from util)
#hash
TabTareas
TabRequisitos
AbstractTab (from persistencia)
(from persistencia)
(from persistencia)
#$tab TabTareas()
TabRequisitos()
AbstractTab() insertar()
insertar() #$tab
insertar() actualizar()
actualizar()
actualizar() actualizarPos()
eliminar()
eliminar() eliminar()
getInstance()
#$tab getInstance()
#$tab
TabRolesTareas
(from persistencia)
TabRoles
(from persistencia)
TabRolesTareas()
insertar()
TabRoles() actualizar()
insertar() eliminar()
actualizar() getInstance()
eliminar()
getInstance()
AbstractModel
(from diagramador)
nuevo : boolean
modificado : boolean
eliminado : boolean
AbstractModel()
setAtributo()
setAtributo()
getAtributo()
setNuevo()
setModificado()
setEliminado()
isNuevo()
isModificado()
isEliminado()
clone()
equals()
grabar()
Funcion Campo
Camino
(from diagramador) (from diagramador)
(from diagramador) TabFunciones
Funcion() (from persistencia)
Camino() Campo()
Funcion() Campo()
agregarRequisito() Funcion() TabFunciones()
setRequisitos() Campo()
agregarParametro() insertar()
-tabFunciones grabar()
getRequisitos() setParametros() actualizar()
getRequisitosAuxiliar() equals()
getParametros() eliminar() getOpciones()
grabar() getParametrosAuxiliar() getInstance()
equals() getOpcionesAuxiliar()
grabar()
equals()
-tabCaminos -tabCampos
-parametrosAuxiliar
-opcionesListasAuxiliar TabCampos
TabCaminos
(from persistencia)
(from persistencia) -requisitosAuxiliar -parametros
TabCampos()
TabCaminos() -requisitos -opcionesListas insertar()
insertar()
actualizar()
actualizar()
Vector eliminar()
eliminar()
copiar()
getInstance() (from util)
getInstance()
Figura 3-20 Diagrama de clases del paquete diagramador (Función, Camino y Campo)
Fuente: Documentación UML del JFlow
Autor: Carlos Mera
93
AbstractModel
(from diagramador)
nuevo : boolean
modificado : boolean
eliminado : boolean
AbstractModel()
setAtributo()
setAtributo()
getAtributo()
setNuevo()
setModificado()
setEliminado()
isNuevo()
isModificado()
isEliminado()
clone()
equals()
grabar()
TipoProceso
(from diagramador) UsuarioRol Usuario
(from diagramador) (from diagramador)
TipoProceso()
TipoProceso() UsuarioRol() Usuario()
grabar() equals() Usuario()
equals() grabar() equals()
grabar()
-tabTiposProcesos
-tabUsuariosRoles -tabUsuarios
TabTiposProcesos
TabUsuariosRoles TabUsuarios
(from persistencia)
(from persistencia) (from persistencia)
TabTiposProcesos()
insertar() TabUsuariosRoles() TabUsuarios()
actualizar() insertar() insertar()
eliminar() actualizar() actualizar()
getInstance() eliminar() eliminar()
getInstance() getInstance()
AbstractModel
(from diagramador)
nuevo : boolean
modificado : boolean
eliminado : boolean
AbstractModel()
setAtributo()
setAtributo()
getAtributo()
setNuevo()
setModificado()
setEliminado()
isNuevo()
isModificado()
isEliminado()
clone()
equals()
grabar()
Tarea
Rol RolTarea (from diagramador)
Requisito
(from diagramador) (from diagramador)
(from diagramador)
Tarea()
Rol() RolTarea() Tarea()
Requisito()
Rol() RolTarea() Tarea()
grabar()
equals() grabar() grabar()
equals()
grabar() equals() grabarPos()
equals()
-tabRoles -tabTareas
-tabRequisitos -tabRolesTareas
TabTareas
TabRequisitos TabRoles TabRolesTareas (from persistencia)
(from persistencia) (from persistencia) (from persistencia)
TabTareas()
TabRequisitos() TabRoles() TabRolesTareas() insertar()
insertar() insertar() insertar() actualizar()
actualizar() actualizar() actualizar() actualizarPos()
eliminar() eliminar() eliminar() eliminar()
getInstance() getInstance() getInstance() getInstance()
AbstractModel
(from diagramador)
nuevo : boolean
modificado : boolean
eliminado : boolean
AbstractModel()
setAtributo()
setAtributo()
getAtributo()
setNuevo()
setModificado()
setEliminado()
isNuevo()
isModificado()
isEliminado()
clone()
equals()
grabar()
ActListaProcesos NuevoCamino
(from acciones) AbstractAction (from acciones)
(from swing)
ActListaProcesos() enabled : boolean NuevoCamino()
actionPerformed() changeSupport : SwingPropertyChangeSupport actionPerformed()
AbstractAction()
ActLstTiposProcesos AbstractAction()
(from acciones) AbstractAction() NuevaTarea
actionPerformed() (from acciones)
ActLstTiposProcesos() addPropertyChangeListener()
actionPerformed() clone()
NuevaTarea()
firePropertyChange()
setTipoTarea()
getValue()
ActNuevaTarea getTipoTarea()
isEnabled()
(from acciones) actionPerformed()
putValue()
removePropertyChangeListener()
ActNuevaTarea() setEnabled() Administracion
actionPerformed() (from acciones)
activa : boolean
ActNuevoCamino
(from acciones) Administracion()
ActSalir actionPerformed()
ActNuevoProceso ActNuevoTipoProceso
ActNuevoCamino() (from acciones) setActiva()
(from acciones) (from acciones)
actionPerformed()
ActNuevoProceso() ActNuevoTipoProceso() ActSalir()
actionPerformed() actionPerformed() actionPerformed()
Diagramador
(from diagramador)
Diagramador()
setEstado() IAplicacion
getConexion() (from plantillas)
main()
getConecction()
getSistema() getConecction()
setIdProceso() getSistema()
getIdProceso() setIdProceso()
setVersion() -propietario getIdProceso()
getVersion() setVersion()
getAreaDiagramador() getVersion()
getArbolProcesos() getAreaDiagramador()
getArbolProcesos()
-padre
DefaultMutableTreeNode ArbolProcesos
MiRenderer
(from tree) (from diagramador)
(from ArbolProcesos)
-raiz
ArbolProcesos()
MiRenderer()
getPanel()
getTreeCellRendererComponent()
llenarArbol()
removerNodo()
isProcesoActivo() -this$0
aceptarTransacciones()
crearNodoTipoProceso()
JTree crearNodoProceso()
-arbol
(from swing) crearNodoTarea()
eliminarNodoTipoProceso()
eliminarNodoProceso()
eliminarNodoTarea()
crearNodo()
mostrarNodo()
valueChanged()
-toolkit
treeNodesChanged() -arbolModelo
Toolk it treeNodesInserted() DefaultTreeModel
(from awt) treeNodesRemoved() (from tree)
treeStructureChanged()
treeWillExpand()
treeWillCollapse()
AreaDiagram ador
(from diagram ador)
Vector bTarea : boolean JPopupMenu
(from util)
) bCam ino : boolean
-vctTareas (from s wing)
-vctCam inos AreaDiagram ador()
paintCom ponent() -popup
s etTipoTarea()
getVectorTareas ()
String getVectorCam inos ()
-tipoTarea s etDrawingTarea()
(from lang)
)
s etDrawingCam ino()
is DrawingTarea()
is DrawingCam ino()
s etCam inoDrag()
s etPropietario()
crearMenuPopup()
TareaVis ta aceptarTrans acciones ()
(from diagram ador) m ous eClicked()
x : int m ous ePres s ed() -cam inoSeleccionado
y : int -areaDiagram ador m ous eReleas ed()
dragging : boolean m ous eEntered()
bCreandoCam ino : boolean m ous eExited() Cam inoVis ta
bMoviendo : boolean m ous eDragged() (from diagram ador)
anchoTarea : int = 65 m ous eMoved() bDiagonal : boolean
altoTarea : int = 70 actionPerform ed()
clas s $() Cam inoVis ta()
TareaVis ta() -cam inoDrag finalizaCam ino()
s etIm ageIcon() s etPoligono()
getIm ageIcon() getPoligono()
getX() s etTam ano()
getY() -cam inoActual paintCom ponent()
getCam inos Origen() getTareaInicio()
getCam inos Des tino() getTareaFin()
s etDes cripcion() -inicio getInicio()
s etPropietario() getFin()
s etModelo() s etFinDrag()
getModelo() -fin s etModelo()
crearMenuPopup() getModelo()
m ous eDragged() m ous eClicked()
m ous eMoved() m ous ePres s ed()
m ous eClicked() Tarea -m odeloCam inom ous eReleas ed()
Cam ino
m ous ePres s ed() (from diagram ador) m ous eEntered()
-m odeloTarea (from diagram ador)
aceptarTrans acciones () m ous eExited()
m ous eReleas ed() m ous eDragged()
Tarea() Cam ino()
arm arTipoTarea() m ous eMoved()
Tarea() agregarRequis ito()
getTipoTarea()
Tarea() s etRequis itos ()
m ous eEntered()
grabar() getRequis itos ()
m ous eExited()
grabarPos () getRequis itos Auxiliar()
actionPerform ed()
equals () grabar()
clas s $()
equals ()
Diagramador
(from diagramador)
BarraArbol Diagramador()
setEstado() BarraHerramientas
(from diagramador)
getConexion() (from diagramador)
main()
BarraArbol() getConecction()
agregarBotones() -padre BarraHerramientas()
getSistema()
getBarra() agregarBotones()
setIdProceso()
actionPerformed() getBarra()
getIdProceso()
setVersion()
getVersion()
getAreaDiagramador()
-arbolProcesos getArbolProcesos() -area
ArbolProcesos AreaDiagramador
(from diagramador) -padre (from diagramador)
bTarea : boolean
ArbolProcesos() -$arbolProcesos bCamino : boolean
getPanel()
llenarArbol() -$areaDiagramador AreaDiagramador()
removerNodo() paintComponent()
isProcesoActivo() setTipoTarea()
aceptarTransacciones() getVectorTareas()
crearNodoTipoProceso() -$barraEstado
getVectorCaminos()
crearNodoProceso() BarraEstado setDrawingTarea()
crearNodoTarea() (from diagramador) setDrawingCamino()
eliminarNodoTipoProceso() -barraEstado isDrawingTarea()
eliminarNodoProceso() isDrawingCamino()
eliminarNodoTarea() BarraEstado()
setCaminoDrag()
crearNodo() getPanel()
setPropietario()
mostrarNodo() setEstado()
crearMenuPopup()
valueChanged() aceptarTransacciones()
treeNodesChanged() mouseClicked()
treeNodesInserted() -propietario mousePressed()
treeNodesRemoved() mouseReleased()
treeStructureChanged() -propietario
mouseEntered()
treeWillExpand() IAplicacion mouseExited()
treeWillCollapse() mouseDragged()
(from plantillas) mouseMoved()
actionPerformed()
getConecction() class$()
getSistema() area
setIdProceso()
getIdProceso()
setVersion() BarraDibujo
getVersion() (from diagramador)
getAreaDiagramador()
getArbolProcesos() BarraDibujo()
agregarBotones()
getBarra()
IAplicacion
(from plantillas)
getConecction()
getSistema()
setIdProceso()
getIdProceso() Runnable
setVersion() (from lang)
getVersion()
getAreaDiagramador()
getArbolProcesos()
-propietario
FlujoProceso
(from diagramador)
Vector -caminos consultar : boolean -procesar Thread
(from util) (from lang)
-tareas FlujoProceso()
start()
run()
-sqlCaminosOrigen -sqlCaminos
-sqlCaminosDestino -sqlTareas
String
(from lang)
Figura 3-28 Diagrama de clases del hilo que recupera los datos
del proceso a visualizar
Fuente: Documentación UML del JFlow
Autor: Carlos Mera
101
cuatro partes:
USUARIO
# ID_USUARIO
SISTEMA Posee * APELLIDOS
# ID_SISTEMA * CEDULA
* VERSION
Pertenece * CLAVE
o NOMBRE * CLAVE_FIRMA
o PROPIETARIO * NOMBRES
o ARCHIVO_FIRMA
o CARGO
o CONSULTA_TOTAL
o CORREO
Posee
o ESTADO
o TELEFONO
Tiene
Asocia
USUARIO_ROL
# ID_USUARIO_ROL
Asocia
Tiene
ROL
# ID_ROL
Pertenece * ESTADO
o DESCRIPCION
Figura 3-32 Modelo Entidad-Relación del módulo de diagramación (tarea, usuario, rol)
Fuente: Documentación de Base de Datos del JFlow
Autor: Carlos Mera
105
3.8 Implementación
V E RSION CLA VE
FT_UROL_FT_USUA_FK
FT_SISTEMAS (W ORKFLOW)
FT_TIPOS_PROCESOS (W ORKFLOW)
ID_SISTEMA
ID_TIPO_PROCESO VERSION
DESCRIPCION NOMBRE
FT_TPRO_PK PROPIETARIO
FT_SIS_PK
F T_ P R O C _FT _T P R O _ F K
FT_PROC_FT_SIS_FK
FT_GLOBALES (W ORKFLOW)
FT_PROCESOS (W ORKFLOW)
ID_GLOBAL
ID_PROCESO
FT_GLOB_FT_PROC_FK ETIQUETA
VERSION ESTADO
DESCRIPCION ID_PROCESO
ESTADO VERSION
ID_TIPO_PROCESO FT_GLOB_FT_PROC_FK_I
ID_SISTEMA FT_GLOB_PK
FT_GLOB_FT_PROC_FK
FT_PROC_FT_TPRO_FK_I
FT_PROC_FT_SIS_FK_I
FT_PROC_PK
FT_PROC_FT_TPRO_FK
FT_PROC_FT_SIS_FK
F T _ T A R E _FT _ P R O C _F K
FT_REQUISITOS (WORKFLOW )
FT_TAREAS (W ORKFLOW ) FT_CAMINOS (W ORKFLOW)
FT_REQU_FT_CAMI_FK
ID_REQUISITO
ID_TAREA ID_CAMINO
OPERADOR
TIPO OPERADOR
VALOR
DESCRIPCION FT_CAMI_FT_TARE_ORIGEN_FK ID_PROCESO
ID_CAMINO
POSX VERSION
ID_PROCESO
POSY ID_TAREA_ORIGEN
VERSION
EJECUCION ID_TAREA_DESTINO
ID_TAREA_DATO
TIMEOUT FT_CAMI_FT_TARE_ORIGEN_FK_I ID_CAMPO_DATO
RETROALIMENTACION FT_CAMI_FT_TARE_DESTINO_FK_I
FT_REQU_FT_CAMP_FK_I
DURACION FT_CAMI_PK
FT_REQU_FT_CAMI_FK_I
UNIDAD FT_CAMI_UK
FT_REQU_PK
ACCION_TIMEOUTFT_CAMI_FT_TARE_DESTINO_FK
FT_CAMI_FT_TARE_DESTINO_FK
FT_REQU_UK
FT_CAMI_FT_TARE_ORIGEN_FK
ID_PROCESO FT_REQU_FT_CAMP_FK
VERSION FT_REQU_FT_CAMI_FK
FT_TARE_FT_PROC_FK_I
FT_TARE_PK
FT_TARE_FT_PROC_FK
ID_TAREA
TIPO
DESCRIPCION
POSX
POSY FT_GLOBALES (W ORKFLOW)
EJECUCION
TIMEOUT
RETROALIMENTACION ID_GLOBAL
DURACION ETIQUETA
UNIDAD ESTADO
ACCION_TIMEOUT ID_PROCESO
FT_REQUISITOS (W ORKFLOW) ID_PROCESO VERSION
VERSION FT_GLOB_FT_PROC_FK_I
FT_GLOB_PK
ID_REQUISITO FT_TARE_FT_PROC_FK_I
FT_GLOB_FT_PROC_FK
FT_TARE_PK
OPERADOR
FT_TARE_FT_PROC_FK
VALOR
ID_CAMINO
ID_PROCESO
FT_FUNC_FT_TARE_FK
FT_CAMP_FT_TARE_FK
VERSION
ID_TAREA_DATO
ID_CAMPO_DATO
FT_CAMP_FT_GLOB_FK
FT_REQU_FT_CAMP_FK_I FT_REQU_FT_CAMP_FK
FT_REQU_FT_CAMI_FK_I
FT_REQU_PK
FT_REQU_FT_CAMP_FK
FT_REQU_FT_CAMI_FK
ID_CAMPO ID_FUNCION
ORDEN ORDEN
TIPO_CAMPO TIPO
POSX MODO
POSY OBLIGATORIA
ANCHO UNA_VEZ
ALTO EJECUCION_PREVIA
ETIQUETA NOMBRE_FUNCION
TIPO_DATO DESCRIPCION
FT_PARA_FT_GLOB_FK
FT_GRUPOS (W ORKFLOW ) LONGITUD ID_PROCESO
FT_CAMP_FT_GRUP_FK DECIMALES VERSION
VISIBLE ID_TAREA
ID_GRUPO EDITABLE FT_FUNC_FT_TARE_FK_I
ORDEN OBLIGATORIO FT_FUNC_PK
ETIQUETA MULTIVALOR FT_FUNC_FT_TARE_FK
ID_PROCESO VALOR_DEFECTO
VERSION TIPO_ORIGEN
ID_TAREA FT_CAMP_FT_CAMP_FK SQL_DATO
FT_GRUP_PK ID_PROCESO
VERSION
ID_TAREA
FT_PARA_FT_FUNC_FK
ID_GRUPO
ID_TAREA_DATO
ID_CAMPO_DATO
ID_GLOBAL_DATO
FT_CAMP_FT_TARE_FK_I
FT_CAMP_FT_GRUP_FK_I
FT_CAMP_FT_CAMP_FK_I
FT_CAMP_PK
FT_CAMP_FT_TARE_FK
FT_CAMP_FT_GLOB_FK
FT_CAMP_FT_GRUP_FK FT_PARA_FT_CAMP_FK
FT_CAMP_FT_CAMP_FK
FT_OLIS_FT_CAMP_FK
FT_PARAMETROS (WORKFLOW )
ID_PARAMETRO
ORDEN
TIPO_PARAMETRO
TIPO_DATO
FT_OPCIONES_LISTAS (W ORKFLOW LONGITUD
TIPO_ORIGEN
VALOR_DEFECTO
ID_OPCION_LISTA ID_PROCESO
DESCRIPCION VERSION
ID_PROCESO ID_TAREA
VERSION ID_FUNCION
ID_TAREA ID_TAREA_DATO
ID_CAMPO ID_CAMPO_DATO
FT_OLIS_FT_CAMP_FK_I ID_GLOBAL_DATO
FT_OLIS_PK FT_PARA_FT_CAMP_FK_I
FT_OLIS_FT_CAMP_FK FT_PARA_FT_FUNC_FK_I
FT_PARA_PK
FT_PARA_FT_GLOB_FK
FT_PARA_FT_FUNC_FK
FT_PARA_FT_CAMP_FK
ID_PROCESO
FT_TAREAS (W ORKFLOW ) VERSION
ID_TAREA
ID_ROL FT_USUARIOS_TAREAS (W ORKFLOW
ID_TAREA ID_SISTEMA
TIPO TIPO_ASIGNACION
DESCRIPCION CONSULTA_RESTRINGIDA ID_PROCESO
POSX FT_RTAR_FT_TARE_FK FT_RTAR_FT_TARE_FK_I VERSION
POSY FT_RTAR_FT_ROL_FK_I ID_TAREA
EJECUCION FT_RTAR_PK ID_USUARIO
TIMEOUT FT_RTAR_FT_ROL_FK ID_SISTEMA
RETROALIMENTACION FT_RTAR_FT_TARE_FK TIPO_ASIGNACION
DURACION CONSULTA_RESTRINGIDA
UNIDAD FT_UTAR_FT_TARE_FK_I
ACCION_TIMEOUT FT_UTAR_FT_USUA_FK_I
ID_PROCESO FT_UTAR_PK
VERSION FT_UTAR_FT_TARE_FK FT_UTAR_FT_USUA_FK
FT_UTAR_FT_TARE_FK
FT_TARE_FT_PROC_FK_I
FT_TARE_PK
FT_TARE_FT_PROC_FK
CAPITULO 4
usuario del JFlow realizar operaciones sobre las tareas donde interviene
Para crear y dar inicio a un nuevo trámite, el JFlow muestra una lista con
JFlow posee una bandeja de trámites donde se listan todas las tareas
que el usuario debe dar por terminado para que los trámites
correspondientes continúen.
opción “Enviar” para finalizar la tarea y para que el motor realice las
así el(los) camino(s) a seguir y luego crear la(s) siguiente(s) tarea(s) con
que los campos obligatorios contengan datos, que todos los campos
memo a enviar.
por tarea
a la tarea.
asignación de tareas.
19
DEMON.- Nombre de usuario que utiliza el Workflow para la ejecución de tareas automáticas.
118
20
Demonio de Ejecución.- Aplicación en java que levanta un evento cada cierto tiempo. Utilizado para
la ejecución de tareas automáticas y para la finalización de los trámites.
119
21
Hashtable. Implementación en Java de una tabla hash la cual mapea claves con valores traducción
del sitio Java(TM) 2 SDK, Standard Edition Documentation versión 1.4.2,
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Hashtable.html
120
negocio el cual requiere que este sea accedido por los usuarios en
DA.
datos ORACLE-JDBC.
proceso.
Casos de Uso Reales”, para obtenerlo se inicia con una lista de los
Ingresar al W orkFlow
Iniciar Tramite
Solicitante
Procesar Tarea
Grabar Formulario
Ejecutar Funcion
Visualizar Documento
Almacenar Documento Almacenado
4.7 Diseño
solicitante.
gráfica.
módulos de la aplicación.
aplicación.
persistencia en workflow.plantillas.persistencia.
persistencia.
modelos.
íconos de la aplicación.
131
workflow.model
Recursos workflow.workflow
consulta
workflow.view
Motor de workflow
Ejecución
monitor
workflow.persistencia workflow.utilidades
workflow.plantillas
main(String)
createInstance( )
createInstance()
W orkFlow( )
initInstance( )
LoginDialog(JFrame)
LoginDialog(JFram e, S tring)
setVisible(boolean)
start( )
finishedThread(Connection)
setVisible(boolean)
getConnection( )
setUsuario(S tring)
setClave(char[])
Bandeja de Trámites)
: : messages : : TramitePane :
: Solicitante
RefrescarAction MessageThread MessageSupport TabTareaTramite
actionPerformed(ActionEvent)
sendMessage(Object, String, Object)
getInstance( )
setTareasTramites(Vector)
TabTramite.getInstance()
IngresarGlobalesDialog(JFrame, String, String)
jbInit( )
getConnection( )
jbInit()
prepareStatement(String)
Setear valor de
cada parametro
setString(int, String)
executeQuery( )
actionPerformed(ActionEvent)
FTK_TAB_TRAMITES.FTP_CREAR
FTK_TAB_GLOBALES_TRAMITES.FTP_INSERTAR execute(String, String, Object[][], IBaseDatos)
FTK_TAB_TAREAS_TRAMITES.FTP_CREAR
execute(String, String, Object[][], IBaseDatos)
commit( )
: WorkFlow : :
: Solicitante
FormularioPane TabTareaTramite
send( )
TabTareaTramite.getInstance()
terminar(ITareaTramite, IBaseDatos)
commit( )
FTK_TAB_TAREAS_TRAMITES.FTP_TERMINAR
Éxito)
keys( )
get(Object)
elemento
del vector
get(int)
grabar(IBaseDatos)
commit( )
por cada elemento del vector
Exitosamente)
: WorkFlow : : : : : hilo :
: Solicitante
FormularioPane EjecutarAction TabFuncionTramite TabParametroTramite IngresarParametrosDialog EjecutaVAST
actionPerformed(ActionEvent)
createNew( ) por cada parametro de
la funcion
createNew( )
getMainFrame( )
IngresarParametrosDialog(Frame, IParametroTramite[])
setAtributo(String, Object)
start( )
commit( )
update( )
Exitosamente)
: WorkFlow : : : : : :
: Solicitante
FormularioPane EjecutarAction TabFuncionTramite TabParametroTramite IngresarParametrosDialog TabFuncionTramite
actionPerformed(ActionEvent)
createNew( ) por cada parametro de
la funcion
createNew( )
getMainFrame( )
IngresarParametrosDialog(Frame, IParametroTramite[])
setAtributo(String, Object)
FTK_APP_W ORKFLOW.FTP_EJECUTA_FUNCION
commit( )
update( )
manera Exitosa)
prepareStatement(String) parametro =
ID_CAMPO_TRAMITE
setObject(int, Object)
executeQuery( )
getBlob(String)
read(byte)
close()
close( )
commit( )
un Documento Almacenado)
executeQuery( )
getBlob(String)
getBinaryStream( )
workflow.plantillas
plantillas
IAplicacion IBaseDatos
IAplicacion
(from plantillas) (from plantillas) (from plantillas)
getSplash() getConnection()
getMainFrame() isConnected()
init() commit()
done() rollback()
getResource() close()
getPreferences() debug()
getProperties()
loadPreferences()
loadProperties()
loadW orkSpace()
getUsuario()
getSistema()
AbstractAplicacion
(from plantillas)
init()
done()
loadPreferences()
loadProperties()
loadW orkSpace() #m_splash JFrame
getResource() (from swing)
getPreferences()
getProperties()
windowOpened()
windowClosing()
windowClosed()
windowIconified()
windowDeiconified()
windowActivated()
windowDeactivated()
-m_frmParent
JPasswordField -m_pfClave
-m_cbConnections JComboBox
(from swing)
(from swing)
LoginDialog
(from plantillas)
m_tConectando : ConectandoThread = null
LoginDialog()
Preferences -m_preferencias LoginDialog() Boolean
m_bConectando
(from prefs) getUsuario() (from lang)
getClave()
jbInit()
isConectando() -m_bCancel
setConectando() -m_bCancelUsuario
actionPerformed()
finishedThread()
-m_Connection getConnection()
Connection
(from sql)
ConectandoThread
(from LoginDialog)
ConectandoThread()
cancel()
KeyValue cancelUsuario()
(from plantillas) -m_sConnectionFile isCancel()
bReturnKey : boolean isCancelUsuario()
#sValue String run()
KeyValue() #sKey
(from lang)
KeyValue()
getKey()
getValue()
equals() -username
toString()
-password
Thread
(from lang)
ConnectionString
(from LoginDialog)
ConnectionString()
getUsername()
getPassword()
MessageSupport
(from plantillas)
messageThread : MessageThread = new MessageThread ()
MessageSupport()
stop()
sendMessage()
postMessage()
addMessageListener()
removeMessageListener()
MessageThread
+blockQueue
(from MessageSupport)
running : boolean = false Object
blockThread
(from lang)
MessageThread()
terminate()
wakeUp() param
run() source
PostMessageThread
String message (from MessageSupport) enumeration
(from lang)
PostMessageThread()
run() Enumeration
(from util)
Thread
(from lang)
-filters
DFileFilter
(from plantillas)
useExtensionsInDescription : boolean = true
-$TYPE_UNKNOW N
DFileFilter()
DFileFilter() -$HIDDEN_FILE
DFileFilter() String
-description
DComboBoxModel DFileFilter() (from lang)
DListModel DFileFilter() -fullDescription
(from plantillas)
(from plantillas) accept()
getExtension()
DComboBoxModel()
getSize() addExtension()
DComboBoxModel()
getElementAt() getDescription()
DComboBoxModel()
copyInto() setDescription()
add()
trimToSize() setExtensionListInDescription()
setSelectedItem()
ensureCapacity() isExtensionListInDescription()
setSize()
capacity()
size()
isEmpty()
elements()
contains()
indexOf()
indexOf()
lastIndexOf() -delegate Vector
lastIndexOf() (from util)
elementAt()
firstElement()
lastElement()
setElementAt()
removeElementAt()
insertElementAt()
addElement()
removeElement()
removeAllElements()
toString()
toArray()
get()
set()
add()
remove()
clear()
removeRange()
FormLayout
(from plantillas)
PRIMERO : int = - 1
ULTIMO : int = - 2
ANTERIOR : int = - 3
SIGUIENTE : int = - 4
IGUAL : int = - 5
Hashtable ht FormLayout()
(from util) addLayoutComponent()
addLayoutComponent()
removeLayoutComponent() LayoutManager2
layoutContainer() (from awt)
preferredLayoutSize()
minimumLayoutSize()
FormLayout es usado para maximumLayoutSize()
distribuir componentes que invalidateLayout()
implementen getLayoutAlignmentY()
IComponenteView getLayoutAlignmentX()
JPanel
(from swing)
IComponentView
(from plantillas) Dibujar
componentes
getOrden() personalizados
getPosX() AbstractView
getPosY() (from plantillas)
getAncho()
getAlto() AbstractView()
isVisible()
AbstractModel
(from plantillas)
setAtributo()
setAtributo()
IModel
getAtributo()
(from persistencia) getAtributo()
getAtributo()
getAtributo()
setAtributo()
setAtributo()
#foreignTabs Hashtable
(from util)
#foreignFields #campos
DefaultMutableTreeNode
(from tree)
DTreeNode
(from tree)
m_bLoaded : boolean
m_thread : LoadingChildrenThread = new LoadingChildrenThread ()
DTreeNode()
DTreeNode()
DefaultTreeCellRenderer -m_renderer
DTreeNode()
(from tree) setTreeCellRenderer()
getTreeCellRenderer()
TreeCellRenderer setToolTipText()
(from tree) getToolTipText()
setLoaded()
setLoad()
isLoaded()
refresh()
load()
DTreeCellRenderer
(from tree)
DTreeCellRenderer()
getTreeCellRendererComponent()
-m_loading
-m_sToolTipText
String
IRunnable
(from lang)
(from tree)
run()
m_running
LoadingChildrenThread
(from DTreeNode)
TreePath m_path m_parent JTree
(from tree) LoadingChildrenThread() (from swing)
setRunnable()
setSource()
run()
Utilities
(from utilidades )
getBytes ()
getObject()
getH exString()
getH exBytes ()
s etBounds ()
s etLocation()
CenterC om ponent()
toString()
AbstractAplicacion
(from plantillas)
-AplicacionStatusPane StatusPane
(from workflow)
#m_splash
IBaseDatos
(from plantillas)
-$m_workflow
menAyuda
menHerramientas
menInsertar
menVer
menEdicion
menArchivo
JMenu
(from swing)
AbstractView()
#campo
JTextField +texto CampoView
(from swing) (from view) ICampo
visible : boolean = true
editable : boolean = true (from persistencia)
multivalor : boolean = false
multiples : boolean = false
JTextArea +textoArea
activo : boolean = false
(from swing)
) #campoTramite
CampoView()
sendMessage() ICampoTramite
changedUpdate()
insertUpdate() (from persistencia)
+scrollLista removeUpdate()
JScrollPane+scrollTextoArea itemStateChanged()
(from swing) valueChanged()
setCampo()
setParametro()
update()
getOrden() #parametro
setMultiples()
getPosX()
getPosY() IParametro
getAncho()
(from persistencia)
getAlto()
JList getValores()
+lista #parametroTramite
(from swing) addListeners()
removeListeners()
setValores() IParametroTramite
getCount()
(from persistencia)
JComboBox +combo
(from swing)
sTipo
sTipoDato
sTipoOrigen
String
(from lang)
AbstractView
(from plantillas)
AbstractView() funcion
IFuncion
(from persistencia)
FuncionView
(from view)
parametros[]
parametrosIngreso : boolean = false
FuncionView() IParametro
sendMessage()
(from persistencia)
parametrosTramite[]
IParametroTramite
(from persistencia)
JDialog
(from swing)
IngresarParametrosDialog()
actionPerformed()
Ejecutar la
EjecutarAction Función
Object valores[] (from FuncionView)
(from lang)
EjecutarAction()
actionPerformed()
partes:
151
4.8 Implementación
Figura 4-31 Diagrama de Objetos de base de datos del Módulo de Ejecución (tarea)
Fuente: Documentación UML del JFlow
Autor: Francisco Ramírez
155
Figura 4-32 Diagrama de Objetos de base de datos del Módulo de Ejecución (campo)
Fuente: Documentación UML del JFlow
Autor: Francisco Ramírez
156
CAPITULO 5
Y CLIENTE-SERVIDOR.
especificado
fechas, matrícula
durante su ejecución
el módulo de consulta:
Consultar Trámite
Solicitante
Monitorear Trámite
5.4 Diseño
la aplicación.
almacenados.
proceso.
visualizar.
public_html.
diagramador
consulta
plantillas
persistencia
diagramador
consulta public_html
Consulta
monitor
W eb
plantillas
persistencia
PnlMaestro
PnlCriterios (from consulta) PnlBotonera
(from consulta) selectedRow : int (from consulta)
-maestro
PnlMaestro()
PnlCriterios() PnlBotonera()
jbInit() -pnlBotonera jbInit()
jbInit()
formatearColumnas()
setearConsulta() setIdTramiteActivo()
armarCabecera()
actionPerformed() actionPerformed()
consultarMaestro()
valueChanged()
-hiloDetalle
HiloDetalle -pnlDetalle PnlDetalle
(from consulta) (from consulta)
consultar : boolean
-pnlDetalle
PnlDetalle()
HiloDetalle() jbInit()
start() armarCabecera()
run() setearDatos()
stop() armarDetalle()
AbstractModel Hashtable
(from diagramador) (from util)
nuevo : boolean -hash
modificado : boolean
Camino eliminado : boolean
(from diagramador) Tarea
AbstractModel() (from diagramador)
setAtributo()
Camino()
setAtributo()
agregarRequisito() Tarea()
getAtributo()
setRequisitos() Tarea()
setNuevo()
getRequisitos() Tarea()
setModificado()
getRequisitosAuxiliar() equals()
setEliminado()
equals()
isNuevo() -modeloTarea
isModificado()
-modeloCamino
isEliminado()
clone()
equals()
TareaVista
(from diagramador)
CaminoVista anchoTarea : int = 72
(from diagramador) TareaTramite altoTarea : int = 97
Requisito
recorrido : boolean (from monitor) (from diagramador) TareaVista()
decodeEstado()
CaminoVista() TareaTramite() Requisito() setImageIcon()
finalizaCamino() TareaTramite() equals() getImageIcon()
setPoligono() equals() getCaminosOrigen()
getPoligono()
getCaminosDestino()
setTamano()
-fin setDescripcion()
getTareaInicio()
setPropietario()
getTareaFin()
setModelo()
getInicio() -inicio
getModelo()
getFin()
crearMenuPopup()
setFinDrag() -caminoActual mouseDragged()
setModelo()
mouseMoved()
getModelo()
mouseClicked()
setRecorrido()
mousePressed()
isRecorrido()
mouseReleased()
mouseClicked()
getIdTareaTramite()
mousePressed()
-popup armarTipoTarea()
mouseReleased() JPopupMenu getX()
mouseEntered()
(from swing) getY()
mouseExited()
getTipoTarea()
mouseDragged()
aceptarTransacciones()
mouseMoved()
mouseEntered()
mouseExited()
actionPerformed()
monitor de trámites:
Monitor
(from monitor)
pnlFlujoTramite : monitor.PnlFlujoTramite
Monitor()
Monitor()
init()
main()
mostrarFlujo()
start()
stop()
destroy()
jbInit()
run()
getConecction()
getSistema()
-idTramite
-idUsuario -idSistema
-runner
String
Thread
(from lang)
(from lang)
-sqlTareas -sqlTareaTramite
-sqlCaminos -sqlTramite
-procesar
PnlFlujoTramite
(from monitor)
consultar : boolean
-caminos
Vector -caminosVista PnlFlujoTramite() -propietario
(from util) jbInit()
-tareasVista start()
IAplicacion
-tareas run()
getIdProceso() (from pl anti ll as)
getVersion()
paintComponent() getConecction()
getSistema()
_JCabMaestro _JCabDetalle
(from _consulta) (from _consulta)
IAplicacion
(fro m p l an ti ll as)
getConecction()
_JCriterios getSistema() _JGlobales
(from _consulta) (from _consulta)
_JDetalle _JMaestro
(from _consulta) (from _consulta)
5.5 Implementación
CAPITULO 6
los usuarios, los roles, los documentos que intervienen en cada una de
gráfico.
funcionarios de la ESPOL.
CARGO ACCION
Vicerrectorado Administrativo-Financiero Autorizar solicitud de viáticos.
Dirección Financiera Conocer el gasto para estimar
disponibilidad de fondos.
Presupuesto Verificar/Asignar disponibilidad
presupuestaria al pago.
Contadora General Contabilizar el trámite.
Tesorera Realizar el pago.
Decano/Coordinador/Director/Jefe Solicitud de viáticos.
departamental de las unidades
académicas, administrativas y/o de
apoyo
DOCUMENTO EMISOR
Formulario de Trámite Viáticos Solicitante
(Viajes Nacionales)
Orden de Pago Contabilidad
Comprobante de Diario Contabilidad
Comprobante de Pago Tesorería
Cheque Tesorería
disponibilidad de efectivo.
24
VAF.- Vicerrectorado Administrativo Financiero de la ESPOL.
25
DF.- Dirección Financiera de la ESPOL.
173
pago.
Diario.
174
Tesorera en el Sistema.
Pago”.
Pago.
Monto Responsable
Menor a USD 1,000.00 Tesorería
Entre USD 1,000.00 – 10,000.00 Analista Financiero Encargado y Tesorera
Mayor a USD 10,000.00 Director Financiero y Tesorera
13h00.
Pasajes y Ayudas.
Entrada de datos
Nuevo | Proceso.
179
Figura 6-3 Modelo del Flujo de Trabajo del Proceso de Solicitud de Viáticos
Fuente: Diagramador de Procesos del JFlow
Autor: Francisco Ramírez
encuentre modelando.
Or, Correo.
electrónico.
la misma.
Siempre todo flujo tendrá una y sólo una tarea tipo INICIO, y
observar la tarea tipo INICIO y dos tareas tipo FIN, una para
Financiero.
183
lo necesiten.
monto de la misma.
grupo.
CARGO ACCION
Rector Autorizar Liquidación Viajes
Internacionales
Vicerrectorado Administrativo-Financiero Autorizar Liquidación Viajes Nacionales
Dirección Financiera Despachar el trámite de Liquidación de
viáticos y ayudas.
Director de Relaciones Externas Direccionar el pasaje a Contabilidad
para que lo liquide
Beneficiario Presentar informe o formulario de
liquidación con los documentos
requeridos según el caso
Presupuesto Generar la Liquidación en el Sistema
Contadora General Liquidar contablemente
Decano/Coordinador/Director/Jefe Firmar el Informe o Liquidación de
departamental de las unidades Viáticos y Pasaje
académicas, administrativas y/o de
apoyo
DOCUMENTO EMISOR
Informe de Liquidación de viáticos, Solicitante
pasaje (Viajes Internacionales).
Formulario prediseñado de Liquidación Solicitante
de Viáticos (Viajes Nacionales)
Facturas detallando gastos de viáticos Solicitante
en caso de haber recibido ayudas
económicas.
Ticket utilizado para el viaje Solicitante
Certificado de Asistencia o Aprobación Solicitante
(cuando se solicitó inscripción a cursos,
seminarios o congresos)
Detalle de Liquidación de Viáticos Presupuesto
Comprobante de Diario Contabilidad
liquidación.
Diario.
Entrada de datos
Nuevo | Proceso.
198
Figura 6-15 Modelo del Flujo de Trabajo del Proceso de Liquidación de Viáticos
Fuente: Diagramador de Procesos del JFlow
Autor: Francisco Ramírez
encuentre modelando.
Or, Correo.
electrónico.
la misma.
Siempre todo flujo tendrá una y sólo una tarea tipo INICIO, y
lo necesiten.
203
CARGO ACCION
Subdecano Asigna los profesores que revisarán el tema del
proyecto de Tesis.
Aprueba el tema del proyecto de tesis según informe
de profesores.
Director de la Carrera Revisa el temario del proyecto tesis
Director de Tesis
Profesores Revisan el tema y temario del proyecto de tesis
Estudiantes Solicitante del tramite de aprobación de tema de
proyecto de tesis
DOCUMENTO EMISOR
Solicitud de Tema de Proyecto de Tesis Solicitante
Temario de Proyecto de Tesis Solicitante
informe.
no su aprobación.
siguientes símbolos:
Entrada de datos
el proceso.
Nuevo | Proceso.
214
Figura 6-23 Modelo del Flujo de Trabajo del Proceso de Aprobación de Proyecto
de Tesis de Graduación
Fuente: Diagramador de Procesos del JFlow
Autor: Francisco Ramírez
encuentre modelando.
Or, Correo.
electrónico.
la misma.
Siempre todo flujo tendrá una y sólo una tarea tipo INICIO, y
lo necesiten.
220
Figura 6-25 Diseño del formulario electrónico para la presentación de tema de tesis.
Fuente: Diagramador de Procesos del JFlow
Autor: Francisco Ramírez
siguientes grupos:
221
Observación.
tesis.
CAPITULO 7
DEL WORKFLOW.
Cabe notar que la interacción con el Sistema SAF está solamente bajo
browser.
procesos Administrativo.
229
Generar el Compromiso.
le llega.
232
paso último.
239
de procesos Administrativo.
aplicación Web.
un documento específico.
242
documentos.
de Tesis de Graduación
Académicos.
temario.
cada uno.
electrónico.
CAPITULO 8
8 CONCLUSIONES Y RECOMENDACIONES.
la ESPOL.
249
8.1 Conclusiones
Proyecto de Tesis.
administrador.
cliente-servidor.
8.2 Recomendaciones
informática.
252
GLOSARIO
tareas automáticas
la información.
con valores
programa
BIBLIOGRAFÍA
http://www.developer.com/security
http://www.e-workflow.org
3. Java Technology
http://java.sun.com
http://www.iberomunicipios.org/Legislacion/lcelectronico.pdf
5. MSSQLCity.com
http://www.mssqlcity.com/Articles/Compare/Compare.htm
6. Noticiasdot.com
http://www.noticiasdot.com/publicaciones/2002/0902/2409/noticias240
9/noticias2409-8.htm
257
http://otn.oracle.com/produtcs/integration/workflow/workflow_fov.html
http://otn.oracle.com
http://www.capurro.de/bogota.htm
10. TheServerSide.com
http://www.theserverside.com/articles/article.jsp?l=J2EE-vs-DOTNET
http://www.wfmc.org
http://www.tpc.org
http://www.ultimus.com
258
http://www.waria.com
http://www.ima-system.com/workflow_office_function.htm
http://polaris.dit.upm.es/~jcduenas/patrones/Modelo.htm
17. Intranet Journal: Does the App Server market still exist?
http://www.intranetjournal.com/articles/200105/ap_05_16_01a.html
Hall