viernes, 27 de noviembre de 2009

Microsoft Dallas



Ya hace bastante tiempo que en L&A SISTEMAS venimos “jugando” con los servicios de Windows Azure y SQL Azure. Mirando las novedades del PDC 2009, nos encontramos con varias novedades y nos hemos propuesto probarlas una a una.
La primera de ellas es “Dallas”.

¿Pero, Qué es Dallas?

Es un servicio de datos, como ha dicho Ray Ozzie… "Data as a Service". Permite a los desarrolladores e ‘information workers’ encontrar y consumir los conjuntos de datos que necesiten para alimentar sus aplicaciones.
Por otro lado nos permite que si nosotros como proveedores de datos, demos de alta nuestros servicios en el repositorio, para que cualquier consumidor de Dallas pueda buscarlo y utilizarlo. Los datos que exponemos luego pueden ser consumidos incluso desde Excel

Aquí pueden encontrar algunos escenarios:

http://www.microsoft.com/windowsazure/dallas/
Aquí el QuickStart http://www.microsoft.com/windowsazure/developers/dallas/

En Channel 9 pueden encontrar un Hands On Lab que fue el que utilizamos nosotros para jugar un poco con el servicio. http://channel9.msdn.com/learn/courses/Azure/Dallas/IntroToDallas/Overview/

Cabe aclarar que necesitan un codigo de invitacion que demora unos dias en obtenerse y ademas deben tener instalado el Windows Azure Platform Kit de Noviembre de 2009.

Ejemplo de acceso a la información

class Program
{
static void Main(string[] args)
{
//Especifica la clave de la cuenta y el user id
string accountKey = "0qskpSR1tYaz0pLnyL9....";
string uniqueUserId = "f414bab2-8726-480b-895c-.........";

// Crear el proxy del servicio
NewsCategoriesService service = new NewsCategoriesService(accountKey, new Guid(uniqueUserId));

// Invocar la consulta con los parametros necesarios (Varian de acuerdo al servicio que invoquemos)
List results = service.Invoke();

// Iterar a traves del resultado
foreach (NewsCategoriesItem item in results)
{
Console.WriteLine(item.Title);
}

Console.ReadLine();

}
}

