1 / 20

EmpWeb – ABCD plugin

EmpWeb – ABCD plugin. Curso de capacitación para transferencia tecnológica Sección relacionada con el área mySite, resolución de problemas y fuentes alternas de datos. Emiliano Marmonti Febrero 2010 emarmonti@gmail.com. mySite. Donde? Cuando?. mySite. Donde? Cuando?.

Download Presentation

EmpWeb – ABCD plugin

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EmpWeb – ABCD plugin Curso de capacitación para transferencia tecnológica Sección relacionada con el área mySite, resolución de problemas y fuentes alternas de datos. Emiliano Marmonti Febrero 2010 emarmonti@gmail.com

  2. mySite. Donde? Cuando?

  3. mySite. Donde? Cuando? La primer ventana presenta el estado de disponibilidad de cada una de las copias, de aquí es posible pasar al mySite.

  4. mySite (III) Ventana principal del mySite. Aquí ingresan los usuarios finales para realizar operaciones desde la web

  5. Esquema de funcionamiento del mySite Java empWeb Php nuSoap SOAP engine ABCD mySite • Operaciones • UserStatus • makeReservation • cancelReservation • renewal

  6. Actividad. Ejemplo de un problema con mySite En este caso, el mySite presenta que no se pudo cumplimentar una operación sin informar el porque de la falla

  7. Debug del mySite

  8. Análisis de reserve.php $user = new soapval('userId','',$_REQUEST["userId"]); $record = new soapval('recordId','',$_REQUEST["recordId"]); $volume= new soapval('volumeId','',$_REQUEST["volumeId"]); $category = new soapval('objectCategory','',$_REQUEST["objectCategory"]); $userdb = new soapval('userDb','',$_REQUEST["db"]); $objdb = new soapval('objectDb','',$empwebserviceobjectsdb); $library = new soapval('objectLocation','',$_REQUEST["library"]); //$from = new soapval('startDate','','20090322131211'); $param1 = array ( "name" => "operatorLocation" ); $myparam1 = new soapval ('param','',$_REQUEST["library"], 'http://kalio.net/empweb/engine/trans/v1',false,$param1); $param1 = array ( "name" => "operatorId" ); $myparam2 = new soapval ('param','','mysite',false,false,$param1); $myparams = new soapval ('params','',array($myparam1,$myparam2)); $myextension = new soapval ('transactionExtras','',$myparams,'',''); $params = array ($user,$record,$volume,$category,$userdb,$objdb,$library,$from,$myextension); //print_r($params); // Acá obtengo los datos generales $result = $client->call('waitSingle', $params, 'http://kalio.net/empweb/engine/trans/v1' , ''); //echo "Databse". $_REQUEST["db"]; //print_r($result); Construcción de valores SOAP Envío de transactionExtras Devolución de resultados de la transacción

  9. Actividad • Un-comentar la devolución de los resultados y verificar como se ve la transacción desde el cliente PHP (mySite). Determinar el problema que existe y usando ABCD, solucionarlo.

  10. Actividad net.kalio.empweb.engine.rules.ExtractUserClass_cant_find_user_class

  11. Actividad La leyenda final del proceso consiste en los mensajes generados por cada uno de los pipelines y sus respectivos resultados

  12. Fuentes de datos Alternas ISIS mySql Postgre SQL LDAP Empweb user service SOAP

  13. Que métodos debería implementar un servicio de provisión de Usuarios? • searchUsers • searchUsersById central/bridge posee un ejemplo de configuración para una db genérica con una tabla de usuarios genérica de foma tal de poder implementar un webservice de usuarios basado en mySql.

  14. Donde se definen fuentes alternativas de datos? engineconf.xml <base name="corporate" type="users"> <uri>http://localhost:9090/central/bridge/endpointusers.php</uri> <wsdlFile>/dbws/users/v1/empweb-users-service-1-0.wsdl</wsdlFile> </base> <base name="isis" type="users"> <uri>http://127.0.0.1:8085/ewdbws/services/ABCDUsersService</uri> <wsdlFile>/dbws/users/v1/empweb-users-service-1-0.wsdl</wsdlFile> </base> <base name="objetos" type="objects"> <uri>http://127.0.0.1:8085/ewdbws/services/ABCDMarcObjectsService</uri> <wsdlFile>/dbws/objects/v1/empweb-objects-service-1-0.wsdl</wsdlFile> </base> URL de atención de ewdbWS para usuarios URL de atención de ewdbWS para objetos

  15. Bridge de conexión a usuarios mySql HOST=localhost PORT=3306 USER=root PASSWD=Emi1802 DATABASE=university EMPWEBDB=corporate QUERYBYID="SELECT identification,last_name,first_name,user_type.name,DATE_FORMAT(valid_until,'%Y%m%d'),login,passwd FROM users LEFT JOIN user_type ON users.user_type_id=user_type.id WHERE identification='<id>'" QUERYBYIDLIKE="SELECT identification,last_name,first_name,user_type.name,DATE_FORMAT(valid_until,'%Y%m%d'),login,passwd FROM users LEFT JOIN user_type ON users.user_type_id=user_type.id WHERE identification LIKE '<id>%'" QUERYBYIDFORREPORTS=" OR identification='<idx>'" QUERYBYNAMEEXACT="SELECT identification,last_name,first_name,user_type.name,DATE_FORMAT(valid_until,'%Y%m%d'),login,passwd FROM users LEFT JOIN user_type ON users.user_type_id=user_type.id WHERE last_name LIKE '<name>'" QUERYBYNAMELIKE="SELECT identification,last_name,first_name,user_type.name,DATE_FORMAT(valid_until,'%Y%m%d'),login,passwd FROM users LEFT JOIN user_type ON users.user_type_id=user_type.id WHERE last_name LIKE '<name>%'" QUERYBYLOGIN="SELECT identification,last_name,first_name,user_type.name,DATE_FORMAT(valid_until,'%Y%m%d'),login,passwd FROM users LEFT JOIN user_type ON users.user_type_id=user_type.id WHERE login='<login>'" DEBUG=TRUE LOGFILE="/ABCD/www/bases/bridge/log.txt" Definición de la vía de conexión con mySql Sentencias SQL modelo para responder a los diferentes criterios de consulta de usuarios Debugging

  16. Bridge de conexión con mySql. Ejemplo incluído en la distro Ejemplo del uso de un LEFT JOIN simple para obtener un atributo de la entidad relacionada y así poder enviar datos completos a empweb SELECT identification,last_name,first_name,user_type.name,DATE_FORMAT(valid_until,'%Y%m%d'),login,passwd FROM users LEFT JOIN user_type ON users.user_type_id=user_type.id WHERE last_name LIKE '<name>’

  17. Actividad • Incluir una tabla relacionada con usuarios denominada Facultad, incluir un atributo de relación en la tabla de usuarios y usando PhpMyAdmin, cargar las facultades de los usuarios registrados.

  18. Foto del usuario final. Photoproxy.php user_status_result.jsp <div> <jxp:set cnode="${userInfoResult}" var="userInfo" select="//uinfo:userCollection" nsmap="${nsm}" /> <c:choose> <%-- This user does not exist in the database --%> <c:when test="${userInfo['uinfo:user'] == null}"> <p><fmt:message key="no_results_found"/></p> </c:when> <%-- We found a matching user: display it --%> <c:otherwise> <dsp:user doc="${userInfoResult}" select="//uinfo:userCollection" nsmap="${nsm}"/> </c:otherwise> </c:choose> </div> User.tag Opción de startup <table> <tr> <td rowspan="4"> <img src="${abcd}photoproxy.php?imgid=users/${userInfo['u:photo']}" alt="PICTURE"/> </td> <td><fmt:message key="user_id" /></td>

  19. Esquema de Funcionamiento JSP PHP (photoproxy) mySite (PHP) GD

  20. Actividad • Se decide que para cada usuario se tomarán dos fotos, frente y perfil. Cada foto tiene el nombre del usuario (la de frente) y la perfil, el nombre_p. Diseñar un script photoproxy2.php el cual sirva dicha foto y que solo resulte consumido desde Empweb-intranet.

More Related