EmpWeb plug-in para ABCD 1.0
This presentation is the property of its rightful owner.
Sponsored Links
1 / 57

EmpWeb plug-in para ABCD 1.0 Presentación General PowerPoint PPT Presentation


  • 60 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

EmpWeb plug-in para ABCD 1.0 Presentación General

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Empweb plug in para abcd 1 0 presentaci n general

EmpWeb plug-in para ABCD 1.0

Presentación General


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)


Que es empweb contd

¿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

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.


Empweb plug in para abcd 1 0 presentaci n general

Interfaz de administración


Empweb plug in para abcd 1 0 presentaci n general

1. Arquitectura del software


Arquitectura simplificada

Arquitectura(simplificada)

Users

Objects

External Database Layer

Services for access database

Isis driver

Empweb’s Engine

Driver

Transactions

DB

Services for engine

Other interfaces

GUI

Empweb user interface


Empweb plug in para abcd 1 0 presentaci n general

2. Estándares que el software usa


Est ndares usados en empweb

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)


Biblio format tech agnostic

Biblio Format / Tech Agnostic

Non-Isis Tech

RDBMS,

XML Database

???

EmpWeb

Mods

XML

Mods

XML

Mods

XML

Mods

XML

ISIS Tech

Filters

CEPAL

LILACS

MARC


Mods metadata object description schema

MODS (Metadata Object Description Schema)


Empweb plug in para abcd 1 0 presentaci n general

2. Integración con ABCD


Empweb plug in para abcd 1 0 presentaci n general

Objetos


Empweb plug in para abcd 1 0 presentaci n general

Usuarios


Empweb plug in para abcd 1 0 presentaci n general

3. Base de datos de copias

para circulación


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

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

BDD ISIS

Ppal objetos

Loan

objects

1 «1»

10 «marc»

959 «^i10000^lAGR^oL^v1»

959 «^i10001^lAGR^oL^v2»

959 «^i10002^lAGR^oL^v3»

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 Oliv

eira 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.»


Como es que empweb conecta con las base de datos isis

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

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

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

Acceso x registro bibliográfico

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 Oliv

eira 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»


Empweb plug in para abcd 1 0 presentaci n general

4. Funcionalidad Específica de EmpWeb


Funciones b sicas

Funciones Básicas


Funciones b sicas ii

Funciones Básicas (II)


Funciones b sicas iii

Funciones Básicas (III)


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


Sistemas de circulaci n tradicionales

Sistemas de circulación tradicionales

  • Policies, Array of values object categories and user types (2 dimensions)

2D


Pol ticas complejas algunos ejemplos

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

summer

winter

3D


Concepto de perfil inclu do en empweb

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.

Books

Values For Limits

Limits published by Pipeline 1

Limits published by Pipeline 2

Limits published by Pipeline 3

Students


Policy empweb concept

Policy EmpWeb concept

Policy n

Policy 1

(Books, Students)

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.

(Books, Researchers)

(Reference, *)

(*,*)


Pol ticas

Políticas


Perfiles

Perfiles


Valores espec ficos para los perfiles l mites

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

¿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


Empweb plug in para abcd 1 0 presentaci n general

5. Funcionalidades integradas con IAH


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.


Empweb plug in para abcd 1 0 presentaci n general

interconexión con el catálogo


Empweb plug in para abcd 1 0 presentaci n general

Autogestión por parte del usuario “Mi sitio”


Empweb plug in para abcd 1 0 presentaci n general

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


Empweb plug in para abcd 1 0 presentaci n general

6. Concepto de Pipeline como

modelo de una transacción


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


Transacciones como pipelines

Transacciones como Pipelines

  • Pipeline concept (example simplified)

Rollback

Begin

Commit

See if there are reservations confirmed

Unlock

Steps

Begin of transaction

End of transaction

Lock User

See if the user is suspended or not

Lock Object

Update DB

New steps (rules or processes)

in the pipeline could be inserted


Empweb plug in para abcd 1 0 presentaci n general

Pipelines & Groovy


Empweb plug in para abcd 1 0 presentaci n general

7. ¿Porqué es tan flexible EmpWeb?


Complex policies in empweb a world of objects

Complex Policies in EmpWebA world of objects

Transaction Context

The object

Loans

Reserves

The user

Current Loans

Suspensions

Fees

Reserves

The location

(library)

The calendar

Fees, Suspensions

Scripting solutions

Using each object we can make a new step

In a pipeline that checks for complex rules

or add new objects (fee, suspensions) to the

Transaction Context


Presenting some complex rules

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

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

where

what


Limites adding a few a more complexity

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

Pipelines. Exposing limits to the profiles.

Cancel Reservation Pipeline

Step X

Limits

X is a Limit for this step

Code

The_Reservation was confirmed?

Yes

Fine (X)

No


Limits refactoring the rule

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.


Empweb plug in para abcd 1 0 presentaci n general

8. ¿Qué informes trae EmpWeb?


Informes i

Informes (I)


Informes userstatus

Informes (UserStatus)


Informes recordstatus

Informes (RecordStatus)


Empweb plug in para abcd 1 0 presentaci n general

8. Aspectos Tecnológicos


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.


Concurrence transactions

Concurrence & Transactions

Unlock

Steps

End of transaction

Lock User

Lock Object

Update DB

start

mySql

Process running transaction

rollback

PID 52627

PID 78282

commit

Process waiting for userStatus and/or ObjectStatus


Installing configuring

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.


Empweb plug in para abcd 1 0 presentaci n general

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


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.


Empweb plug in para abcd 1 0 presentaci n general

Muchas gracias por su atención


  • Login