Teniendo en cuenta las estrategias de diseño para servicios web
Usted debe considerar varias estrategias para comprender mejor cómo va a diseñar sus servicios web. ¿Cómo va a organizar el código en proyectos, clases, métodos, propiedades y eventos? Después de haber determinado exactamente lo que sus requisitos son y qué escenarios de su aplicación se necesita para manejar, usted puede comenzar a diseñar su aplicación. Debes construir sus proyectos de servicios Web en uno o más objetos que se encargan de la funcionalidad.
Conteúdo
Asegurar el máximo rendimiento
Al igual que con cualquier proyecto de software, debe tener en cuenta ciertas consideraciones de diseño. El rendimiento es uno de los mayores problemas. Y así muchas áreas afectan el rendimiento. Algunas de las consideraciones de rendimiento se basan en hardware, pero algunas consideraciones de rendimiento - como la memoria - también están basados en software.
Con la memoria, más es siempre mejor. Sin embargo, ¿cuánto es suficiente? Lo mejor es seguir las recomendaciones basadas en los requisitos de los fabricantes de software para cada pieza de software cargado en el equipo. Luego, decida en una magnitud mayor que eso.
El método más sencillo para evaluar la cantidad de memoria necesaria es determinar la cantidad máxima de memoria necesaria si cada aplicación estaba en uso al mismo tiempo. También es necesario tener en cuenta el número de usuarios que usted espera en cualquier momento.
Los siguientes son algunos de los componentes a tener en cuenta:
- Requisitos del sistema operativo (SO): Es decir, la cantidad de memoria que el servidor tiene que tener con el fin de que los usuarios puedan ejecutar de forma segura el sistema operativo actual y otro software instalado. Por ejemplo, supongamos que tiene dos servicios Web que se alojan en un Windows 2000 Server. Windows 2000 Server requiere 128 MB de memoria.
- .Requisitos Net Framework: Por ejemplo, digamos que el marco ocupa 128 MB de memoria en el servidor. En conjunto, el sistema operativo y el marco ocupan un total de 256 MB de memoria en el servidor, y eso es sin considerar siquiera los objetos de servicios web que va a desarrollar.
- Usuarios: Es decir, el número de usuarios que puedan estar utilizando un servicio Web en un momento dado. Supongamos que usted espera que 100 usuarios necesitan utilizar cada uno de los dos objetos de servicios web en cualquier momento.
- Requisitos de servicio Web: Este es muy difícil estimar con cierto grado de precisión, pero como mínimo, se suman todo el espacio que cada uno de los tipos de datos ocupará.
- Sobrecarga asociada con el servicio Web: Es decir, la cantidad de memoria del servidor debe tener por encima de las estimaciones iniciales. Si usted estima por encima de otro 50K o menos para cada servicio Web, la memoria comienza a sumar y compuesto.
Hacer frente a los problemas de seguridad
La seguridad es uno de los mayores temas de computación de hoy. El hecho de que los servicios Web se transmiten normalmente mediante HTTP, la preocupación por la seguridad es grande. De hecho, cada vez que usted transmite los datos a través de Internet, la seguridad se convierte en una preocupación. Si los datos personales - tales como nombres de usuario, contraseñas, direcciones, información de tarjetas de crédito, etc. - debe ser transmitida a través de Internet, debe ser encriptada. Si no está cifrado, cualquier persona con herramientas de hacking será capaz de leer los datos que se transmiten a través del cable. Lo mismo es cierto en una intranet corporativa o extranet. Por lo tanto, el cifrado se convierte en una necesidad.
El cifrado es fácilmente manejado por Internet Information Services (IIS), que utiliza Secure Sockets Layer, o SSL. Lo único que usted debe hacer para usar SSL es instalar un certificado SSL que obtenga de un tercero de confianza. Una vez instalado el certificado SSL, los clientes pueden acceder a sus sitios web o servicios web mediante el protocolo HTTPS en lugar de HTTP. (Los S representa secure.) Este certificado SSL es conocido como un certificado de servidor.
El hecho de que se utiliza SSL para cifrar los datos no significa que todo el mundo debería tener acceso a su servicio Web. El acceso es controlado por un esquema de autenticación. Usted puede controlar quién tiene acceso al permitir Active Directory para autenticar.
Usted también necesita saber cómo sus Web Services deben manejar la seguridad. Para saber esto, considere las siguientes preguntas:
- ¿Puede cualquier persona o cualquier sistema de acceso a los servicios Web?
- Si el acceso debe ser restringido, ¿cómo va a restringirlo?
- En caso de utilizar Active Directory para autenticar a los usuarios?
- En caso de utilizar pasaporte para autenticar a los usuarios?
- En caso de que limitar los servicios Web basados en buscar usuarios válidos en una base de datos?
Las respuestas a estas preguntas determinan la complejidad se convierten en sus servicios web. Ciertamente, la cosa más fácil de hacer es permitir a todos el acceso a sus servicios web, pero esto no siempre es práctico. Por ejemplo, ¿qué pasa si usted cobra por su uso de los servicios web a través de un proveedor de servicios Internet (ISP)?
Si usted va a utilizar Active Directory, debe decidir cómo desea administrar la adición de usuarios y equipos. Por ejemplo, usted debe considerar la automatización de esta tarea, dependiendo de si va a ser la firma de nuevos clientes / usuarios muy a menudo. Si usted va a utilizar las búsquedas de bases de datos, es necesario dar cuenta de esta funcionalidad en sus planes de proyecto y para determinar los detalles de cómo esto puede funcionar.
Por otro lado, si tiene Microsoft Passport hacer la autenticación, garantizar que un usuario se autentica, pero usted no tiene que almacenar la información del usuario en su ubicación. Recuerde que usted tiene que mirar a los problemas de seguridad desde todos los ángulos posibles.
Asegurar la interoperabilidad
Interoperabilidad es el concepto de que los sistemas informáticos dispares tienen que ser capaces de hablar el uno al otro. Por ejemplo, si una base de datos Oracle tiene que trabajar con una base de datos SQL Server, usted tiene que encontrar la manera de hacer que eso suceda. Del mismo modo, si usted sabe que su sistema ERP (Enterprise Resource Planning) tiene que hablar con un sistema de CRM (Customer Relationship Management), será mejor que el agrietamiento.
Muchos de los problemas de interoperabilidad que surgen de sistemas dispares hablando entre sí se pueden abordar con un producto de Microsoft llamado BizTalk. BizTalk permite el mapeo de sistemas dispares, permitiendo múltiples protocolos y formatos. Internamente, BizTalk utiliza XML para almacenar asignaciones entre estos sistemas dispares.
Interoperabilidad también tiene un impacto en cómo las diferentes tecnologías que trabajar con los demás. Por ejemplo, hace necesario componente .NET para invocar componentes COM? Las dos tecnologías son algo similar en concepto, pero no en la tecnología. Sin embargo, es muy posible envolver componentes COM con interfaces .NET. Se llama COM-Interop.
Decidir lo que los usuarios pueden acceder a
Usted debe determinar qué parte de su modelo de objeto que desea poner a disposición a través de Internet, que es un concepto conocido como exponer. Es importante que recuerde los conceptos de un componente, o un objeto, que hace que su modelo de objetos. Usted desea exponer solamente una visión abstracta de lo necesario para realizar su trabajo y resolver sus casos de uso.
Por ejemplo, si usted tiene una aplicación financiera que decide si una hipoteca debe concederse sobre la base de concreto criterios- no exponer todos los detalles internos de implementación. Esa es su "salsa secreta". Cuanto menos se comparta, mejor. Exponga sólo el número mínimo de objetos, junto con el número mínimo de miembros (propiedades, métodos y eventos) necesarios para poder realizar su trabajo.