Friday, March 29, 2024    
English 
Portuguese 
Skip Navigation Links
Inicio
Mi Cuenta
Foro
¡Pruébelo!
¡Adquira Ahora!
Skip Navigation Links
Sobre
Contáctenos
Mapa del Sitio
Skip Navigation Links

Any StrataFrame application can incorporate smart-client processing via the Enterprise Server. Since this server is custom made for StrataFrame its performance exceeds typical remoting or serialization scenarios without sacrificing any functionality or security. In view of the fact that StrataFrame can support multiple data sources the Enterprise Server is hot-swappable during runtime.

Qué es el Enterprise Server?

La mayoría de las aplicaciones data-centris acceden a una base de datos directamente a través de un modelo cliente-servidor (nivel 2) (ver figura 1). Conectándose directamente a la base de datos que ofrece suficiente rendimiento cuando el número de clientes es limitado y estos pueden acceder al servidor de base de datos de la red local. Sin embargo, cuando el número de clientes dentro de la aplicación aumenta o estos necesitan tener acceso a los datos procedentes de fuera de la red local, se genera un problema: la búsqueda de un método mejor de conexión a la información, sin reescribir la aplicación.

Figura 1: arquitectura cliente-servidor.


El StrataFrame Enterprise Server proporciona este método de conexión a los datos que pueden ser fácilmente aplicado en una aplicación existente StrataFrame sin cambios en el código, proporciona acceso remoto a la base de datos a través de HTTP, y aumenta la escalabilidad de la aplicación por la reducción de la carga en el servidor de base de datos.

Como trabaja

El Enterprise Server es un sitio web alojado en IIS de Microsoft® que puede ser usado como fuente de datos por una aplicación StrataFrame (véase la figura 2). Clientes se conectan a la Enterprise Server usando HTTP y los proxys Enterprise Server, su base de datos de las accede a la base de datos del servidor. El Enterprise Server permite a los clientes a acceder a los datos dentro de la base de datos desde una red remota mediante el uso del protocolo HTTP, y utiliza el cifrado y compresión para mejorar la seguridad y el rendimiento a los clientes remotos.

Figura 2: Arquitectura de 3er. Nivel con Enterprise Server.


Ventajas

Connection Pooling

El Enterprise Server (o Enterprise Servers en una torre de servidores) proporcionan una ubicación centralizada para poner en común las conexiones con el servidor de base de datos. Uno de los más grandes costos en recursos del servidor de base de datos es el mantenimiento de la conexión. Incluso con. NET connection pooling, si a los clientes se les permite conectarse directamente a la base de datos, cada cliente se abrirá varias conexiones y cada conexión utiliza importantes recursos en el servidor de base de datos para mantenerse (véase la figura 3).

Figura 3: Conexiones, cuando el pool de conexiones es activado apenas en cada cliente.


Cuando el Enterprise Server es incorporado, se convierte en el único "cliente" de la base de datos del servidor (el único equipo que abre las conexiones a la base de datos) (véase el gráfico 4). Esto permite al ES a “agrupar” (pool) las conexiones de todos los equipos cliente y reduce enormemente la necesidad de recursos de servidor de base de datos. El servidor de base de datos puede disponer más de sus recursos , ejecutando consultas y sirviendo información en lugar de mantener conexiones de clientes.

Figura 4: Conexiones cuando el cliente se conecta al Enterprise Server y la agrupacion de conexiones está centralizada.


Esta funcionalidad es el mayor contribuyente al aumento de la escalabilidad de la aplicación que se obtiene de utilizar el Enterprise Server. Enterprise Servers adicionales se pueden agregar para manejar las conexiones de clientes sin aumentar enormemente el número de conexiones a la base de datos.

Cifrado

El Enterprise Server utiliza el algoritmo de cifrado simétrico 3DES para cifrar todos los datos que se transfieren entre los equipos cliente y el Enterprise Server. 3DES es un método universalmente aceptado para la encriptación de datos de misión crítica y es usado comúnmente por las conexiones VPN seguras.

