Windows Communication Foundation Services + LINQ

Saludos amigos.

Les comparto un interesante artículo sobre Windows Communication Foundation Services + LINQ escrito por Edison Daniel García Chinas en su blog Tecnologías Microsoft. Un primer paso para quienes comenzamos a familiarizarnos con LINQ.

Lenguaje Integrado de Consulta - Microsoft
Lenguaje Integrado de Consulta

Windows Communication Foundation Services  + Linq Parte 1

Windows Communication Foundation Services  + Linq Parte 2

Un artículo bien explicado!

Saludos!

BitBucket: Servicio de alojamiento de proyectos basado en Web

Saludos.

Hace unas semanas en el curso de diplomado, el docente mostró la importancia de manejar y administrar los proyectos de Software mediante un Sistema de Control de Versiones. La facilidad para compartir el codigo y controlar las diferentes versiones con el equipo de desarrollo es de mucha importancia durante el proceso de desarrollo de Software. Si bien, para algunos era un termino nuevo, todos comenzaron a aprender y a investigar.

No hace mucho que vengo explorando Google Code, la integración que tiene con muchos Sistemas de Control de Versiones hace de éste un lugar ideal para compartir repositorios. Sin embargo, existen otras alternativas más específicas el cual seria interesante ir conociendo y explorando.

BitBucket, es un servicio de alojamiento basado en web, para los proyectos que utilizan el sistema de control de versiones Mercurial. El servicio está escrito en Python.

GitHub es una forja para alojar proyectos utilizando el sistema de control de versiones Git. Está escrito utilizando el framework Ruby on Rails por GitHub, Inc. (anteriormente conocida como Logical Awesome).

Recientemente estoy probando BitBucket. La gran comunidad de usuarios y su amplia lista de repositorios me ha llevado a registrarme y compartir algunos proyectos académicos desarrollados en la universidad:

Mi lista de repositorios

uisocialcrm:

El proyecto «uisocialcrm» trata de un Sistema de Información Web para gestionar envíos de campañas publicitarias para pequeñas y medianas empresas desde un enfoque de Social CRM (Customer Relationship Management), presentado en la Universidad en la materia de Taller de Grado I. El sistema está desarrollado en PHP con MySQL, con librerias Smarty, jquery, ajax, ADOdb, haciendo uso de API’s para publicar contenidos en Twitter por medio del protocolo abierto OAuth. El proyecto no está finalizado en su totalidad, dejo abierto a la comunidad para futuros cambios. Para ingresar al sistema: Usuario: uialberto Password: 12345

Documentación: http://goo.gl/PqjnL

uiecompras:

El proyecto «uiecompras» trata de un pequeño y sencillo ejemplo de una tienda virtual, fué presentado en la Universidad en la materia de Sistemas Distribuidos. El propósito del proyecto fué aprender RMI en Java y Remoting en .NET, de tal manera que el cliente pueda efectuar compras al crédito por medio de objetos remotos implementados en diferentes tecnologías, la instanciación de los objetos sería en .NET utilizando (ActiveX) y en Java (Applets). El sistema está desarrollado en PHP con MySQL, con librerias Smarty y ADOdb. El IDE utilizado es NetBeans! Se ha adjuntado el script de la base de datos. Todos los usuarios del sistema ingresan con el password: 12345.

uicalculadora:

El proyecto «uiCalculadora» es un Evaluador de Expresiones Aritméticas, permite evaluar expresiones aritméticas básicas en una sola línea, respetando prioridad de operadores. Este trabajo fué presentado en la Universidad para la materia de Estructuras de Datos II. Para la resolución del problema se utilizó un árbol de expresión. Desarrollado en el lenguaje Java bajo la plataforma J2SE – IDE Netbeans 6.8.

Que les sea de utilidad.

Hasta pronto.

 

Integrar TortoiseSVN con repositorio de Google Code

Saludos amigos.

Mediante este post quiero mostrar como podemos integrar el cliente subversión TortoiseSVN con un repositorio creado en Google Code, así poder establecer un equipo de trabajo online y convertirnos en gestores de proyectos* :), eso sí, con mucho trabajo y esfuerzo.

¿Qué es Google Code?

Es el espacio donde Google comparte con todos los usuarios parte del código de programación que se utiliza dentro de la compañía, una plataforma gratuita para desarrolladores interesados en el código abierto, permitiendo alojar proyectos de Open Source y compartirlos con nuestra comunidad.

Nota: Todos los archivos que subas y compartas deben ser OPEN SOURCE, de código abierto, caso contrario, si descubren que alojaste un archivo privativo (Mp3’s, .wma, .swf, etc) podrián cerrar tu cuenta.

Además, debes conocer que Google ofrece diferentes servicios de alojamiento de archivos, de los cuales puedes utilizar en la realización de tus proyectos, como es el caso de: Google Docs, Picasa Web, Google Ajax y más. Con todo esto de computación en las nubes o Cloud Computing y los servicios de alojamientos de ficheros gratuitos no está mal sacar provecho de éstos, eso sí, tomando muy en cuenta el contenido de la información que compartimos.

