Seguridad en la Nube y Productividad

Una de las frecuentes preocupaciones con la decisión de confiar en la Nube es el tema de seguridad. La seguridad es critica, pero hay mas escepticismo y mitos al rededor de la seguridad que realmente datos que demuestren que de verdad es un potencial riesgo. Hoy en día las soluciones de la Nube son múltiples y ya hay muchos proveedores los que hoy en día ofrecen, infraestructura, seguridad, backup, escritorios remotos, bases de datos, etc.

Proveedores como Microsoft, Amazon, Rackspace, HP, etc, ofrecen múltiples servicios, y ya en la actualidad, aplicaciones como servicios, que no solo cambian el modelo de licenciamiento, sino también los esquemas de trabajo y productividad de las empresas, impactando de manera positiva en ahorro de costos, puesto que los ahorros en mantenimiento y administración se delegan. Otro tema importante es el pago por el uso, en todos los escenarios al menos para temas de infraestructura, si bien uno puede dimensionar la infraestructura que desea, el pago de la factura es por el uso, en ese orden de ideas es conveniente una efectiva administración de los servicios contratados para que la factura mensual no sea tan alta. Para entender bien el ejemplo es como si al momento de comprar una casa, les dices a los de la luz que necesitas luz en todos los cuartos. Prendes y apagas la luz y de acuerdo a ese consumo te cobran, si dejas prendidas todas las luces la factura es muy alta. De esa forma funcionan los escenarios en la nube.

Por otro lado, los planes para personas y corporativos de Office 365 son hoy mas que nunca, una de las opciones mas atractivas y completas del mercado que ofrecen todo en un mismo paquete, y los cuales vale la pena explorar y sobre todo explotar! Servicios como Skype for Business(aka. Lync), Sharepoint Online, One Note, One Drive, todos los productos de Office, correo electrónico, son servicios altamente productivos. Voy a dedicar varios de mis próximos posts a compartir funcionalidad que es muy útil al momento de trabajar el día a día de una organización.

En conclusión los servicios que tenemos disponibles en la nube han madurado en buena forma y la inversión de grandes compañías en preservar protegida y segura la información mas aun con las regulaciones que cada día se vuelven mas estrictas también por los aprendizajes que han generado los usos y abusos  de la información.

Quisiera compartir con Uds. este link que ofrece detalle de la información de seguridad y regulación que cumple Microsoft con Office 365.

Saludos,

Roberto

Advertisements

F# by Microsoft Research

Dentro de los lenguajes de programacion que Microsoft ha vinculado al Framework de .NET aparte de los que ya son soportados por cumplir el Common Language Specification, se encuentra F#, el desarrollo de este lenguaje se hace ya hace varios años dentro de los proyectos de Microsoft Research, ofreciendo la posibilidad de tener un lenguaje de programacion funcional, que permite tener scripting interactivo, tal como Phyton y otros lenguajes, asi como tambien soporte para la visualizacion de datos, un desempeño tal como el de C#, soportando cross-compiling con el popular lenguaje OCaml. Las ventajas por ser parte de un lenguaje dentro de la plataforma de .NET es la de acceder a las librerias del mismo Framework, y ya esta disponible para que lo uses.

Para aprender mas de F# vea:

Library.

Downloads.

Developer Center.

Saludos,

Roberto Erazo

Lo nuevo para desarrolladores en Wndows Mobile 6.0

