martes, 10 de diciembre de 2013

Worksharing a través de internet, 1ª parte: Introducción y conclusiones

Worksharing

En la actual situación del sector, hay muchos profesionales que trabajan como autónomos, colaborando en varios estudios, o con otros compañeros, y muchas veces por comodidad, por distancia, por espacio, etc, se trabaja en lugares distintos pero manteniendo la comunicación y compartición de archivos y demás documentos gracias a internet. 

Y claro, cuando en un curso de formación sobre Revit se trata el tema del trabajo en equipo o "Worksharing" hay una pregunta que siempre aparece "¿Y esto funciona a través de internet?". Sin embargo, al ser la respuesta un poco más compleja que un "sí", el formador no suele entrar en detalles porque habría que salirse del temario para tratar cuestiones más "informáticas". 

Así que desde BIMlevel hemos hecho equipo con Cursorevit.com y llevamos unas semanas experimentando  con el "worksharing" para poder darte esa respuesta un poco más compleja que un "sí".


¿Worksharing? No sé de qué hablas


El trabajo en equipo o "worksharing" en inglés, es la forma de trabajar en un proyecto cuando dos o más personas necesitan acceder simultáneamente al mismo archivo (que usando Revit va a ser siempre por eso de que todo el proyecto está contenido en un único archivo .rvt).

Para ello se crea un "modelo central" en una zona común (el servidor de la oficina por ejemplo) y luego cada usuario hace una copia o "modelo local" en su equipo. Este modelo local es en el que trabaja cada uno como siempre, con la peculiaridad de que cuando guarda, además sincroniza la información con el modelo central y así todos los usuarios envían sus cambios y reciben los del resto del equipo. Ojo, el modelo central nunca se edita, su función es mantener "sincronizados" los archivos locales de los usuarios.

Un detalle importante es que dos usuarios no pueden editar el mismo elemento al mismo tiempo, para conseguir esto, en Revit se le asignan unos elementos concretos a cada usuario mediante una herramienta que se llama "subproyectos". Su mecanismo es sencillo: si un muro es mio, sólo lo puedo editar yo, y si tú necesitas editarlo también, me lo pides, y yo decido si te lo presto o no. Y si te lo presto, entonces, sólo tú puedes editarlo, hasta que me lo devuelvas. En el programa sería: cuando intentas editar algo que no es tuyo te aparece una advertencia y la opción de pedir prestado, si haces clic en pedir prestado, instantáneamente al usuario "propietario" le aparece un mensaje de solicitud del elemento, que acepta o deniega. El elemento se devuelve al propietario cuando le das a guardar y sincronizar.
Solicitud de permiso
Esto es un resumen muy por encima de lo que es el "worksharing", si quieres profundizar más en el tema y conocer los detalles del flujo de trabajo, no dejes de visitar este post: Trabajar en red con Revit: mitos y realidades, que Abigail a preparado para la ocasión en su blog.

Vale, ¿y cuál es el problema?


Pues que todo el procedimiento de arriba funciona si todos los ordenadores están en la misma red local, por ejemplo una oficina con el típico router y todos los ordenadores conectados.

Si lo que queremos es colaborar a través de internet (Por ejemplo una oficina y un colaborador que trabaja desde su casa) tenemos que configurar los ordenadores para tal fin, y tenemos varias soluciones. Vamos a verlas de la más profesional a la más simplona.


Revit Server, la solución oficial de Autodesk


instalación de revit server
Revit Server es una de las herramientas que vienen con la Instalación de Revit, en la parte de "Instalar herramientas y utilidades". Pero cómo puedes ver en la imagen de la izquierda, necesita de "Windows Server" como sistema operativo para poder funcionar.
Si nuestro caso es el de dos estudios (o dos oficinas del mismo estudio) que quieren colaborar, (y por lo general cualquier estudio que tenga más de tres empleados suele tener un servidor), esta es la mejor opción, es de Autodesk y es para Revit, simplemente funciona. 

En cambio, si en uno de los dos puntos no hay servidor (un estudio y un colaborador, o dos colaboradores independientes, por ejemplo) esta opción no nos sirve. Autodesk hace dinero con los peces grandes y en detalles como este es donde se nota.

Red Privada Virtual (VPN), sólo apta para expertos en redes


La siguiente alternativa es crear una "red privada virtual" o VPN de sus siglas en inglés. En pocas palabras es como una red local pero por internet. Así aunque estemos trabajando desde distintos lugares, nuestros PC´s creerán que están en una red local y todo funcionara como si estuviéramos en la misma oficina.

