Persistencia de Objetos con XPO

Julio 29, 2010 :: Posted by - Emilio Torrens :: Category - , , ,

Estos días estoy probando varias soluciones de persistencia de Objetos ya que estoy pensando seriamente dejar de usar Deklarit porque van muy lentos con las versiones.

El primero que he probado ha sido XPO de DevExpress, es bastante potente y fácil de usar aunque el generador de clases desde una BD existente es un poco pobre, no te genera las relaciones ni las tablas cuya PK este compuesta por varios campos, eso tendremos que solucionarlo a mano, aquí podéis ver como.

El tema de PK por múltiples campos se soluciona creando una estructura donde definimos la clave primaria y luego en la clase que mapeamos a la tabla definimos esa estructura como PK

public struct MyTablePK

{

    [Persistent("Field1")]

    public string FieldKey1;

    [Persistent("Field2")]

    public string FiledKey2;

}


[OptimisticLocking(false)]

[Persistent("Table")]

public class MyTable : XPBaseObject

{

    [Key(), Persistent()]

    public MyTablePK PK;

    public string Field3;

    public string Field4;

    public MyTable(Session session) : base(session) { }

    public MyTable() : base(Session.DefaultSession) { }

    public override void AfterConstruction() { base.AfterConstruction(); }

}

El tema de la relaciones se soluciona utilizando el atributo [Association] en la propiedad donde definimos la colección de objetos hijos indicándole el nombre que le hemos dado en el SQL al FK

[OptimisticLocking(false)]

[Persistent("Table")]

public class MyTable : XPBaseObject

{

    [Key(true)]

    public int PK;

    public string Field1;

    public string Field2;


    [Association("Table-ChildTable", typeof(MyChildTable)), Aggregated]

    public XPCollection Childs

    {

        get { return GetCollection("MyChildTable"); }

    }


    public MyTable(Session session) : base(session) { }

    public MyTable() : base(Session.DefaultSession) { }

    public override void AfterConstruction() { base.AfterConstruction(); }

}



[OptimisticLocking(false)]

[Persistent("ChilTable")]

public class MyChildTable : XPBaseObject

{

    public int FK;

    public int PK;

    public string Field1;

    public string Field2;

    public MyChildTable(Session session) : base(session) { }

    public MyChildTable() : base(Session.DefaultSession) { }

    public override void AfterConstruction() { base.AfterConstruction(); }

}

Pues nada, sigo probando cosas, ya iré comentando :)

Eclipse y Team Foundation Server

Junio 22, 2010 :: Posted by - Emilio Torrens :: Category - , , ,

image Que estés usando Eclipse para unos proyectos y Visual Studio para otros no es escusa para no usar Team Foundation Server para el seguimiento de los proyectos y como Repositorio de Código ya que puedes usar “Microsoft Visual Studio Team Explorer Everywhere 2010” con Eclipse.

Para instalarlo en Eclipse solo tienes que seguir estos pasos:

  • Descargarlo desde aquí, descargas el archivo (TFSEclipsePlugin-UpdateSiteArchive-10.0.0.zip)
  • En Eclipse vas a Help/Install New Software
  • Opción Add, y Opción Archive donde  seleccionas el archivo zip que has descargado.
  • Marcas la opción “Team Explorer Everywhere”
  • Next, next y reinicias Eclipse

Listo, ya lo tienes instalado:)

En el menú contextual de los proyectos te aparecerá una nueva opción “Team”, para agregar el proyecto la primera vez utilizas la opción “Share”, una vez agregado tendrás el mismo menú que en Visual Studio

La primera vez que agregues un proyecto te pedirá un serial, marcas la opción “Use a full-featured trial version of Microsoft Visual Studio Team Explorer Everywhere”

Programando para todos los móviles con Airplay

Junio 21, 2010 :: Posted by - Emilio Torrens :: Category - , , ,

image

Airplay es un SDK que nos permite desarrollar aplicaciones en C++, con el IDE que queramos (de momento soporta todas las versiones de Visual C++ y XCode para Mac), podemos debugear y hacer test con ARM o X86 y después generar resultados para todas las plataformas móviles soportadas, que creo que son casi todas ;)

Aquí la lista  de Plataformas soportadas:

  • iPhone / iPod Touch
  • Android
  • Symbian
  • Windows Mobile
  • BREW
  • Maemo (Beta)
  • Palm webOS (Alpha)

Es de pago, pero el sistema de licenciamiento es bastante bueno, ya que según los "beneficios” que obtengas usándolo pagaras mas o menos.

Puedes bajar una versión de evaluación y ver el sistema de licencia aquí

Aplicaciones Multilenguaje

Enero 15, 2010 :: Posted by - Emilio Torrens :: Category - ,

srt-lang Tener aplicaciones multilenguaje usando archivos de recursos para guardar los textos es realmente sencillo (y si no mira aquí como se hace ;) ) pero si encima los textos se traducen automáticamente al resto de idiomas la cosa ya es coser y cantar :)

La gente de scientia ha desarrollado este addin para traducir automáticamente nuestros archivos de recursos a todos los idiomas que queramos usando el traductor de Bing.

puedes descargarlo desde aquí

Publicado Sculpture 2.1 Final

Enero 04, 2010 :: Posted by - Emilio Torrens :: Category - , ,

La gente de dawliasoft anuncio hace poco que publicaban la nueva versión de Sculpture, así que me la voy bajando a ver que tal …