Dentro de las nuevas caracterisitcas en desarrollo sobre dispositivos moviles la plataforma Windows Mobile 6.0 ha traido grandes espectativas al respecto. Aqui mencionare algunas de las caracteristicas mas importantes que podemos tener en cuenta:

  • Inclusion del Compact Framework 2.0 y SQL Server 2005 Compact Edition en la ROM de Windows Mobile 6.0.
  • Emulador de dispositivos mas real que cuenta emula tambien los cambios de nivel de bateria.
  • Una utilidad para probar GPS sin necesidad de conectarse a sistemas de GPS externos.
  • Emulador de celular que permite trabajar con aplicaciones que usen el comportamiento de un celular tales como el recibimiento de una llamada, el envio y recibo SMS.
  • Emulador mejorado que permite correr diferentes tipos de aplicaciones a lo largo de diferentes tipos de dispositivos, en diferentes formas.
  • Un API consistente que permite escribir una sola aplicacion sin tener en cuenta a los fabricantes de dispositivos u operadores móviles. (Se debe comprobar!)
  • Mas de 100 ejemplos provistos por el SDK de Windows Mobile 6.0, que incluyen las mejores practicas para la construccion de aplicaciones para diferentes tipos de dispositivos.
  • Nuevo look and feel que hace mas atractivas las aplicaciones para los dispositivos con Windows Mobile 6.0
  • Una version mas liviana del API de Ink(Tinta, reconocimiento de texto, trazos a mano alzada) de las Tablet PC, que permite incorporar a las aplicaciones caracteristicas basadas en Ink en aplicaciones que corran sobre Windows Mobile 6.0 Professional y Classic.
  • Nueva API de sonido que permite la reproduccion de sonidos en formatos MID, WMA, MP3 y WAV.

Hay una nueva convencion de nombres para Windows Mobile 6.0 que clarifica mas la relacion y el uso de capacidades entre lo que conociamos como Pocket PC, Pocket PC Phone Edition y Smartphones. Ahora la relacion se ve asi:

  • Windows Mobile 5.0 for Smartphone = Windows Mobile 6.0 Standard
  • Windows Mobile 5.0 for Pocket PC Phone Ed = Windows Mobile 6.0 Professional
  • Windows Mobile 5.0 for Pocket PC = Windows Mobile 6.0 Classic

De igual forma los SDK tambien cambiaron de nombre para cada version del sistema operativo de la siguiente forma:

  • Windows Mobile 6.0 Standard = Windows Mobile 6.0 Standard SDK (no Touch Screen)
  • Windows Mobile 6.0 Professional = Windows Mobile 6.0 Professional SDK (Touch Screen)
  • Windows Mobile 6.0 Classic = Windows Mobile 6.0 Professional SDK (Touch Screen)

Compatibilidad completa con Windows Mobile 5.0. Uno de los objetivos explicitos de Windows Mobile 6.0 es la integracion completa con la version anterior de Windows Mobile a tal punto que Ud puede desarrollar una aplicacion en Windows Mobile 6.0 y generar un ejecutable que tenga como target dispositivos Windows Mobile 5.0, de igual forma puede generar un ejecutable de la miusma aplicacion para Windows Mobile 6.0 y esta se ejecutara aun mejor dentro del dispositivo dado que cuenta con el Compact Framework 2.0 y SQL Server Compact Edition en el ROM del dispositivo.

Simplifica el desarrollo de aplicaciones, con el SDK de Windows Mobile 6.0

Emulador de dispositivo 2.0: Este nuevo emulador basado en el 1.0 permite crear ambientes reales a los cuales los dispositivos moviles se pueden enfrentar, sin necesidad de tener un dispositivo real conectado. Con el SDK de Windows Mobile 6.0 instala por defecto el emulador 2.0 y reemplaza el 1.0 que actualmente viene con Visual Studio 2005. Con este nuevo emulador la ejecucion de las aplicaciones se mejora en velocidad de ejecucion en un 40% en relacion al emulador 1.0. Ademas este emulador provee nuevos tamaños de despleigue (form-factors) que permiten hacer testing de aplicaciones en diferentes formas.

De manera adicional este emulador esta en capacidad de emular ambientes reales como la cantidad de bateria sobre el dispositivo, esto porque en realidad un dispositivo movil consume bateria y pocas veces esta conectado a la correiente electrica, luego es posible tomar acciones sobre las aplicaciones sobre el dispositivo con respecto a la administracion de corriente y las acciones a tomar en caso de perder la carga de la bateria.

De igual forma cuenta con emulacion de 3 nuevas funcionalidades de telefono, que son Speakerphone, Headset y Carkit, esto para emular el comportamiento de un dispositivo cuando cualquiera de estos perifericos se conectan al dispositivo. Con esto podemos ver que tipo de notificaciones o que acciones toma una aplicacion determinada cuando alguno de estos dispositivos se conecta.

