Pasarela Web - SCADA, IoT, and Smart City Solutions | B...
Transcript of Pasarela Web - SCADA, IoT, and Smart City Solutions | B...
Guía de Usuario Parte 8
Pasarela Web
Status Enterprise Pasarela Web
1
Contenidos
1 RESUMEN
1.1 Especificaciones/Requerimientos de la Pasarela ................................................................. 3 1.2 Soporte para Dispositivos Móviles ........................................................................................ 4 1.3 Conectando a la Pasarela .................................................................................................... 4 1.4 Arquitectura ........................................................................................................................... 4 1.5 Características Soportadas y Limitaciones .......................................................................... 5 1.5.1 Características Soportadas ............................................................................................... 5 1.5.2 Ontroles UI Soportados ..................................................................................................... 5 1.5.3 Espacios de Trabajo y Seguridad ...................................................................................... 8 1.5.4 Restricciones ..................................................................................................................... 8
2 PERSONALIZANDO EL INICIO DE SESIÓN PARA LA PASARELA ...................................................... 10
2.1 Ajustes de Inicio de SesiónAutomático .............................................................................. 10 2.2 Fijando una Ruta para el “Mimic” por Defecto. ................................................................... 11 2.3 Método de Navegación Recomendado .............................................................................. 13 2.4 Cambiando el Servidor de la Pasarela ............................................................................... 13 2.5 Creando una Página de Inicio de Sesión Personalizada. .................................................. 15 2.6 Moviendo la Pasarela a otro Sitio Web IIS ......................................................................... 16 2.6.1 Borrar la Pasarela desde el Sitio Web Actual en IIS ....................................................... 16 2.6.2 Añadiendo la Pasarela a un nuevo Sitio IIS .................................................................... 17
3 RESOLUCIÓN DE PROBLEMAS ................................................................................................... 18
3.1 Elementos Truncados ......................................................................................................... 20
Status Enterprise Pasarela Web
2
Imágenes y Tablas Imagen 1 – Especificaciones/Requerimientos .............................................................................................. 3
Imagen 2 – Pantalla de Configuración de IIS ............................................................................................. 10
Imagen 3 – Pantalla de Ajustes de Aplicaión.............................................................................................. 11
Imagen 4 – Administrador de IIS. ............................................................................................................... 12
Imagen 5 – Ruta del “mimic” por Defecto ................................................................................................... 12
Imagen 6 – Ajustes de Aplicación ............................................................................................................... 13
Imagen 7 – Ruta del Servidor en la Pasarela ............................................................................................. 14
Status Enterprise Pasarela Web
3
1 Resumen Este documento define las líneas generales de la experiencia de la interfaz de usuario para el entorno de ejecución basado en Web de Status Enterprise conocido como Pasarela o Gateway. La Pasarela o Gateway es una aplicación ASP.NET que conecta con el servidor de Status Enterprise y convierte los “mimics” almacenados como XAML en el servidor, en documentos HTML 5 para un navegador Web. Los “Mimics” abiertos tienen conexiones a datos en tiempo-real. La mayoría de los navegadores y dispositivos móviles – incluyendo el Ipad – soportan HTML5. Para una lista de los términos frecuentes, definiciones y abreviaturas, por favor mira la Parte 1 – Resumen y Conceptos Básicos. NOTA: A fin de que la aplicación de Pasarela funcione, IIS debe de estar instalado antes de que Status Enterprise esté instalado.
1.1 Especificaciones/Requerimientos de la Pasarela
XP 7 & 8
IIS Debe de estar instalado. *Pasos:
Abre el “Activar o Desactivar características de Windows”
Habilita “Internet Information Services”
Expande “Internet Information Services\Servicios World Wide Web \Características de Desarrollo de Aplicaciones \” y habilita “ASP.NET 4.5”
Haz clic en “OK” *Si tu no tienes permisos para editar las características de Windows, contacta tu administrador de red.
Despues de la instalación de IIS tu necesitas ejecutar el ejecutable RegIIS lozalizado en “%WindowsDir%\Microsoft.NET\Framework\v4.0.30319\...” llamado “aspnet_regiis.exe”. *Si tienes un SO de 64 bits, reemplaza Framework por Framework64.
En el administrador de IIS el “Pool” de Aplicaciones debería ser fijado como sigue:
IIS > ApplicationPools > Advanced Settings .NET Framework Ver = v4.0 Identity = Network Service
Navegadores soportados: Mozilla Firefox Google Chrome
**Preferentemente**
Navegadores soportados: Internet Explorer Google Chrome
**Preferentemente** Mozilla Firefox Safari Opera
Imagen 1 – Especificaciones/Requerimientos
Status Enterprise Pasarela Web
4
Cuando ejecutes IIS 8 y Windows Server 2012, es extremadamente recomendado que tu instales el Protocolo WebSocket desde las características y roles del servidor.
Las reglas de entrada/salida del Firewall TIENEN que ser especificamente fijadas para el ejecutable del servidor (StatusEnterpriseServer.exe) por cada zona sobre la que esperes enviar datos.
Los archivos estáticos js deberían de usarse en modo usuario y modo Kernel cacheando para reducir el tiempo de carga de las páginas.
1.2 Soporte para Dispositivos Móviles
La pasarela Status Enterprise puede ser accedida a través de iPads, Iphones y cualquier dispositivo móvil que soporte HTML5, permitiendo el acceso móvil directamente a tus “mimics” y datos en vivo sin la necesidad de conectar con un cliente remoto via VPN.
1.3 Conectando a la Pasarela La primera vez que un usuario intenta acceder a la Pasarela, se efectúa una comprobación para asegurar que IIS está instalado y configurado en tu sistema. Si IIS no está instalado, al usuario se le solicitará que esta instalación sea completada antes de usar la Pasarela Status Enterprise. Si IIS está ya instalado, el cliente de la Pasarela ejecutará un testeo del administrador de IIS para comprobar que está configurado correctamente. Si no, la configuración será comletada automáticamente antes de que al usuario se le de la oportunidad de iniciar sesión. Tu Administrador de Red te proveerá de la dirección web para iniciar sesión en la Pasarela Status Enterprise. La URL por defecto es http://localhost/StatusEnterpriseGateway y usa el puerto 4502. La página de inicio de sesión te preguntará por el nombre de usuario y la contraseña. Después de haber iniciado sesión se te presentará un sistema de navegación en el cual tu podrás navegar a través de las carpetas hasta el documento que desees abrir – el “path” actual a la carpeta que estás, es presentado en la parte de abajo de la pantalla y hay un botón atrás para subir un nivel. Un nombre de usuario y contraseña puede ser introducido en la Pasarela a través del archivo “web.config” a fin de que la pasarela inicie con un usuario automáticamente.(Esto podría ser especialmente util en caso de que tengas una cuenta de usuario público con la pasarela alojada en el servidor web). También podemos añadirle una ruta para el documento en el mismo lugar cuando los usuarios tienen que iniciar sesión sobre un “mimic” específico.
1.4 Arquitectura La Pasarela Status Enterprise inicia sobre el Servidor Status y mantiene la sesión para tu cliente web cuando tu tienes la sesión iniciada. La Pasarela hace peticiones al “mimic” desde el servidor usando el documento elegido a través del sistema o especificado en el archivo “web.config”. Cuando el documento sea pasado a la Pasarela, esta lo convierte en un documento desde el formato nativo de los “mimics” XAML a un documento HTML5. El HTML es devuelto al cliente para mostrarse en un navegador web. Un “socket” de conexión web es creado entre la Pasarela y el cliente. Cualquie gráfico en el documento HTML5 que contenga enlaces a datos en vivo es actualizado a través del “socket” de conexión hacia la Pasarela.
Status Enterprise Pasarela Web
5
1.5 Características Soportadas y Limitaciones
1.5.1 Características Soportadas Los “Mimics” ejecutandose en la Pasarela podrán tener casi toda la funcionalidad que tendrían en el cliente de entorno de ejecución. Todos los controles de navegación son soportados. Todos los enlaces a Datos son soportados, incluyendo los enlaces de dos direcciones, y continuarán actualizando con datos en vivo y aceptando las propiedades escritas desde el “mimic”. Las Tendencias también son soportadas, tanto las históricas como las que funcionan con datos en tiempo real.
Los Controles de Alarmas actualmente no están soportados, así que mientras tus datos estén en tiempo real y tus alarmas estén monitorizando los cambios, no verás los controles de alarma desde la Pasarela Web.
1.5.2 Ontroles UI Soportados Los Documentos XAML que están destinados para la conversión a HTML tienen que usar un subconjunto de Controles UI disponibles en el Diseñador de “Mimics”.Estos incluyen:
1.5.2.1 Botones
Flat Toggle Switch
Gel Toggle Button
Generic Toggle Button
Industrial Toggle Button
Power Toggle Button
Toggle Switch
1.5.2.2 Controles Comunes
Check Box
Label
Text Block
1.5.2.3 Controles de Fecha y Hora
Date Time Display
1.5.2.4 Gauge Controls
Dual Gauge
Dynamic Gauge
Horizontal Linear Gauge
Parabolic Gauge
Racing Gauge
Status Enterprise Pasarela Web
6
Radial Gauge
Simple Gauge
Variable Gauge
Vertical Linear Gauge
1.5.2.5 Paneles y Cuadrículas
Canvas
1.5.2.6 Controles Indicadores
Indicator Tower Three State
1.5.2.7 Entrada
Data Text Box
1.5.2.8 Etiquetas
Data Label
Variance Label
1.5.2.9 Display LED
LED Five By Seven Matrix
LED Light
LED Seven Segment
LED Sixteen Segment
1.5.2.10 Media
Bindable Image
1.5.2.11 Controles de Miscelanea
Ratings Control
1.5.2.12 Motores y Ventiladores
Centrifugal Pump
Status Enterprise Pasarela Web
7
Gear
Heavy Motor
Helical Motor
Metal Fly Wheel
Paddle Wheel
Simple Fan
Small Fly Wheel
Sprocket
Square Motor
Tire
Wind Generator
1.5.2.13 Botones de Navegación
Gel Navigation Back Button
Gel Navigation Button
Navigation Back Button
Navigation Border
Navigation Button
Navigation Combo
Navigation List
1.5.2.14 Tanques y Tuberías
Connector Pipe
Cutaway Tank
Cylinder Tank
Fitted Elbow Pipe
Fitted Pipe
Funnel Tank
Indicator Tank
Ladder Tank
Mixing Tank
Standard Elbow Pipe
Standard Pipe
Universal Pipe Connector
Valve
Status Enterprise Pasarela Web
8
Vessel Tank
1.5.2.15 Formas
Ellipse
Line
Path
Polygon
Polyline
Polygon and Polyline Pencil
Rectangle
1.5.2.16 Tendencias
Trend Graph
Graph Pen
1.5.3 Espacios de Trabajo y Seguridad La configuración de Seguridad y los espacios de trabajo de tu modelo de datos son aplicables cuando ejecutas los “Mimics” en la Pasarela Web. Tu actividad de inicio de sesión es monitorizada por el Status Server. Los espacios de trabajo de los que eres miembro serán aplicados en tu inicio de sesión web. Las propiedades a las que no tenas acceso basandonos en tu espacio de trabajo no se actualizarán.
1.5.4 Restricciones Como se ha mencionado arriba, hay ciertos controles en el “toolbox” del Diseñador “mimics” que no son compatibles con la Pasarela Web. Una lista de los controles compatibles se puede encontrar en la sección 1.5.2. Usando la Pasarela para ejecutar un “mimic” que contiene controles no soportados no evitará que el “mimic” funcione pero tu no verás los controles no soportados en la pantalla. En vez de eso un marcador genérico será mostrado. Todos los controles compatibles funcionarán con normalidad. Las alarmas no están disponibles en la Pasarela Web, y las Tendencias están disponibles con soporte limitado. Los “mimics” en la pasarela pueden ser vistos en cualquier navegador que soporte HMTL5, incluyendo las versoines actuales de los siguientes navegadores:
Internet Explorer
Chrome
Firefox
Opera
Safari La mayoría de los navegadores móviles han adoptado el estandar HTML5, sin embargo la compatibilidad de algunas características ha sido reportado que puede variar de un dispositivo a otro. Tu podrías querer testear la compatibilidad de tu dispositivo con HTML5 antes de usar la Pasarela Web. A la fecha de
Status Enterprise Pasarela Web
9
escritura de este manual, los siguientes navegadores móviles soportan HTML5:
Safari iOS
Android Browser
Google Chrome
Amazon Silk
Blackberry Browser
Nokia Browser
Internet Explorer
Opera Mobile
Opera Mini
Firefox
Status Enterprise Pasarela Web
10
2 Personalizando el Inicio de Sesión para la Pasarela
2.1 Ajustes de Inicio de SesiónAutomático
Esta sección describe como ajustar la Pasarela para saltar la pantalla de inicio de sesión usando las credenciales predefinidas.
Requerimientos:
En el archivo Web.config, las variables “Nombre de usuario” y “Contaseña” tienen que estar fijadas con las correctas credenciales, y el ajuste “Inicio de Sesión Automático” necesita estar fijado a un valor de ‘Si’.
Ejemplo:
Abre IIS, selecciona la Aplicación “StatusEnterpriseGateway” y después selecciona la característica “Ajustes de Aplicacion”.
Imagen 2 – Pantalla de Configuración de IIS
Status Enterprise Pasarela Web
11
Fija “Inicio de Sesión Automático” a ‘Si’, y el ‘Nombre de usuario’ y la ‘Contraseña a las credenciales que corresponde.
Imagen 3 – Pantalla de Ajustes de Aplicaión
Ahora cuando abras la pasarela, automáticamente iniciará sesión con el usuario predefinido.
2.2 Fijando una Ruta para el “Mimic” por Defecto.
Esta sección describe como fijar un “mimic” por defecto para mostrar para el usuario que inicie sesión en vez de la pagina de navegación del modelo.
Requerimientos:
La variable DefaultMimicPath en el archivo Web.config debe ser fijada a una ruta válida. Ejemplo:
Abre IIS, selecciona la aplicación “StatusEnterpriseGateway” y después selecciona la característica “Ajustes de Aplicación”.
Status Enterprise Pasarela Web
12
Imagen 4 – Administrador de IIS.
Fija “DefaultMimicPath” a una ruta válida para el “mimic” que quieres mostrar.
Imagen 5 – Ruta del “mimic” por Defecto
Status Enterprise Pasarela Web
13
Ahora cuando inicies sesión en la Pasarela, este “mimic” será mostrado en vez del sistema de navegación.
2.3 Método de Navegación Recomendado
La Pasarela Status Enterprise incluye un menú de navegación. El menú es presentado después del inicio
de sesión. Este menú proveerá de acceso rápido a todo el “mimic”, y a Activos, pero no es el método
recomendado de navegación. La Buena Práctica sería crear una Página de Inicio con botones de
navegación hacia otros “mimics” necesarios.
2.4 Cambiando el Servidor de la Pasarela
Esta sección define como especificar a que Servidor de Pasarela Web nos conectamos:
Requerimientos:
La variable ‘StatusEnterpriseServer’ en el archivo Web.config debe de tener fijada una ruta hacia el servidor.
Ejemplo:
Abre IIS, selecciona la Aplicación “StatusEnterpriseGateway” y después selecciona la característica “Ajustes de Aplicación”.
Imagen 6 – Ajustes de Aplicación
Status Enterprise Pasarela Web
14
Fija “StatusEnterpriseServer” a una ruta válida en el Servidor Status Enterprise.
Imagen 7 – Ruta del Servidor en la Pasarela
Ahora la Pasarela se conectará al servidor de cualquier modo en vez de a tu máquina local.
Status Enterprise Pasarela Web
15
2.5 Creando una Página de Inicio de Sesión Personalizada.
Requerimientos:
Tu tienes que tener un formulario con una acción de "UserLogin.aspx" y un métodod “post”
Tres entradas son requeridas en el formulario, una entrada de texto “Nombre de Usuario”, otra de “contraseña” y un botón de “Enviar”.
El cuadro de texto de entrada “Nombre de Usuario” necesita un nombre de “Nombre de Usuario” y el de “Contraseña” necesita un nombre de “Contraseña”
La tercera entrada debría de ser del tipo “Submit”
Para mostrar errores cuando el inicio de sesión dalla, añade una referencia para el script query_string.js y llama loadPageVar(“error”). Esto te dará el error devolviendote por el servidor cuando el Inicio de Sesión falla. Esto puede ser almacenado en una variabley mostrado en la página de cualquier manera necesaria.
Ejemplos:
Formulario con Entradas – HTML
<form action=”UserLogin.aspx” method=”post”>
<input type=”text” name=”username” placeholder=”Username” /> <input type=”password” name=”password” placeholder=”Password” /> <input type=”submit” title=”Log In” />
</form>
Almacenando el “error” como una variable y mostrandolo en la página – Javascript w/ librería de jQuery referenciada y usada $(function() {
var error = loadPageVar(“error”); if (error != undefined && error != null && error != “”) {
var errorBar = $(‘#errorBar’); errorBar.text(error); errorBar.css(‘display’, ‘block’);
} });
Habilitando Encriptación SSL Javascript w/ librería de jQuery referenciada y usada $(function() { If (location.href.substring(0,5) != “https”)
{ Location.href = “https” + location.href.substring(4); }
});
Status Enterprise Pasarela Web
16
NOTA: Si estás creand una pantalla de inicio de sesión personalizada, necesitarás asegurarte que la Pasarela está apuntando a la página que tú has creado actualizando el parámetro “LoginPage” localizado en los “Ajustes de Aplicación” en IIS
2.6 Moviendo la Pasarela a otro Sitio Web IIS
Es posible que tu quieras mover la Pasarela a otro sitio de IIS. Esta sección te guía sobre como mover la Pasarela con éxito hacia otro sitio de IIS.
2.6.1 Borrar la Pasarela desde el Sitio Web Actual en IIS
Para eliminar la pasarela, navega hasta el sitio donde la PAsarela esté instalada. Si está disponible, la Pasarela será instalada en el sitio Web por defecto. Si no está disponible crea un nuevo sitio llamado “StatusEnterpriseGateway”. Expande el sitio, después encuentra una Aplicación de IIS llamada “StatusEnterpriseGateway” y haz clic derecho para sacar el menú contextual y selecciona eliminar como se miestra en la imagen de abajo:
Status Enterprise Pasarela Web
17
2.6.2 Añadiendo la Pasarela a un nuevo Sitio IIS
Para añadir el Gateway en el IIS, primero selecciona tu Sitio Web IIS donde quieras añadir la Pasarela, después crea un nuevo “Directorio Virtual” que apunte a la carpeta de la Pasarela en tu directorio de instalación de Status Enterprise (C:\Program Files\B-Scada\StatusEnterprise\Gateway by default).
Después, convierte el Directorio Virtual para una Aplicación usando el botón derecho del ratón, asegurate que el “Pool” de Aplicaciones está siendo usado. La Pasarela Status Enterprise requiere que el “Pool” de Aplicaciones usado esté ejecutando ASP.NET 4.0 usando una fuente de información ejecutandose como servicio de red. Una vez completado, verifica que la Pasarela carga apropiadamente visitando la URL asociada con el sitio al que has añadido la Pasarela.
NOTA: Si mueves la Pasarela a otro sitio, asegurate que el Index.aspc está añadido al documento por defecto.
Status Enterprise Pasarela Web
18
3 Resolución de Problemas
Error Code:
Server Error in '/StatusEnterpriseGateway' Application.
Access to the registry key 'Global' is denied.
Description: Una excepción no controlada durante la ejecución de la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.
Exception Details: System.UnauthorizedAccessException:EL Acceso a la clave del registro 'Global' está denegado. ASP.NET No autoriza el acceso a este recurso. Considera garantizar los derechos de acceso al recurso para la petición de identidad de ASP.NET. ASP.NET tiene un proceso de identidades base (normalmente {MACHINE}\ASPNET en IIS 5 o Servicio de Red en IIS 6 and IIS 7, y la aplicación de “pool” de identidades configurada en IIS 7.5) que es usado si la aplicación no utiliza impersonación. Si la aplicación utiliza impersonación via <identity impersonate=”true”/> la identidad será anónima.
Para garantizar acceso ASP.NET a un archivo, haz clic derecho en el archivo en el explorador, elige propiedades y selecciona la pestaña Seguridad. Haz clic para agregar el usuario o grupo apropiado.Realza la cuenta ASP.NET, y marca las cajas para el acceso deseado.
Source Error:
Line 96: socketServer.NewMessageReceived += new
SessionEventHandler<WebSocketSession, string>(socketServer_NewMessageReceived);
Line 97:
Line 98: if (!SocketServerManager.Start())
Line 99: {
Line 100: SocketServerManager.Stop();
Archivo Origen: c:\Status Enterprise 2011 Q4\Gateway\Status.Enterprise.Gateway\Global.asax.cs Line: 98
Stack Trace:
[UnauthorizedAccessException: Access to the registry key 'Global' is denied.]
Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str) +6504925
Microsoft.Win32.RegistryKey.InternalGetValue(String name, Object defaultValue,
Boolean doNotExpand, Boolean checkSecurity) +361
Microsoft.Win32.RegistryKey.GetValue(String name) +62
Status Enterprise Pasarela Web
19
System.Diagnostics.PerformanceMonitor.GetData(String item) +148
System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String item) +255
System.Diagnostics.PerformanceCounterLib.get_CategoryTable() +172
System.Diagnostics.PerformanceCounterLib.CounterExists(String category, String
counter, Boolean& categoryExists) +35
System.Diagnostics.PerformanceCounterLib.CounterExists(String machine, String
category, String counter) +95
System.Diagnostics.PerformanceCounter.InitializeImpl() +392
System.Diagnostics.PerformanceCounter..ctor(String categoryName, String
counterName, String instanceName, Boolean readOnly) +373
System.Diagnostics.PerformanceCounter..ctor(String categoryName, String
counterName, String instanceName) +14
SuperSocket.SocketEngine.SocketServerManager.StartPerformanceLog() +252
SuperSocket.SocketEngine.SocketServerManager.Start() +498
Status.Enterprise.Gateway.Global.StartSuperWebSocketByConfig() in c:\Status
Enterprise 2011 Q4\Gateway\Status.Enterprise.Gateway\Global.asax.cs:98
[HttpException (0x80004005): Access to the registry key 'Global' is denied.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpConte
xt context, HttpApplication app) +12864673
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext,
HttpContext context, MethodInfo[] handlers) +175
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[]
handlers, IntPtr appContext, HttpContext context) +304
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr
appContext, HttpContext context) +404
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +475
[HttpException (0x80004005): Access to the registry key 'Global' is denied.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +12881540
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,
HttpContext context) +12722601
Solución:
1. Abre el administrador de IIS.
2. Expande la máquina local en el panel de conexiones de la izquierda. 3. Haz clic en el “Pool” de Aplicaciones en Panel de Conexiones. 4. Haz clic derecho en StatusEnterpriseGateway en el panel “Pool” de Aplicaciones y selecciona
Ajustes Avanzados. 5. Bajo el marco “Modelo del Proceso” selecciona identidad.. 6. Haz clic al botón sobre el ‘…’ a la derecha de los valores disponibles. 7. Selecciona “Cuenta ‘Built-in’:
“NetworkService”
Status Enterprise Pasarela Web
20
3.1 Elementos Truncados
Activar el registro de datos de WCF puede resultar en una pérdida de datos. Mira ‘Habilidando WFC registrando causas de corrupción en el servicio webHttp que devuelve una corriente’: http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/2bc5e5a6-1971-46cb-8b4f-f1c46130faca