Nuevas funcionalidades en esta reléase

  • Documentación completa en PDF
  • Soporte para Oracle
  • Herencia multinivel en NHibernate y Entity Framework
  • Soporta los mas comunes escenarios de concurrencia (All, Dirty, y Version) para NHibernate
  • Soporta vistas en MSSQL y MySQL

Puedes descargarla desde Aquí.

Microsoft MyPhone deja de ser Beta

Octubre 07, 2009 :: Posted by - Emilio Torrens :: Category - , ,

myPhoneLogo Desde hoy Microsoft MyPhone deja de estar en versión Beta.

Si ya lo estas usando recibirás un mensaje en la próxima conexión para que actualices el software cliente, si no lo usas o no sabes lo que es te lo cuento.

MyPhone es un servicio de Microsoft que nos permite sincronizar los datos (Contactos, Documentos, Fotos, Videos, Mensajes de texto) de nuestro teléfono (con Windows Mobile/Phone) de esta manera nuestros datos están disponibles en la web, tanto si queremos consultarlos sin tener el teléfono como a modo de Backup por si perdemos o rompemos el teléfono.

A parte de esto al pasar de la versión beta a la final han añadido las siguientes funcionalidades:

Compartir fotos en las redes sociales más populares

Con sólo unos clics, puedes publicar fotos en Windows Live, Facebook, MySpace y Flickr desde el portal en línea de My Phone o directamente desde tu teléfono.

Buscar el teléfono perdido

My Phone puede mostrarte la última ubicación conocida del teléfono en un mapa.  Para activar esta característica, selecciona "Enviar ubicación del teléfono" en la configuración My Phone del teléfono.  No está disponible en todos los mercados.

Características Premium

My Phone te ayuda a proteger un teléfono perdido gracias a las nuevas características Premium.  Puedes bloquear o publicar un mensaje en el teléfono desde la Web.  O bien si sabes que no vas a recuperar el teléfono, puedes usar My Phone para borrar toda la información personal y evitar que caiga en las manos equivocadas.  Puedes probar estas características de forma gratuita durante un periodo de tiempo limitado, así que no dejes de hacerlo.  Las características Premium no están disponibles en todos los mercados.

Estas nuevas funcionalidades no has he probado aun, ya que venia usando la versión Beta a modo de Backup de datos y la verdad es que me ha ido genial, pero pintan muy bien, a la vez que escribo este post me estoy actualizando el software en el móvil, así que ya os contare :)

Security Essentials

Septiembre 30, 2009 :: Posted by - Emilio Torrens :: Category - ,

Ya esta disponible para descargar de forma gratuita el nuevo antivirus de Microsoft:

logo_mse

Funciones Principales

  • Protección completa contra malware
  • Descarga simple y gratuita*
  • Actualizaciones automáticas
  • Facilidad de uso

Yo lo tengo instalado y de momento puedo decir que no se come los recursos del sistema, para ser un antivirus ya es bastante :)

Microsoft Web Platform Installer

Septiembre 08, 2009 :: Posted by - Emilio Torrens :: Category -

main-webpi-download-v2

Tengo que instalar el WordPress en el servidor web de la empresa ya que la gente de comercial quiere montar un Blog asociado a la web por temas de web 2.0 y esas cosas que han leído por internet :)

El servidor es Windows 2003 server y estaba empezando a prepararme un checklist para instalar el PHP para Windows, MySQL, configurar variables de entorno, extensiones ISAPI y toda la pesca cuando Jordi me manda este link, resulta que la gente de Microsoft tiene una herramienta para instalar aplicaciones web sin hacer nada …

Vale la pena que le peguéis un vistazo a la aplicación ya que lleva para instalar casi de todo, WordPress, SubText, PHP, SilverLihgt, MVC, DotNetNuke, Servidores de Galerías, Wiki, de todo ….

Lanzamiento Expression 3

Julio 24, 2009 :: Posted by - Emilio Torrens :: Category - , ,

He leído el el Blog de Mike Ormond que ayer anunciaron en un evento de UK el lanzamiento de Expression 3, la versión Web viene con soporte para CSS, HTML, ASP.NET, PHP y Deep Zoom, Silverlight y Flash, podéis ver una demo en este video,

 

Mas info en el blog de expresión los detalles y bajarse las demos desde la web de expresión

Windows API Code Pack para W7

Julio 14, 2009 :: Posted by - Emilio Torrens :: Category - ,

El Windows API Code Pack es una librería que nos permitirá acceder a las nuevas funcionalidades de Windows 7 desde el código manejado.

Esto no era posible hasta ahora para los programadores de .NET, funciona a partir del Framework 3.5, la puedes descargar desde aquí y encontraras:

  • Windows 7 Taskbar Jump Lists, Icon Overlay, Progress Bar, Tabbed Thumbnails, and Thumbnail Toolbars.
  • Known Folders, Windows 7 Libraries, non-file system containers, and a hierarchy of Shell Namespace entities.
  • Windows 7 Explorer Browser Control.
  • Shell property system.
  • Windows Vista and Windows 7 Common File Dialogs, including custom controls.
  • Windows Vista and Windows 7 Task Dialogs.
  • Direct3D 11.0, Direct3D 10.1/10.0, DXGI 1.0/1.1, Direct2D 1.0, DirectWrite, Windows Imaging Component (WIC) APIs. (DirectWrite and WIC have partial support)
  • Sensor Platform APIs
  • Extended Linguistic Services APIs
  • Power Management APIs
  • Application Restart and Recovery APIs
  • Network List Manager APIs
  • Command Link control and System defined Shell icons.