Archives: 10/08/2016

Configuración Productos IGGLOBAL Classic

Para agregar items de Productos nuevos al menú contextual en el Escritorio de IGGlobal Classic se deben configurar las tablas “Codigos_Comercial” y “Codigos_Comercial_Menu” de la siguiente manera:

  • Codigos_Comercial: En esta tabla se insertan el Id de vista, el nombre que se mostrara en menu, y el tipo de vista por defecto que se mostrara (vista “Modulo” o “Gestion”).
  • Codigos_Comercial_Menu: En esta tabla se inserta el Id cargado en la tabla anterior y el ModuloId que sale de la tabla “Codigos_Menu” del campo “ModuloId”

TablasProduc

 

El menú se vera así luego de la configuracion.

desktop

Una vez elegido el menú que desea el escritorio de trabajo cambiara a la configuracion elegida y para volver a la anterior solo se debe volver a clickear la que eligió y con eso se destildara y volverá a la configuracion por defecto.

Este menú solo aparece como los usuarios “INSTALADOR” y “RESSELER”.


Configuración de balores por defecto y seguridad en campos de formularios

Asignación de valores

Al hacer click en la etiqueta del campo.

Control durante edición

Para evitar la aplicación de valores por defecto de los campos durante la edición de un registro, se deberá establecer una variable de TempData en el controlador MVC cuya clave está en el módulo FormState y su valor será Edit cuando corresponda la edición. Ejemplo:

TempData.Add(FormState.SessionKey, FormState.Edit)


Conceptos y diseño básico – Especificación escrita

Introducción

El objetivo de S2 Mobile Framework es extender los conceptos arquitectónicos y funcionales implementados en S2 Framework (backend) a dispositivos móviles a través de aplicaciones híbridas (HTML5+JS).

El presente documento tiene como objetivo detallas los conceptos básicos del diseño de S2 Framework. Se incluyen vocabularios específicos de la solución y su definición.

Componentes básicos

  • Core: contiene las funcionalidades principales relacionadas a infraestructura de la aplicación. Entre ellas se encuentran: HTTP, para acceso a la API REST expuesta por el backend; Data, para el manejo de datos de forma local y soporte de uso de la aplicación de forma desconectada (offline) y uso de rangos sobre las consultas al servidor; Security, para obtener la configuración de seguridad de la aplicación referente a visibilidad de campos, valores por defecto, ejecución de acciones; Workflow, para el consumo de los servicios de cambios de estados y ejecución de flujos de procesos.
  • UI: este módulo contiene los componentes utilizados para el armado de las interfaces gráficas de aplicaciones móviles derivadas del framework. Encontramos dos componentes principales: Explorer, el cual es utilizado para el armado de pantallas de consultas. Dicho componente integra diferentes formatos de la información: listado, calendario, mapa con geolocalización y galería de imágenes; Form, el cual encapsula el funcionamiento común a todos los formularios que se desarrollarán en la aplicación, incluyendo validaciones, estructura del modelo de datos y definiciones relacionadas al estilo de la aplicación.

Tecnologías utilizadas

S2 Mobile Framework se encuentra basado en tecnologías HTML5 y Javascript.

El desarrollo del mismo se realiza en un entorno cloud denominado Monaca, el cual provee a los desarrolladores un IDE online totalmente web el cual incluye control de versión, compilación y vista previa de la aplicación.


Configurar HTTPs en Azure usando StartSSL

Más en: The complete guide to loading a free SSL certificate into an Azure website

