miércoles, 15 de junio de 2011

Casi “Zero code”: Lightswitch en Azure

Muy buenas,

Como simpre liado de un lado para otro, y de proyecto en proyecto, ¡todo son prisas!, eso si, en ocasiones como esta, en donde los chicos de Second Nug nos permiten estar con vosotros, no se pueden dejar escapar, Winking smile Incluso estando en EEUU, el próximo día 21 de Junio de 2011, entre las 19:30h y las 21:30h (hora española), estaremos con vosotros Bruno Capuano y “el menda”,  compartiendo temas de Lightswithch y Azure.  Espeamos  que os guste.

Aquí os  dejo el enlace del evento.

Saludos

Juanlu

Etiquetas: ,


jueves, 5 de mayo de 2011

Materiales del evento LightSwitch + Azure + ZeroCode

image

Muy buenas,

Pues esta vez, simplemente dejaos el enlace al material presentado esta mañana en las oficinas de Microsoft junto con El Bruno y referentes al evento Visual Studio Lightswitch + Windows Azure + Zero Code, de echo, os dejo un enlace a su blog, puesto que el ya se me adelantó a subir dicho material, Winking smile.

Pues acceder a la presentación AQUÍ.

Muchísimas gracias a todos los asistentes y esperamos que haya sido de utilidad

A partir de ahora, intentaré explotar más en profundidad todo lo que hemos visto,

Saludos

Juanlu

Etiquetas: , , ,


jueves, 28 de abril de 2011

WCF RIA Services como OData, SOAP o JSON

Casi a punto ya de agotar las vacaciones de Semana Santa, he querido escribir este post que ya llevaba tiempo como Draft, espero que sea de utilidad.

  1. ¿Estas intentando trabajar con RIA Services? 
  2. ¿Quieres exponer tu servicio RIA a través de un servico web?
  3. ¿SOAP o REST?
  4. ¿Quieres exponer tus datos SQL con EntityFramework  a través de un Servicio Web en cuestion de unos cuantos clicks?

Si estas interesado en conocer las respuestas a estas preguntas este es tu post:

Antes de comenzar asegura que las DLLs instaladas son las adecuadas. Para ello revisa que en la ruta “C:\Program Files (x86)\Microsoft SDKs\RIA Services\v1.0\Libraries\Server” se encuentra el siguiente conjunto de Dlls:

image

De no ser así, sigue lo siguientes pasos hasta conseguirlo. Esto es debido a que los distintos cambios de versiones instaladas sobreescriben a las anteriores y en la mayoria de los casos, verás que sólo existen la dlls “Microsoft.xxx” o las “System.xxx”. ¡Vaya complicación!, de no ser por mi compañero y amigo “David Gonzalez” todavía estaría instalando, ¡Muchas gracias!.

Para evitar todo esto:

Desinstala:

  1. Microsoft Silverlight
  2. Microsoft Silverlight Tools for Visual Studio 2010
  3. Microsoft Silverlight 4 SDK
  4. Microsoft F# Runtime for Silverlight 4
  5. WCF RIA Services v1.0 for Visual Studio 2010
  6. WCF RIA Services Toolkit