En teoría, esta es la segunda solución más seria ya que no dependemos de programas de terceros, ni de servidores externos, sino que consiste en configurar windows y los routers. 

Sin embargo, es muy complicada a nivel informático, y hacen falta conocimientos de profesional en informática y redes. En mi caso, lo he intentado en repetidas ocasiones sin éxito.

Hamachi, Teamviewer y compañía,  más fácil pero...


interface hamachi
Interface de Hamachi
Para dar respuesta a las dificultades de crear una VPN, distintas empresas han desarrollado programas que las crean automáticamente. Los dos más conocidos y usados son LogmeIn Hamachi y Teamviewer, pero hay muchísimos. Una vez instalado y configurado (relativamente sencillo) todo volvería a funcionar como en el caso anterior: como si estuviéramos en la misma oficina. 

El "pero" de estos programas es que tienen algunas limitaciones con respecto a una "VPN manual", por ejemplo que al depender de un servidor externo (los de Hamachi o Teamviewer en este caso) que administra las conexiones, si estos servidores se caen o están de mantenimiento, nosotros nos quedaremos si poder trabajar. O que las versiones gratuitas suelen tener algunas condiciones como "sólo para uso no comercial" o límite de usuarios, etc.

De todas formas estas limitaciones no afectan tanto como pueda parecer, y en general se puede trabajar bien, excepto por un detalle: de las cuatro soluciones que os estoy contando, esta es la más lenta.

Dropbox, más rápido pero...


Y así llegamos a la última alternativa. Digo que es la más "simplona" porque sólo necesitamos un programa que ya todos usamos a diario: el Dropbox.  Y digo que es más rápido por la tecnología que usa Dropbox.

binarypatch
Esquema del análisis que hace Dropbox
 antes de subir tu archivo.
Imaginemos que estamos trabajando en un archivo de Revit de 60 MB, si queremos acceder a ese archivo desde un segundo ordenador, esos 60 megas tendrán que viajar por internet y tardará lo que tarde en función de nuestra conexión. Ahora abrimos el archivo en el segundo ordenador, creamos un par de elementos, un par de vistas nuevas y guardamos. El archivo con los cambios pesa 62 MB, y aquí viene el truco de Dropbox: antes de enviar los 62 MB, analiza el archivo y se da cuenta de que es exactamente el mismo que ya tenía en el primer ordenador excepto por esos 2 MB nuevos, así que sólo envía esos 2 MB en vez de 62 MB. Y esto hace que sea un sistema rapidísimo cuanto más grande sea el archivo. 

Alguno estará pensando, yo uso Google Drive, ó Box, o Skydrive ó ..., hasta donde yo sé, Dropbox es el único que tiene este sistema.

¿Sólo tengo que usar el Dropbox y encima es el más rápido?¡haber empezado por aquí!. Un momento, que Dropbox tiene un gran PERO. Con las soluciones anteriores sólo existe una versión de cada archivo, si están en tu ordenador las abres y listo, y si están en otro ordenador, al abrirlas, primero se descargan y entonces se abren. En cambio con Dropbox hay una copia idéntica del archivo en cada ordenador y es Dropbox quién está pendiente de que si un archivo cambia en un ordenador, lo actualiza en el resto. Pero ¿qué pasa si el mismo archivo cambia al mismo tiempo en dos ordenadores distintos (por ejemplo dos personas sincronizan con el archivo central a la vez)? Pues que Dropbox no sabe a cual darle preferencia y los copia los dos. Esto se traduce en que el archivo de al menos uno de los miembros queda corrupto y su trabajo se pierde.
error de conciliación
Error después de que varios usuarios hayan sincronizado al mismo tiempo usando Dropbox.
Resumiendo, Dropbox es la solución más sencilla de implementar y además la ideal para conexiones lentas, pero tiene que haber una comunicación constante en tiempo real entre los usuarios para no machacar los archivos al mismo tiempo. Algo del estilo:  
Usuario 1: yo ya sincronicé y el dropbox lo está subiendo.
Usuario 2: ok, a mi ya se me empezó a descargar, cuando acabe sincronizo yo.


Funcionar funcionan, pero ¿esto es productivo con proyectos reales?


La pregunta de oro. Lo primero que hay que aclarar es que uses la solución que uses la velocidad de trasferencia de una red local es de entre 12,5 y 125 MB/s, en comparación con los 0,125 MB/s que ofrecen la mayoría de las operadoras de ADSL (Velocidades de subida y no confundir Mbps con MB/s). Esto implica tardar mínimo 10 veces más en realizar tareas como abrir y guardar.  Como hemos visto, Dropbox (y Revit Server también) usa algún truco que mejora esto, pero no es la panacea. La diferencia con trabajar en red local se nota y si queremos ser productivos y estamos manejando archivos grandes, es necesario contratar fibra óptica.

