Tutorial: Crear servicios Web reemplazables
Actualización: noviembre 2007
En este tutorial se muestra cómo se puede duplicar un servicio web que ha definido previamente y que desea utilizar como suplente. Esta aplicación se implementó en Tutorial: Diseñar un servicio Web.
Requisitos previos
Finalice Tutorial: Diseñar un servicio Web.
Para crear una copia de un servicio Web existente
Abra Catalog.sln.
Vea el diagrama de aplicaciones.
Haga clic con el botón secundario del mouse en la aplicación Catalog y haga clic en Copiar.
Pegue la aplicación copiada en el diagrama de aplicaciones.
Asigne el nombre CatalogFacade a la versión pegada.
CatalogFacade incluye los mismos puntos finales CatalogWebService y GetLegacyInfo que aparecen en Catalog. Como resultado, CatalogFacade es compatible con las mismas aplicaciones que son compatibles con Catalog. Se mantienen todas las conexiones de Catalog a otras aplicaciones, como CatalogDB. Sin embargo, a diferencia de Catalog, CatalogFacade no aparece implementada.
Nota: Visual Studio no copia ciertos valores de una aplicación a otra. Como resultado, aunque la conexión a bases de datos aparece visualmente, esta conexión no funcionará en tiempo de ejecución porque Visual Studio no copia algunos elementos como la contraseña. Para habilitar esta conexión, debe escribir la información de la conexión entre CatalogFacade y CatalogDB.
De esta manera, puede utilizar la aplicación CatalogFacade como un servicio web contenedor para un catálogo heredado que se implementa en una aplicación heredada que no está modelada por los diseñadores de sistemas distribuidos. También puede representar las aplicaciones heredadas de esta manera en el diagrama de aplicaciones mediante el tipo de aplicación genérico. Por ejemplo, este tipo de aplicación puede ser un sistema de contabilidad que se ejecuta en un equipo AS/400.
Ahora, modelará una aplicación heredada mediante el tipo de aplicación genérico.
Para modelar una aplicación heredada
Desde el Cuadro de herramientas, arrastre una aplicación GenericApplication hasta el diagrama y denomínela LegacyCatalog.
Desde el Cuadro de herramientas, arrastre un punto final .NETWebServiceEndpoint hasta CatalogFacade y denomínelo LegacyInterface.
Mantenga presionada la tecla ALT y arrastre el punto final LegacyInterface hasta LegacyCatalog para conectarlos.
Aparece un nuevo punto final de consumidor en LegacyCatalog. LegacyCatalog es un marcador de posición de aplicación para el catálogo anterior. Visual Studio no generará código para LegacyCatalog. Sin embargo, su presencia en el diagrama documenta la existencia de la aplicación heredada y su conexión al servicio web CatalogFacade que contiene su funcionalidad. En el procedimiento siguiente se muestra cómo CatalogFacade y Catalog proporcionan el mismo contrato.
Para diseñar un sistema de catálogos
Mantenga presionada la tecla MAYÚS y haga clic en Catalog y CatalogDB.
En el menú Diagrama, seleccione Diseñar sistema de aplicaciones.
Aparecerá el cuadro de diálogo Diseñar sistema de aplicaciones.
Bajo Nombre del sistema, escriba NewCatalogSystem.
El Diseñador de sistemas se abre con las aplicaciones seleccionadas incluidas en el nuevo sistema. Ajuste la ubicación de las aplicaciones, si es necesario.
Haga clic con el botón secundario del mouse en el punto final CatalogWebService y elija Agregar extremo proxy.
Esta acción crea una ruta de comunicación en este sistema.
Vea el diagrama de aplicaciones.
Haga clic con el botón secundario del mouse en SalesWebClient y haga clic en Diseñar sistema de aplicaciones.
Asigne el nombre CatalogSystem al sistema.
En la ventana Vista de sistemas, arrastre NewCatalogSystem hasta CatalogSystem.
Observe que NewCatalogSystem expone un punto final para que pueda conectar el sistema. Este punto final es el punto final proxy que creó anteriormente. Proporciona conectividad a CatalogWebService en Catalog.
Conecte el punto final proxy CatalogWebService en NewCatalogSystem al punto final de consumidor en SalesWebClient.
Vea el diagrama de aplicaciones.
Cree un nuevo sistema que contenga CatalogFacade y LegacyCatalog y asígnele el nombre LegacyCatalogSystem.
Cree un punto final proxy para CatalogWebService en LegacyCatalogSystem.
Vea el sistema CatalogSystem.
Elimine el sistema NewCatalogSystem de CatalogSystem.
En la ventana Vista de sistemas, arrastre el sistema LegacyCatalogSystem hasta el sistema CatalogSystem.
Conecte el punto final CatalogWebService en el sistema LegacyCatalogSystem al punto final de consumidor en SalesWebClient.
Los sistemas LegacyCatalogSystem y NewCatalogSystem contienen cada uno el punto final CatalogWebService expuesto como punto final proxy. Por consiguiente, puede sustituir cualquiera de los sistemas por el otro en CatalogSystem.
Ahora, creará un prototipo reutilizable de una aplicación que contiene CatalogWebService y utiliza Visual C# como lenguaje predeterminado. Puede agregar este prototipo al Cuadro de herramientas.
Para crear un prototipo reutilizable
Vea el diagrama de aplicaciones.
Desde el Cuadro de herramientas, arrastre un ASP.NETWebService hasta el diagrama.
Copie el punto final CatalogWebService en Catalog y péguelo en la nueva aplicación de servicio web ASP.NET.
Cambie la propiedad Lenguaje de la nueva aplicación a Visual C#.
En el menú Diagrama, elija Agregar al cuadro de herramientas.
Aparecerá el cuadro de diálogo Agregar al cuadro de herramientas.
En el cuadro Nombre, escriba CatalogWebServiceApp y haga clic en Aceptar.
Aparecerá el cuadro de diálogo Guardar archivo. Visual Studio guarda el archivo como .adprototype, que es el archivo de prototipo de aplicación utilizado en el Diseñador de aplicaciones.
Haga clic en Guardar.
Abra el Cuadro de herramientas y arrastre CatalogWebServiceApp hasta el diagrama.
Ha creado una versión reutilizable y personalizada de la aplicación de servicio web ASP.NET que también incluye el punto final CatalogWebService. Este prototipo aparecerá en el Cuadro de herramientas cada vez que cree una nueva solución de sistemas distribuidos.
Puede compartir este prototipo con otros usuarios del Diseñador de sistemas distribuidos exportándolo a una ubicación compartida. Para obtener más información, vea los temas siguientes:
Cómo: Crear prototipos personalizados a partir de aplicaciones y puntos finales configurados
Cómo: Exportar prototipos personalizados desde diseñadores de sistemas distribuidos
Pasos siguientes
Tutorial: Representar conexiones indirectas de servicios Web