VS Team Fundation Server y sus tripas

   La primera vez que ves un Team Fundation Server funcionando la
verdad que da un poco de respeto, y piensas ¿que coloso llevara esto
por detras? ¿Un inmenso servidor de cientos de megas a traves de
sockets? ¿Un par ratones desarrolladores dandole a una rueda? ….

  
Pues no, la verdad que es un claro ejemplo de un desarrollo bien
planteado, simple y claro, usando la tecnologia del momento sin
recurrir a elementos prehistoricos (alegando que antes funcionaban). Es
algo tan simple como:

 

                              IIS + WebServices + SharePoint Services + SQL Server

 

  • Basicamenta
    cada vez que conectas con el Team Explorer lo que haces es llamar a los
    WebServices que te esperan escuchando desde el puerto 8080.  Eso si,
    para desarrollar ni se os ocurra atacar directamente a los webservices,
    como bien me dijo Luis Fraile,  es preferible usar las SDK,
    dado que Microsoft no te asegura que los webservices no cambiaran, pero
    si en cambio te da soporte y documentacion acerca de estos SDK.

 

  • El Portal Web para la Administracion de los proyectos no es mas
    que un SharePoint Services con un Theme cambiado, y un buen curro por
    detras para poder contactar con esos WebServices.

  • Las bases de datos usadas no son mas que las que aqui se presentan:
Base de datos Descripcion

ReportServer

The Reporting Services database contains the reports and report settings for Reporting Services.

ReportServerTempDB

The
Reporting Services temporary database is used for temporarily storing
information that is used when you run specific reports for Reporting
Services.

STS_Config_TFS

The
SharePoint configuration database contains a listing of all sites
including content databases, site templates, custom Web parts, and
other settings from SharePoint Central Administration.

STS_Content_TFS

The SharePoint content database contains the content for the team’s SharePoint site.

TfsBuild

The build database contains Team Foundation Build data and published test results.

TfsIntegration

The registration database contains Projects, Areas, Iterations, and other registration data.

TfsVersionControl

The Team Foundation source control database.

TFSWarehouse

The Analysis Services database contains the data for building the warehouse used by the Reporting Services.

NoteNote

The
database can be backed up, however the warehouse is not backed up as
the warehouse must be rebuilt from the restored TFSWarehouse database.

TfsWorkItemTracking

The Team Foundation work item tracking database.

TfsWorkItemTrackingAttachments

The Team Foundation work item tracking attachments database.

TfsActivityLogging

The history database contains a log of all Team Foundation Server Web service requests.

NoteNote

This database is not required for Team Foundation Server operation and back up is optional.

 

El rival de SilverLight va viendo la luz

  Ha salido Flex Builder Alpha para GNU/Linux, Flex es la respuesta
por parte de Adobe a aplicaciones interactivas en la web. Podriamos
llegar a decir que es una evolucion de Flash.

 Flex

   Y por que digo que es el rival directo?? basicamente pq la
evolucion natural de un desarrollador con Flash sera mas sencillo
adaptarse a este nuevo entorno basado en la misma filosofia, veremos a
ver si es capaz de aguantar el tiron de SilverLight que le suministra Visual Studio y el soporte libre de MoonLight. Tambien existe uno hipotetico JavaFX, del que se oye hablar pero nada se ve 😉

La version para GNU/Linux la podeis descargar desde aqui, y la version para Win32 que ya esta en Beta 3 desde aqui

 

 

Ofuscate or not ofuscate. Cotilleando codigo ajeno

  Dado el interes de mis nuevos compañeros de trabajo vamos a contar
algunas cosillas de la decompilacion. Antes de hablar de ofuscacion de
codigo seria conveniente el por que del uso de la ofuscacion en .NET 

MSIL

  Es el lenguaje intermedio que usa .NET,
nuestro programas, dll, ….. al compilar no pasan directamente a
codigo maquina, si no que se convierte en este codigo. Y ya puede ser
ejecutado bajo el Framework de .NET,

Reflector

   Herramienta IMPRESIONANTE,
problarla todos aquellos que no la hayais visto trabajar nunca, puedes
abrir cualquier exe, dll, … desarrollado en .NET ( dado que lees es
el MSIL ) y ver el codigo fuente de la aplicacion sin mayor misterio. Y
sin duda que no se os olviden probar los plugins con el que podras
decompilar SilverLight, que nos salgan para PowerShell, ….  <Descargar>
 


DotFuscator

  
Ofuscador de codigo con el podemos codificar el codigo MSIL, asi
podremos evitar que con herramientas como reflector a pelo podamos
meternos hasta la cocina en el codigo del vecino. Viene integrado con
el Visual Studio. Seguro que lo tienes instalado y aun no te habias
dado ni cuenta. 😉

 

  Ejemplo del uso de Reflector y DotFuscator

 

    Problemas ….. los hay, la ofuscacion no es una
solucion definitva de ocultacion de codigo, dado que como podreis ver,
tanto en el video como en vuestras pruebas, el codigo en si queda
bastante ilegible, el gran problema que tienes son los string, en ese
caso es que puedes volver a reconstruirlas. Si en las string tienes las
cadenas de conexion, con login y password, las sentencias SQL, o todo
lo que sabeis que se llegan a meter en este formato, pueden ser
obtenidas y provocar problemas.

 

   No puedes hablar de ofuscacion si nombrar otra gran herramienta:

   Salamander, otro gran decompilador a dia de hoy es capaz de directamente desofucar las cadenas o poder examinar todo string que queramos.

 

 Conclusion

       No creo en la
ofuscacion, dado que lo el codigo que pueda genera cualquier
programador, puedo hacerlo otro con la misma funcionalidad o mejor. Lo
que hay que proteger son los datos en si, que a dia de hoy es lo que
realmente tiene valor, tanto de logins, como urls, como el dato de
cualquier persona.

      La otra opcion a la ofuscacion es el
patentar tu algoritmo, pero en un mundo que convive perfectamente con
el Software Libre, creo que el tema de patentar un bucle for no es algo
de lo que merezca la pena ni pensar.
 

   Y si estais mas interesados en algoritmia de ofuscacion os recomiento este ppt