empweb plug-in para abcd 1.0 presentación general

57
EmpWeb plug-in para ABCD 1.0 Presentación General

Upload: galvin-middleton

Post on 02-Jan-2016

22 views

Category:

Documents


1 download

DESCRIPTION

EmpWeb plug-in para ABCD 1.0 Presentación General. ¿Que es EmpWeb?. Desarrollo alternativo para administrar la circulación de materiales, conectado con las bases de datos que administra ABCD. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: EmpWeb plug-in para ABCD 1.0 Presentación General

EmpWeb plug-in para ABCD 1.0Presentación General

Page 2: EmpWeb plug-in para ABCD 1.0 Presentación General

¿Que es EmpWeb?

Desarrollo alternativo para administrar la circulación de materiales, conectado con las bases de datos que administra ABCD.

• Administra las operaciones de préstamo, devolución, reservas, suspensiones, multas, préstamos por hora, calendarios y admite políticas multibiblioteca.

• Agnóstico tecnológicamente. Se conecta a través de webservices con las fuentes de datos, incluso entre la interfaz de presentación y el motor del software en sí.

• Interactúa con dos fuentes de datos a las cuales accede solo en modo lectura (objetos y usuarios)

Page 3: EmpWeb plug-in para ABCD 1.0 Presentación General

¿Que es EmpWeb? (contd)• A diferencia de otros sistemas de gestión para el área de

circulación es altamente configurable, tanto en las fuentes de datos, como en su comportamiento permitiendo la implementación de reglas complejas de circulación.

• Se halla implementado en el lenguaje de programación Java, siendo que es posible agregar scripts de comportamiento en un lenguaje de scripting denominado Groovy sin recompilar ni reiniciar el servlet-container.

• Por su misma arquitectura, la interfaz se halla completamente separada de la lógica de negocio, pudiendo cambiar el layout, agregar fácilmente nuevos idiomas o alterarse las leyendas que se incluyen en la distribución.

Page 4: EmpWeb plug-in para ABCD 1.0 Presentación General

Historia del desarrollo

Usado en la PUCV de Chile desde 2003 en adelante soportando una carga de múltiples transacciones diarias.

Presentado en ISIS 2. Adquirido por VLIR (Consorcio de Universidades

Belgas) para su adopción en el programa DOCBIBLAS como plug-in opcional de ABCD.

Customizado y adaptado a ABCD desde Diciembre de 2008 a fines de Julio de 2009.

Entregado a BIREME para su inclusión en el paquete ABCD.

Page 5: EmpWeb plug-in para ABCD 1.0 Presentación General

Interfaz de administración

Page 6: EmpWeb plug-in para ABCD 1.0 Presentación General

1. Arquitectura del software

Page 7: EmpWeb plug-in para ABCD 1.0 Presentación General

Arquitectura(simplificada)

UsersExternal Database Layer

Services for access database

Empweb’s Engine

GUI Empweb user interface

Services for engine

Other interfaces

Objects

Isis driver

TransactionsDB

Driver

Page 8: EmpWeb plug-in para ABCD 1.0 Presentación General

2. Estándares que el software usa

Page 9: EmpWeb plug-in para ABCD 1.0 Presentación General

Estándares Usados en EmpWeb

Registros bibliográficos. Formato agnóstico, “estabilizado” en MODS.

XML. Tanto para configuración de todos los seteos del software como en la modelización interna de las entidades.

SOAP. Protocolo de comunicación para implementar webservices.

UTF-8 y Unicode internamente (propio de Java)

Page 10: EmpWeb plug-in para ABCD 1.0 Presentación General

ISIS Tech

Biblio Format / Tech Agnostic

EmpWeb

LILACSMARC

CEPAL

Mods XML Mods

XML

Mods XML

Non-Isis TechRDBMS,

XML Database

???Mods XML

Filters

Page 11: EmpWeb plug-in para ABCD 1.0 Presentación General

MODS (Metadata Object Description Schema)

Page 12: EmpWeb plug-in para ABCD 1.0 Presentación General

2. Integración con ABCD

Page 13: EmpWeb plug-in para ABCD 1.0 Presentación General

Objetos

Page 14: EmpWeb plug-in para ABCD 1.0 Presentación General

Usuarios

Page 15: EmpWeb plug-in para ABCD 1.0 Presentación General

3. Base de datos de copias para circulación

Page 16: EmpWeb plug-in para ABCD 1.0 Presentación General

Copies como base de datos relacionada con la entidad bibliográfica ppal

BDD ISISPpal objetos

Loanobjects

