empweb plug-in para abcd 1.0 presentación general

Post on 02-Jan-2016

27 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

EmpWeb plug-in para ABCD 1.0Presentació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)

¿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.

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.

Interfaz de administración

1. Arquitectura del software

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

2. Estándares que el software usa

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)

ISIS Tech

Biblio Format / Tech Agnostic

EmpWeb

LILACSMARC

CEPAL

Mods XML Mods

XML

Mods XML

Non-Isis TechRDBMS,

XML Database

???Mods XML

Filters

MODS (Metadata Object Description Schema)

2. Integración con ABCD

Objetos

Usuarios

3. Base de datos de copias para circulación

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»

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

4. Funcionalidad Específica de EmpWeb

Funciones Básicas

Funciones Básicas (II)

Funciones Básicas (III)

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).

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

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

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…

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

Políticas

Perfiles

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

¿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

5. Funcionalidades integradas con IAH

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.

interconexión con el catálogo

Autogestión por parte del usuario “Mi sitio”

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

administración

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

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…”

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

Pipelines & Groovy

7. ¿Porqué es tan flexible EmpWeb?

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

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.

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

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

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

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

8. ¿Qué informes trae EmpWeb?

Informes (I)

Informes (UserStatus)

Informes (RecordStatus)

8. Aspectos Tecnológicos

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.

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

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.

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

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.

Muchas gracias por su atención

top related