Por otro lado si no tenemos dos servidores a mano, posiblemente tampoco vayamos a meternos en "fregaos" con VPNs, así que me voy a centrar en las soluciones tipo "Hamachi" y "Dropbox".

Soluciones tipo Hamachi: son productivas siempre y cuando tengamos conexiones a internet rápidas y/ó archivos pequeños. Por ejemplo tres colaboradores que tengan fibra óptica y estén trabajando en un proyecto de un edificio de viviendas de 3000 m2.

Soluciones tipo Dropbox: son productivas si estamos hablando de dos colaboradores, tres máximo si están compenetrados y dominan la materia, y con las tareas de cada uno pensadas para que halla el menor número de peticiones de elementos (por ejemplo uno se encarga de modelar y otro de las anotaciones.) ya que hay que estar perfectamente coordinados para no tener problemas de archivos corruptos.

Si estás en una de estas dos situaciones y te gustaría probar con algún método, en breve publicaré un post con los detalles de cómo implementar Hamachi y Dropbox.


Conclusiones


El worksharing a través de internet es muy interesante, pero con la tecnología actual, sobre todo en lo que se refiere a velocidades de internet, no podemos sacarle toda la productividad que necesitamos. 

Hay quién dice que muchos de los problemas aquí planteados se solucionan trabajando en diferido, es decir, yo edito el proyecto por la mañana y mi colaborador por la tarde, sincronizando sólo una vez al principio para ver todos los cambios del otro y otra vez al final para enviar todos mis cambios, y así evitar continuas y largas esperas mientras se cargan y descargan los archivos. Pero no podemos perder el norte, el objetivo del worksharing es "trabajar en un proyecto cuando dos o más personas necesitan acceder simultáneamente al mismo archivo". Si para evitarnos o minimizar los inconvenientes de trabajar por internet, vamos a trabajar en diferido, entonces no hagas worksharing, trabaja con un archivo de revit de los de toda la vida y ponlo en una carpeta compartida y ya. Olvídate de modelos centrales, de sincronizar, de subproyectos, permisos, etc.

Espero que todo esto te sirva para que si algún día necesitas trabajar en equipo a través de internet y en "simultaneo" tengas claras las opciones que hay y cual se puede adaptar más a tu realidad.


Agradecimientos


No quería terminar este post sin agradecer a Abigail su participación en este "experimento" en el cual engatusé para que me ayudara. Han sido bastantes horas de: "esto no funciona", "no, no veo tu carpeta", "¿ya se te descargó?", "perfecto, pero vamos a probar otra vez", "no puedo, me da error".... Pero creo que hemos profundizado en un tema interesante y  espero que sirva de algo a los que nos leen tanto en mi blog como en el suyo.

Ahora cuéntamelo, ¿te pareció interesante? ¿Has usado algo de todo esto alguna vez? ¿Con que resultados?