1 «1» 5 «19911017084055.4» 8 «911008s1989 bl a b f001 0 por » 10 « ^a 90743819 » 20 « ^a8570251270» 35 « ^9(DLC) 90743819» 40 « ^aDLC^cDLC» 43 « ^as-bl---» 50 «00^aRS164^b.P72 1989»245 «00^aPlantas da medicina popular no Rio Grande do Sul /^cClßudia Maria Oliveira Sim§es ... [et al.].»250 « ^a3. ed.»260 « ^a[Porto Alegre, RS] :^bEditora da Universidade, Universidade Federal do Rio Grande do Sul,^c[1989]»300 « ^a173 p. :^bill. ;^c23 cm.»

1 «1» 10 «marc»959 «^i10000^lAGR^oL^v1»959 «^i10001^lAGR^oL^v2»959 «^i10002^lAGR^oL^v3»

Page 17: EmpWeb plug-in para ABCD 1.0 Presentación General

Como es que Empweb conecta con las base de datos Isis?

1 «1» 5 «19911017084055.4» 8 «911008s1989 bl a b f001 0 por » 10 « ^a 90743819 » 20 « ^a8570251270» 35 « ^9(DLC) 90743819» 40 « ^aDLC^cDLC» 43 « ^as-bl---» 50 «00^aRS164^b.P72 1989»245 «00^aPlantas da medicina popular no Rio Grande do Sul /^cClßudia Maria Oliveira Sim§es ... [et al.].»250 « ^a3. ed.»260 « ^a[Porto Alegre, RS] :^bEditora da Universidade, Universidade Federal do Rio Grande do Sul,^c[1989]»300 « ^a173 p. :^bill. ;^c23 cm.»

959 «^i10000^lAGR^oL^v1»959 «^i10001^lAGR^oL^v2»959 «^i10002^lAGR^oL^v3»

mx marc join=loanobjects,959='MARC-',v1

<join>/abcd/www/bases/loanobjects/data/loanobjects,959='MARC-',v1</join>

Acceso x registro bibliográfico

Page 18: EmpWeb plug-in para ABCD 1.0 Presentación General

4. Funcionalidad Específica de EmpWeb

Page 19: EmpWeb plug-in para ABCD 1.0 Presentación General

Funciones Básicas

Page 20: EmpWeb plug-in para ABCD 1.0 Presentación General

Funciones Básicas (II)

Page 21: EmpWeb plug-in para ABCD 1.0 Presentación General

Funciones Básicas (III)

Page 22: EmpWeb plug-in para ABCD 1.0 Presentación General

Aspectos funcionales

• Administra múltiples políticas para circulación, Ej: Política de circulación para época de exámen, política para época de verano, política para fines de semana, etc.

• Administra calendarios con pre y post comprobación de las fechas/horas. Administra horarios de las bibliotecas del sistema.

•Cada política se compone de un conjunto de perfiles. El perfil se compone de una dupla (Tipo de Usuario, Tipo de Objeto), en cada perfil se determinan los valores apropiados para la circulación. Ejemplo:

(Política de verano / usuario docente / tipo de objeto DVD) =

(10 días de préstamo, 0.20 USD de multa por día de atraso, renovable hasta 3 veces desde el sitio de usuario).

Page 23: EmpWeb plug-in para ABCD 1.0 Presentación General

Sistemas de circulación tradicionales Policies, Array of values

object categories and user types (2 dimensions)

Suspensions/Overdue

1 day 2 days >3 days

Books 3 days 5 days 17 days

CD’s 5 days … …

Loan days Student Teachers Researchers

books 10 days 12 days 17 days

CD’s 5 days … …

2D

Page 24: EmpWeb plug-in para ABCD 1.0 Presentación General

Políticas ComplejasAlgunos ejemplos

“…Well, normally the books object category can be loaned to students users for 10 days, but near summer, let’s say from 1st December, the period is reduced to 7 days…”

Loan days Student Teachers Researchers

books 10 days 12 days 17 days

CD’s 5 days … …

winter

Loan days Student Teachers Researchers

books 7 days 12 days 17 days

CD’s 5 days … …

summer

3D

Page 25: EmpWeb plug-in para ABCD 1.0 Presentación General

Concepto de Perfil incluído en EmpWeb A combination of Object Type & User Category makes a

Profile. A profile is the set of values for pipeline Limits in a combination of user types & categories.

Students

Books

Values For Limits…Limits published by Pipeline 1Limits published by Pipeline 2Limits published by Pipeline 3…

Page 26: EmpWeb plug-in para ABCD 1.0 Presentación General

Policy EmpWeb concept

(Books, Students)

(Books, Researchers)

(Reference, *)

Policy 1

(*,*)

A policy is conceived as a conceptual set of profiles.

For instance the library could have a policy for summer, another for winter.

Another example could be in a multiple deploys of Empweb, each one with one and only one active policy.