Compresión

El Enterprise Server, opcionalmente, puede comprimir todos los datos enviados entre el Enterprise Server y los equipos cliente. La compresión puede reducir la cantidad de tráfico entre los equipos cliente y el Enterprise Server aproximadamente en un 80%. El costo de recursos de CPU de la compresión de los datos es menor, y cuando un cliente se conecta a Enterprise Server mediante una conexión de bajo ancho de banda/ alta “latency”conexion el rendimiento mejora en gran medida por la compresión de las comunicaciones.

Intercambiable

Una aplicación StrataFrame utiliza una clase transparente de fuente de datos para acceder a los datos. La misma metodología se utiliza para el Enterprise Server, una fuente de datos específicos Enterprise Server sustituye al SQL Server (u otra base de datos) de las fuentes de datos específicas dentro de la aplicación cliente (ver figura 5). Estas fuentes de datos son transparentes a los niveles superiores de la solicitud, y pueden ser hot-swapped en tiempo de ejecución.

Figura 5: La fuente de datos SQL se sustituye por una fuente de datos Enterprise para permitir que el cliente se conecte al Enterprise Server.


Esta funcionalidad permite que una aplicación sea escrita para su uso con el Enterprise Server y conexiones directas a base de datos. Cuando la aplicación se ejecuta desde la red local, con conexión directa a la base de datos puede ser más eficiente, sin embargo, cuando la aplicación se ejecuta desde una red remota o a través de Internet, puede utilizar el Enterprise Server para acceder a la misma base de datos.

De hecho, cuando se probaba el Enterprise Server, ninguna nueva unidad de pruebas fue desarrollada; los mismos ensayos que se usaron para probar la conectividad de SQL Server se utilizaron para probar la conectividad Enterprise Server cambiando simplemente el origen de datos.

Soporte de torres de Servidores

El Enterprise Server se puede implementar tanto en un solo servidor como en múltiples entornos de servidor. Un ambiente multi-servidor aumenta la escalabilidad de una aplicación mediante la distribución de la carga en el Enterprise Server a través de múltiples computadoras. Cualquier método de balanceo de carga entre los servidores de la Empresa pueden ser utilizados, como Microsoft® Network Load Balancing (NLB)) o un hardware round-robin request distribution system.

Full transaction support

Las transacciones son plenamente funcionales cuando se utiliza un Enterprise Server para proporcionar acceso a la base de datos, incluso cuando se utilizan varios Enterprise Servers en un ambiente multi-servidor. Cada uno de los Enterprise Servers en una torre es consciente de los otros servidores. Una transacción es mantenido por un solo Enterprise Server, y si un Enterprise Server recibe una solicitud de transacción para una operación en otro Enterprise Server, transparentemente encamina la petición al servidor adecuado para su procesamiento (véanse las figuras 6-8).

Figura 6: El cliente envía un comienzo de solicitud de transacción al Enterprise Servers que se envía al ES # 2 por el balanceador de carga.


Figura 7: El cliente envía un registro en solicitud de transacción al Enterprise Servers que es enviado al ES # 1 por el balanceador de carga. ES # 1 no apropia la transacción, por lo que la solicitud se remite a ES # 2 para que el registro sea guardado en la transacción.


Figura 8: El cliente envía una solicitud de una transacción al Enterprise Servers que se envía al ES # 3 por el balanceador de carga. ES # 3 no apropia la operación, por lo que la solicitud se remite a ES # 2 para realizar la transacción.


Solución "Drop-in"

Small client-side code change (1-6 lines)

Cualquier aplicación StrataFrame puede disfrutar de la utilización de Enterprise Server cambiando simplemente la fuente de datos (1-6 líneas de código) dentro de la aplicación cliente.

