That post will not be about “The Shard” building in London but as the building it will be something about scale, “Sharding” well it’s a DB architecture or technique of horizontal partitioning data between servers to provide application scale-out. As every technique has good pros and cons and there are already some implementations, and guess what using federation of Windows Azure SQL Databases you can build that architecture on Azure platform . There is a great article “How to Shard with Windows Azure SQL Database” on Technet Wiki which explains in details all benefits and challenges around that area. Happy reading and/or happy “sharding” !
The title of that post i a bit “mysterious” but let me first start with all the best wishes for a New Year. Last year was amazing hard work with cutting edge project, I had to relax from heavy development a bit and do something else. That’s where Netduino comes into play. Netduino is an open source electronics platform using the .NET Micro Framework.The .NET Micro Framework is a very cool development platform which makes it possible to write high level, code and deploy it onto micro devices. Netduino itself is a amazing microcontroller, runs.net you can use all Visual Studio features including debugging. Project that I did is pretty simple, one temperature sensor (DS18S20) (OneWire) connected to Netduino reads current temperature value and sends to WCF REST service hosted on Windows Azure, service publishes that value to queue and another worker roles picks that and sends to CRM Online. Full architecture is visible on the image bellow.
That particular project is very simple but proves that Azure is very flexible, scalable, easy to work and very efficient platform for “distributed/connected systems”. You can easily imagine some “network” of micro devices connected to Azure sending , requesting and processing data, or even some devices “driven” via cloud from your phone. I’d say sky is the limit. What is even more interesting MS Dynamics CRM again proved XRM nature first of all I didn’t have to spend a lot of time to build presentation layer and data model and moreover my data model had nothing in common with customers and relationships with them. UI utilizes graphical capabilities i.e charts and all of that is out of the box. See result on screens bellow. Full source code of that solution is attached to that post. If you are interested in “wiring” and “electronics” let me know I can guide you how to build circuit etc ,but picture is worth a thousand words so please find attached screenshots and images.
Netduino board with sensor
Cloud Services

MS CRM 2011 UI
Update 1
Full source code of the solutions is available here . I was using OneWire sensor Netduino currently OOB doesn’t support that yet (It will be soon) but, there is a experimental firmware and driver which works . You can find it at netduino forum.
Update 2
List of components : 1 mini breadboard , Nutduino plus , 1 resistor 4,7K , some wires , DS18S20 high-precision 1-Wire Digital Thermometer , 1 Windows Azure account , 1 MS Dynamics CRM Online account.
Update 3
Source code is a “R&D” version there are some parts that can be optimized i.e instead using “HttpWebRequest” I could use sockets etc.
Update 3
This source code is provided “as is” and without WARRANTY OF ANY KIND ,
The author of this program is not responsible for any data loss or any other type of damage this software may do to your systems. By using this software, you agree to use it AT YOUR OWN RISK.
Successor to Microsoft’s Business Productivity Online Suite (BPOS), entered public beta, Office 365 is cloud based software which includes Exchange Server, SharePoint Server, and Lync Server,(CRM 2011 soon with native integration). Together with public beta of the product Microsoft published Office 365 Developer Training Kit. New addition for beta is Office 365 Market place (app store) well I’m still waiting for my beta account but looks very interesting from developers point of view.
Public beta announcement
Registration site
Office 365 Developer Training kit
Last week I had a pleasure of presenting session “Where Microsoft Dynamics CRM 2011 meets Windows Azure” at xRMVirtual User Group. During the session I promised that source code of the examples will be on my blog, well there you go, today is a first one “twitterToCrm”, it’s a simple worker role which every 60 seconds checks followers using twitter API , if there will be a new follower on the list program will create a new lead in MS CRM Online. This is working POC well I must admin code is far from perfection but point is you can see the working concept, improve it make it singing and dancing. All setting are in app.config so before you will deploy it test it. Have fun.
Link to source code — please see Disclaimer
Link to recording https://www323.livemeeting.com/cc/usergroups/view?cn=&id=TTH94C&pw=
Disclaimer
This source code is provided “as is” and without WARRANTY OF ANY KIND ,The author of this program is not responsible for any data loss or any other type of damage this software may do to your systems. By using this software, you agree to use it AT YOUR OWN RISK.
A while back I’ve published post about how to configure CRM 2011 Online out of the box integration with AppFabric, I showed all configuration on CRM so now it’s time to present client application I’d call that app listener, and main role of that app will be listen and get all messages send from CRM Online via AppFabric. Application itself will be hosted on premise (to be 100 % honest on my laptop
). CRM SDK version from December 2010 contains sample app and I’m not going to reinvent a wheel. I’ll show what you need to configure in that app to receive messages from our CRM system. Presented example will be the simplest one as mentioned in previous post it is one way integration, so message comes from CRM Online via AppFabric Service Bus to our app . Let’s get hands dirty I attached ready to compile solution which is modified example from SDK. (I removed Azure storage code to simplify it ), all you need to do is change app.config
Values to change
- IssuerSecret : Current Management Key fom appfabric.azure.com
- ServiceNamespace : Service Namespace from appfabric.azure.com
- IssuerName : Management Key Name
- ServicePath : part of service bus url
Code of that application is very simple, example implements IServiceEndpointPlugin behaviour which has got only one method Execute. Functionality of sample app is even simpler it prints the contents of the Microsoft Dynamics CRM execution context sent from plugin to on premise app.
Despite simplicity of the example, it is very “powerful” solution from business point of view we integrated CRM 2011 online with on premise app without much hassle, so happy coding/integrating.:)
You can download source code from here


