La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

EmpWeb – ABCD plugin Curso de capacitación para transferencia tecnológica Sección explicativa sobre la relación entre los pipelines de las transacciones.

Presentaciones similares


Presentación del tema: "EmpWeb – ABCD plugin Curso de capacitación para transferencia tecnológica Sección explicativa sobre la relación entre los pipelines de las transacciones."— Transcripción de la presentación:

1 EmpWeb – ABCD plugin Curso de capacitación para transferencia tecnológica Sección explicativa sobre la relación entre los pipelines de las transacciones y sus storage en la base de datos mySql. Emiliano Marmonti Febrero 2010 emarmonti@gmail.com

2 Decomposición del Pipeline al momento de una transacción. Caso Loan TransactionContext Pr1Pr2Pr3Update DB Pr4 Finalización transacción. Resultados de los procesos. Lectura / Escritura Reglas o procesos USER_IDOBJECT_ID Transaction Extras Loan Instrucción SQL ProcessResult

3 Decomposición del Pipeline al momento de una transacción. Caso Renewal TransactionContext Pr1Pr2Pr3Update DB Pr4 Finalización transacción. Resultados de los procesos. Lectura / Escritura Reglas o procesos USER_IDOBJECT_ID Transaction Extras Loan Instrucción SQL Return ProcessResult

4 Vista del contenido del context a través del debug

5 Vista del context desde el debug. Caso Loan. Volcado {recordId=53, userDb=isis, libraryMaxHour=2359, objectLock=objetos=53, transaction=loan, userDOM=[userCollection: null], processName=CreateLoan, defaultLimits={loanDays=2, loanHours=0}, reservationStartHour=1600, transactionExtras={operatorId=abcd, operatorLocation=AGR}, returnHour=1500, exceptionDays=[20070816], userId=03, userStatusLock=isis=03, objectStatus=net.kalio.empweb.engine.db.ew15db.ObjectStatusImpl@155beeb, bundle=null, objectCategory=L, parameters={loanKey=loan, considerSkipDays=false, allowSkipDayReturn=false, returnHour=1500, log=}, profile=net.kalio.empweb.engine.db.ew15db.ProfileImpl@693d23, objectLocation=AGR, userClass=Estudiantes, transactionMode=init, loan=net.kalio.empweb.engine.db.ew15db.LoanImpl@12d0297, localEnvironment={}, copyId=10061, userStatus=net.kalio.empweb.engine.db.ew15db.UserStatusImpl@52afc, objectDb=objetos, objectDOM=[mods: null], globalEnvironment={maxHourForLoanByHour_VET=1700, exceptionDays.ING=20070620, 20070806, pucvua.ARQ=ARQ, reservationStartHour=1600, pucvua.VET=VET, maxHourForLoanByHour_AGR=2359, maxHourForLoanByHour_ARQ=1700, exceptionReturnHour.20070719=1900, typeOfObjectForbiddenToReservation=LBH, maxHourForLoanByHour_ING=1900, exceptionDays=20070816, returnHour=1500, pucvua.AGR=AGR, pucvua.ING=ING, reservationExpirationHour=1800}, reservationExpirationHour=1800}

6 Ayuda

7 Modelo de datos mySQL Empweb

8 Análisis del modelo  Las tablas no poseen relaciones demarcadas desde el modelo, si operadas por el software.  Poseen todas las tablas una columna denominada historic que demarca si la transacción es o no actual  Cuando se genera una devolución, el loan se updatea a historic y se genera una transaccion de return.

9 Como se generan las instrucciones SQL en empWeb TransactionContext UserStatus Object Status Loan Wait Return Loan Wait UpdateDB

10 Como se traducen las transacciones a las instrucciones SQL?(II) // Column names constants... static final String LOAN_ID_COL = Empweb15DB.TRANSACTION_ID_COL; static final String USER_ID_COL = Empweb15DB.USER_ID_COL; static final String USER_DB_COL = Empweb15DB.USER_DB_COL; static final String COPY_ID_COL = Empweb15DB.COPY_ID_COL; static final String RECORD_ID_COL = Empweb15DB.RECORD_ID_COL; static final String OBJECT_DB_COL = Empweb15DB.OBJECT_DB_COL; static final String REF_ID_COL = "ref_id"; static final String RESERVATION_ID_COL = "reservation_id"; static final String PROFILE_ID_COL = "profile_id"; static final String USER_CLASS_COL = "user_class"; static final String OBJECT_CATEGORY_COL = "object_category"; static final String START_DATE_COL = "start_date"; static final String END_DATE_COL = "end_date"; static final String OPERATOR_ID_COL = "operator_id"; static final String LOCATION_COL = "location"; static final String ORD_RENEWAL = "ord_renewal"; static final String ORD_RENEWAL_DESK = "ord_renewal_desk"; static final String ORD_RENEWAL_WS = "ord_renewal_mysite"; static final String HISTORIC_COL = Empweb15DB.HISTORIC_COL;

11 Como se traducen las transacciones a instrucciones SQL? (III) // xpath, and sql column static final String[][] fields = { {"@id", LOAN_ID_COL }, {"l:userId", USER_ID_COL }, {"l:userDb", USER_DB_COL }, {"l:copyId", COPY_ID_COL }, {"l:recordId", RECORD_ID_COL }, {"l:objectDb", OBJECT_DB_COL }, {"l:renew/@id", REF_ID_COL }, {"l:reservation/@id", RESERVATION_ID_COL }, {"l:profile/@id", PROFILE_ID_COL }, {"l:profile/l:userClass", USER_CLASS_COL }, {"l:profile/l:objectCategory", OBJECT_CATEGORY_COL }, {"l:startDate", START_DATE_COL }, {"l:endDate", END_DATE_COL }, {"l:operator/@id", OPERATOR_ID_COL }, {"l:location", LOCATION_COL }, {"l:ordinalRenewal", ORD_RENEWAL }, {"l:ordinalRenewalFromDesk", ORD_RENEWAL_DESK }, {"l:ordinalRenewalFromWS", ORD_RENEWAL_WS }, {"@historic", HISTORIC_COL }, };

12 Como se crean nuevos valores para las transacciones? …. public String getRenewId() throws EngineException { return (String)jxdom.getValue("l:renew/@id"); } public void setRenewId(String id) throws EngineException { jxdom.createPathAndSetValue("l:renew/@id", id); } … LoanImpl.java -> edbw15 … Loan loan= obFact.createLoan(); loan.setId(LibId.generateUniqueId()); loan.setUserId(userId); loan.setUserDb(userDb); loan.setCopyId(copyId); loan.setRenewId(renewId); loan.setRecordId(recordId); loan.setObjectDb(objectDb); … CreateLoan.java -> engine/trans_rules

13 Actividad Grupal  Continuando con los ejercicios anteriores, se desea agregar una columna a la tabla loan con el valor codificado de la Facultad del usuario con la finalidad de realizar estadísticas de préstamo por Facultad. Agregar la misma, realizar la modificación en la estructura de mysql e implementar los cambios necesarios.


Descargar ppt "EmpWeb – ABCD plugin Curso de capacitación para transferencia tecnológica Sección explicativa sobre la relación entre los pipelines de las transacciones."

Presentaciones similares


Anuncios Google