Emulador de celular: La mayoria de dispositivos con Windows Mobile tienen funciones de telefono o bien de comunicacion inalambrica. Es posible que Ud desee que su aplicacion se cierre o guarde cambios cuando una llamada entra, estas y mas posibilidades pueden ser evaluadas cuando emulamos estos comportamientos gracias al emulador de celular que viene con el emulador 2.0

FakeGPS: Esta utilidad permite al emulador leer asumir probar aplicaciones basadas en posicion geografica, ya que provee enviar datos como si una fuente de posiciones de GPS estuviera activa dentro del dispositivo. A través de GPS Intermediate Driver, FakeGPS permite proveer mensajes de GPS a aplicaciones que lean fuentes de GPS. Esta utilidad esta disponible en el emulador 2.0.

Security Configuration Manager: permite hacer configuraciones de seuridad sobre el dispositivo. A traves del Device Configuration Manager que es una aplicacion de escritorio que permite tomar las politicas de seguridad configuradas en un dispositivo que este conectado al PC y puede copiar dichas politicas sobre el emulador, esto para ver como dichas politicas afectan el desempeño de la herramienta.

CabSignTool: Esta utilidad de linea de comando permite firmar todos los ejecutables relacionados con un CAB a generar para la aplicacion. Esta utilidad permite firmar el CAB y ejecutables con el mismo certificado o bien con certificados diferentes en pasos muy simples.

Hooper: Permite hacer testing de aplicaciones con niveles altos de stress, es decir, cada aplicacion sobre los dispositivos moviles normalmente duran mucho tiemposin cerrarse. Hooper es una utilidad que permite hacer pruebas de largos periodos de utilidad de una aplicacion. Ademas permite someter a la aplicacion a pruebas de stress con multiples clicks de manera randomica, o bien probar varias aplicaciones y su comprtamiento con respecto a las otras aplicaciones. Herramientas como estas permiten detectar errores que dificilmente se detectan con pruebas normales.

Local Server Framework: Son herramientas y clases diseñadas para realizar pruebas de aplicaciones que normalmente se comunican con servidores remotos. Local Server Framework permite que configure una red virtual y el servidor que esta en la red hace las llamadas a la aplicacion y entrega los resultados que el programa espera. Usando esta herramienta es mas facil detectar que cosas corresponden a la aplicacion movil y que otras corresponden a la aplicacion de servidor.

Dentro de los ejemplos disponibles en el SDK de Windows Mobile 6.0 se destacan: UILayout (Interfaces acoplables a diferentes Form-Factors, anchoring, docking), RingtoneManager (API de sonido), BasicRecognition, InkNotes, e InkSerialization (uso del API WISP, reconocimiento de texto, etc.), GPS (Como acceder al GPS Intermediate Driver), etc.

Soporte para AJAX: Con la nueva version de Internet Explorer Mobile, se permite soporte para correr aplicaciones básicas que sean desarrolladas con AJAX

Mas soporte en tiempo de diseño: Con Windows Mobile 6.0 es porsible realizar rotar la pantalla a modos portrait y landscape en tiempo de diseño, solamente con un click derecho sobre la forma.

Como estas hay muchos mas aspectos que han sido incluidos en esta nueva version que hacen del desarrollo sobre dispositivos moviles mas facil y rapido de hacer. Mas herramientas y facilidades de desarrollo que permiten crear mas ambientes de prueba de casos reales que con los dispositivos se presentan comunmente. Mas 100 ejemplos disponibles con el SDK de Windows Mobile, Paterns and Practices  Mobile Client Software Factory, y el Mobile Line of Business Solution Accelerator Kit son las guias necesarias que puedes usar para aprovechar esta nueva plataforma movil.

Mas informacion:

Saludos,

Roberto C Erazo M
MVP – Visual C#

Overwiew CCF

CCF Overview+

Anteriormente ya habia hablado acerca del Microsoft Custom Care Framework. Para expandir un poco mas el conocimiento acerca de esta tecnologia he decidido iniciar a escribir conceptos acerca del CCF y su implementacion en casos reales, donde este tipo de Framework ofrece una solucion para el mejoramiento de la productividad e integracion de aplicaciones que requieran mas simplicidad en el manejo de los procesos actuales.

Saludos

Roberto C Erazo M
MVP – Visual C#