Comenzaremos el proceso suponiendo que:

  • El sitio web ya está online en Azure.
  • Ya se configuró un dominio personalizado en el sitio web.
  • Se utilizará un usuario que ya se registró en la página StartSSL.
  • Tener instalado OpenSSL en Windows (Win64OpenSSL 1.0.2h)
  1. En el panel de control, seleccionar la solapa “Validations Wizard”.
  2. Elegir la opición “Domain Validation” y presionar “Continue”.
  3. Colocar el dominio en cuestión y presionar “Continue”.
  4. Si el dominio no se encuentra validado, aparecerán múltiples opciones  de validación:
    • Si tenemos posibilidad de acceder al hosting onde está la aplicación, es conveniente usar el método “website control validation”.
    • Si aparece un email válido para la verificación, seleccionaremos dicho email y presionamos “Send Verification Code”.
    • NOTA: éste proceso será opcional, ya que si estamos instalando IGGLOBAL Online dentro de un subdominio de un cliente, será dicho cliente quien envíe el PFX para configurar HTTPS en el sitio.
  5. Tras realizar la validación, presionar el botón “To ORder SSL Certificate”
  6. En el recuadro con el título “Please enter the full hostname for SSL certificate” colocar el dominio personalizado del sitio web. Ejemplo: igglobal.baseglobal.com.ar
  7. En el recuadro con el título “Please submit your Certificate Signing Request (CSR)” seleccionar la opción “Generated by Myself”.
  8. Correr el comando OpenSSL que está en pantalla.
  9. IMPORTANTE: DE ÉSTA MANERA SE ESTARÁ GENERANDO UN NUEVO SET DE CLAVES PUBLICA/PRIVADA. NO PERDER LA PASSWORD INGRESADA DURANTE EL PROCESO.
  10. Copiar todo el contenido del archivo *.csr generado dentro del campo en pantalla y presionar “Submit”.
  11. Luego ir a la opción “Certificate List”, buscar el certificado deseado y presionar el botón “Retrieve”.
  12. Se descargará un archivo ZIP con los certificados para cada tipo de servidor. Continuaremos con los correspondientes a IIS.
  13. Se deberá generar un archivo PEM cuyo contenido será: el contenido del archivo nombrededominio.crt y debajo el contenido del archivo intermediate.crt. Asegúrese de incluir las etiquetas del BEGIN CERTFICATE y END CERTIFICATE de cada certificado. El resultado debe ser similar a este:—– BEGIN CERTIFICATE —–
    (El certificado Primario: nombrededominio.crt)
    —– END CERTIFICATE —–
    —– BEGIN CERTIFICATE —–
    (El certificado intermedio: Intermediate.crt)
    —– END CERTIFICATE —–
  14. Guardar el archivo con extensión .PEM
  15. Copiar el contenido del archivo nombrededominio.crt y pegarlo en otro archivo. Guardar éste último como client.cer.
  16. Correr el comando OpenSSL para generar el archivo PFX: openssl.exe” pkcs12 -export -in public.cer -inkey nombre_ssl_key.key -certfile archivo.pem -out mycert.pfx
  17. Subir el archivo PFX a Azure y asignar el certificado al dominio en cuestión.

 

 


Nuevo proceso de actualización de IGGLOBAL

Desafíos

  • Minimizar tiempos del proceso actual de actualización de los componentes de IGGLOBAL.
  • Mejorar el proceso de distribución de versiones y cambios a los clientes que utilicen IGGLOBAL.
  • Generar la infraestructura necesaria para proveer una actualización OTA de los componentes de IGGLOBAL.
  • Minimizar complejidad, y por ende mitigar riesgos de fallos en el proceso de actualización.

Características

El diseño inicial del nuevo proceso de actualización consta de:

  • Un servidor centralizado que almacenará el paquete del update, el cual incluye: cambios en bases de datos, componentes ejecutables y nuevos recursos multimedia.
  • Un servicio de actualización automática instalado en todos los servidores de bases de datos de los clientes en modalidad “Hybrid” y “On-Premise”. En caso de los clientes en modalidad “Cloud”, la infraestructura del servicio es provista por BASE GLOBAL.

Arquitectura SaaS – Multi-Tenant para IGGLOBAL

Objetivos

El presente proyecto tiene como objetivo extender la arquitectura actual de IGGLOBAL para tener la posibilidad de entregar el software en la modalidad SaaS (Software as a Service).

Dentro de las modificaciones a realizar se deberán tener en cuenta los siguientes requerimientos:

  • Los clientes del servicio podrán optar por ubicar físicamente la base de datos de la empresa (IGGLOBAL EDB) en servidores propios (on-premise) o bien alojarlos en algún proveedor de hoting/cloud.
  • Deberá darse soporte de multi-tenancy a todas las aplicaciones móviles de IGGLOBAL.
  • Se deberá poder llevar el control de acceso al servicio desde el departamento de implementación de BASE GLOBAL.
  • Será necesario optimizar y automatizar las rutinas de actualización de los componentes del software, de forma centralizada y transparente al cliente.

Implementación

Actualmente se están realizando los primeros diseños y pruebas del proyecto, las cuales implican cambios en las bases de datos existentes del sistema, generación de servicios autónomos que se instalarán en los servidores de los clientes y los ajustes a las arquitecturas de las aplicaciones.