Instalación provista para Sitio Web Enterprise Server

Una instalación puede ser descargada para instalar el Enterprise Server dentro de sitio web IIS. La instalación permite al Enterprise Server para ser rápida y eficientemente desplegadas y óptimamente configurada en el equipo servidor.

Las aplicaciones existentes pueden ser fácilmente adaptados para la utilización de ES

Como la fuente de datos del Enterprise Server del lado del cliente es intercambiable con todos las demás fuentes de datos StrataFrame, una aplicación escrita para conectar directamente al servidor de base de datos puede adaptarse a utilizar el Enterprise Server en cuestión de minutos utilizando el 1-6 líneas de código necesarias para cambiar la fuente de información.

Consideraciones de Diseño

El Enterprise Server no utiliza. Serialización NET,. NET Remoting, o servicios web. Estas 3 tecnologías están diseñadas para ser altamente configurable, flexible e interoperable, sin embargo, la flexibilidad adquirida por la utilización de uno o más de estas tecnologías viene con una importante pérdida de rendimiento que si se utiliza una solución personalizada. El desarrollo de la Enterprise Server habría sido más fácil si hubiéramos usado una o más de estas tecnologías, pero el aumento del tiempo de desarrollo se reflejó en una ganancia de rendimiento al fin.

ES vs. .NET Serialization

En el diseño de Enterprise Server para trabajar exclusivamente con una aplicación StrataFrame, hemos sido capaces de racionalizar la red de comunicaciones. En caso de que un número de serie. NET objeto contenga una cantidad importante de meta-datos utilizados por el deserializador para reconstruir el objeto gráfico, el Descriptor de Objetos Enterprise Server contiene un 1-byte identificador que se utiliza para instruir al punto remoto de cómo reconstruir el objeto desde el flujo de la red. Al no utilizar. NET serialización, el tráfico de red necesario puede reducirse hasta en un 40%.

ES vs. .NET Remoting

El Enterprise Server utiliza un modelo desconectado para el acceso a los datos. Después de que un cliente solicita los datos del servidor y que los datos son recuperados y devueltos, la conexión entre el cliente y el servidor puede ser desactivada, sin efectos adversos. Cuando se utiliza. NET Remoting, el objeto remoto existe en la aplicación de servidor HTTP y un handle es utilizado por el cliente para acceder al objeto remoto. Esto requiere una conexión persistente entre la aplicación de servidor y el cliente desde cualquier aplicación y todo acceso a un método o propiedad del objeto remoto precisa una llamada HTTP desde el cliente al servidor.

Usar .NET Remoting más allá del ancho de banda o conexiones inestables de red puede causar que la aplicación se vuelva inestable, si la conexión cae, todos los objetos remotos se pierden. Al no utilizar. NET Remoting, Enterprise Server gana una gran rango de estabilidad cuando se trabaja con clientes que tienen ancho de banda limitado o de conexión de red inestable ya que una conexión permanente no es necesaria.

ES vs. Web Services

Los servicios Web están diseñados para ser altamente interoperables a fin de que puedan ser usados por numerosos sistemas dispersos. Al igual que con. NET serialización, cada solicitud de servicio web y la objeto respuesta contiene una gran cantidad de meta-datos, generalmente en el formato de etiquetas XML formateadas con SOAP. Estas etiquetas pueden más que duplicar el tamaño de la petición y los objetos respuesta. Con el Enterprise Server, este nuevo XML no es necesario ya que ambos extremos saben cómo codificar y descodificar las peticiones y respuestas.

HTTP vs. HTTPS (SSL)

El Enterprise Server está diseñado para trabajar con el protocolo HTTP. Si bien la conexión entre el Enterprise Server y la fuente de datos del lado cliente puede ser configurado para utilizar HTTPS, que se ejecuta de manera más eficiente y segura así como en HTTP.