Policy n

Page 27: EmpWeb plug-in para ABCD 1.0 Presentación General

Políticas

Page 28: EmpWeb plug-in para ABCD 1.0 Presentación General

Perfiles

Page 29: EmpWeb plug-in para ABCD 1.0 Presentación General

Valores específicos para los perfiles (Límites)

Page 30: EmpWeb plug-in para ABCD 1.0 Presentación General

¿Que sucede si se realiza una transacción con un perfil o una política y luego esta se altera?

La transacción siempre conserva la información de los límites del perfil con que fue aplicado, lo cual es válido para todas las transacciones que de allí se desprendan

Page 31: EmpWeb plug-in para ABCD 1.0 Presentación General

5. Funcionalidades integradas con IAH

Page 32: EmpWeb plug-in para ABCD 1.0 Presentación General

Aspectos funcionales

• Incluye una interfaz para consultar la disponibilidad de cada copia integrable a IAH a través de los shortcuts.

• Agrega a ABCD central funcionalidad de “Mi sitio” para el usuario final, a partir del cual es posible realizar operaciones de gestión de la circulación en forma remota (consultar el estado de cuenta, realizar reservas o cancelar las mismas).

• Administra préstamos configurables por tipo de usuario y tipo de objeto a los cuales se les calcula en forma automática el plazo y las condiciones de validación para realizar la transacción. Aplica en forma automática las penalidades (suspensiones y/o multas) en caso de resultar apropiado.

• Incluye un conjunto de reportes básicos para la gestión y reclamo de los materiales aún no devueltos.

Page 33: EmpWeb plug-in para ABCD 1.0 Presentación General

interconexión con el catálogo

Page 34: EmpWeb plug-in para ABCD 1.0 Presentación General

Autogestión por parte del usuario “Mi sitio”

Page 35: EmpWeb plug-in para ABCD 1.0 Presentación General

Interconexión entre el sitio de usuario y la interfaz de

administración

Page 36: EmpWeb plug-in para ABCD 1.0 Presentación General

6. Concepto de Pipeline como modelo de una transacción

Page 37: EmpWeb plug-in para ABCD 1.0 Presentación General

Flexibilidad

• Conceptualiza cada transacción como un conjunto de reglas y procesos. Las reglas representan condiciones a validar y los procesos acciones a realizar. La salida de un proceso es la entrada del siguiente (a menos que alguna regla de validación lo interrumpa).

• Posee un lenguaje de scripting interno (Groovy) con el cual es posible intervenir para modificar o agregar nuevas reglas y procesos sin necesidad de recompilar.

• Lo anterior permite implementar políticas complejas de circulación e implementar nuevos servicios en la biblioteca. Un ejemplo:

“En época de exámen, un usuario que alcanzó su límite máximo de publicaciones prestadas puede llevar una publicación por el fin de semana

siempre y cuando no tenga reservas pendientes y ningún plazo de las publicaciones actualmente prestadas esté vencido…”

Page 38: EmpWeb plug-in para ABCD 1.0 Presentación General

Transacciones como Pipelines

Pipeline concept (example simplified)

End of transaction

Lock User Lock

Object

See if there are reservations confirmed

See if the user is suspended or not

Update DB

Unlock

New steps (rules or processes) in the pipeline could be inserted

Steps

Begin CommitRollback

Begin of transaction

Page 39: EmpWeb plug-in para ABCD 1.0 Presentación General

Pipelines & Groovy

Page 40: EmpWeb plug-in para ABCD 1.0 Presentación General

7. ¿Porqué es tan flexible EmpWeb?

Page 41: EmpWeb plug-in para ABCD 1.0 Presentación General

Complex Policies in EmpWebA world of objects

The userCurrent LoansSuspensionsFeesReserves

The objectLoans Reserves

Transaction Context

Fees, SuspensionsThe calendar

The location(library)

Using each object we can make a new stepIn a pipeline that checks for complex rulesor add new objects (fee, suspensions) to the Transaction Context

Scripting solutions

Page 42: EmpWeb plug-in para ABCD 1.0 Presentación General

Presenting some “complex” rules

The Engeneering library (ING acronym) is included in the summer policy that we designed previously, but for the user class “Coordinadores”, it will loan BKS for 20 days.

Please, control the validity of the users previous to make any operation!!! If the expiration date is blank, Empweb is not doing actually any control!

The Agronomics library (AGR) does not admit to make on-line reservations for users which validity expire in 6 months or less.

All the libraries in the system agree that if a confirmed reservation is cancelled or expired a suspension and/or a fee should be applied. If there are < 2 reservations for the same title will apply a fee of $10, if there are >=2 reservations, will apply the fee and a suspension of 5 days.