Instala en el siguiente orden. Importante tener muy en cuenta las versiones:

  1. Silverlight4_Tools.exe (en Ingles).
  2. RiaServices.msi (RIA Services v1.0 for Visual Studio 2010 – Mayo 2010).
  3. RiaServicesToolkit.msi (Aunque esta disponible la versión de Diciembre, instala la versión de Mayo 2010 con objeto de que sea compatible con RiaServices puesto que de este aun no está disponible una versión más actualizada.

Ahora el Visual Studio está listo para comenzar.

Importante: Desde Abril de 2011 ya está disponible la nueva versión de “WCF RIA Services ToolKit” que es compatible con la versión de Mayo de 2010 y por tanto podemos evitar la ardua tarea anterior, adicionalmente, tambien está disponible WCF RIA Services v1.0 SP1, con lo que tenemos todo al completo.

Ahora ya podemos comenzar a crear nuestro servico RIA:

Para exponer un servicio como RIA, añadiremos un nuevo item de tipo “Domain Service Class” a nuestro proyecto Web.

NOTA: No neceariamente tiene que ser un proyecto web, pero si pretendes sacarle partico al servicio y no solo para el acceso desde SilverLigth o LigthSwitch, entonces utiliza un servicio web como “Best Practice”:

image

Una vez incluido este nuevo item, veremos que en el “web.config” se ha añadido lo siguiente:

<domainServices>



  <endpoints>



    <add name="OData" type="System.ServiceModel.DomainServices.Hosting.ODataEndpointFactory, System.ServiceModel.DomainServices.Hosting.OData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />



  </endpoints>



</domainServices>




Ahora nuestro servicio (REST) ya está listo para ser consultado como si de un Atom, RSS, etc se tratara, eso sí, no existe ningún servicio "*.svc" físicamente, sin embargo se autogenera un “.svc” de la siguente manera:




Formato de la url dinámica: -.svc/OData/">http://localhost:[Puerto]/<namespace>-<DomainServiceName>.svc/OData/



Ejemplo/WcfService1-DomainService1.svc/ODATA/">http://localhost:<Puerto>/WcfService1-DomainService1.svc/ODATA/




Una vez que ya tenemos este servicio, ¿Porqué no utilizarlo como SOAP o incluso como JSON?, para ello bastará con incluir las siguientes dos líneas/endpoints  en la sección <domainServices> <endpoints>.




<add name="soap" type="Microsoft.ServiceModel.DomainServices.Hosting.SoapXmlEndpointFactory, Microsoft.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="json" type="Microsoft.ServiceModel.DomainServices.Hosting.JsonEndpointFactory, Microsoft.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />





Ahora tendremos tres url distintas para el acceso a cada uno de estos distintos endpoints:




  1. ODATA: -.svc/OData/">http://localhost:[Puerto]/<namespace>-<DomainServiceName>.svc/OData/


  2. SOAP: -.svc">http://localhost:[Puerto]/<namespace>-<DomainServiceName>.svc


  3. JSON:-.svc/json/GetProducts/"> http://localhost:[Puerto]/<namespace>-<DomainServiceName>.svc/json/GetProducts/






image




Ahora sí, nuestros endpoints estarán listos para comenzar a ser usados.



Uso desde Ligthswitch.



Para que todos estos EndPoint funcionen correctamente es necesario que nuestra clase de Dominio contenga el atributo de clase “[EnableClientAccess()]”, sin embargo “VS Ligthswitch” recomienda el uso de este atributo y por tanto mostrará el siguiente mensaje: “This data source will be publicly accessible from outside your application.  It is recommended that EnableClientAccess is disabled on the WCF RIA Service.



image



En cualquier caso siempre podremos continuar.



Nada más por el momento, espero haber aclarado algunos temas.  Si quieres conocer más detalle y ver ejemplos sobre su consumo, echa un vistazo a este enlace: WCF RIA Services Part 10 - Exposing Domain Services To Other Clients.



Saludos @Higuera la Real

Juanlu

Etiquetas: , , ,


martes, 12 de abril de 2011

[EVENTO] Máxima productividad y ‘Time-To-Market’ con el nuevo RAD Microsoft VS.LightSwitch y Windows Azure

Workshop – Máxima productividad y 'Time-To-Market' con el nuevo RAD Microsoft VS.LightSwitch y Windows Azure.

Muy buenas,

Aunque el compañero Bruno Capuano ya lo ha comentado aqui, no quería ser menos, además de ser yo el que voy a tener la suerte de compartir con él este evento, donde pretendemos darlo todo y mas !!!.

He aquí el enlace donde puedes encontrar todo el detalle del evento: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032480432&Culture=es-ES

¡Espero veos por allí el próximo 5 de Mayo tras unas buenas vacaciones de Semana Santa!

Saludos
Juanlu

Etiquetas: , ,


domingo, 20 de marzo de 2011

Desplegando LightSwitch en Azure. Varios click y CERO Código.

 

Llegó el momento, y  tras haber podido instalar el SP1 de Visual Studio+ LightSwitch Beta 2 (¡Como ya comenté en un post anterior, no era posible!), he continuado mis pasos con LightSwitch y ahora, con una  sencilla, sencilla publicación en Azure.

He aquí los pasos para el deploy en Azure de una aplicación LigthSwitch + acceso a datos con SQL Azure.

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

Ahora podemos eliminar el contenido del container “lightswitch” de Azure Storage. ¡Que pena que lo lo haga el despliegue de forma automática!. Será para la “Release”.   Junto a este pequeño inconveniente, encuentro otro adicional, sólo existe un camino para el despligue. LightSwich lo controla todo, no es posible hacer despligues manuales a partir de los ficheros de despliegue. ¡Bueno si, en el momento que comience la publicación, abortamos y en la carpeta “Bin\Debug” encontraremos dichos ficheros! Open-mouthed smile.  Desde mi punto de vista y sólo es una idea, el equipo de Azure está pensando 100% en el “Zero Code”, Winking smile.

 

Saluods @LightSwitch/SAzure
Juanlu

Etiquetas: , ,


miércoles, 9 de marzo de 2011

Visual Studio 2010 SP1 y LightSwitch deja de funcionar !!!

Muy buenas,

Acaba de salir el SP1 de Visual Studio 2010, jeje… ¡Es lo que tienen este tipo de aventuras!

Error:

Error        46        An exception occurred when building the database for the application.

Method not found: 'Void Microsoft.Data.Schema.Sql.SchemaModel.ISqlSimpleColumn.set_IsIdentity(Boolean)'.        C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\LightSwitch\v1.0\Microsoft.LightSwitch.targets        95        10        AzureLightSwithcDemo1

Pasos que he seguido: (Mejor, mirad la solución, más abajo, Open-mouthed smile)

Despues de buscar en internet y seguir algunos pasos, como los de este enlace, “http://social.msdn.microsoft.com/Forums/en/lightswitchgeneral/thread/8a67fc8b-1221-4764-ab84-64a711fae4b2”, mi problema continua asi, que lo siguiente es “REPARAR” el SQL Server:

image

Nada, tampoco soluciona nada.

El problema continua, y por dar más detalle, concretamente en las siguientes líneas del fichero “C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\LightSwitch\v1.0\Microsoft.LightSwitch.targets”:

<BuildSchema Inputs="@(LightSwitchModel)"
InstallDirectory="$(LightSwitchPath)"
OutputDirectory="Bin\Data"/>




Reinstalo LighSwitch y nada, todo sigue igual. No hay error de código pero tras la compilación aparece este “maldito” error.




Solución:




No hay. Desinstala el SP1 de Visual studio. He aquí la referencia que ha publicado hoy el equipo de LightSwitch: http://blogs.msdn.com/b/lightswitch/archive/2011/03/08/lightswitch-beta-1-is-incompatible-with-visual-studio-2010-sp1.aspx




En fin, que se le va a hacer, habrá que esperar a la Beta 2 de LigthSwitch, que saldrá en breve. 



Saludos

Juanlu

Etiquetas:


This page is powered by Blogger. Isn't yours?