A su vez, se están evaluando los beneficios y posibles desafíos de implementar ésta arquitectura.

Estado: En Proceso


Generación Setup IGGLOBAL Cloud Services

La Generación del Setup para instalar el servicio IGGLOBAL Cloud Service esta compuesta de los siguientes proyectos.

  • IGGlobal.CloudServices.Jobs (Dll que ejecuta las tareas de QUARTZ.Net)
  • IGGlobal.CloudServices.Service (Es el servicio en si mismo, se inicia y queda corriendo disparando las tareas)
  • IGGlobal CloudServices Service Setup (Instala el servicio y sus dependencias)

 

Consideraciones a tener en cuenta.

  • Se deben Generar los 3 proyectos si se modifican y siempre generar el Setup
  • En el proyecto del servicio se encuentra la inicializacion de la tarea de notificaciones de IGGLOBAL Classic, también lo integra una clase que hará de las veces de formulario de configuración de la base de datos que aparece en el asistente del setup. Esta compuesto ademas por un archivo xml App.Config que guarda la configuración del servidor.
  • El proyecto del Setup tiene una particularidad que si se compila en la versión de VB2013 solo funciona en equipos con Windows 7 en adelante, para que funcione en Win xp o server 2003 se debe pegar la siguiente DLL “dpca.dll” de vb2010 en esta ruta “C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\VSI\bin”. La dll se encuentra en “\\baseglobal.ar\fileserver\Groups\Desarrollo\__Dll VB2010 dpca”

 


Desarrollo de Tareas Programadas

En este tutorial se detallan que pasos seguir para desarrollar nuevas tareas en el Framework QUARTZ.NET e implementarlas en el servicio de IGGLOBAL CLOUD SERVICES

En el controller “SchedulingController.vb” se deben desarrollar que tareas disparara y en que momentos lo hara el ya mencionado Framework.

Del lado cliente el controller principal sera “JobCtrl.js” este tiene comunicacion mediante un servicio de Angular con “SchedulingController.vb”

Las tareas agregadas tendran su logica de negocios en el proyecto/dll de la solucion “IGGlobal.CloudServices.Jobs”. Aqui es donde QUARTZ.NET ejecuta las tareas que se hayan programando dependiendo del momento en que este previsto que se ejecuten.

Para poder hacer debug de este proyecto debemos ir al menu “Depurar > Asociar al proceso” y seleccionar “IGGlobal.CloudServices.Service.exe”, esto probablemente obligue a reiniciar el Visual Studio.

Los errores del servicio se grabaran en el visor de eventos de windows en la sección  de “Aplicación” con la clave “IGGlobal CloudServices Service”

1

El desarrollo de las Notificaciones de IGGLOBAL CLASSIC esta diagramado de la siguiente manera.

3

Puntos a tener en cuenta sobre esta ultima tarea.

  • Recordar configurar la URL de IGGLOBAL Online en la ruta de IGGLOBAL Classic. Formato “http://web.com”

2

  • Verificar que el servicio este corriendo
  • IGGlobalOnlineSendNotificationFromVB6.vb Ejecuta la tarea dentro del Proyecto JOBS.
  • Antes se deben configurar en “Classic” en Auditoria Operativa lo que se quiera enviar a IGGLOBAL Online y luego en Notificaciones de “Online”
  • Classic solo notifica como supervisor

Setup IGGLOBAL CLOUD SERVICE

Servicio de tareas programadas de IGGLOBAL On-line.

Este servicio se encarga de disparar las tareas programadas de IGGLOBAL

Requerimientos:

  • Windows Server 2003 en adelante (Windows Xp, Windows 7, Windows Server 2012)
  • Windows Installer 4.5
  • Microsoft .NET Framework 4

Instalación inicial “IGGlobal CloudServices Service Setup.msi”

1

 

Configurar acceso al servidor SQL Server y a la base de Configuración.

3

2

 

Una vez instalado el servicio se procederá a “Iniciar” dicho servicio en la sección de servicios de Windows.

Los errores del servicio se grabaran en el visor de eventos de Windows en la sección  de “Aplicación” con la clave “IGGlobal CloudServices Service”

4

 

Desinstalación/reinstalación del servicio.

Para poder realizar la desinstalación primero se debe detener el servicio desde servicios de Windows. Luego de esto se podrá proceder a reinstalar, siguiendo los pasos mencionados en el punto anterior.