1. admiTI2 T ecnologías de l a Información 2 .0 de código abierto para la ADMInistración en el ámbito educativo Proyecto cofinanciado por el Ministerio de Industria, Turismo y Comercio dentro del Plan Nacional de Investigación Científica, Desarrollo e Innovación Tecnológica 2008-2011 y el Fondo Europeo de Desarrollo Regional (FEDER) – TSI-020100-2009-527
2. admiTI2 T ecnologías de la I nformación 2 .0 de código abierto para la ADMI nistración en el ámbito educativo El proyecto admiTI2 pretende avanzar en la implantación de las nuevas tecnologías web en la administración pública electrónica mediante el desarrollo de una plataforma de código abierto que facilite el acceso a los servicios de la Administración Pública en el ámbito educativo, integrando herramientas colaborativas que mejoren la eficiencia y la productividad, en concreto con las administraciones relacionadas con el ámbito educativo español.
4. admiTI2 Este módulo permite realizar el alta de uno o varios alumnos en diferentes centros educativos. Se ha definido un proceso de negocio que marca los pasos del alta, y se lleva a cabo mediante sencillos formularios web que se integran con herramientas como Google Maps.
9. admiTI2 El usuario final entra al portal e interactúa con él, manteniendo la comunicación con la parte servidora mediante la librería DWR . Eventualmente, enviará una solicitud, reclamacion ó matrícula encapsulando las peticiones y respuestas en mensajes SOAP con dirección pública apuntando al ESB del servidor Glassfish. El ESB redireccionara la peticion a la direccion privada del proceso de negocio en cuestión , implementado en WS-BPEL . Dicho proceso sera el encargado de orquestar a los servicios web creados bajo el enfoque Enterprise Mashups de Roma . Para ello, deberá hacer uso de las interfaces de servicio web WSDL publicadas en el servidor WSO2 .
13. admiTI2 Anotar POJOs El modelo de datos está basado en POJOs Java. Cualquier POJO que deba ser considerado servicio web requerirá de las anotaciones oportunas facilitadas por el enfoque de mashups de empresa de Roma Metaframework .
14. admiTI2 @ServiceClass ( INDICA QUE DICHO POJO, CON TODOS SUS METODOS, SERA CONSIDERADO SERVICIO WEB. interfaceClass = SolicitudRepositoryServiceUser.class, serviceName = "SolicitudSOAPUser" ) @BpelClass ( INDICA QUE SE DESEA CREAR UN PROCESO BPEL CON ESTE SERVICIO COMO PUERTA DE ENTRADA AL MISMO. consumerAddress ="http://localhost:9090/SolicitudUser", wsdlAddress ="http://localhost:8080/AdmiTI2/services/SolicitudSOAPUser", projectPath ="/home/germinus/proyectos/admiti2/admiti2/trunk/Esb4RomulusDemo/temp/", operationName ="enviarSOAPU" ) @RegistryClass ( INDICA QUE NUESTRO SERVICIO WEB DEBE SER REGISTRADO EN EL SERVIDOR WSO2. registryURI ="http://localhost:9763/registry", username ="admin", password ="admin", serviceDesc ="Admiti2 service", author ="Germinus", organizationPackage ="es.gesfor.AdmiTI2", wsdlAddress ="http://localhost:8080/AdmiTI2/services/SolicitudSOAPUser", type =ServiceType.WSDL )
15. admiTI2 Crear procesos BPEL : La paleta que proporciona Netbeans para creación de procesos BPEL acelera el proceso de implementación y lo hace más intuitivo. Además, posee un plugin proporcionado por el enfoque de mashups de empresa de Roma que permite conectar el IDE con el servidor WSO2 en el cual se publicaron las interfaces WSDL de los servicios web. Puesto que las aplicaciones contenedoras de procesos BPEL son a su vez servicios web, deberán poseer una interfaz WSDL propia que sirva de puerta de acceso al mismo.
16. admiTI2 Dichos procesos BPEL incluirán las interfaces WSDL del resto de servicios web indicados, concretamente las de los servicios web generados por Roma gracias a las anotaciones oportunas proporcionadas por el enfoque enterprise mashups. Los .jar del proceso resultante deberán incluirse en la aplicación web compuesta que posteriormente será desplegada en el ESB de Glassfish.
18. admiTI2 Invocación del proceso de negocio : Dicha aplicación compuesta será invocada desde el código Javascript situado en el navegador del cliente mediante cualquiera de las librerías creadas para ello, en nuestro caso, mediante la librería incluida en el motor de Firefox “ Gecko” .
19. admiTI2 var param = new SOAPParameter(); param.value = solAux.id; param.name = "idEntrada"; var myParamArray = [param]; SE DEBE INDICAR EL NOMBRE DE LA FUNCION DE ENTRADA AL PROCESO BPEL aceptarSOAP.encode(0, "aceptarSol", "http://j2ee.netbeans.org/wsdl/SolicitudASOAP/SolicitudAWSDL", 0, null, myParamArray.length,myParamArray); SE DEBERAN ACTIVAR LOS PERMISOS DEL NAVEGADOR netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); INVOCACION Var respuesta = aceptarSOAP.invoke();
20. TRATAMIENTO DEL RESULTADO if(respuesta.fault) { JanusUtil.adv_alert("ERROR",respuesta.fault.faultString); } else { var valorResultado = new Array(); valorResultado = respuesta.getParameters(false, {}); if(valorResultado[0].value == true) JanusUtil.adv_alert("SOLICITUD ACEPTADA","Se ha enviado un correo electronico al solicitante"); else JanusUtil.adv_alert("ERROR","No se pudo aceptar la solicitud"); } admiTI2
21. admiTI2 Gracias por su atención Más información en: http://admiti2.germinus.com y http://innovacion.grupogesfor.com