Share via


Desprotección y cambios simultáneos en documentos del modelo de definición del sistema (SDM)

Actualización: noviembre 2007

En los diseñadores de sistemas distribuidos, no se recomienda combinar o desproteger simultáneamente documentos de SDM, que incluyan archivos .sdm y de diagramas de sistemas distribuidos (.ad, .sd, .dd y .ldd), desde el control de código fuente debido a la estructura y complejidad de los metadatos que estos documentos contienen. Si se está utilizando la versión de Visual Studio del control de código fuente (Team Foundation o Visual SourceSafe), se habilita la desprotección exclusiva de forma predeterminada y permite la desprotección de un archivo sólo por un usuario cada vez.

Nota:

Cuando una aplicación que admite la implementación se implementa en el diagrama de aplicaciones, se genera el proyecto correspondiente y aparece en la solución. La definición de SDM para la aplicación implementada se almacena en un archivo .sdm y se incluye con el proyecto correspondiente. Para obtener más información, vea Información general sobre el modelo de definición del sistema (SDM) y Relaciones entre los documentos del modelo de definición del sistema (SDM).

No se deberían combinar los diagramas de aplicaciones. Cuando se ha implementado una aplicación, el código se convierte en la definición maestra de la aplicación y los cambios en el diagrama y código se sincronizan entre sí. Como los archivos de código de la aplicación y los archivos de configuración son los códigos fuente de una definición de SDM, el resultado de combinar archivos de código o archivos de configuración determina en último término la versión final de la definición de SDM en el archivo .sdm.

Nota:

En Team Foundation, puede archivar u omitir los cambios pendientes. Sin embargo, no se recomienda esta acción cuando sus resultados dan lugar a la combinación de documentos SDM. Por ejemplo, si cambia la configuración o las restricciones en los archivos de configuración, almacena esos cambios y a continuación realiza otros cambios en esas restricciones y configuración, debe combinar los documentos de SDM. Para obtener más información, vea Trabajar con conjuntos de cambios aplazados del control de versiones.

Siempre que se abra o se cierre el diagrama de aplicaciones, los cambios pertinentes al código del proyecto se sincronizan con el archivo .sdm y el diagrama de aplicaciones. Por tanto, si el archivo del diagrama de aplicaciones (.ad) o un archivo .sdm no están sincronizados con el código, puede sincronizarlos cerrando y volviendo a abrir el diagrama de aplicaciones. Para obtener más información, vea Sincronización entre los documentos del modelo de definición del sistema (SDM).

Nota:

Los datos de los documentos SDM que no se pueden volver a crear desde otro origen, por ejemplo, datos de presentación o información de SDM almacenada sólo en archivos .sdm, se perderán permanentemente si se elimina el documento, o bien si la información se pierde como resultado de una operación de combinación. Éste es el único escenario en el que la no combinación de archivos de diagrama o .sdm podría dar lugar a pérdida de información. Por esta razón, se recomienda encarecidamente no trabajar simultáneamente ni combinar definiciones que sólo se almacenan en archivos .sdm. Por ejemplo, no se pueden realizar técnicas de ingeniería inversa en extremos de contenido Web en una aplicación ASP.NET si se ha vuelto a generar un nuevo archivo .sdm a partir de uno eliminado que contiene información de SDM para esos extremos. Para obtener más información, vea Solucionar problemas de diagramas de aplicaciones.

Desprotección y cambios simultáneos en archivos de proyecto de aplicaciones

Aunque no se recomienda, puede habilitar la desprotección compartida si el equipo decide realizar cambios simultáneos en archivos de proyecto. Sin embargo, ciertos escenarios podrían requerir la combinación de esos cambios al proteger los archivos de proyecto. Podrían aparecer conflictos en la combinación que necesitarían resolverse. Para obtener más información, vea Cómo: Configurar las opciones de desprotección si está usando Team Foundation.

Un escenario común involucra a varios desarrolladores que trabajan en distintos archivos de código fuente en un proyecto compartido. Este proyecto podría compartirse entre varias soluciones y cada solución posiblemente contendría su propio diagrama de aplicaciones. Si la solución contiene un diagrama de aplicaciones, y el proyecto contiene un archivo .sdm, entonces los cambios o cambios simultáneos en el código fuente o en los archivos de configuración del proyecto podrían necesitar la actualización del archivo .sdm. Por tanto, cuando el proyecto se protege, debe combinar todos los cambios simultáneos en el archivo .sdm o descartar un conjunto de cambios en dicho archivo.

Por ejemplo, suponga que dos desarrolladores están trabajando en la misma solución. El primer desarrollador quiere trabajar en el archivo de clase de servicios Web para una aplicación ASP.NET y desprotege la solución que contiene el proyecto de aplicación. Este desarrollador puede trabajar en el código del proyecto sin abrir el diagrama de aplicaciones o cualquier otro diagrama que pueda existir en la solución. Sin embargo, los cambios en los archivos de código podrían afectar todavía a esos diagramas. Si este desarrollador abre el diagrama de aplicaciones, se le indica que desproteja el diagrama junto con cualquier otro archivo de proyecto necesario para la sincronización.

Nota:

Si el desarrollador anula la desprotección o el diagrama no se puede desproteger por el motivo que sea, el diagrama se bloqueará. Sin embargo, el desarrollador puede seguir realizando cambios en el código. Para obtener más información, vea Solucionar problemas de diagramas de aplicaciones.

Suponga que el segundo desarrollador tiene que trabajar en el mismo proyecto de la misma solución y desprotege ese proyecto, dependiendo de la solución de control de código fuente determinada que se esté utilizando. Sin embargo, el segundo desarrollador está trabajando en un archivo de clase para otro servicio Web en la misma aplicación. Si el segundo desarrollador quiere ver el diagrama de aplicaciones para ver cómo están reflejados allí los cambios, podrá ver el diagrama en un estado de sólo lectura puesto que ya está desprotegido por el primer desarrollador. Sin embargo, el segundo desarrollador puede continuar realizando cambios en el código mediante el editor de código.

Cuando los desarrolladores finalizan sus cambios, los comprueban en el control de código fuente. En este momento, deben resolverse los conflictos de combinación en aquellos archivos que están desprotegidos al mismo tiempo. En la mayoría de los casos, algunos cambios en el archivo .sdm tendrán prioridad sobre otros, y el diagrama de aplicaciones se sincronizará con el archivo .sdm en función del código combinado. Sin embargo, en este escenario donde está trabajando el segundo desarrollador en un archivo de clase de servicios Web diferente, es seguro aceptar un archivo .sdm sobre los otros ya que el diagrama de aplicaciones se sincronizará con el código y luego sincronizará el archivo .sdm.

Para obtener más información, vea Cómo: Resolver conflictos en los documentos del modelo de definición del sistema (SDM).

Vea también

Conceptos

Partición de soluciones de sistemas distribuidos para su implementación

Otros recursos

Documentación de Team Foundation

Diseñadores de sistemas distribuidos en entornos de trabajo en equipo