Bien comencemos con el tutorial.

Lo que necesitamos

Para la realización del tutorial necesitamos lo siguiente:

-Instalador de TortoiseSVN que puedes descargarlo de la página principal de TortoiseSVN

– Cuenta de correo en Gmail.

1. Crear el proyecto en Google Code Hosting

– Nos dirigimos a la siguiente página  code.google.com/hosting , iniciamos sesión con nuestra cuenta de correo electrónico.

Iniciamos Sesión en Google Code

– Creamos el Proyecto pulsando en el enlace Create a new Project lo que vendría a ser nuestro repositorio e ingresamos los datos que nos solicitan:

– Project name: Un nombre válido y disponible.
Projectt summary: Un breve resumen de lo que trata el proyecto.
– Projectt description: Realizamos una pequeña descripción del proyecto.
Version Control System: Para el Sistema de Control de Versiones seleccionamos: Subversion
-Source Code License:
 Seleccionamos el que mejor se ajuste a nuestra necesidades. (GNU GPL v3)
Project Label’s: Agregamos las etiquetas que hagan referencia a nuestro proyecto.

Tienda Virtual en Google Code

– Ingresamos a la pestaña Source para obtener la dirección URL de nuestro proyecto y así poder conectarnos mediante TortoiseSVN. Copiamos los datos de recuadro 3. Generamos el password (recuadro 4) para conectarnos al proyecto (repositorio), esta clave es única para cada usuario participante del proyecto.

Proyecto Google Code Tienda Virtual

– Generamos el password para conectarnos por TortoiseSVN. Este código es único para cada usuario del proyecto.

Generar Password del Proyecto

Con esto ya tenemos listo nuestro repositorio para conectarnos por medio de TortoiseSVN y poder hacer el control de versiones. Continuemos.

2. Instalamos TortoiseSVN 1.6

– Una vez descargado TortoiseSVN procedemos a realizar la instalación, en mi caso ocupe la versión TortoiseSVN-1.6.15.21042-x64-svn-1.6.16. 

TortoiseSVN 1.6

– Una vez instalado nos pedirá reiniciar la máquina, pulsamos Ok. Luego procedemos a crear el directorio en el cual descargaremos nuestro repositorio de Google Code. En mi caso, la carpeta se llama: ui-tiendavirtual. Damos Click derecho y veremos una serie de opciones nuevas en el menú despegable. Seleccionamos: TortoiseSVN->Import.

TortoiseSVN Import

– Nos aparecerá el siguiente cuadro de diálogo donde vamos a necesitar copiar el URL generado por el Google Code Repository haciendo referencia a nuestro proyecto, si le da un mensaje para recordar nuestro cambio, pulsamos Ok.

TortoiseSVN 1.6

– Nos pide autenticación. Entonces nuestro USERNAME es el usuario que usamos en nuestra cuenta de GMAIL, y el PASWORD es el que nos asignaron anteriormente (el que generamos) para el proyecto. Marcamos SAVE AUTHENTICATION, ya que en cada proceso de importación nos los pedirá.

Import TortoiseSVN

– Se inicia el proceso sincronización e importación de nuestro repositorio.

TortoiseSVN Import

– El siguiente paso es realizar el proceso CkeckOut para obtener los archivos del repositorio, según nuestra cuenta de usuario y password asignado para el acceso al proyecto. Pulsamos click derecho sobre la misma carpeta que realizamos el proceso de sincronización e importación como se muestra en la imagen:

TortoiseSVN CkeckOut

– Verificamos que los datos sean los correctos; tenemos que revisar la URL del repositorio (dada por Google Code Repository) y el directorio CheckOut (donde se almacena internamente el proyecto).

CheckOut TortoiseSVN

– Se inicia el proceso de CkeckOut. Una vez finalizado el proceso veremos que se marca con un símbolo de Ok y de color verde, además, crea una estructrua de directorio, esto indica que nuestra carpeta local se encuentra sincronizada y actualizada con Google Code Repository.

TortoiseSVN CheckOut

Estructura de directorio después del CheckOut con TortoiseSVN

– A partir de ahora todo documento que guardemos dentro de esta carpeta se podrá subir al repositorio y trabajarlo en paralelo por cada usuario que pertenece al proyecto y tiene privilegios de hacer cambios a los documentos. Como vemos a continuación, yo tengo un documento en el cual estoy trabajado en Enterprise Architect 7.5.

Diagrama Tienda Virtual

– Con SVN Commit podemos subir los cambios efectuados localmente al repositorio actualizando el archivo en el repositorio (Google Code Repository) con los datos de quien hizo el cambio.

TortoiseSVN Commit

– Con SVN Update podemos bajar los cambios efectuados en el repositorio.

SVN Update

Como observamos a continuación ya tenemos el archivo que estamos trabajando localmente en nuestro Google Code Repository. A partir de ahora, solo trabajamos con los procesos SVN Commit (Subir los cambios) y SVN Update (Actualizar el repositorio).

Tienda Virtual

Espero el tutorial sea de mucha utilidad.

Saludos.