Page 43: EmpWeb plug-in para ABCD 1.0 Presentación General

Expressing the rules in the Empweb’s World of Objects.

If object.library = ‘ING’ and user.type=‘Cordinadores’ then loan.days=20– @loan pipeline.

If user.validity ==“” or user.validity is null then transaction.stop– @ loan,reservation pipelines

If month_difference_between (today,user.validity)<=6 and transaction.comesfrom==‘web’ then transaction.stop.

– @reservation pipeline

Create_new_fee();If reservations.count()>2 then

Create_suspension()

@cancelreservation pipeline

what

where

Page 44: EmpWeb plug-in para ABCD 1.0 Presentación General

LimitesAdding a few a more complexity

All the libraries in the system agree that if a confirmed reservation is cancelled or expired, if there are < 2 reservations for the same title will apply a fee of $10, if there are >=2 reservations, will apply the fee and a suspension of 5 days.

These are 2 variables that could change for the combination of object/user class

In Empweb’s WoO these are Limits for the rule

Page 45: EmpWeb plug-in para ABCD 1.0 Presentación General

Pipelines. Exposing limits to the profiles.

Step X

… …

Code

Limits

The_Reservation was confirmed?

Cancel Reservation Pipeline

Yes

No

Fine (X)

X is a Limit for this step

Page 46: EmpWeb plug-in para ABCD 1.0 Presentación General

LimitsRefactoring the rule

All the libraries in the system agree that if a confirmed reservation is cancelled or expired,a suspension and/or a fee should be applied. If there are < 3 reservations for the same title will apply a fee of X$, if there are >=3 reservations, will apply the fee and a suspension of Y days.

BKS CDR

Coordinadores X=5 / Y=7 X=7 / Y=8

Directores X=3 / Y=4 X=2 / Y=3

Page 47: EmpWeb plug-in para ABCD 1.0 Presentación General

8. ¿Qué informes trae EmpWeb?

Page 48: EmpWeb plug-in para ABCD 1.0 Presentación General

Informes (I)

Page 49: EmpWeb plug-in para ABCD 1.0 Presentación General

Informes (UserStatus)

Page 50: EmpWeb plug-in para ABCD 1.0 Presentación General

Informes (RecordStatus)

Page 51: EmpWeb plug-in para ABCD 1.0 Presentación General

8. Aspectos Tecnológicos

Page 52: EmpWeb plug-in para ABCD 1.0 Presentación General

Aspectos tecnológicos

• Realizado en Java, implementa conectividad con bdd ISIS a través de CISIS.

•Construído como un conjunto de componentes (servlets) que se comunican a través del consumo de web-services. Estos web-services pueden ser potencialmente consumidos por otras aplicaciones (Ej: PHP+NuSOAP para el MySite).

• Incluye un intérprete Groovy al cual le publica la jerarquía de objetos con los que puede componer una transacción. Luego esa transacción es serializada en MySql y compuesta en forma dinámica.

• Es posible “pluggear” conectividad con otras fuentes de información como insumo. En la distro de ABCD 1.0 se ha incluído un bridge de conectividad con base de datos de usuarios en MySql, consumido por EmpWeb como un webservice.

Page 53: EmpWeb plug-in para ABCD 1.0 Presentación General

Concurrence & Transactions

End of transaction

Lock User Lock

ObjectUpdate DB

UnlockSteps

PID 52627 PID 78282

Process running transaction

Process waiting for userStatus and/or ObjectStatus

mySql

start

commit

rollback

Page 54: EmpWeb plug-in para ABCD 1.0 Presentación General

Installing & Configuring Requirements (Technical & non-tech)

– JDK 1.5– MySql version 4.0 or >– Mapping of bibliographic database fields to

MODs.– Connection with users database or source of

data. Fields (or services) for photo, login & password.

– Recommended: Testing & Production deploy to model & implement the “business logic” of the circulation logic.

Page 55: EmpWeb plug-in para ABCD 1.0 Presentación General

9. ¿En que consistirá esta capacitación?

Page 56: EmpWeb plug-in para ABCD 1.0 Presentación General

En que consistirá esta capacitación?

Realizar un entrenamiento intensivo sobre los aspectos internos de EmpWeb de modo de dotar a BIREME de las capacidades para mantener el código fuente y realizar adaptaciones al mismo.

Detallar la integración entre ABCD y EmpWeb de modo que las subsiguientes versiones del producto se puedan integrar fácilmente con el plug-in.

Documentar y centralizar el conocimiento sobre EmpWeb, el cual ha estado reflejado en diferentes documentos, diversas capacitaciones, pero en ninguna transversal que lo abarque completamente.

Page 57: EmpWeb plug-in para ABCD 1.0 Presentación General

Muchas gracias por su atención