El Enterprise Server utiliza el algoritmo decifrado simétrico 3DES para cifrar todo el tráfico entre él y el fuente de datos del lado cliente. Algoritmos de cifrado simétricos tienen mucho mejor rendimiento que la encriptación con algoritmos asimétricos, tales como SSL, por lo que los algoritmos simétricos como 3DES y AES son utilizados por VPN. El Enterprise Server gana más rendimiento mediante el uso de 3DES/HTTP sobre SSL / HTTPS.
Algoritmos simétricos requieren un pre-clave compartida que debe ser configurado manualmente en ambos lados de la conexión. Esto aumenta la seguridad mediante la creación de una "contraseña" sistema que se necesita para acceder al Enterprise Server. Cada fuente de datos manejada por el Enterprise Server puede tener su propia clave de cifrado.

Escenarios de Implementación

"Smart clients" requiriendo acceso remoto

En esta era de la informática móvil, con bastante frecuencia, los sistemas serán diseñados para ser utilizados tanto en los locales como de las redes remotas. Usando Enterprise Server, StrataFrame una aplicación instalada en un laptop puede acceder a los datos cuando está conectado a la red local y acceder a los mismos datos desde una red remota a través de Internet sin necesidad de recompilar, unicamente con un simple cambio de configuración.

El Enterprise Server permite el acceso remoto a los datos utilizando el protocolo HTTP. Asimismo, proporciona una excelente seguridad para los datos al mismo tiempo que aumenta la performance de clientes remotos conectados. El Enterprise Server se puede instalar en un servidor web remoto accesible y conectado a Internet en lugar de exigir que su servidor de bases de datos se encuentre expuesto en Internet (véase el figura 9).

Figura 9: Clientes dentro de la oficina se conectan directamente a la base de datos del servidor mientras que los clientes fuera de la oficina se conectan a la base de datos vía Internet a través del Enterprise Server.


Servidores web que requieren nivel medio

Enterprise Server puede ser utilizado para proporcionar un acceso seguro de entrada a la base de datos de servidor front-end de servidores web. Todos los acceso a bases de datos de los servidores web se realizan a través de la Enterprise Server en lugar de hacerse directamente al servidor de base de datos. El acceso a la base de datos del servidor puede ser restringido, entonces, unicamente a los Enterprise Server para aumentar la seguridad (ver figura 10).

Figura 10: Ambos servidores web se conectan a la base de datos a través del Enterprise Server. Sólo el Enterprise Server está autorizado a comunicarse con la base de datos a través del firewall.


Incrementando la escalabilidad de la aplicación

El Enterprise Server se puede instalar en un servidor multi ambiente para aumentar la escalabilidad de una aplicación con un número significativo de clientes. Los recursos de hardware necesarios para el servidor de base de datos sería considerablemente reducido así como el número de conexiones de bases de datos se reducirían a sólo el requerido por el Enterprise Server (véase el figura 11).

Figura 11: Un gran número de clientes puede utilizar el mismo servidor de base de datos, permitiendo a la torre de Enterprise Servers de reducir la carga en el servidor de base de datos.

Resumen

El Enterprise Server ha sido diseñado para ser una"drop-in" o "bolt-on" solution que proporcionará el acceso remoto de clientes y una mayor escalabilidad de la aplicación sin costo adicional para el desarrollo. Ya que no es requerido tiempo de desarrollo para aplicar el Enterprise Server, puede pasar más tiempo concentrándose en el desarrollo de su aplicación y todavía recibir todos los beneficios que el Enterprise Server proporciona, sin perder tiempo en el aprendizaje y el desarrollo de un modelo de servicio web para sus datos.

Mapa del Sitio - Inicio - Mi Cuenta - Foro - Acerca de Nosotros - Contáctenos - ¡Pruébelo! - Adquirir

Microsoft, Visual Studio, y el logo del Visual Studio son trademarks o trademarks registrados de Microsoft Corporation en EEUU y/u otros paises.