MSDN Blogs
  • WarNov Developer Evangelist

    Microsoft recibe tu feedback para mejorar

    • 0 Comments

    image

    Hoy en día, Microsoft Colombia ha tenido la oportunidad de mejorar muchos aspectos a favor de su relacionamiento con los profesionales en tecnologías de Información y de Desarrollo. Por ejemplo, en {Activa} encuentras todos los recursos para tu actualización permanente, solución de problemas técnicos y evaluación de nuevas tecnologías.

    Esto ha sido posible gracias a que a través de diversos mecanismos se ha podido recibir retroalimentación de nuestros usuarios, para poder ir mejorando cada vez más.

    En este caso, Microsoft quiere escuchar de ti para averiguar cómo estos aspectos se pueden seguir mejorando, para brindarte más apoyo en tu trabajo y crecimiento profesional.

    Así que es muy probable que hayas recibido una encuesta por correo electrónico, proveniente de feedback@e-mail.microsoft.com, cuyo asunto es: "Ayude a Microsoft a centrar su atención en Clientes y socios". Para Microsoft es muy valioso que nos colabores contestando esta encuesta, que nos ayudará a ofrecerte recursos superiores. Colabóranos para ser cada vez mejores!

  • WarNov Developer Evangelist

    Denali: Guía de Producto

    • 0 Comments

    Si quieres estar al tanto de lo último en nuestro servidor de Bases de Datos: SQL Server, que en su siguiente versión traerá enormes innovaciones y una gran integración con Cloud Computing, entonces esta guía de producto está hecha para ti: se trata de la Guía del producto de SQL Server  "Denali" para el (CTP3). Ya está disponible para su descarga!

    image

    Esta versión de la Guía de producto representa un hito importante para los clientes y socios que quieren experimentar el extenso valor entregado por "Denali".  Aprende como puedes ayudar a las organizaciones a construir soluciones basadas en datos, muy rápido bien sea en los esquemas de despliegue tradicionales o en la nube pública o privada, todo respaldado por la confianza que nos da Denali en el manejo de sistemas de misión crítica.

    Esta guía incluye recursos útiles y demostraciones que le ayudarán en su evaluación de CTP3. Esto incluye:

    •14 hojas de descripción de producto

    •8 Presentaciones de PowerPoint

    •5 White Papers técnicos

    •13 Prácticas de laboratorio

    •19 demostraciones listas para su audiencia

    •26 Enlaces a referencias en línea

    •44 Enlaces a Videos en línea incluyendo 26 presentaciones del TechEd 2011 en Norte América

    La Guía del producto viene con una pequeña aplicación para ayudarte a navegar por el contenido. Una vez que descargas el archivo ZIP, lo descomprimes donde lo deseas y para iniciar el visor, has clic en el  archivo STARTHERE.CMD y luego acepta la ejecución de ActiveX. 

    No tienes el servidor Denali CTP3? Descárgalo de aquí!

    Mencioné que todo esto es gratis?

  • WarNov Developer Evangelist

    La guía total del Marketplace de Windows Phone 7

    • 0 Comments

    ABSTRACT: En este post condenso en un artículo en Español, todo lo que ustedes, desarrolladores de Windows Phone 7 deberían saber acerca del marketplace, cuando ya vayan a subir sus aplicaciones a dicho portal, para comercializarlas. No se tratan aspectos técnicos. Se muestran las reglas más importantes al trabajar con el marketplace, así como links para obtener información más detallada. Si requieren aprender a programar aplicaciones de Windows Phone 7, les recomiendo este post.

    El marketplace de Windows Phone 7 es un portal en el cual podemos poner nuestras aplicaciones para este sistema operativo, de manera que puedan ser exploradas y descargadas/compradas por nuestros clientes.

    La única forma de comercializar aplicaciones para WP7, es a través de este marketplace. No se pueden instalar aplicaciones comercialmente de otro modo. Ni siquiera con los conocidos “Jailbreaks”.

    Aplicaciones en modo de prueba para desarrollo se pueden instalar directamente desde la computadora a un teléfono si éste está desbloqueado para desarrollo.

    Este desbloqueo requiere suscribirse al marketplace de WP7, para identificarnos como desarrolladores.

    Entonces, tanto si queremos subir aplicaciones o desbloquear en modo desarrollo algún WP7, es necesario suscribirse al Marketplace. Solo mayores de 18 años pueden suscribirse.

    image

    Una guía completa para la suscripción al Marketplace la encuentran aquí. Si tiene problemas en el registro, consulte este post.

    La suscripción sólo está disponible para algunos países entre los cuales se encuentra Colombia, Chile y México en Latinoamérica.

    Esta suscripción es gratuita si la persona que se está suscribiendo es un estudiante perteneciente al programa DreamSpark de Microsoft. En otro caso tiene un costo cercano a los 100 dólares anuales, que se pagan con una tarjeta de crédito. Y que permiten publicar hasta 100 aplicaciones gratuitas en el marketplace. Después de exceder este límite, cada aplicación gratuita publicada tendrá un costo de $19.99. Las aplicaciones pagas no tienen límite. Tras tener la suscripción al marketplace, se pueden subir tantas como sea deseado.

    Condiciones de la tarjeta de Crédito:

    En ocasiones al hacer el registro en el marketplace, a pesar de usar una tarjeta de crédito válida la operación no puede realizarse. Esto puede ocurrir por los siguientes motivos:

    1. El nombre en la tarjeta no coincide con el nombre usado para el registro.

    2. La dirección de la tarjeta ingresada no coincide con la dirección registrada en los registros del banco que emitió la misma tarjeta.

    3. Si el LiveID usado para el registro en el Marketplace ya ha sido usado en otros servicios online de Microsoft como por ejemplo Xbox LIVE, la información de ambas cuentas debe ser precisa e idéntica.

    Si se siguen presentando problemas tras chequear los anteriores pasos, se puede contactar al soporte para asistencia.

    Registro de Compañías:

    El registro en el marketplace se puede hacer como individuos o estudiantes (casos anteriormente descritos) y también como compañías. Este caso es especial, pues requiere una aprobación especial por un partner de Microsoft llamado GeoTrust que constata que toda la información suministrada acerca de la compañía sea correcta. Es un mecanismo para proteger su compañía de usuarios inescrupulosos que quieran usar su nombre para vender una aplicación. Una vez verificado esto, se envía un email a la persona ingresada como el Aprobador Corporativo para que apruebe la suscripción final al marketplace. Es probable que si GeoTrust lo considera necesario, solicite información física acerca de la compañía.

    Desbloqueo de teléfonos tras la suscripción al marketplace:

    Basados en el tipo de cuenta, existen límites en la cantidad de dispositivos que se pueden desbloquear:

    Cuentas individuales y de compañías: Se pueden desbloquear 3 dispositivos y se permite transferir hasta 10 aplicaciones en modo desarrollo a cada uno de los dispositivos.

    Cuentas de estudiantes: Se puede desbloquear 1 dispositivo y se permite transferir hasta 10 aplicaciones en modo desarrollo a éste.

    Cómo subir aplicaciones al Marketplace?

    Una vez registrados correctamente en el marketplace, el paso siguiente es subir las aplicaciones que queremos vender o distribuir gratuitamente. Aparte de subir el archivo .xap (el paquete de aplicación que publicaremos), debemos indicar el tipo de distribución que deseamos, pues en el marketplace podemos poner aplicaciones en modo Beta, para que nuestros clientes la prueben y nos den feedback. También podemos escoger la modalidad de distribución privada por ejemplo para aplicaciones empresariales y la distribución pública. Más detalles de los tipos de distribución, los encuentran aquí. Y aquí hay todo un tutorial acerca del proceso completo.

    Precios de las aplicaciones:

    Si queremos que la aplicación sea gratuita, en el formulario de publicación escogeremos el precio de $0. Luego, el mínimo precio posible es el equivalente en pesos a USD$0.99 y el máximo es el equivalente a USD$499.99

    En dónde estará disponible la aplicación?

    Se puede escoger en qué países se puede distribuir la aplicación. Pueden ser solo algunos, o todo el mundo donde exista marketplace activo.

    Cómo se retira una aplicación del Marketplace?

    Se debe esperar hasta que sea aprobada y luego desde el portal se escoge la opción de un-publish.

    Se pueden cobrar actualizaciones a las aplicaciones?

    No. La única vez que se puede cobrar una aplicación es la primera vez que es comprada.

    Certificación de Aplicaciones:

    Con el fin de ofrecer a sus usuarios la mejor calidad en aplicaciones de WP7, Microsoft ejecuta un riguroso proceso de certificación sobre las aplicaciones que desean ser publicadas en el marketplace.

    Este proceso evalúa condiciones que si no son cumplidas, no permiten que la aplicación se publique en el marketplace. Las condiciones son de los siguientes tipos:

    1. Reglas de Negocio: Estas reglas incluyen aspectos como que Las aplicaciones deben publicarse completas y no pueden exigir pagos a los usuarios para desbloquear contenidos adicionales. No pueden vender o promocionar planes móviles de voz. Y en general muchas reglas de este estilo, que se pueden consultar exactamente aquí.

    2. Reglas de Contenido: Establecen que por ejemplo los juegos deben incluir su clasificación. O que contenidos violentos o sexuales explícitos no son permitidos. También da indicaciones acerca de contenidos licenciados, logos y demás. Una completa guía aquí.

    3. Requerimientos en el paquete subido: Son las normas que debe cumplir el .XAP en su compilación, su archivo de manifiesto, etc., así como en los archivos que lo acompañan, como son los screenshots de la aplicación y la iconografía de la misma. Los detalles están aquí.

    4. Requerimientos Técnicos: Aquí se dictan normas acerca de la fiabilidad de la aplicación (manejo de excepciones, etc), desempeño y manejo de recursos (tiempos de renderizado, respuesta de la aplicación tras presionar los botones estándar del teléfono, empleo de memoria RAM, etc), funcionalidad del teléfono (que no haya interferencia con la calidad en las operaciones propias del teléfono como el tiempo en que se puede hacer una llamada, o enviar o recibir un SMS, etc) , Seguridad (no virus, malware ni algoritmos maliciosos), Contenido (manejo de temas que se vean fácilmente, localización del lenguaje), y finalmente, la Información de Soporte Técnico (se debe incluir el nombre de la aplicación, su versión y los datos de contacto para el soporte técnico, ubicados en una sección fácil de encontrar). Detalles más específicos acerca de estos requerimientos técnicos los puede encontrar aquí.

    5. Requerimientos adicionales de acuerdo al tipo de aplicación: Hay reglas que deben seguir las aplicaciones que son especiales por cuento usan la funcionalidad extendida del teléfono. Por ejemplo cuando tienen capacidades de geolocalización, o cuando usan las conocidas “Push Notification”, o cuando corren con el teléfono bloqueado o cuando son aplicaciones multimedia, de streaming o transferencia en segundo plano. Detalles aquí.

    En general el proceso de envío, certificación y publicación de una aplicación WP7, se puede resumir en la siguiente gráfica:

    Se necesita un certificado digital para firmar la aplicación que se sube al Marketplace?

    No, el marketplace provee uno.

    Qué pasa cuando mi aplicación no es certificada?

    Se recibe un documento que muestra cuáles fueron los puntos de falla para ser corregidos. Este es un PDF descargable del sitio que tiene información de este estilo:

    Además de esto, se pueden hacer preguntas acerca de la solución a los errores presentados a los foros

    Cuánto tarda el proceso de Certificación?

    Puede tomar en promedio 5 días hábiles. Si tarda más de 7 días hábiles, hay que contactar a soporte. Hay una opción para hacerlo desde el portal.

    Puede un comprador pedir la devolución de su dinero por una aplicación del marketplace que no le gustó?

    No. No es posible. En Microsoft recomendamos que ud. provea funcionalidad de prueba para que los consumidores puedan probar antes de comprar. Aquí mostramos cómo crear aplicaciones tipo trial.

    Cuál es el pago que obtengo por mis aplicaciones?

    Se obtiene un 70% del valor de venta. Este es enviado a su cuenta bancaria una vez alcance un mínimo de USD$200 en ventas. Para que el dinero pueda ser enviado a su cuenta bancaria, ud. debe proveer los siguientes datos: Número de cuenta y número BIC/Swift (este último se puede preguntar en su respectivo banco). Estos datos se ingresan en el App Hub en la pestaña de pagos.

    Una vez comprada una aplicación en cuántos teléfonos se puede instalar?

    La licencia incluye la instalación en 5 dispositivos.

    Hay alguna forma para solicitar que mi aplicación tenga un mercadeo especial en el marketplace?

    No. En estos momentos este es un proceso que determina el equipo de mercadeo de Windows Phone 7.

    Puedo obtener soporte Premium al desarrollar mis aplicaciones?

    Sí. Hay dos tipos de soporte Premium. El primero es a través de llamadas telefónicas. De 4 a 8 horas, tiene un costo de USD$259 y por email, un día cuesta USD$99. Para contratar este soporte visite la página de Microsoft Support e ingrese “Windows Phone Developer Tools”en el Product Finder.

    Si su problema no es de desarrollo sino de registro y Sign-in, entonces el soporte será gratuito escribiendo aquí.

    De igual forma, los foros del App Hub, son gratuitos y brindan guía en todos los temas relacionados con Windows Phone 7, desarrollo de aplicación y comercialización de las mismas.

    Existen reportes que me informen cómo se está comportando mi aplicación y cómo van sus ventas o descargas?

    Sí, en el App Hub, encuentra una herramienta de reportes que muestra el número de descargas incluyendo las aplicaciones trial, las free y las pagas. Los reportes aquí mostrados tuenen un delay de 6 días. Este delay es generado por el tiempo en que las transacciones con tarjeta de crédito tardan en llevarse a cabo. También se dispone de un reporte de los “Payouts” o transferencias a su cuenta del dinero ganado por la venta de sus aplicaciones. Todos estos reportes se pueden exportar a Excel. Por si fuera poco, un reporte de los errores que ha estado teniendo su aplicación está disponible también En este reporte puede observar el contenido de los Stack Traces, para determinar cuál es el motivo de los errores. El delay de los reportes de Crash es de 3 días.

  • WarNov Developer Evangelist

    Bing ahora con HTML5

    • 1 Comments

    El buscador BING de Microsoft, ahora incluye video HTML5 en su ya bello y característico home.
    Esta característica al igual que muchas otras características avanzadas está solo disponible cuando se hacen búsquedas localizadas en Estados Unidos. En este video muestro cómo localizar las búsquedas, para aprovechar todas estas características avanzadas. Esto sin mencionar que los resultados de las búsquedas son mucho más precisos en Bing, cuando hacemos la búsqueda localizada en Estados Unidos

  • WarNov Developer Evangelist

    A un día del //build/

    • 1 Comments

     

    WP_000550

    Estamos solo a unas cuantas horas de que uno de los eventos más importantes para Microsoft en los últimos años comience.

    Se trata del //build/. Donde Windows 8 será gran protagonista.

    Muchas dudas serán resueltas así como el futuro de varias tecnologías. Así que nombres como HTML5, XAML, Silverlight, C++, C# y muchos otros, serán muy mencionados.

    Mientras tanto, aquí les dejo unas imágenes del ambiente que se respira un día antes de esta gran conferencia que se llevará en el centro de convenciones de Anaheim. Muy cerca a Disneyland en California.

    El pequeño auditorio para el Build:

    WP_000552

    La pequeña estación de Registro del Build:

    buildstitch

    Por si fuera poco, también hay estaciones de auto-registro:

    WP_000559

    Y este es el kit que entregan a los asistentes…

    es pequeño no? Será que tienen más regalos?

    WP_000561

    Los espero pronto con las primicias!

  • WarNov Developer Evangelist

    Windows Azure en el negocio

    • 2 Comments

    Abstract: Windows Azure es la joya de la corona en el desarrollo Microsoft. En general, aquí se agrupa el conocimiento de muchas tecnologías .NET para lograr desarrollos brillantes. Sin embargo, los roles de negocio en las organizaciones deben tener cierta comprensión de nuestra plataforma de cloud computing, para poderla implementar en sus empresas. Este artículo da un vistazo breve y de muy alto nivel, enfocado en el negocio para que puedan tomar decisiones más informadas.

    GoingToAzure

    Las ventajas de negocio de Windows Azure incluyen aspectos como el ahorro en costos, tiempo (time to market), administración, costo de implementación reducido (upfront), un retorno de la inversión más rápido y gran escalabilidad y disponibilidad.

    En cuanto al ahorro en costos y upfront reducido, estos se obtienen debido a que la plataforma de cloud de Microsoft se encarga absolutamente de todo el manejo de hardware y sistemas operativos en la nube, librando a sus clientes de tener que comprar máquinas que luego se depreciarán y también del manejo de licencias de los servidores. Por si fuera poco, la administración automatizada de Windows Azure permite a los desarrolladores enfocarse en hacer su aplicación cada vez mejor, sin tener que preocuparse de tareas alternas que no hacen parte del core del negocio, tales como estar pendientes de actualizaciones, patchs, antivirus y demás.

    El hecho de que en Windows Azure solo se paga lo consumido brinda una gran ventaja a los desarrolladores ya que minimiza el costo de upfront en sus soluciones. No tienen que hacer gigantescas inversiones en infraestructura. Por el contrario, van solicitando los recursos necesarios de Windows Azure transfiriendo los costos a sus clientes, a medida que estos van consumiéndolos servicios expuestos. Esto permite que así como el negocio va escalando, la inversión retorna inmediatamente.

    Para los clientes de los desarrolladores esto también es una ventaja, porque no tienen que preocuparse por la infraestructura de las soluciones que les están ofreciendo. Además en cuanto a costos, tampoco tienen que preocuparse por esquemas de licenciamiento ni por pagar altos costos. En general los servicios expuestos por Windows Azure se pueden cobrar a una tasa muy baja cada mes a los clientes que los estén usando. Y además también se les puede ofrecer la posibilidad de que paguen solo lo consumido.

    Esto sumado a todas las ventajas que representa el modelo de (Software as a Service) SaaS que está perfectamente mapeado dentro del modelo de (Platform as a Service) PaaS, le brinda a los clientes y desarrolladores muchas ventajas, pues las aplicaciones se encontrarán permanentemente online con unos SLA de altísima calidad y unas capacidades de distribución que son solo posibles bajo esta metodología. Es así como a través de nuestra plataforma de cloud computing el mensaje de Power of Choice se ve totalmente llevado a la realidad dado que los despliegues en Windows Azure nos permiten tener clientes tanto en el escritorio, como en la web y también en teléfonos móviles de una manera bastante sencilla. Windows Azure es una plataforma bastante abierta que permite el despliegue de aplicaciones creadas en los lenguajes y tecnologías más populares tales como lo son Java, PHP, Ruby y por supuesto, .NET. Por si fuera poco, se ofrece una amplia gama de opciones de almacenamiento para que las aplicaciones puedan persistir sus datos de acuerdo a la forma que más se adapte a las necesidades y al presupuesto. De esta manera se encuentra el Windows Azure Storage y SQL Azure. Esto nos permite también ofrecer la alternativa de que en Windows Azure podamos ubicar únicamente nuestras aplicaciones sin Storage, o solo el Storage sin aplicación o las dos cosas. La decisión es nuestra de acuerdo a lo que se requiera.

    Mi invitación es a que analicen un nuevo modelo no solo tecnológico sino de negocio, que le abrirá muchas puertas a su empresa.

  • WarNov Developer Evangelist

    TechEd 2011 Brasil

    • 1 Comments

    Este año se desarrollará en la ciudad de Sao Pablo, Brasil, durante los días 29 y 30 de Septiembre, el evento técnico más grande del año en Latinoamérica: TechEd 2011.

    Más de 190 expositores internacionales se darán encuentro para brindarle toda la información sobre los últimos lanzamientos de Microsoft y las mejores prácticas en la utilización de herramientas. Conozca en profundidad el panorama tecnológico actual y profundice sus conocimientos sobre las soluciones existentes. Entre los principales temas técnicos de este año se encuentran Computación en la Nube, Virtualización, Seguridad, ALM, Windows Phone y System Center 2012.

    Consulte la agenda detallada en el sitio oficial de TechEd y reserve su lugar para participar de este megaevento único.

    clip_image001

  • WarNov Developer Evangelist

    Ideas panorámicas para aplicaciones de Windows Phone 7

    • 1 Comments

    Una de las formas gráficas (no la única) para crear aplicaciones de Windows Phone 7, es a través del control panorama. Este control básicamente nos muestra una aplicación extendida horizontalmente, de manera que no hay necesidad de menús adicionales ni muchos botones. La navegación se lleva a cabo de un desplazamiento al “arrastrar” la ventana a través de la pantalla capacitiva de los dispositivos Windows Phone 7.

    Dejando volar la imaginación un poco y con miras a dar ideas de lo que serían aplicaciones para Windows Phone 7 en este caso enfocadas al mercado Colombiano, creé algunos borradores de lo que podrían ser estas aplicaciones. Luego se los pasé a @andresruiz quien los puso en limpio gracias a sus aptitudes de diseño. Aquí se las dejo: (Pueden ver las imágenes en alta resolución haciendo click sobre ellas)

    Aplicación Móvil de Un Gimnasio

    BodyMovil

    Aplicación Móvil de una Aerolínea

    AviaMovil

    Aplicación Móvil de Una Cadena de Supermercados:

    ExiPocket

    No les inspira esto a crear su propia aplicación de consumo masivo para Windows Phone 7? Qué tal una que compren 300k usuarios a razón de USD$2 en el marketpacle?

  • WarNov Developer Evangelist

    23 y 24 de Agosto. Windows Phone 7 Jump Start

    • 0 Comments

    Un curso Jump Start está diseñado específicamente para desarrolladores experimentados que requieren saber cómo usar de la mejor manera las nuevas tecnologías de Microsoft.

    Estos cursos avanzados asumen un cierto nivel de experiencia y conocimiento del dominio, de manera que se cubren rápidamente los temas a través de situaciones y ejemplos del mundo real.

    Es un curso de dos días. En Inglés. Dirigido a desarrolladores que buscan construir aplicaciones cool y juegos para la nueva plataforma Windows Phone Mango.

    Fecha: Agosto 23 y 24.
    Hora: 10am – 6pm (Hora Colombia)
    Duración: 8 horas diarias incluyendo una hora de descanso.
    Registro: http://bit.ly/Mango-Jump

    Aquí un vistazo a los temas que se estarán viendo:

    Plantilla para hacer bosquejos de aplicaciones Windows Phone

    Día 1:

    • Building Windows Phone Apps with Visual Studio 2010
    • Silverlight on Windows Phone – Introduction
    • Silverlight on Windows Phone – Advanced
    • Using Expression to Build Windows Phone Interfaces
    • Windows Phone Fast Application Switching
    • Windows Phone Multi-tasking & Background Tasks
    • Using Windows Phone Resources (Bing Maps, Camera, etc.)

     


    Plantilla para hacer bosquejos de aplicaciones Windows Phone

    Día 2:

    • Application Data Storage on Windows Phone
    • Using Networks with Windows Phone
    • Windows Azure and Windows Phone
    • Notifications on Windows Phone
    • XNA for Windows Phone
    • Selling a Windows Phone Application

    Si el inglés no es un problema para ustedes, les recomiendo enormemente este gran curso

  • WarNov Developer Evangelist

    Windows Azure FAQ

    • 0 Comments

    · En este post quiero recopilar todas las preguntas que me hacen por medios escritos acerca del tema y su respectiva respuesta:

    1. La arquitectura de la aplicación a migrar se fundamenta en la exposición de componentes (COM+)a través de Windows Communication Foundation, mediante una serie de servicios (SVC) publicados en un sitio de IIS. El modelo propuesto por Azure soporta la publicación de componentes COM+? Como se realiza el registro de los componentes en la plataforma? (Es decir, Windows Azure provee un administrador de componentes?)

    Esta publicación sí es posible a través de SartUpTasks en las que al iniciarse un role, se accede cómo administrador y se ejecutan los batch de instalación de estos COM. Luego se pasa a usuario normal el role queda funcionando de manera segura.
    Se realiza a través de operaciones en batch y StarUptasks. Aquí hay instrucciones: http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_advancedwebandworkerroles_topic3

    2. Que puedo usar para crear aplicaciones para Azure, WebForms?, WPF?, SilverLight?, se puede usar MVC?

    Todo lo que mencionaste y más, se puede usar con Azure. También puedes usar WinForms, Java, PHP, Ruby, etc.

    3. Hola WarNov, estamos a punto de iniciar un software y no sabemos si usar AZURE, nos asalta la duda de si podemos usar sockets en AZURE o si existe alguna manera de implementarlos.

    En #Azure claro que se pueden usar sockets. Desde la versión 1.2 de la plataforma es posible abrir puertos a conexiones remotas

    4. Sabemos que no se factura por el ancho de banda de entrada a azure, solo el de salida, usando VMRole cuando me conecto por remote desktop me factura algo? de ser asi hay alguna forma de predecir ese costo?

    Se factura el consumo de salida en la conexión RDP y la única forma de averiguarlo es estar mirando la facturación actual en el portal y extrapolar.

    5. En cuanto a VMRole, yo tengo q configurar la maquina en mi Hyper-V local, esa licencia sw WS2008R2 que le instalo tiene q correr por mi cuenta?

    No.. la licencia que le instalas no es problema

    6. cual seria la mejor forma, de reemplazar mis variables de sesión y cache de mi aplicación WEB al pasarla a AZURE, tamos en ese proceso, y es una duda que nos asalta, de antemano gracias

    Una buena forma es usando registros en las tablas de Azure. Es rápido y barato. La otra es usando APPFABRIC que tiene módulos de cache y sesión.

    7. WarNov, buenas tardes, de casualidad tienes links de recursos sobre el manejo de variables de sesión y cache para azure?, tamos migrando nuestra aplicacion de asp.net a azure y este es uno de nuestros primeros problemas

    Claro. Te recomiendo hacer el capítulo de APPFABRIC que viene en el Windows Azure Training Kit. Allí enseñan como usar este módulo para el manejo de sesiones y cache.

    8. Quiero montar un ESB en .net, Windows Azure que puede hacer por mi?. Azure podria ser en si un ESB ??. Puedo hacer que Azure sea privado, es decir, que solo corra en mi datacenter ???

    Azure provee plataforma tecnológica para desplegar aplicaciones orientadas a cloud computing. Azure por sí mismo no es un ESB. Se puede construir un ESB y orientarlo a Cloud Computing y subirlo a Azure. Azure privado aún no sale al público pero empresas como eBay lo están probando. Esto se llama Azure Appliance y permitirá comprar un contenedor con Azure para poner el el datacenter local. También se espera a futuro que Azure tenga su propio módulo de orquestación de servicios.

    9. WarNov tengo un proyecto con un reporting y funciona localmente pero cuando lo subo a la nube me sale el siguienet error: An error occurred during local report processing.Could not find file 'E:\approot\_WASR_\0\Report2.rdlc'. gracias por tu ayuda

    En Windows Azure no hay un sistema de archivos como en una máquina local. Debes asegurarte de guardar el reporte en un blob y luego referenciarlo con la dirección del blob.

    10. Será cierto eso que dicen que para migrar una base de datos de Sql Server 2008? a Windows Azure se realiza con MiWiza? y funcionara para todos sin problema?

    Nunca he oido hablar de esa aplicación de Migración. En cambio conozco por ejemplo SQL Azure Migration Wizard v3.6 que es de código libre y está en codeplex: http://sqlazuremw.codeplex.com/
    Aunque en algunas ocasiones hace un trabajo impecable, no siempre es suficiente. Algunas características avanzadas de la DB no estarán disponibles o habrán de sermodificadas a mano. Pero En general sirve muy bien y es una gran herramienta. Para bases de datos sencillas la migración casi siempre es 100%

    11. Hola WarNov. No quiero usar mas Sql Azure, ¿puedo sacar una copia de todos mis datos para luego restaurarlos en una sql local?. Es fácil?

    Si es muy fácil... con el SQL Server Management Studio te conectas y haces un backup por ejemplo.. o bajas los datos con Integration Services, etc.
    Las cadenas de conexión de SQL Azure son las mismas de cualquier servidor SQL Server.

    12. WarNov en Azure para instalar un App con envío de correo masivo tiene que ser a través de una cuenta determinada o puedo usar un servidor SMTP cualquiera, adicional a esto el firewall de Azure me permite realizar esta tarea o existe alguna limitación?

    Hola. Azure permite usar cualquier servidor SMTP y no impone ninguna limitación de conectividad entre la aplicación y el servidor SMTP.

    13. Hola WarNov, la pregunta es como puedo configurar Azure para que tome una instancia de SQL Server ya instalada y no busque por defecto a .\SQLExpress?

    Hay un tool llamado DSInit; este viene con el SDK de Windows Azure. Así ke si abres el command prompt de Windows Azure, allí la encuentras y pones DSInit /sqlInstance:[Nombre de la Instancia]
    por ejemplo DSInit /sqlInstance:. te levantaría la instancia por defecto (MSSQL)

    14. Hola; quería preguntarle como puedo montar una aplicación Azure en un dominio que haya comprado

    La idea no es que montes la app en un dominio comprado, sino que montes la aplicación como siempre y luego hagas que el dominio que compraste apunte al dominio de Windows Azure. Las instrucciones específicas las encuentras aquí: http://blog.smarx.com/posts/custom-domain-names-in-windows-azure

    15. Es posible desarrollar una aplicación para azure y para una intranet... donde simplemente el cliente decida en donde quiere hospedarla??

    Si es una aplicación creada con esto en mente, claro que sí es posible. Solo sería necesario establecer un par de variables de configuración y listo

    16. WarNov en Azure puedo instalar aplicaciones como VisualSorucesafe para el manejo de versiones, un bugtracker para registro de bugs y tener un ambiente de pruebas para las aplicaciones, pues nos queremos ahorrar la compra de cualquier clase de servidor ?

    Lo puedes poner en un VMRole, pero debes tener en cuenta la licencia del producto que estás instalando. Lo más seguro es que aún no diga nada acerca de trabajar el servidor en la nube y tal vez te genere problemas legales. Por otro lado, Microsoft en poco tiempo lanzará su servicio de TFS como servicio. Una excelente opción.

    17. Actualmente tengo una aplicación de consola que lee docs de Excel para cargar la información a la base de datos y eso lo hace todos los dias a media noche, ¿de que forma puedo ejecutar una aplicación de consola en Windows Azure cada cierto tiempo teniendo

    Hay que subir la aplicación de consola a un worker role que la ejecute. En ese worker role podemos poner dentro del loop infinito un chequeo e la hora e acuerdo a un archivo de agenda tal vez, que en determinadas horas dispare la aplicación de Consola.

    18. Hola WarNov nosotros utilizamos aplicaciones en asp .net framework 3/3.5 hosteadas en sevidores externos, para migrar estas aplicaciones a Winazure debemos modificar la arquitectura de nuestras aplicaciones? que tan complejo es el cambio en codificacion

    Si la aplicaicón ya está diseñada en capas, el cambio es muy sencillo. Lo único necesario es añadir una nueva capa entre la capa de servicios o negocio y la capa de presentación. Esta capa manejará la comunicación entre los Web Roles y Worker Roles. En general, las capas de negocio permanecen intactas.
    Si tenemos un proyecto web con todas las capas en el mismo, este se puede pasar tal cual a un Web Role y no hay problema. Solo que se dejarían de aprovechar algunas características especiales de Azure, pero igual otras como la escalabilidad y automatzación quedarían disponibles.

    19. Si no puedo realizar la migración de la bd MySQL a SQL Server, ¿como puedo acceder a la bd MySQL desde una app Web que se encuentra en Windows Azure?. ¿Haciendo uso de Azure AppFabric para conectarme a la bd o por algun puerto o por una app Win Cliente?

    La conexión desde Azure a My SQL es idéntica a cualquier aplicación ASP.NET a My SQL. Solo basta poner la cadena de conexión y listo. No es necesario APP Fabric

    20. Se conoce algo respecto al tema de costos que tendra VMRole cuando deje de ser beta?

    Será el mismo de cualquier otro Role. No habrá que pagar licencias del server tampoco, porque al igual viene incluida. Hay que tener cuidado con el software adicional que se instale, pues se podrían estar infringiendo términos de licencia de dicho software al ponerlo en la nube.

    21. Hay algún tutorial para implementar mi dominio en la aplicación que estoy montando en azure?

    Claro que sí.. Con este post yo aprendí a hacerlo: http://blog.smarx.com/posts/custom-domain-names-in-windows-azure

    22. WarNov, tengo una cuenta en sql azure y me muestra una db llamada master que asumo Aue es la misma cuando uno trabaja localmente. el tamaño de esa base de datos es incluido como tamaño de la cuenta contratada.

    No. Ese tamaño no se cobra. Tampoco se cobran los logs.

    23. Con una cuenta trial de windowsazurepass puedo trabajar VMRole son problema? o tiene alguna limitacion respecto a este tema?

    El VM Role aún está en Beta. Para poder usarlo hay que solicitar el servicio. Desde CUALQUIER cuenta de Windows Azure se puede solicitar este servicio, pero se entra a una cola de espera que puede ser de un par de semanas.

    24. Las transacciones entre windows azure y sql azure, no se cobra la transaccion del windows pero si el in/out del sql? Gracias

    Es correcto. El único cobro relacionado a SQL Azure es el del ancho de banda empleado en transacciones ejecutadas por fuera de la nube y el del tamaño de la base de datos como tal.

    25. hola estoy tratando de probar la plataforma Windows Azure, pero tengo inconveniente con lo de la Tarjeta de Crédito, no se puede de otro tipo diferente a los posibles o una alternativa a que no haya que ingresarla??. Agradezco tu ayuda.

    Claro que sí... puedes pedir una cuenta en windowsazurepass.com

    26. Es posible desarrollar software de Inteligencia Artificial con C# 4.0 y Windows Azure?

    En Azure puede desarrollarse todo lo que se dedarrolla en .NET. Azure es .NET

    27. Instalé el sdk de azure, al crear el proyecto me sale que es de FW 3.5... Azure funciona sobre 4.0 o toca sobre 3.5?

    Azure funciona sobre cualquiera de esas dos versiones del framework.

    28. Hola WarNov, estoy trabajando en un proyecto en el cual estoy utilizando Silverlight (EF4,RIA sevices,MEF)y quiero probarlo en Windows Azure, pero al querer subir me marca un error de Abortado, ya asocie el web rol, o se necesita una configuración?

    Muy seguramente tienes un error en el despliegue; por ejemplo te falta subir alguna DLL que se requiera para el funcionamiento de la aplicación o algo así.

    29. Como puedo saber cuanto consume un usuario en computo de Windows Azure en una hora?

    Los recursos de las máquinas de Windows Azure son todos dedicados al usuario. Por ende, no importa cuánto se gaste en cómputo, así que no hay forma de medir cuanto se gasta un solo usuario. La idea es que Azure cobra solo el tiempo no el consumo.

    30. Hola, es muy interesante este tema Windows Azure, pero si me puedes colaborar sacándome de una duda. Yo tengo una aplicación de escritorio sobre la plataforma .NET. Podría aprovechar solamente el SQL Azure de la nube?

    Puedes tener una app fuera de la nube en corriendo sobre cualquier plataforma y conectarla a SQL Azure. No hay problema. Azure te da el poder de elegir.

    31. Los logs de transacciones afectan el costo de SQL Azure?

    No. Lo único que afecta el costo de SQL Azure es el tamaño de la base de datos solicitado, así como el ancho de banda usado en su operación.

    32. Pueden los clientes acceder a los logs de SQL Azure?

    No. No es posible para un ente externo a la nube acceder a estos logs.

    33. Hay alguna restricción con respecto al tamaño de los log y alguna operación automática para reducir sus tamaños?

    La administración de logs es completamente automatizada. La base de datos corre siempre en modo de recuperación completa (“Full Recovery Mode”) y los logs son respaldados y truncados regularmente. La única restricción acerca de los logs, es que una transacción sencilla contra la base de datos no puede exceder 1GB de datos en el log.

    34. Solicito su colaboración para validar de que forma se puede evitar la vulnerabilidad de Inyección de SQL en SQL Azure, si aparte de las buenas practicas en programación existen herramientas que me ayuden a controlar esto desde la plataforma

    Basta con las mismas prácticas convencionales en ASP.NET para evitar el SQL Injection. Por ende Windows Azure no tiene herramientas ni políticas especiales para evitar esta práctica. Si no conoce estas buenas prácticas remítase a este artículo.

    35. Actualmente se realiza el cargue de archivos desde una aplicación Web y se almacena en los servidores locales y existe un servicio Windows que realiza las validaciones de los archivos cargados, la duda es: ¿Que tan complejo es migrar el servicio Windows a un proyecto de tipo Worker Role para subirlo a la plataforma Azure y que implicaciones tiene esto?

    En Windows Azure actualmente no se pueden instalar servicios porque requieren permisos de administración. A futuro estará disponible el VM Role con permisos de administración pero no será PaaS sino IaaS lo que conlleva necesidades de administración.

    La labor de un Windows Service claramente se puede llevar a cabo con un Worker Role que corre infinitamente leyendo mensajes de la cola por ejemplo. Sabiendo cómo programar un worker role no habrían dificultades. Esto lo puede aprender en el laboratorio: Introduction to Windows Azure que encuentra en el training kit, referenciado en http://bit.ly/wazure.

    36. Existe alguna forma o herramienta automatizada, que determine en tiempo real cuanto ha sido el consumo que han tenido mis servicios en Windows Azure en una fecha determinada, es decir como una especie de reporte que muestre el consumo total en términos de (Transacciones, almacenamiento, transferencias de datos de entrada y salida, etc.) Y así saber si me he excedido en el consumo mucho antes de que se genere la facturación, para poder controlar este consumo.?

    Hola Julián; por ahora no hay dentro de Azure una utilidad por defecto con esta información. Sin embargo tenemos:

    1. El API de diagnostico; sobre el cual podemos construir aplicaciones que nos indiquen el uso de Azure. Ya hay varias implementaciones de terceros...

    2. Para las suscripciones por paquetes, hay correos que nos indican cuando vamos en 75%, 100% y 125% de nuestro paquete. Observa más detalles en: blogs.msdn.com/.../notificaciones-de-consumo-para-usuarios-de-windows-azure.aspx

    3. En el portal de Microsoft Online Services está disponible la factura para poder ver el consumo diario.

    37. Actualmente estoy trabajando en una migración de una aplicación Web y quisiéramos realizar dicha migración a Windows Azure, pero la base de datos es MySQL. ¿se puede subir la base de datos a Azure o de que forma puedo hacer esta labor?

    Una base de datos es fácilmente Migrable a SQL Azure. Primero es necesario pasarla a SQL Server. Luego de allí generar los scripts, y luego usar una herramienta que nos ayuda a optimizar esos scripts a SQL Azure. La herramienta es esta: http://sqlazuremw.codeplex.com/
    Luego es fácil subir los datos usando Integration Services o Management Studio.

    También se puede decidir ejecutar MySQL en Azure. (Ver la siguiente pregunta)

    38. Qué opciones hay para ejecutar MySQL en Windows Azure?

    Como sabemos, MySql se puede instalar como servicio, o como un ejecutable. En el primer caso, se requieren permisos de administrador, que Windows Azure (WAZ) por ahora no nos brinda. Por ende solo podemos recurrir a la segunda opción. En cuyo caso lo que se hace es subir el ejecutable con sus a un Worker Role que lo inicializa y lo deja ejecutando infinitamente. Además faltaría escribir código para hacer un pipeline de todos los llamados. Esto afortunadamente está ya pre-escrito en algo que llamamos MySQL Accelerator. Los Accelerators de WAZ son proyecto pre escritos que tienen todo para correr servicios o aplicaciones especiales en WAZ; tales como MySQL, Tomcat o PHP.

    El Accelerator de MySQL se puede bajar de aquí

    Sin embargo personalmente recomiendo que solo se use este accelerator en casos extremos en los que sea imposible migrar a SqlServer. Por qué? Pues como les mencioné se requiere un Worker ejecutándose indefinidamente para tener el MySQL. Ejecutar el worker rol más pequeño nos vale US$0.12 la hora. Esto como mínimo nos vale US$0.12x24x30=$86.4 GB al mes. Mientras que una giga del ya muy confiable SQL Azure al mes nos vale tan solo US$10. Entonces es mejor hacer buenos cálculos antes de decidir quedarse con MySQL.

    39. Que limitantes tiene la instalación de MySQL en Windows Azure a través del Accelerator?, ¿sobre esta se puede trabajar una base de datos de producción?

    No conozco la estructura interna de MySql. Pero diría que operativamente son iguales, de acuerdo a lo que he trabajado en MySQL. La diferencia es que el ejecutable hay que iniciarlo manualmente con código. El servicio siempre está andando con el server. El Accelerator sin embargo ya trae el código que ejecuta la inicialización del .exe de MySQL

    40. Si no puedo realizar la migración de la bd MySQL a SQL Server, ¿como puedo acceder a la bd MySQL desde una app Web que se encuentra en Windows Azure?. ¿Haciendo uso de Azure AppFabric para conectarme a la bd o por algún puerto o por una app Win Cliente?

    La conexión desde Azure a My SQL es idéntica a cualquier aplicación ASP.NET a My SQL. Solo basta poner la cadena de conexión y listo. No es necesario APP Fabric.

    41. ¿Como se pueden montar aplicaciones de consola a Windows Azure?

    La inicialización de un programa de consola se ejecuta tal como la de MySQL o PHP en sus Accelerators. Pueden copiarse el código. Para subir la aplicación, solo basta agregar el ejecutable a un proyecto que esté asociado a un Worker Role y este subirá en el root de esa aplicación luego del despliegue. Estaré posteando posteriormente los detalles de esta operación.

    42. ¿Hay alguna forma de realizar la programación de las aplicaciones de consola como tareas programadas?

    Se puede crear un worker rol infinito que en determinados lapsos de tiempo lance la consola. Esos tiempos pueden ir por ejemplo en un archivo de configuración o una tabla. También el worker podría más bien responder a mensajes puestos en las colas de Azure y reaccionar ante dichos mensajes para ejecutar el aplicativo.

    43. ¿Una de esas aplicaciones de consola lee archivos en Excel 2003/2007 por medio de las librerías de Interop de Excel, esta funcionalidad se maneja de la misma forma en la plataforma Windows Azure?

    No. Iterop como su nombre lo indica interopera con Office. Office no está instalado en la nube de Azure. Así que no funcionará. Si necesitas interactuar con documentos de Excel o en general de Office, te aconsejo usar archivos .xlsx (o los equivalentes para los otros aplicativos) que soportan el estándar Open XML y que por tanto pueden ser accedidos usando el SDK.

    44. WarNov en Azure para instalar un App con envío de correo masivo tiene que ser a través de una cuenta determinada o puedo usar un servidor SMTP cualquiera, adicional a esto el firewall de Azure me permite realizar esta tarea o existe alguna limitación?

    Hola. Azure permite usar cualquier servidor SMTP y no impone ninguna limitación de conectividad entre la aplicación y el servidor SMTP.

    45. WarNov en Azure puedo instalar aplicaciones como VisualSorucesafe para el manejo de versiones, un bugtracker para registro de bugs y tener un ambiente de pruebas para las aplicaciones, pues nos queremos ahorrar la compra de cualquier clase de servidor.

    No. Esas opciones hoy no están disponibles en Azure; tal vez a futuro. Hoy Azure actúa como PaaS (Plataforma como Servicio) Así que allí solo puedes poner a correr aplicaciones como tal (bueno; y uno que otro servidor sencillo como un TomCat). Pero otros tipos de servidores como Team System o un Oracle por ejemplo, solo podrían instalarse en un esquema de IaaS, con todas las desventajas que ello conlleva; por ejemplo encargarse de las actualizaciones, administración, patchs y todo eso que es lo que evita el PaaS y puntualmente Azure.

    46. Hola WarNov nosotros utilizamos aplicaciones en asp .net framework 3/3.5 hosteadas en servidores externos, para migrar estas aplicaciones a Winazure debemos modificar la arquitectura de nuestras aplicaciones? que tan complejo es el cambio en codificación

    Si la aplicación ya está diseñada en capas, el cambio es muy sencillo. Lo único necesario es añadir una nueva capa entre la capa de servicios o negocio y la capa de presentación. Esta capa manejará la comunicación entre los Web Roles y Worker Roles. En general, las capas de negocio permanecen intactas.
    Si tenemos un proyecto web con todas las capas en el mismo, este se puede pasar tal cual a un Web Role y no hay problema. Solo que se dejarían de aprovechar algunas características especiales de Azure, pero igual otras como la escalabilidad y automatización quedarían disponibles.

     

  • WarNov Developer Evangelist

    Libros gratis de Microsoft para Kindle y otros Readers

    • 6 Comments

    Y la gente sigue creyendo que en Microsoft todo es pago…

    En esta oportunidad tenemos estos libros fundamentales para el aprendizaje en programación de teléfonos móviles con Windows Phone 7, Visual Studio, Sql Server, Windows Server y además una guía de actualización de capacidades, genial para aquellos que requieren un lineamiento para definir su carrera profesional en el mundo de la tecnología.

    Todos gratis y además en formatos que van desde el PDF, pasando por el EPUB y llegando al MOBI. De esta manera, va a ser muy cómodo y sobretodo ECOLOGICO aprender, usando readers como el Kindle, el Nook (Barnes & Noble), el Sony Reader, el Kobo eReader y como si fuera poco el iPad. No nos duele brindar el conocimiento a otras plataformas. Lo importante para nosotros, es compartir el conocimiento.

    He aquí los links:

    Programming Windows Phone de Charles Petzold PDF, EPUB y MOBI

     

     

    Adicionalmente, en este post encuentras todo lo necesario para seguir con tu conocimiento de Windows Phone 7: http://wnov.it/wp7Info

     

     

     

     

     

     

    Moving to Microsoft Visual Studio 2010 por Patrice Pelland, Pascal Paré, y Ken Haines PDF, EPUB y MOBI.

    Introducing Microsoft SQL Server 2008 R2 por Ross Mistry y Stacia Misner is PDF, EPUB y MOBI.

    image

    Introducing Windows Server 2008 R2 por Charlie Russel y Craig Zacker con el equipo de Windows Server de Microsoft PDF, EPUB y MOBI.

    image

    Own Your Future, Update Your Skills with Resouces and Career Ideas from Microsoft por Katherine Murray  PDF, EPUB y MOBI.

    image

  • WarNov Developer Evangelist

    Solución a problemas en el registro al App Hub de Windows Phone 7 en Colombia

    • 5 Comments

    Hace pocos días se oficializó la disponibilidad del App Hub de Windows Phone 7 para Colombia, de manera que los desarrolladores de aplicaciones móviles para esta plataforma que estén operando en Colombia pueden desbloquear sus teléfonos para desarrollo y así mismo publicar sus aplicaciones globalmente.

    Sin embargo, varias personas me comentaron de un extraño error según el cual cuando se trataban de registrar al App Hub de Windows Phone 7 les aparecía esto y no podían continuar con el proceso, produciéndose una gran frustración, pues el ansia de ver la aplicación en nuestros teléfonos es muy alta:

    clip_image001

    Invalid Value for Field Country

    Cómo es esto posible si Colombia oficialmente ya está establecido en el App Hub?

    En general en Colombia no usamos el código postal. Es por eso que siempre que nos piden escribirlo generalmente en portales internacionales, escribimos cualquier cifra y si a veces eso falla, entonces escribimos un código postal de Estados Unidos como 90211 y con eso basta.

    Después de una amplia investigación junto con el equipo de soporte encontré que el error obedece a que hay una validación sobre el campo de código postal y se chequea que éste sea válido para Colombia. Aunque ud. no lo crea Colombia tiene códigos postales y éstos son de 6 cifras. Pero lo más problemático es que el error emitido no es correcto, pues aparece: “País no válido” y eso es lo que nos deja perdidos.

    SoluciónSi coloca por ejemplo 110110 en ese campo, Voilá… podrá seguir con el proceso sin problemas!!!

    Eso sí, asegúrese de que tanto el país asociado con su el Live Id usado para registrarse en el App Hub; como el país escogido dentro del App Hub durante el registro, sean Colombia. De lo contrario, tendrá problemas en el registro. Para chequear a qué país está asociado su Live ID, ingrese a http://account.live.com. Allí lo podrá cambiar a Colombia sin problemas.

    He solicitado al equipo de Ingeniería del APP HUB, que el campo de código postal no sea obligatorio en Colombia. Así que mientras actualizan el portal, por favor regístrese usando el código postal 110110.

    Bienvenido a experimentar sus aplicaciones en sus dispositivos!!!

  • WarNov Developer Evangelist

    WP7 Japonés

    • 2 Comments

    El primer teléfono Windows Phone 7.5 en Japón es resistente al agua y tiene una cámara de 13.2 MP con 32 GB de almacenamiento. Además viene en japoneses colores Smile

    clip_image001

    Es el IS12T de Toshiba:

    image

    Se estima que en Colombia tengamos los primeros modelos para Octubre aunque no sabemos si estos TOSHIBA se distribuirán por estas latitudes.

  • WarNov Developer Evangelist

    Windows Phone 7 Applications: Tipos de Distribución.

    • 0 Comments

    Abstract:

    Las aplicaciones de Windows Phone 7 siguen un modelo de distribución a través de un Marketplace centralizado en Internet. Este modelo que es bastante popular para las aplicaciones móviles de la mayoría de fabricantes sin embargo ofrece algunos inconvenientes para distribuir aplicaciones a grupos especiales; por ejemplo Beta Testers, o empleados de una compañía. La última actualización del APP Hub de Windows Phone 7 permite dar solución a este problema a través de sus dos nuevos tipos de distribución de aplicaciones: “Targeted” y “Beta”.

    Contenido:

    Hasta hace un tiempo, la única forma de publicar en el App Hub de WP7 era a través del mecanismo de distribución pública según el cual, al estar una aplicación en el Marketplace, esta se hace visible para todo el público sin que podamos por ejemplo elegir quienes sí la pueden comprar/descargar y sin que se puedan poner restricciones de tiempo para su uso. Aunque esto es adecuado para la gran mayoría de aplicaciones, qué pasa si como publicadores queremos poner nuestra app en Beta para que solo unos cuantos la prueben? O tal vez creamos una aplicación para una empresa que obviamente requiere que solo esté disponible para ciertos empleados?

    Para resolver estas situaciones, nuestra nueva versión del App Hub incluye dos nuevos tipos de publicación aparte del tipo “public”. Ahora tenemos “Targeted” y “Beta”.

    Targeted:

    Es el tipo de publicación ideal para empresas. En este, la aplicación se sube como se haría tradicionalmente al App Hub (incluyendo todos los procesos de validación tradicionales), pero manteniéndola oculta en el Marketplace, de manera que sólo los usuarios con el link de dicha aplicación la pueden descargar e instalar. Al finalizar el procedimiento de envío de aplicación al App Hub, habrá la posibilidad de escoger cómo y cuándo hacer pública la aplicación después de que esta pase el proceso de certificación, entonces escogeremos “As son as it’s certified, but make it hidden”. De tal manera que apenas la app pasa la certificación queda lista para ser descargada, pero invisible para quienes no tengan el link. Sin embargo, cuando uno lo desea, puede hacerla visible, convirtiéndola en una aplicación pública tradicional.

    clip_image002

    Luego de ser publicada se recibirá un correo con el link a la aplicación. Este es el que se deberá remitir a la audiencia objetivo. Cualquier persona con el link puede descargar la aplicación, hay que tenerlo en cuenta. No hay límite de personas para descargar la aplicación. Contrario a las publicaciones estándar, no se puede hacer actualización de la aplicación aún. Así que hay que hacer un re-envío en caso de una actualización. No se puede establecer un límite en el tiempo en que la aplicación está disponible para la audiencia (en el tipo “beta” sí). Este tipo de publicación también consume créditos de los que se tienen disponibles de acuerdo al plan de publicación adquirido.

    Beta:

    Una versión beta permite exponer al público una aplicación para su evaluación sin que necesariamente esto signifique ponerla en producción. Una de las ventajas obtenidas en este tipo de publicación, es que el proceso de certificación es automático, de manera que la aplicación queda disponible mucho más rápido. Además es un proceso gratuito que no consume créditos del plan. La aplicación solo es accesible a través de un link (oculta del marketplace) y se posee un completo control sobre quiénes pueden probar la beta, dado que se especifica el Windows Live Id del beta tester, quien descarga e instala la aplicación a través de los mecanismos tradicionales en dispositivos comerciales sin necesidad de estar registrados como developers. Eso sí, las aplicaciones en Beta expiran automáticamente a los 90 días después de su publicación. Lo que quiere decir que el link no funcionará más y que la aplicación no se podrá ejecutar, de tal forma que solo aparecerán dos opciones: desinstalar o dar feedback. Se pueden subir tantas aplicaciones en beta, como queramos, pero siempre las versiones Beta van gratuitas.

    Cuando estemos publicando nuestra app, podremos escoger si queremos que suba en beta privada:

    clip_image004

    De la misma manera, se pueden escribir los Windows Live ID de los testers:

    clip_image006

    Como se aprecia, tenemos hasta un máximo de 100 testers por aplicación en la lista. Esta lista se puede modificar cuando se desee durante los 90 días posteriores (para ningún efecto este tiempo es modificable) a la publicación exitosa de la aplicación. Luego de ejecutar este proceso, y de ser publicada la aplicación, se recibe un correo con la dirección de la misma, para distribuir entre los beta testers. Si el Live Id de la persona que intenta descargar la aplicación no está en el listado consignado anteriormente, dicha persona no podrá acceder a la aplicación.

    A diferencia del modelo “targeted”. Las aplicaciones en Beta no se pueden hacer públicas. Se necesita re-enviarlas.

    Conclusión:

    Vimos que el App Hub de Windows Phone 7 ha evolucionado permitir nuevos modelos de despliegue de aplicaciones orientado a empresas y a “Beta Testers” que facilitan enormemente el ciclo de vida de la aplicación y el alcanzar públicos especiales. Cosa que no se podía con el método de publicación tradicional.

  • WarNov Developer Evangelist

    C++ Sí muerde

    • 0 Comments

    Tal cual. Ha de ser por eso que por ahí circulan tantos mitos falsos de este magnífico lenguaje obra de una gran mejora que a principios de los ochenta hizo el joven Stroustrup sobre el ya mítico C pelao que nació a principios de los 70 como lenguaje para Unix que sí; estaba basado en el lenguaje B que a su vez fue engendrado a partir de BCPL (esto ya parece el Génesis).

    clip_image001

    Bueno; pues la idea de este artículo no es demostrar que C++ Muerde, sino qué hacer para que no nos muerda.

    Eso sí, estaré escribiendo de C++ en el mundo de desarrollo Microsoft. Específicamente en Visual Studio. De hecho, lo que me motivó a escribir esto, es que por ahí a un amigo le dijeron que la aplicaciones C++ hechas con VS nunca podían ser tan rápidas cómo las de C++ nativo. Cosa que aunque es parcialmente cierta, tiene más de falsedad que de verdad.

     

    Verán, con Visual Studio y C++ podemos crear dos tipos de aplicaciones esencialmente.

    1. Nativas: Que corren en los PCs sin necesidad de instalar nada adicional. Se usa la versión de C++ definida por la ISO/IEC. Así que estas sí corren con toda la velocidad posible.

    2. C++/CLI (Administrado): Como bien atina a llamarlas el señor Ivor Horton en su libro Beginning Visual C++, estas son aplicaciones que aunque están creadas con el lenguaje C++, requieren del Framework.net para funcionar (Así que en este caso C++ es uno de los cerca de 20 lenguajes de programación que se pueden trabajar con .NET). Obviamente, se ofrecen funcionalidades más evolucionadas y sencillas para desarrollar más rápida y eficientemente. Pero estas abstracciones tienen un costo a la hora de ejecución que aunque pocas veces llegan a notarse, bajo ciertas circunstancias son cruciales. Recibe el nombre de administrado, porque el Framework.NET se encarga de la seguridad del código y de la optimización del manejo de memoria y otros aspectos que nativamente tenemos que hacer con nuestras propias líneas de código.

    No es más que una de las tantas paradojas que tenemos en nuestra carrera. A mayor abstracción, menor velocidad.

    Piense por ejemplo en ir de un punto A a un punto B. Puede escoger ir en un auto de carreras de esos que para ser rápidos les han quitado la silla del copiloto y acompañantes, el tablero, y todas esas comodidades. O también puede escoger ir en una casa rodante con jacuzzi, televisión satelital y Kinect. En este caso, tiene todas las comodidades; pero la velocidad no es la misma…

    Ciertamente es un poco exagerado el ejemplo, pues la diferencia en velocidades no es tan grande a decir verdad; solo que a veces sí se requiere.

    Otra cosa más de notar sería por ejemplo que al ser más básico, C++ nativo tiene menos restricciones y permite construir cualquier tipo de software, aunque esto signifique comenzar de ceros sin aprovechar piezas prefabricadas como las que componen .NET.

    De hecho sobre el propio C++ nativo se han tratado de crear abstracciones propias para poderle programar más fácil. Es así como surgió la librería estándar de C++ que es la que se usa en la mayoría de programas creados con este lenguaje. Microsoft creó MFC (Microsoft Foundation Classes) para abstraer el acceso a los recursos del sistema operativo e intervenir la interfaz gráfica de Windows. Como es de suponerse, programar con estas librerías, es más sencillo, pero al ejecutar la velocidad no es la misma. Igual se puede acceder al API de Windows sin necesidad de MFC para ir más rápido (eso si se considera un Programmer Hero! Pues crear una aplicación con unas cuantas ventanas usando solo C++ nativo puede tomarle meses mientras con C++ administrado o a través de MFC, ese tiempo se reduce a un par de semanas). Además, sí puede decirse por ejemplo que un programa creado con MFC es más rápido (aunque no se note) que uno creado con C++ administrado.

     

    image

    Para cerrar hasta aquí podría decir entonces, que en general las diferencias en tiempos de ejecución no son tan abismales como sí las de desarrollo. Pero sé de aplicaciones que estando en .NET han tenido que devolverse por cuestiones de performance. Por ejemplo, el cliente de Evernote para Windows, una aplicación con una interfaz gráfica muy enriquecida y específica que almacena notas de todo tipo y hace búsquedas complejas sobre ellas, estaba hecho en WPF; se devolvió a C++ (programado con Visual Studio) para lograr un mayor rendimiento.

    Sin embargo Evernote debe en gran parte su éxito a lo fácil que les fue crear la aplicación en sus primeras versiones gracias a las grandes abstracciones brindadas por WPF y al poder de .NET. Luego ya con todo lo ganado en esas versiones, decidieron incrementar el número de funcionalidades; cosa que requería más trabajo de ingeniería, pero se podían dar ese lujo dado que ya tenían algo en producción que les daba revenue.

    No quiero decir que deben pasar todas sus apps a C++. Solo que cuando lo necesitemos allí estará.

    Para terminar esta entrega aquí les dejo este gráfico que me ayudo recopilar @raptorttk del libro de Horton, para que vean las opciones de cuando programar C++ en Visual Studio se trata:

     

    graficoCPP3

  • WarNov Developer Evangelist

    Azu - lerado!

    • 0 Comments

    Abstract: Liberación del Windows Azure Accelerator for Web Roles. Una tecnología que permite desplegar sitios Web en Windows Azure sin necesidad de usar el portal de manera directa desde Visual Studio y WebMatrix, y además reduciendo los tiempos de 15 minutos a menos de 30 segundos.

     

    Me complace anunciarles la liberación del Acelerador de Windows Azure para Web Roles. Este acelerador hace más rápido y fácil desplegar uno o más sitios a través de múltiples instancias de Web Role logrando tiempos de despliegue asombrosos de menos de 30 segundos!

    clip_image002

    • Otras características:
    • Tiempos de despliegue menores a 30 minutos
    • Despliegue de sitios a múltiples roles usando las herramientas de Web Deploy de Visual Studio y WebMatrix.
    • Grabar paquetes de despliegue de Web Deploy y configuraciones de IIS en el storage de Windows Azure para proveer durabilidad.
    • Un template para Visual Studio que nos permite crear un host de web deploy.
    • Código abierto y disponible en paquetes de NuGet para construir soluciones personalizadas.

    Descárguenlo de aquí

  • WarNov Developer Evangelist

    Windows Phone 7 Convence

    • 2 Comments

    Windows Phone 7 es el sistema operativo para teléfonos móviles creado por Microsoft orientado completamente a consumidores finales (a diferencia de anteriores versiones dirigidas a usuarios corporativos).

    clip_image001

    Con un diseño totalmente innovador que le ha significado ser ganador de tres premios distintos en los Premios Internacionales de la Excelencia en Diseño (IDEA) entre ellos el de la mejor Experiencia Interactiva de Producto, WP7 garantiza una experiencia de usuario inigualable representada por sus más de 3 millones de dispositivos vendidos a la fecha y un marketplace con gran crecimiento en la industria que a hoy ajusta más de 25.000 aplicaciones de las cuales la mayor porción está representada por juegos con un 17%.

    Estas cifras representan resultados brillantes sobretodo en un campo tan competido y difícil como el de los teléfonos celulares. Tanto que firmas como Gartner y IDC auguran que para 2015, el marketshare de WP7 estará por encima de grandes hoy en día como RIM y Apple y solo justo atrás de Android, pero sin el gran problema de la segmentación que sufren los desarrolladores sobre esta plataforma. Y lo anterior sin haber considerado gigantescas alianzas recientes que ofrecen aún más ventajas para el futuro del producto, tal como sucedió con Nokia y Skype.

    Pero no solo la experiencia de usuario y el diseño es destacable tras el desarrollo de esta plataforma. El que Microsoft esté tras el producto implica que pone en el mismo toda su madurez desarrollando productos complementarios que por supuesto se integran transparentemente con la funcionalidad del teléfono. Tal como sucede con la XBOX y Kinect (el dispositivo electrónico de consumo más vendido en la historia). A tal punto, que juegos de XBOX se pueden integrar completamente con las versiones de teléfono y gran porcentaje del código creado para un juego en XBOX, puede ser usado para su versión en el teléfono y además en la PC. Igual sucede con servicios como Skydrive que nos permite almacenar archivos en la nube y trabajar integralmente con Office en la Web.

    Es un gran momento para ser desarrollador colombiano de aplicaciones y juegos para Windows Phone. Somos uno de los 3 países en Hispanoamérica en tener acceso local marketplace antes de finalizar el año cuando se espera también que tengamos comercialización oficial de los dispositivos. Hay un gran futuro por explotar y nada mejor que comenzar desde ahora a prepararnos.

  • WarNov Developer Evangelist

    Instalando Orchard en IIS 7.5 y SQL Server 2008R2

    • 2 Comments

    Abstract: En este video describo como instalar el CMS Orchard en la siguiente configuración: Windows 7 Ultimate + IIS 7.5 + SQL Server 2008 R2.
    Nivel: Básico

    Este es el segundo en una serie de posts acerca de el CMS Open Source basado en ASP.NET MVC 3, llamado Orchard. Si desea una introducción a los CMS y en especial a Orchard le recomiendo: Teoría de CMSs con Orchard y luego leer este post.

    Posts de esta serie:

     

    Contenido:

    Las instalaciones del CMS Orchard son muy pero muy sencillas. Sobretodo si se usa el Web Platform Installer WebPI (Un wizard que nos lo deja instalado automáticamente solo dando Next, Next, Next…). Es por eso que el video a continuación no se enfoca en este tipo de instalación sino en lo que yo llamaría instalación cruda de Orchard. Es decir, descargar la carpeta del aplicativo, instalarla en IIS y configurar una DB en SQL Server para su uso.

    Orchard puede ejecutarse bien sea en el IIS Express (Servidor web gratuito que viene en el WebPI), o en el ASP.NET Development Server de Visual Studio o en el IIS full (6, 7, 7.5), tal como lo veremos en este ejemplo.

  • WarNov Developer Evangelist

    Configurando identidades y Accesos en IIS 7.5

    • 3 Comments

    Abstract:

    Veremos que IIS 7.5 tiene un nuevo manejo de identidad virtual independiente para sus Application Pools, y que por ende debemos buscarlos de una manera especial cuando queramos asignarles permisos sobre los recursos del servidor, como lo son el sistema de archivos.

    Nivel: Intermedio. Tecnologías: IIS (IIS Application Pool Identities)

     

    Windows 7 y Windows 2008 R2 vienen con IIS 7.5 por defecto.

    Para muchas personas IIS 7.5 puede ser un mundo totalmente diferente; sobre todo si vienen de IIS 6.0 y anteriores. Obviamente estos grandes cambios fueron generados para hacer al servidor más usable, con más características y además más seguro.

    Hablemos de un cambio en seguridad que debemos tener en cuenta si queremos probar o poner en producción nuestros sitios en IIS 7.5.

    IIS es un servidor que corre sobre Windows. Los procesos que corren sobre Windows requieren de un usuario en nombre del cual corren. Aplicaciones como Word, corren en nombre del usuario logueado en el sistema. Pero servicios como IIS corren con usuarios internos del sistema que no requieren de un proceso de logueo que dificultaría lanzar dichos servicios.

    Las últimas versiones de IIS corrían con la identidad de NETWORKSERVICE (tal vez lo recuerden en instalaciones como las de SQLSERVER). Este usuario tiene las limitaciones de un usuario estándar así que los privilegios son bajos, por lo que ofrece cierta seguridad ya que un bug en el servicio no podría ser usado para afectar la máquina.

    Sin embargo, dado que muchos servicios comenzaron a usar este usuario para ejecutarse, lo que sí puede pasar, es que servicios maliciosos corriendo con este usuario puedan afectar y manipular otros servicios o aplicaciones con este mismo usuario, sobre todo cuando hablamos de aplicaciones de terceros que corren sobre IIS.

    Así que esto fue solucionado en IIS 7.5 a través de lo que hoy conocemos como IIS Application Pool Identities. Un mecanismo que permite crear identidades virtuales únicas para cada Application Pool en IIS. Recordemos que en IIS un Application Pool es un entorno de ejecución para las aplicaciones Web que nos permite administrarlas eficientemente. Dicho esto, si por ejemplo para instalar el CMS Orchard usamos un APPPool dedicado llamado Orchard, veremos como IIS crea un usuario virtual llamado Orchard para correr el proceso w3wp.exe (responsable de servir el sitio web como tal):

    image

    Es muy importante tener esto en cuenta sobre todo cuando nuestra aplicación requiere acceder recursos del sistema como el sistema de archivos, pues deberemos darle permisos de lecto-escritura al usuario que ha iniciado el proceso w3wp.exe. En IIS 6 y 7 lo hacíamos con el usuario NETWORKSERVICE pero en IIS 7.5 deberemos especificar el usuario virtual del AppPool donde está corriendo la app. Para lograr esto con la interfaz gráfica hay cierto detalle que no nos permite hacerlo directamente como con cualquier otro usuario, dado que es una identidad virtual:

    image

    Aquí vemos que queremos darle permisos de lecto-escritura sobre el folder App_Data a la identidad orchard que es sobre la cual corre el sitio, pero vemos que la herramienta no encuentra ese nombre (dado que es virtual). Para poderlo encontrar deberemos asegurarnos de que estamos buscando en Built-in security principals, usando la locación de la máquina donde está el server y finalmente anteponiendo IIS APPPOOL\<nombre del pool>:

    image

    Entonces al dar click en Check Names obtendremos:

    image

    Con lo que ya tendremos la identidad justa para accionarle los permisos requeridos.

    Conclusión:

    Vimos entonces que IIS 7.5 tiene un nuevo manejo de identidad virtual independiente para sus Application Pools, y que por ende debemos buscarlos de una manera especial cuando queramos asignarles permisos sobre los recursos del servidor, como lo son el sistema de archivos.

  • WarNov Developer Evangelist

    Teoría de CMSs con Orchard

    • 0 Comments

    Esta es la primera entrega en una serie de posts acerca de este moderno sistema de manejo de contenidos basado en ASP.NET MVC. Aquí explicaré conceptos básicos de los CMS y de la plataforma como tal. Orchard es un CMS de última generación creado por la comunidad con alto apoyo de Microsoft. Es gratuito y Open Source.

    Nivel: Básico.
    Advertencia: Uso sustantivos técnicos en inglés y en español indistintamente.

    Posts de esta serie:

    Conceptos de CMS

    Un CMS esencialmente apunta a ayudarnos a construir sitios web usando piezas pre construidas que vienen en diferentes formas y tamaños para nuestros fines.

    C

    La C de CMS significa contenido y hace referencia a todo aquello en el sitio que tiene información. Por ejemplo un post de un blog, un comentario, un producto y hasta un menú de navegación o un logo.

    M

    Management o administración. Es el conjunto de herramientas que nos permite administrar el sistema. Se conoce como Admin Panel, Dashboard o back-end. Como se indica el acceso es restringido a administradores.

    clip_image001

    S

    De sistema que indica que todo lo anterior está completamente integrado para brindar una experiencia consistente durante la administración de nuestro sitio.

    Front End

    Es la parte visible de nuestro sitio.

    clip_image002

    Setup

    En general, todo CMS requiere de un Setup y es el proceso requerido para tener el sitio corriendo. Después de esto habrá que trabajar mucho en el contenido.

    clip_image003

     

     

    Conceptos de Orchard

    Content Item: Pieza de contenido que a menudo tiene una url asociada. Por ejemplo, páginas, posts o productos.

    Content Type

    Determinan la clase de contenido relativa a un Item. Por ejemplo un blog post es un ítem de tipo blog post.

    Content Part

    En Orchard los tipos de contenido están formados de pequeñas partes llamadas content parts. Son unidades atómicas de contenido que definen un comportamiento específico y que son reusables en muchos tipos de contenido.

    clip_image004

    Por ejemplo los comentarios, los tags o los ratings son Content Parts porque definen un comportamiento que puede ser reusado. Como regla se tiene que solo puede haber una parte de cada tipo en cada tipo de contenido. Por ejemplo, no encontraremos en un blog post dos secciones de comentarios distintas.

    Content Field

    Campos de contenido que pueden ser agregados a un tipo de contenido. Tienen un nombre y un tipo y pertenecen a un Content Type específico. Por ejemplo un producto puede tener un campo de texto representando su nombre, un campo numérico representando su precio y otro representando su peso. Como vemos, estos campos probablemente sólo tienen sentido hablando de un producto.

    Module

    Los módulos son las extensiones que se construyen para enriquecer la funcionalidad de Orchard. Estos módulos se organizan dentro de un sub directorio que puede ser encontrado en la carpeta Modules dentro del sitio web de Orchard. Estos módulos se pueden encontrar en la galería de Orchard.

    clip_image005

    Feature

    Un módulo puede contener una o más características que son un agrupamiento lógico de funcionalidades que pueden ser habilitadas o deshabilitadas individualmente. Por ejemplo, un módulo de autenticación personalizada puede tener diversas características (features) para OpenId, Facebook, LiveID, Twitter, etc. que pueden ser activadas o desactivadas.

    Hay que tener en cuenta sin embargo que una característica puede depender de otra que puede existir en el mismo o en otro módulo.

    clip_image006

    Manifest

    El manifiesto es un pequeño archivo de texto que describe un módulo o un tema en el sistema:

    clip_image008

    Interfaz Gráfica (UI Composition)

    Dado que Orchard maneja contenido com´puesto de partes, se necesita un mecanismo que orqueste la parte visual de la aplicación teniendo en cuenta la naturaleza del contenido que hace la composición. Por esto es importante hablar de la UI:

    Theme

    Al diseñar un sitio web es muy importante que seamos capaces de modificar su apariencia visual en cada sencillo aspecto. Orchard provee una clara y limpia separación entre la administración del contenido y del despliegue visual de dichos contenidos.

    Un tema es un paquete que contiene todo el look and feel de un sitio Orchard. Puede consistir de una combinación de hojas de estilo, imágenes, distribuciones, plantillas y hasta código personalizado. Los temas se pueden crear heredando de otros; cosa muy útil si se trata de hacer solo pequeñas modificaciones sobre un tema existente.

    clip_image009

    Layout

    Es un archivo dentro de un tema que define la organización generar de las páginas que lo usan. Un layout típicamente define un conjunto de zonas donde los contenidos o widget pueden ser insertados.

    clip_image010

    Template

    Cada parte de contenido, cada campo y cada widget necesita ser gráficamente representado en el front-end transformando los datos que representa en un elemento que pueda ser leído por los usuarios del sitio. Un template o plantilla es la “receta” que formatea esos datos y los transforma en HTML para que el browser los despliegue. Se puede pensar en un template como en HTML plano con “campos” bien definidos en los que los datos se insertan.

    Shape

    Antes de que algo pueda ser mostrado usando una plantilla, ese algo debe ser transformado en una forma o shape, que no es más que un objeto bastante versátil que contiene toda la información requerida para poder mostrarlo. Antes de que pueda ser renderizado por las plantillas, todo debe ser mapeado en un árbol de formas que es una especie de representación abstracta de los contenidos de la página final. La ventaja de estos árboles de formas, es que cualquier módulo puede modificarlas o crear unas nuevas.

    Los layout, zinas, widgets y content parts todos se representan como shapes en el proceso de renderizado.

    Placement

    Cuando se renderizan los elementos de la página, Orchard requiere saber en qué orden hacerlo. Para esto existen los archivos Placement.info que son XML que describen reglas usadas para determinar qué shapes van en qué zonas y en qué orden. Esto posibilita no solo que pueda ser personalizado el renderizado de cada shape, sino que también se pueda personalizar el orden en que se ejecuta este renderizado.

    clip_image013

    Zone

    Las zonas son partes específicas de un layout que pueden ser personalizadas insertando en ellas Widgets. En algunos temas, las zonas son colapsibles lo que significa que pueden desaparecer si no tienen widgets activos.

    clip_image014

    Widget

    Un Widget es un pequeño fragmento de interfaz de usuario que puede ser añadido a algunas o a todas las páginas del sitio. Por ejemplo tag clouds, mapas, formulario de búsqueda, etc.

    Layer (Capa)

    Una capa es un grupo de widgets (con su posicionamiento y orden) que es activada por una regla específica.

    Por ejemplo podríamos armar una capa llamada HomePage que se activara solo al llegar a esta página. También podríamos tener por ejemplo una capa por defecto que siempre estuviese activa y otra capa solo para usuarios autenticados.

    Cuando más de una capa está activa en una página, todos los widgets de esas capas se muestran al mismo tiempo. Orchard los ordena basándose en sus posiciones.

     

    Seguridad

    Usuarios y Roles

    En Orchard los usuarios pueden tener roles que pueden ser vistos como estereotipos de usuarios que tienen un conjunto común de permisos que definen quién puede hacer qué en el sitio. Cualquier usuario puede tener varios roles.

    Los dueños de los sitios pueden crear sus propios roles, pero Orchard viene con un conjunto de roles predefinidos que deberían cumplir la mayoría de los requerimientos de los sitios.

    · Administrador: Todos los permisos

    · Editor: No crea contenido pero edita y publica contenido creado por autores

    · Moderador: Valida contenido creado por usuarios como los comentarios

    · Autor: Escribe y publica su propio contenido

    · Contribuidor: Escribe contenido pero no necesariamente tiene derecho a publicarlo

    · Anónimo: usuario desconocido. Alguien que no se ha logueado.

    · Autenticado: Cualquier usuario logueado

    Los roles autenticados o anónimo no se pueden asignar manualmente sino que han de ser determinados dinámicamente en tiempo de ejecución.

    Privilegios y Permisos

    En Orchard los permisos son asignados a los roles, pero no son explícitamente denegados. En otras palabras si un usuario pertenece a cualquier role con algún permiso, éste tiene ese permiso. Para revocar este permiso es necesario bien sea retirar al usuario del role que tiene este permiso o revocar el permiso de dicho rol.

    Algunos permisos son garantizados efectivamente. Esto significa que no han sido explícitamente permitidos, pero que se adquieren de manera implícita a través de otro permiso. Por ejemplo, si se otorga el permiso de “Site Owner”, implícitamente se garantizan el resto de permisos.

    clip_image015

    Tanto los permisos como sus ajustes aplican por módulo. Esto significa que si usted construye su propio módulo, a éste habrá de especificársele los permisos que lo acompañan.

    Site Owner

    También conocido como el súper usuario, es un usuario especial definido en tiempo de instalación que tiene todos los derechos sobre el sitio. Puede ser modificado desde la pantalla de administración del sitio si se tiene permiso para hacerlo.

    De esta forma hay un tipo de permiso llamado “Site Owners Permission” que garantiza todos los derechos sobre el sitio y que por defecto se asigna al rol de Administrador. Es altamente recomendado que este grupo de permisos no se asigne a ningún otro rol.

     

     

    Desarrollo

    Cuando se van a crear nuevos módulos para Orchard (Esto no es requerido para operar el sitio), se requiere:

    ASP.NET MVC

    El framework web sobre el que se construyó Orchard.

    Handler

    Es similar a un filtro en MVC dado que contiene código que ejecuta eventos específicos en el ciclo de vida del request. Son usados para ajustar repositorios de datos o para ejecutar operaciones adicionales cuando algún contenido se carga.

    Driver

    Similares a los controladores de MVC pero actuando a nivel de contenido en vez de a un nivel de el request completo. Típicamente preparan las shapes para ser renderizadas y manejan postbacks desde los editores de administración.

    Record

    Es una clase que modela la representación de una content part en la base de datos. Son clases POCO donde cada propiedad es virtual.

    Migration

    Una migración es una descripción de las operaciones que se deben ejecutar cuando se instala por primera vez una característica en un módulo o cuando se actualiza de una versión a la siguiente. Esto permitirá actualizaciones sencillas sin pérdida de datos. Orchard incluye un framework de migración de datos.

    Injection

    La IoC, Inversion of Control o sencillamente inyección se usa ampliamente en Orchard. Cuando una pieza de código requiere una dependencia, esto típicamente requerirá la inyección de una o más instancias de una interface específica. El framework se encargará de seleccionar, instanciar e inyectar las implementaciones adecuadas en tiempo de ejecución.

    Llamado a la Acción!

    Si desea ir trabajando con este CMS, puede descargarlo gratuitamente de http://www.orchardproject.net/  Y espere en mi próxima entrega un video de los diversos tipos de instalación que podemos hacer de este CMS.

  • WarNov Developer Evangelist

    IE10 Platform Preview 2 Disponible!

    • 3 Comments
    Hemos liberado nuestro segundo preview de Internet Explorer 10. Veremos cómo podemos crear sitios y aplicaciones aún más asombrosas gracias al soporte mejorado a HTML5. Cada vez estamos más cerca de la promesa de las aplicaciones de HTML5 según la cual, distintos browsers soportan el mismo markup para que los desarrollos se vean iguales.

    Novedades en este preview:

      • Positioned Floats
      • CSS3 Gradients (en todos los tipos de imagen)
      • CSS stylesheet limit lifted
      • CSSOM Floating Point Value support
      • Improved hit testing APIs
      • Media Query Listeners
      • HTML5: Support for async attribute on script elements
      • HTML5 Drag and Drop
      • HTML5 File API
      • HTML5 Sandbox
      • HTML5 Web Workers
      • Web Performance APIs:
        • requestAnimationFrame
        • Page Visibility API
        • setImmediate

    Recuerden que Internet Explorer 10 estará disponible para Windows 7 y Windows 8. No habrá soporte para Vista ni sus predecesores. Futuras versiones del preview se liberarán cada mes o mes y medio. Esperamos una beta para finales de año. El preview actual, se lo pueden descargar del portal Test Drive de Internet Explorer

  • WarNov Developer Evangelist

    Facebook Game Hack

    • 7 Comments

    En este video apreciaremos cómo hackear un juego de Facebook usando un algoritmo de permutación hecho recursivamente en C#, más el acceso a la WinAPI para enviar mensajes entre aplicaciones distintas. Solo se necesita un archivo de palabras y cualquier versión que compile código C# sobre Windows.

  • WarNov Developer Evangelist

    Tutoriales de Desarrollo para Windows Phone–totalmente en español y gratuitos

    • 6 Comments

    LigaSilverlight150x150


    Está es una gran noticia que me da mi gran amigo, remarcable MVP en Silverlight, Rodrigo Díaz. Quien desde La Liga Silverlight ha traducido al idioma español el contenido original de todos los tutoriales para el desarrollo de aplicaciones en Windows Phone, disponibles en App Hub.

    ¡Son un total de 27 tutoriales!

    Este material de entrenamiento completamente gratuito y en español te servirá para iniciar en el mundo de la programación de la nueva versión del sistema operativo móvil de Microsoft: Windows Phone 7, o si ya eres desarrollador para este dispositivo estos tutoriales sin duda alguna te ayudarán a reforzar tus conocimientos.

    Cada tutorial trata un tema específico, por lo que no están vinculados directamente uno con otro pero definitivamente les recomiendo que los sigan en el orden establecido. Los tutoriales comienzan con temas básicos de XAML y Silverlight, y posteriormente se van analizando conceptos más a detalle acerca de esta plataforma de desarrollo.

    windowsphone_logo

     

     

    La lista completa de tutoriales es la siguiente:

    Iniciando y Fundamentos
    1. Creando la interfaz de usuario de Windows Phone (XAML)
    2. Usando controles
    3. Tipo de Controles
    4. Controles Panorama y Pivot
    5. Trabajando con texto en Windows Phone
    6. Distribución en la pantalla
    7. Orientaciones de la pantalla
    8. Entrada táctil
    9. Navegación
    10. Ejecutando un aplicación en segundo plano (tombstoning)
    11. Notificaciones de empuje para el desarrollo de Windows Phone
    12. Publicando tu aplicación en el Marketplace
    Visuales y Medios
    1. Imágenes
    2. Animaciones
    3. Video y Audio
    4. Gráficos
    5. Brochas
    Trabajando con Datos
    1. Obteniendo datos en tus aplicaciones de Windows Phone
    2. Enlazando a controles
    3. Almacenamiento Aislado
    4. Accediendo a un servicio web REST
    5. Consumiendo el servicio de datos de Windows Azure utilizando el cliente OData
    Sensores y otras características específicas del teléfono
    1. Lanzadores y Selectores
    2. Detección de movimiento (acelerómetro)
    3. Desarrollando con el GPS de Windows Phone (Servicios de Ubicación)
    4. Desarrollando con la cámara de Windows Phone

    También pueden ver el índice completo en esta página de La Liga Silverlight.

    ¡Esperamos que les sean de utilidad!

  • WarNov Developer Evangelist

    Windows Azure Evolution

    • 0 Comments

    Nuestra gran plataforma de cómputo en la nube es lo más alejado de algo estático. Todos los días está evolucionando para ofrecer más y más ventajas. De hecho esa es una de las grandes características de la nube: poca fricción al cambio.

    image

    Quiero recopilarles en este post todas las novedades que ha presentado la plataforma desde Marzo de este año. Estas novedades están disponibles en el update de abril del SDK 1.4 de Windows Azure.

     

     

    1. Web Deployment Integration

    image

    Alguna vez ha montado un sitio en Azure a pruebas y observó que había un pequeño bug y ha querido corregirlo en caliente rápidamente para ver si la corrección es adecuada? Hasta hace un tiempo en Windows Azure esta era una tarea complicada que implicaba re-empaquetar la aplicación para subirla nuevamente a la nube de Windows Azure usando bien fuese el portal administrativo o el API de Administración del Servicio a veces solo para probar una pequeña modificación. Con la actualización de la versión 1.4 del SDK esto queda resuelto gracias a la herramienta de Web Deployment.

    Esta herramienta es una extensión de IIS que contiene esencialmente un conjunto de utilidades y un framework administrado para simplificar el despliegue, administración y migración de aplicaciones Web, sitios y hasta servidores completos. Tanto desarrolladores como profesionales de IT se pueden beneficiar de estas utilidades no solo prácticas en Windows Azure sino en todo lado donde existan IIS desplegados. De hecho es un paquete de descarga gratuito que se maneja como una extensión de IIS que no tendrá costo. En Windows Azure ya está incluida.

    · Permite tanto actualizar sitios en vivo, como con paquetes comprimidos con las fuentes del mismo.

    · Es compatible con PowerShell y línea de comandos.

    · Puede sincronizar solo datos que hayan cambiado.

    · Puede detectar dependencias perdidas durante la sincronización.

    o Muchas otras características avanzadas que generalmente no se manejan en Azure, pero sí en despliegues de IIS tradicionales. Más detalles aquí.

    Aunque esta característica ha sido muy esperada, debemos notar que dada la naturaleza de Windows Azure hay algunas limitaciones:

    · El Web Deploy solo sirve con una instancia de Windows Azure

    · Con Web Deploy se omite la creación del paquete. Así que los cambios hechos a las páginas no son durables. Esto quiere decir que si por algún motivo la instancia se reinicia, esta volvería al estado anterior antes de hacer Web Deploy.

    Se puede obtener el plugin con la última versión del SDK que se puede descargar de aquí. Información detallada de cómo usarlo se encuentra aquí.

     

     

    2. Novedades en AppFabric

    Primero, una nueva versión del AC (Control de Acceso – Manejo de la autenticación de usuarios) en Windows Azure con mejoras en los procesos de Single-Sign-On y la integración con directorios empresariales e identidades Web.

    Además, Servicio de Cache!!! Este es un servicio de almacenamiento de datos de aplicación en memoria totalmente distribuido que acelera el performance de las aplicaciones en Windows Azure y SQL Azure permitiendo mantener datos en memoria y permitiendo omitir la necesidad de obtener los datos físicamente del storage o la base de datos.

    image

    El cache es frecuentemente usado para mantener los datos que más se consultan en memoria; más cercanos a la aplicación como tal reduciendo la sobrecarga en la base de datos, así como eliminando efectos de latencia de red innecesarios.

    Los desarrolladores ASP.NET pueden usar el servicio de Cache sin modificaciones, ya que el manejo de estado de sesiones, aplicaciones y output caching se puede transferir a APPFabric a través de sencillos cambios en la configuración de proveedores.

    Las capacidades de cache también están directamente disponibles a través de una simple API para obtener un uso más flexible y personalizado. En tiempo de ejecución, el servicio de Cache distribuye transparentemente los datos de sesión o de output a través de la infraestructura elástica de Windows Azure.

    Dado que es un servicio en todo el sentido de la palabra, AppFabric Caching tiene un modelo de aprovisionamiento bastante simple (no hay que instalar infraestructura y menos ajustarla o administrarla, dado que todo esto se hace automáticamente a través del servicio. Solo hay dos cosas para configurar: Qué datos se almacenaran y qué tanto caché se necesita. A medida que las necesidades de la aplicación crezcan o decrezcan, es posible cambiar dinámicamente el tamaño del cache elástico basado en estas necesidades.

    Cómo se compra?

    Se proveen seis diferentes opciones para el tamaño de la memoria en caché:

    · 128 MB cache por $45.00/mes

    · 256 MB cache por $55.00/mes

    · 512 MB cache por $75.00/mes

    · 1 GB cache por $110.00/mes

    · 2 GB cache por $180.00/mes

    · 4 GB cache por $325.00/mes

    Para los usuarios que quieran probar el servicio, lo pueden hacer gratuitamente hasta el primero de agosto de 2011. Igualmente en el sitio de ofertas de Windows Azure podremos encontrar algunos paquetes que incluyen gratuitamente hasta 128MB de memoria en caché al mes por ejemplo para suscriptores MSDN.

    Se pueden comprar diversos paquetes de cache para terminar con tamaños distintos a los ofrecidos por defecto. Los precios se suman indistintamente. El tamaño de un paquete de cache también se puede actualizar. Si se hace más grande, los datos permanecen intactos. Si se reduce, los datos que menos recientemente hayan sido accedidos son eliminados del cache.

    La facturación del servicio se hace mensualmente, pero los cargos son calculados diariamente. Por ejemplo si compramos 128MB de cache a un costo de $45/mes y lo usamos 10 días y luego lo actualizamos a 256 ($55/mes) por los restantes 20 días, pagaríamos un total de: 45/(10/30) + 55/(20/30) = $51.67.

    Qué se puede almacenar?

    · Objetos CLR

    · Filas de tablas del storage de Azure

    · XML

    · Datos Binarios

    Se puede acceder al cache directamente a través de la sencilla interfaz creada para .NET o en ASP.NET a través del proveedor de cache tras una sencilla configuración.

    Cuál es la cuota del servicio?

    En la siguiente tabla muestro las condiciones máximas que ofrece el servicio. Es de anotar que estas condiciones están sujetas a revisión en un futuro:

    image

     

    3. Windows Azure Traffic Manager (CTP)

    image

    Esta característica nos permite administrar y distribuir el tráfico a nuestros servicios hosteados en Windows Azure bien sea cuando los tenemos en un mismo data center o repartidos por todo el mundo. Es así como a través de la definición de unas políticas de balanceo de carga disponibles gracias a Windows Azure Traffic Manager podemos mejorar el performance e incrementar la disponibilidad de estos servicios mientras les balanceamos su tráfico.

    Dichas políticas se definen a través de los siguientes criterios:

    · Performance: El tráfico es redirigido al servicio hosteado más cercano en términos de latencia de red.

    · Round Robin: El tráfico es distribuido equitativamente en todos los servicios.

    · Failover: El tráfico es enviado a un servicio primario  y, si el servicio cae, se pasa al siguiente servicio disponible en una lista.

    Entonces asignamos a cada pol��tica un nombre DNS y le asociamos los servicios requeridos. El balanceador de carga responde a los requerimientos al nombre DNS que tiene la política asignada, con la dirección de uno de los servicios asociados que satisfaga los criterios de la política. El Traffic Manager está monitoreando constantemente los servicios para asegurar que están online y no enviará tráfico a los servicios no disponibles.

     

     

     

    4. Video con Smooth Streaming optimizado para el Content Delivery Network (CDN)

    image

    Esta capacidad permite a los desarrolladores distribuir video para clientes creados con Silverlight o sobre iOS y también Android Honeycomb, sin necesidad de desarrollar ningún software adicional ni menos administrarle o configurarle. Los desarrolladores pueden lograr esto, subiendo sus videos codificados para IIS Smooth Streaming a una cuenta de almacenamiento de Windows Azure que tenga la CDN habilitada. La CDN escala de acuerdo a lo requerido, de manera que los desarrolladores no necesitarán gastar tiempo configurando servidores o preocupándose acerca de la capacidad o picos en la demanda. Para más detalles de la CDN, lea esto.

  • WarNov Developer Evangelist

    Aprende Windows Phone con los Student Partners de Colombia!!

    • 2 Comments

    Una semana de sesiones dirigidas por Marylin Alarcón y Juan Giraldo sobre las principales características y funcionalidades de la plataforma.

    Al finalizar estarás en la capacidad de crear tus aplicaciones, publicarlas y distribuirlas a través de Marketplace y te enteraras de como participar por la oportunidad de ganar un teléfono Windows Phone 7 completamente nuevo para tus desarrollos o para uso personal.

    Sesion 1 - Preparando el terreno:

    Windows Phone 7 como plataforma para desplegar tus soluciones para tus clientes

    URL de Registro: http://bit.ly/WP7S1

    Sesion 2 - Controles, Launchers y Choosers:

    Utilizando el máximo potencial de los controles Silverlight y las características que nos provee WP7 para nuestras aplicaciones.

    URL de Regitro: http://bit.ly/WP7S2

    Sesion 3 - Databinding y servicios web:

    Cómo WP7 nos permite manipular y comunicar datos desde y hacia el dispositivo.

    URL de Registro: http://bit.ly/WP7S3

    Sesion 4 - Haz tu aplicación:

    Tips adicionales para el desarrollo de tus aplicaciones.

    URL de Registro: http://bit.ly/WP7S4

    Puede revisas la lista completa de requerimientos para trabajar con Windows Phone 7 siguiendo este vínculo: http://bit.ly/WP7HyS

    ¡¡No dejes pasar esta oportunidad de capacitación gratuita!!

Page 6 of 14 (329 items) «45678»