30 comentarios :

  1. Muy interesante y completo. Espero algún día implementarlo.

    ResponderEliminar
  2. Interesante Iván gracias por compartirlo. ¿Qué pasa si queremos hacer worksharing en una red local tipo "windows home group? Yo no he podido, me sale el siguiente error: Revit cannot find central model "perhaps due to a lost network connection". Te mando el link donde hice esta pregunta en los forums de autodesk para que veas todo el show.
    http://forums.autodesk.com/t5/revit-architecture/revit-cannot-find-central-model-quot-perhaps-due-to-a-lost/m-p/5343627#M83692

    ResponderEliminar
    Respuestas
    1. Es por un problema de diferentes rutas a la hora de trabjar con los archivos. Yo te recomiendo lo siguiente:
      1.- En el pc principal, crea una carpeta, donde tu quieras, da igual)
      2.- Esa carpeta que acabas de crear compartela en tu red local, (ya sabes botón derecho, propiedades, compartir esta carpeta....)
      3.- En "Equipo" crea una nueva unidad de red (el comando se llama "conectar a unidad de red,). Elige la dirección de la carpeta que creaste en el paso 1 y ponle una letra de unidad (ponle una rara como "Z" o "T".
      4.- Repite el paso 3 en los demas pcs que estan conectados al principal, poniendo la misma letra,claro.
      5.- A partir de ahora usa la nueva unidad de red ques creado para crear, abrir, guardar, etc. el modelo central.

      No deberias tener problemas.

      Un saludo y gracias por comentar.

      Eliminar
  3. No puede ser Iván!!! Finalmente con esta ayuda que me diste logré hacer la conexión en una red local. En verdad te agradezco. Te invito a conocer mi blog que apenas acabo de iniciar.
    http://www.revit-windsurfer.blogspot.mx

    ResponderEliminar
    Respuestas
    1. Me alegro de haberte podido ayudar, y he echado un vistazo a tu blog, muy interesante.

      Eliminar
  4. Muchas gracias maquina!!!!

    ResponderEliminar
  5. CARLOS A. ALMAGRO9 de marzo de 2015, 13:09

    Artículo muy interesante. Estoy a punto de iniciar un "experimento" similar así que tu información es fantástica.
    El tema de los subproyectos me parece fundamental en cualquier proyecto, por pequeño que sea, ya que te permite introducir un nuevo modo de control sobre los objetos, independientemente de su categoría. Como pasa a menudo con estas cosas no muy conocidas, es difícil encontrar buenas explicaciones sobre ellas.
    Felicidades.

    Salu2

    ResponderEliminar
    Respuestas
    1. Gracias, y ya nos contarás que tal te va con tu "experimento".

      Eliminar
  6. Detallado experimento Worksharing a través de internet, 1ª parte: Introducción y conclusiones | BIMlevel.com http://ow.ly/rFIAj

    ResponderEliminar
  7. Eduardo Blanco Castrejón9 de marzo de 2015, 13:11

    Estoy impresionado con el nivel de detalle del experimento. Gracias a los 2 por compartirlo.

    ResponderEliminar
    Respuestas
    1. Muchas gracias Eduardo, con tu trayectoria en el campo del BIM, ¿Podrías contarnos algo de tu experiencia en el tema de worksharing (local o por internet)?¿Has utilizado Revit server?

      Eliminar
  8. Eduardo Blanco Castrejón9 de marzo de 2015, 13:14

    El ideal: un equipo trabajando todos juntos, codo con codo, viéndose las caras y comunicándose continuamente en una red local rápida.
    Como bien apuntan vuestras pruebas, la colaboración remota es delicada, y una fuente de problemas de coordinación. Mejor evitarla en la medida de lo posible, e intercambiar archivos cada cierto tiempo si es necesario.
    ¿Imagináis una obra hecha a distancia? Pues eso.
    En cuanto a Revit Server, estamos implantándolo a regañadientes porque no nos queda más remedio para un caso concreto. Es un proceso complicado para al final conseguir una velocidad raquítica de transferencia. No puedo compartir mucha más sobre ello.

    ResponderEliminar
  9. Muy buen articulo. Desde mi experiencia para este tipo de proyectos descentralizados se puede realizar haciendo una planificación detallada, trabajando a partir de "n" vínculos. El archivo principal o central es donde se realiza el montaje del proyecto y puede haber una persona solo haciendo esto. Hay muchas variables con este esquema, pero hicimos un experimento en un curso de 32 horas y funcionó muy bien, sobre todo porque no se solapaban tareas unos modelaban, otros generaban contenidos, otros montaban y otros coordinaban.

    Un saludo

    ResponderEliminar
    Respuestas
    1. Gracias. Puedes explicar eso de "n" vínculos, no termino de entenderlo pero suena interesante. ( y gracias por comentar también en linkedin, me ayudas a darle más visibilidad)

      Eliminar
    2. Ivan cuando me refiero a utilizar "n" modelos linkados, me refiero a un número indeterminado que depende de múltiples factores: nº de participantes, tamaño del archivo, disciplinas, etc. Hemos tenido experiencias de un proyecto de 5Gb con casi 30 archivos linkados.

      Eliminar
    3. ¿Osea que en vez de usar subproyectos y demás, tienes archivos independientes y un archivo principal donde tienes todos los modelos vinculados?

      Eliminar
    4. Si porque al utilizar dropbox tiene el problema que has comentado con el archivo central. En cambio al trabajar cada persona en un modelo vinculado no hay este problema.

      Eliminar
    5. Muchas gracias, sabía que los modelos vinculados servían para proyectos grandes o con edificios repetidos, pero nunca había pensado en usarlos para worksharing. Interesante.

      Eliminar
  10. Roberto Díaz Álvarez9 de marzo de 2015, 16:30

    Muy buen post Iván, casualidad o no esta semana me encontraba "estudiando" este tema en el libro "Revit Architecture 2013" de ANAYA Multimedia y la verdad es que muy claro no me había quedado esta forma de trabajo. Este "experimento" que han hecho me parece muy interesante y me ha ayudado a entender mucho más esto del "Worksharing".

    ResponderEliminar
    Respuestas
    1. Que casualidad, jeje, me alegro de que te haya servido, y recuerda que para más detalles sobre el worksharing tienes el post de +Abigail Miquel , http://cursorevit.com/trabajar-en-red-revit/

      Eliminar
  11. Ha sido un placer participar en este experimento, se aprende mucho trabajando en equipo. Gracias Iván!

    ResponderEliminar
  12. que tal amigo, tengo una enorme duda y preoupacion con respecto a un modelo que no podemos trabajar en coordinacion o worksharing resulta que en algunos locales derivados a partir de un archivo central marca elementos corruptos que no pueden ser identificados e inmediato se cierra al hacer el archivo de recuperacion y sin lograr repararlo, me parece que no es un error de elemntos si no algo mas de fondo ya que solo lo hace con algunos locales, en tu basta experiencia tienes nocion de por que puede estar sucediendo esto y si tiene arreglo, ya que en varios foros he visto ese problema sin que se tenga respuesta concisa
    te agradezco tu apoyo
    saludos

    ResponderEliminar
    Respuestas
    1. Hola, la solución rápida es que elimines esos archivos locales que te dan problemas, y crees otros nuevos a partir del cnetral.

      En cualquier caso es muy recomendable hacer un mantenimiento periódico al modelo (por ejemplo una vez a la semana).

      Consiste en abrir un local desde el menú abrir para así poder activar la pestaña "revisar", luego elimnar todas las vistas innecesarias e intentar solucionar todos los avisos del proyecto y finalmente sincronizar activando "compactar modelo".

      Despues de todo este proceso y con el central revisado y compactado, eliminar todos los locales de todos los ordenadores, y volver a crearlos nuevamente.

      En mi oficina esto lo hacemos todos los lunes a primera hora.

      Espero que te sirva de ayuda, un saludo.

      Eliminar
  13. buenos días, tengo un archivo ya modelado, quiero convertirlo en Central no me permite me sale Faltal Eror , por favor alguien me puede ayudar

    ResponderEliminar
    Respuestas
    1. Intenta revisando el proyecto. La opción "Revisar" aparece en el cuadro de diálogo "Abrir" de revit. Te dejo un enlace a la ayuda de revit que te lo explica detalladamente. http://help.autodesk.com/view/RVT/2015/ESP/?caas=caas/sfdcarticles/sfdcarticles/ESP/Revit-displays-fatal-error-message-opening-a-project.html

      Eliminar
  14. Buenas,

    He leído tu blog (muy bien redactado por cierto) pero no ha despejado mis dudas hacia un problema que estamos experimentando con mi grupo de trabajo.

    Hemos trabajado desde una red interna de la oficina sin problema alguno, de hecho quedamos muy conformes con el ritmo de trabajo. El problema surge que en este momento estamos tratando de trabajar en una red virtual (vía internet) por lo que usamos Google Drive como servidor, el GRAN problema como bien explicaste es que este tipo de opciones, como también lo hace Dropbox, hacen una copia del modelo central original en cada ordenador por lo que Revit pierde la ruta en los ordenadores que quieran colaborar.

    Quisiera saber si has experimentado este problema y que solución tiene.

    Saludos!

    ResponderEliminar
    Respuestas
    1. Si, en efecto pierde la ruta, porque en cada ordenador la carpeta de google drive está instalada en una ruta distinta (muchas veces porque el nombre de usuario es distinto en cada ordenador).

      La solución es que todos los participantes instalen Google Drive (o dropbox o....) En un sitio que en todos los ordenadores estemos seguros de que va a ser la misma ruta. ( yo en mi caso siempre lo instalo en "c:\Google Drive".

      Así Revit "no se da cuenta" de que son archivos distintos en ordenadores distintos.

      Espero que te sirva.

      Un saludo.

      Eliminar
  15. Entiendo que de igual forma puedo tener un fichero de Revit en dropbox y trabajar en él desde mi ordenador de sobremesa en casa o desde el portátil cuando esté fuera, sin embargo al abrirlo en el portátil por ejemplo me aparece "la ruta especificada para los archivos de plantilla de familia por defecto no es válida" ¿cómo tendría que hacer para optimizar el flujo de trabajo y evitar errores? Gracias de antemano

    ResponderEliminar
    Respuestas
    1. Hola, la configuración de rutas de archivo no pertenece a los proyectos sino al programa, por lo tanto ese error no tiene nada que ver con que uses dropbox o no. En el menú del programa (La R de la esquina, ve a Opciones>Ubicaciones de archivo, y ahí puede cambiar la ruta que te está dando error. Un saludo.

      Eliminar
  16. Sos el puto amo de los post. you are the fuck man on internet. I love you.

    ResponderEliminar

2016 © BIMlevel.com