(Para los que me conocen -> Si, esta escrito en C# ... :) )

Hasta la próxima!!!

jueves, 26 de noviembre de 2009

La marca más confiable de notebooks es…

No soy muy amigo del Copy & Paste de articulos pero creo que en este caso amerita... Es un articulo publicado en infonegocios... una buena noticia para los hinchas (como nosotros) de Toshiba...

(Por Eduardo M. Aguirre) Hace pocos días se conoció un estudio llevado a cabo por Square Trade, uno de los grandes proveedores de garantías de EEUU. Comparó el desempeño de las laptops más vendidas en sus primeros tres años y publicó sus conclusiones. Espero tus comentarios.

Bajo el título “cual es la laptop más confiable” Square Trade comparó el comportamiento de las notebooks y netbooks más populares del mercado. Para llegar a tales conclusiones, seleccionó al azar cerca de 30.000 equipos cubiertos con planes de garantía. Entre las marcas analizadas que llegaron al mínimo de 1000 laptops estaban Acer, Apple, Asus, Dell, Gateway, HP, Lenovo, Sony y Toshiba.

Entre las primeras conclusiones encontramos que el 20,4 % de las portátiles habrá fallado al cumplir sus 3 años de uso por defectos propios, mientras que el 10,6% presentará mal funcionamiento por hechos accidentales, es decir, el total de 31% de fallas en ese lapso.

Tomando como parámetro el precio del equipo se destaca que durante el primer año de uso un 5,8% de las netbooks presenta algún tipo de desperfecto, mientras también lo hace un 4,7% de las notebooks estándar y solo un 4,2% de las alta gama. Llegados los primeros 36 meses de uso un 25,1% de las primeras habrá fallado del mismo modo que un 20,6% de las segundas y un 18,1% de las terceras.

Yendo a lo más controversial de esta investigación, el análisis por marca dicta las siguientes conclusiones. Cumplidos los primeros 36 meses de uso las portátiles de HP presentan un 25,6% de fallas. Las Acer lo hacen en porcentaje del 23,5. Las sigue Lenovo con un 21,5%, Dell presenta un 18,3% de funcionamiento defectuoso en ese mismo período mientras que los mejores comportamientos corresponden a Apple, con un 17,4% de fallas, Sony con un 16,8% y para sorpresa de muchos las dos marcas de mejor performance en cuanto a su confiabilidad son Toshiba con un 15,7% de errores y Asus con solo un 15,6%.

Resulta curioso contrastar los resultados de este estudio con el ranking de ventas por marca a nivel mundial. Aquí se observa a HP que continúa al tope de los embarques con el 24,1% del mercado, la sigue Acer con un 18,8%, Dell alcanza un 14,2 % de penetración, luego aparece Toshiba con un 10%; seguida por Lenovo con 7% y Asus, siendo la más confiable según Square Trade, recién aparece en el sexto lugar con un 5,6% de participación en el mercado global.

Confiando en la veracidad de todos los números expuestos, debemos señalar que en cierta medida contradicen (o al menos ponen en duda) las afirmaciones de los analistas de marketing quienes hablan de un público cada vez más informado y por lo tanto más difícil de persuadir mediante los mensajes publicitarios clásicos. Al menos como consumidores de tecnología aún nos falta un buen camino por recorrer para alcanzar una autonomía soberana en la elección de los dispositivos que habrán de acompañarnos durante largas horas de nuestra vida laboral y personal.

Si te interesa, el estudio completo de Square Trade podés bajarlo haciendo click aquí.

Fuente: http://www.infonegocios.biz/nota.asp?nrc=11687&nprt=1

jueves, 19 de noviembre de 2009

Windows Azure Storage Client v1.0

Windows Azure Storage Client v1.0

(Traducción del original escrito por Neil Mackenzie )

El paquete de Noviembre de 2009 del SDK de Windows Azure y herramientas ha introducido para la muchachada una API totalmente renovada StorageClient v 1.0 que ahora es una parte integral de la liberación de Azure, en lugar de ser sólo un ejemplo como sucedia anteriormente (Para más información consulte nuestros post anteriores acerca del tema de almacenamiento en Azure). La API de StorageClient incluye cerca de 70 clases repartidas en 3 espacios de nombres:

Microsoft.WindowsAzure.StorageClient.dll

La funcionalidad de cliente de almacenamiento se encuentra en Microsoft.WindowsAzure.StorageClient.dll.
Esta funcionalidad se expone a través de cerca de 70 clases repartidas en 3 espacios de nombres:


Microsoft.WindowsAzure
Microsoft.WindowsAzure.StorageClient
Microsoft.WindowsAzure.StorageClient.Protocol


El espacio de nombres Microsoft.WindowsAzure proporciona funcionalidad en cuenta de almacenamiento. El espacio de nombres Microsoft.WindowsAzure.StorageClient proporciona la funcionalidad de clave de almacenamiento del cliente.
La clase Microsoft.WindowsAzure.StorageClient.Protocol proporciona la funcionalidad de bajo nivel relacionados con las llamadas REST al servicio de almacenamiento de Azure y no está cubierto en este post.

Espacio de nombres Microsoft.WindowsAzure

El espacio de nombres Microsoft.WindowsAzure comprende clases relacionadas con las cuentas de almacenamiento y credenciales:


CloudStorageAccount
StorageCredentials
StorageCredentialsAccountAndKey
StorageCredentialsSharedAccessSignature


CloudStorageAccount expone información de cuenta y clave, y es capaz de analizar el archivo de configuración para recuperar esta información.
StorageCredentials es una clase base abstracta para StorageCredentialsAccountAndKey, el soporte a las credenciales de clave compartida,
y StorageCredentialsSharedAccessSignature usadas para crear firmas compartidas para el acceso a blobs.

La clase CloudStorageAccount se declara:


public sealed class CloudStorageAccount {
// Constructors
public CloudStorageAccount(StorageCredentialsAccountAndKey storageCredentialsAccountAndKey, Boolean useHttps);
public CloudStorageAccount(StorageCredentials storageCredentials, Uri blobEndpoint, Uri queueEndpoint, Uri tableEndpoint);

// Properties
public Uri BlobEndpoint { get; }
public StorageCredentials Credentials { get; }
public static CloudStorageAccount DevelopmentStorageAccount { get; }
public Uri QueueEndpoint { get; }
public Uri TableEndpoint { get; }

// Methods
public static CloudStorageAccount FromConfigurationSetting(String settingName);
public static CloudStorageAccount Parse(String value);
public static void SetConfigurationSettingPublisher(Action> configurationSettingPublisher);
public String ToString(Boolean exportSecrets);
public static Boolean TryParse(String value, out CloudStorageAccount account);

// Implemented Interfaces and Overridden Members
public override String ToString();
}


La clase CloudStorageAccount es esencial para el cliente de almacenamiento, ya que cualquier intento de utilizar el servicio de almacenamiento de Azure comienza por la creación de una instancia del mismo.
Los servicios de Windows Azure services utilizan el archivo de configuración para almacenar información de su cuenta tales como nombre y clave.
Una simple llamada al método estático FromConfigurationSetting() será suficiente para crear un CloudStorageAccount objeto correctamente inicializado a partir del archivo de configuración.
Sin embargo, un intento de hacer esto producirá un error en tiempo de ejecución porque no se ha especificado un valor de configuración de Publisher.
La solución a esto es invocar la SetConfigurationSettingPublisher() en el nuevo método OnStart() para el rol.
El código necesario para hacer esto es bastante retorcido, y la técnica más simple para hacerlo funcionar es la de copiarlo directamente del ejemplo de los thumbnails que viene con el SDK de Azure v1.0.


Es posible ignorar al archivo de configuración y crear un objeto de CloudStorageAccount de un objeto StorageCredentialsAccountAndKey como se muestra a continuación:

StorageCredentialsAccountAndKey storageCredentialsAccountAndKey = new StorageCredentialsAccountAndKey("ACCOUNT_NAME",
"ACCOUNT_KEY");
CloudStorageAccount cloudStorageAccount = new CloudStorageAccount(storageCredentialsAccountAndKey, true);


Esto hace que el cliente de almacenamiento vaya directamente contra el almacenamiento en la nube con la cuenta indicada.
Tenga en cuenta que la sustitución del ACCOUNT_NAME y ACCOUNT_KEY con las de almacenamiento de desarrollo no causa que sea usado el almacenamiento de desarrollo y causa un error de ejecución.
Sin embargo, la propiedad DevelopmentStorageAccount es un objeto pre instanciado del tipo CloudStorageAccount que puede ser utilizado para el acceso al almacenamiento de desarrollo:

CloudStorageAccount cloudStorageAccount = CloudStorageAccount.DevelopmentStorageAccount;


Espacio de nombres Microsoft.WindowsAzure.StorageClient

Este espacio de nombres es el núcleo del cliente de almacenamiento y dispone de casi 40 clases de apoyo a la gama completa de funcionalidad para blobs,
las tablas y las colas. Las clases son enumeradas aquí, junto con un breve resumen del uso de las mismas. Casi toda la funcionalidad se ofrece tanto en forma sincrónica y asincrónica. Por ejemplo, la clase CloudQueue soporta adición de mensajes sincrónica y asincrónica a una cola a través de los siguientes métodos:

public void AddMessage(CloudQueueMessage message, TimeSpan timeToLive);
public void AddMessage(CloudQueueMessage message, TimeSpan timeToLive);
public void AddMessage(CloudQueueMessage message);
public IAsyncResult BeginAddMessage(CloudQueueMessage message, TimeSpan timeToLive, AsyncCallback callback, Object state);
public IAsyncResult BeginAddMessage(CloudQueueMessage message, AsyncCallback callback, Object state);
public void EndAddMessage(IAsyncResult asyncResult);

Hasta la proxima!