<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>mszCool's thoughts and cents revealed</title><link>http://blogs.msdn.com/b/mszcool/</link><description>Real illiteracy is the inability to go beyond and be creative...</description><dc:language>en-US</dc:language><generator>Telligent Community 5.6.583.20496 (Build: 5.6.583.20496)</generator><item><title>Hybrid Cloud - a sample-scenario and architecture</title><link>http://blogs.msdn.com/b/mszcool/archive/2012/01/20/hybrid-cloud-a-sample-scenario-and-architecture.aspx</link><pubDate>Fri, 20 Jan 2012 22:41:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10259043</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=10259043</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2012/01/20/hybrid-cloud-a-sample-scenario-and-architecture.aspx#comments</comments><description>&lt;p&gt;In my &lt;a href="http://blogs.msdn.com/b/mszcool/archive/2011/12/30/hybrid-cloud-integrated-with-on-premise-value-thoughts-technical-options.aspx"&gt;previous posting&lt;/a&gt; I outlined a number of thoughts, considerations and technical options for building hybrid-cloud solutions. This types of applications and services operate and run assets on public cloud platforms such as Windows Azure while keeping other assets in private data centers on-premises. That way such kinds of solutions enable you to leverage the benefits of public cloud platforms while at the same time keeping assets you cannot or do not want to move to a public cloud on-premises in your own data center.&lt;/p&gt;  &lt;p&gt;The Windows Azure&amp;#160; Platform offers a strong set of services and capabilities that do enable hybrid cloud scenarios. These platform-services do enable an effective and efficient integration of assets running in the public cloud with assets you keep on-premises. Some of these options do even enable this integration without storing data you cannot or do not want to store in the cloud, at all. In the &lt;a href="https://skydrive.live.com/?cid=d37c9d7bfbce8418&amp;amp;id=D37C9D7BFBCE8418%21295&amp;amp;sff=1"&gt;mind-map&lt;/a&gt; I’ve published through &lt;a href="http://blogs.msdn.com/b/mszcool/archive/2011/12/30/hybrid-cloud-integrated-with-on-premise-value-thoughts-technical-options.aspx"&gt;my last posting&lt;/a&gt;, the most important of these services are summarized and outlined.&lt;/p&gt;  &lt;p&gt;With this posting it’s time to get more specific. Together with one of my peers from Microsoft consulting services Western Europe, &lt;a href="http://blogs.technet.com/b/arynes/"&gt;Andy Rynes&lt;/a&gt;, I’ve been thinking about an easy-to-understand yet comprehensive scenario to outline the possibilities, options and applications of the concepts I’ve outlined &lt;a href="http://blogs.msdn.com/b/mszcool/archive/2011/12/30/hybrid-cloud-integrated-with-on-premise-value-thoughts-technical-options.aspx"&gt;in the previous posting&lt;/a&gt; supplemented by dynamic private cloud management concepts. Explaining the architecture and application of hybrid cloud integration-points is subject of this posting so that you get a practical understanding based on a true scenario.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Online Shop with integrated Payment and Account Management&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Consider a typical architecture for an online-shopping system if you would design it for being operated in your own data center on-premises! Typically (and simplified) such a system includes the following components and services:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Databases typically used for such a system      &lt;ul&gt;       &lt;li&gt;Credentials store (with user names and passwords) &lt;/li&gt;        &lt;li&gt;Payment accounts (with credit card data, billing data etc.) &lt;/li&gt;        &lt;li&gt;Products and orders (containing a list of products and orders placed by customers) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Services that do encapsulate the business logic      &lt;ul&gt;       &lt;li&gt;Authentication services and components &lt;/li&gt;        &lt;li&gt;Payment services and payment account services &lt;/li&gt;        &lt;li&gt;Order processing integrated with the shop-front-end &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Front-end services typically offered on a shop-system      &lt;ul&gt;       &lt;li&gt;Account and credentials management &lt;/li&gt;        &lt;li&gt;Payment account management to update billing and credit card data &lt;/li&gt;        &lt;li&gt;The online shop front-end &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The following figure summarizes, how these assets are combined in the simplified architecture I use for ongoing discussions in this and future posts.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://skydrive.live.com/redir.aspx?cid=d37c9d7bfbce8418&amp;amp;resid=D37C9D7BFBCE8418!298&amp;amp;parid=D37C9D7BFBCE8418!297"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="2012-01-20 Hybrid Cloud Scenario 01" border="0" alt="2012-01-20 Hybrid Cloud Scenario 01" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-32-26-metablogapi/7026.2012_2D00_01_2D00_20_2D00_Hybrid_2D00_Cloud_2D00_Scenario_2D00_01_5F00_71975C2B.png" width="640" height="457" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Note: the figure above does not specify the means of communication between the the web front-ends accessed through the browser and the services. But let’s assume the following practical and realistic assumptions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Asynchronous processing via Queues:&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Order processing: processing orders definitely can and will happen asynchronously; therefore calls between the web shop application and the order processing service will be rather asynchronous through e.g. queues.&lt;/li&gt;      &lt;li&gt;Payment processing: also payment processing will be rater asynchronous, therefore typically for interacting with such services you will choose asynchronous mechanisms such as queues there, as well.&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Request/response based service calls:&lt;/strong&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Managing the accounts with credit card information and billing-data is an interactive process with the user implemented through the account management web front-end.&lt;/li&gt;      &lt;li&gt;As these are interactive, the calls from the account management web to the account management service will be rather request/response-based service calls.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Hybrid-scenario – Assets to be moved to the cloud and to keep on-premises&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;      &lt;p&gt;It is obvious that a web shop including its order processing can benefit from characteristics of public cloud platforms such as elastic scalability. These assets of such a solution can definitely benefit from time-bound increase of resources during busy shopping seasons such as Christmas while at the same time do not need a lot of resources during seasons with less shopping-activity such as summer holiday season.&lt;/p&gt;  &lt;p&gt;On the other hand in many countries personal billing and payment information are treated as very sensitive. Therefore in some scenarios you might want or have to keep them on-premises in your own data center.&lt;/p&gt;  &lt;p&gt;Finally this situation leads to a hybrid cloud scenario where you definitely benefit from putting the assets of the front-end web shop including the order processing in the cloud while leaving your payment and billing account management services on-premises in your own data center. Based on the assumption above this simple scenario leads to two different integration steps from assets hosted in the public cloud to on-premises operated assets:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Integration with the payment service:&lt;/strong&gt;      &lt;br /&gt;Typically payments to not get processed immediately. All information a user gets when placing a payment as part of the check-out process is, whether the placement of the payment has been accepted or not. The actual processing happens asynchronously and at a later point-in-time. Therefore the choice for integrating the shop-services and –application hosted in the public cloud with the on-premises payment-service are:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;use Azure Queues (or Service Bus Queues) as integration mechanisms&lt;/li&gt;      &lt;li&gt;if you thing data is really sensitive, encrypt the information&lt;/li&gt;      &lt;li&gt;use a public/private key pair whereas the public key for encryption resides in the public cloud and the private key for decryption resides in your on-premises data center.       &lt;br /&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;strong&gt;Integration with the on-premises account management service       &lt;br /&gt;&lt;/strong&gt;In this case you are faced with an interactive scenario. The user actively requests, reads and modifies information on his billing-account through a user interface and needs immediate response whether changes have been accepted or not. Therefore the options for integration between the web-shop applications- and services hosted in the public cloud and the on-premises payment- and billing-account-management service are:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Option #1: open the firewall to your data center and enable access to the on-premises service from the public cloud. If applying IP address restrictions on your firewall you need to be aware, that whenever you re-deploy in Windows Azure the IP address changes. As long as you just do in-place upgrades no IP address changes for your cloud service.&lt;/li&gt;      &lt;li&gt;Option #2: use the Windows Azure Service Bus Relays to relay the communication to your on-premises service through the service bus. That enables you to call the web service without opening ports on the firewall in a targeted and secure way. More details will come within subsequent posts when digging into some of the details of this scenario.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Updating the architecture diagram based on the knowledge and approaches outlined above will result in the following refined architecture for our hybrid solution:&lt;/p&gt;  &lt;p&gt;&lt;a href="https://skydrive.live.com/redir.aspx?cid=d37c9d7bfbce8418&amp;amp;resid=D37C9D7BFBCE8418!299&amp;amp;parid=D37C9D7BFBCE8418!297"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="2012-01-20 Hybrid Cloud Scenario 02" border="0" alt="2012-01-20 Hybrid Cloud Scenario 02" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-32-26-metablogapi/8422.2012_2D00_01_2D00_20_2D00_Hybrid_2D00_Cloud_2D00_Scenario_2D00_02_5F00_762D66E5.png" width="640" height="466" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As you can see, the (apparently) “sensitive” information and data such as credit cards, billing etc. stays on-premises in your own data centers. For the interactive use case the connection from the public cloud is relayed through Azure service bus relay bindings to the on-premises hosted account management service. In this case the account management service connects from inside out to the service bus to offer its endpoint to other parties authenticated to the same service bus namespace. If you provide those service bus namespace and credentials to the shop-front-end as the only party, no one else will be able to connect to this account management service. &lt;/p&gt;  &lt;p&gt;Furthermore payments are just stored as encrypted messages on Azure queue. A little adapter application / service that runs on-premises queries this Azure queue in regular intervals to retrieve payment messages and forward them to the actual payment service. A public key is used in the cloud to encrypt messages before they’re put onto the queue. The corresponding private queue is used by the application that monitors the Azure queue for new payment messages to decrypt the payment messages and forward them to the payment service. That way even the payment message that might contain sensitive data is stored in the cloud without having the option of decrypting the message in the cloud. In addition the data is stored temporarily, only, as the messages are deleted from the queue as soon as they’ve been processed on-premises.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;&lt;u&gt;Unleash the full power – on-premises and public cloud unified&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Of course it would be really neat if some of the concepts such as dynamic provisioning in case of increased load could also be applied to your on-premises world. In addition having a management solution that allows you to manage both, the cloud and on-premises assets through one, unified tool and infrastructure is an important aspect. That is were you need to take aspects of private cloud into consideration to treat the scenario above as comprehensive and really understand your full potential of possibilities and opportunities.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Next steps…&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I’ll definitely will demonstrate the concepts outlined above with a practical example in one of the next posts in February-timeframe to equip you with a practical example on hybrid cloud solutions.&lt;/p&gt;  &lt;p&gt;In addition I think &lt;a href="http://blogs.technet.com/b/arynes/"&gt;Andy&lt;/a&gt; will pick up my post to equip you with details with regards to the architecture of a private cloud infrastructures. This will finally fill the gap and shows you, how to implement dynamic operations efficiency across public and private cloud using the Windows Azure Platform and the on-premises Windows Server and System Center 2012 platform.&lt;/p&gt;  &lt;p&gt;Stay tuned…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10259043" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Hybrid+Cloud/">Hybrid Cloud</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Cloud+Computing/">Cloud Computing</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Cloud/">Cloud</category></item><item><title>Hybrid - Cloud integrated with On-Premises - value, thoughts, technical options...</title><link>http://blogs.msdn.com/b/mszcool/archive/2011/12/30/hybrid-cloud-integrated-with-on-premise-value-thoughts-technical-options.aspx</link><pubDate>Fri, 30 Dec 2011 11:56:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10252026</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=10252026</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2011/12/30/hybrid-cloud-integrated-with-on-premise-value-thoughts-technical-options.aspx#comments</comments><description>&lt;p&gt;In the past two months several of our partners and customers confronted me with the topic “hybrid cloud”. Seems that due to my experience from the last 2 years in a sensitive public sector organization as an enterprise architect people think about me as a hybrid cloud expert. Well, I am starting to be one because I am really spending a whole lot of my time thinking about this topic. First thing I want to publish is a mind map with some thoughts that I typically tend to take into consideration when it comes to hybrid cloud.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://skydrive.live.com/redir.aspx?cid=d37c9d7bfbce8418&amp;amp;resid=D37C9D7BFBCE8418!295&amp;amp;parid=D37C9D7BFBCE8418!294" target="_blank"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="Hybrid Cloud - Thoughts - Large" border="0" alt="Hybrid Cloud - Thoughts - Large" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-32-26-metablogapi/5224.Hybrid_2D00_Cloud_2D002D002D00_Thoughts_2D002D002D00_Large_5F00_1B0B31B1.jpg" width="640" height="262" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Many people indeed tend to think about either cloud or on-premises but not both. Hybrid solutions are all about combining on-premises with cloud-based services. That way a hybrid solution keeps parts of the solution on-premises, moves other parts into public clouds and integrates those. Integration typically happens through mechanisms offered by either the public cloud, your on-premises platform or both. That way you can leverage benefits of public clouds whenever applicable such as the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;elasticity, pay-per-use etc. &lt;/li&gt;    &lt;li&gt;save costs through more efficient operations &lt;/li&gt;    &lt;li&gt;increase your visibility&lt;/li&gt;    &lt;li&gt;extend your business by growing into markets that cannot be reached with on-premises solutions, easily&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Of course typical perceived reasons used as arguments for keeping assets on-premises are the obvious suspects: legal compliance, data protection and security are often mentioned as arguments for keeping (parts of) solutions on-premises. In addition, very often existing investments done and depreciation of existing assets are typical reasons for keeping parts of solutions on-premises. Whatever reasons and arguments are used, there will always be good opportunities to leverage the benefits of public clouds in some way. Typical examples are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Web front-ends that do require scale.&lt;/strong&gt; These can be moved into the cloud while at the same time keeping other parts perceived as more sensitive in on-premises data centers. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Providing additional services to a broader audience on-top of existing services.&lt;/strong&gt; These new services definitely can be integrated with your existing services and they can absolutely be operated in a public cloud if it makes sense. Of course such new services operated in the cloud can call on-premises services through whatever mechanism.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Windows Azure indeed provides technologies and mechanisms for integrating services and applications operated on-premises with other services and applications operated in the cloud. I’ve summarized the most important options on &lt;strong&gt;Windows Azure&lt;/strong&gt; in the mind map published as part of this posting (see image above and link at the end of the posting). The mind map summarizes a few core-questions you should ask yourselves to decide, which technique and technology to use for integrating on-premises services and applications with those operated in public clouds:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Is it legally possible and technically feasible to store data in the cloud or not?&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;If yes then Azure storage can be used from both, on-premises and cloud services for integration purposes. &lt;/li&gt;        &lt;li&gt;Of course it is also possible to store data encrypted in cloud storage. This can be achieved by having e.g. a public key that allows cloud services to encrypt data while having the private key on-premises for decryption. Today this needs to be part of your implementation, but there might be features available in the future in Windows Azure to ease this task. &lt;/li&gt;        &lt;li&gt;If storing data temporarily is possible and feasible, then Azure Queues or Service Bus Topics/Queues can be used for integration purposes. &lt;/li&gt;        &lt;li&gt;If storing data temporarily is not possible or feasible, then using Azure Service Bus Relay communication is an option. In this case a communication-channel is relayed from the cloud to on-premises without any persistent or durable storage involved. This is similar to an ordinary web services call.&lt;/li&gt;        &lt;li&gt;Last-but-not-least opening up the firewall ports to on-premises services with appropriate IP address restrictions to IP addresses of cloud services is an option. With in-place upgrades in Windows Azure, IP addresses are remained for your cloud-service therefore making this option easier. But in my opinion the Service Bus relay allows a better targeted exposure as (a) both, consumer and provider need to authenticate against service bus, (b) the consumer always needs to authenticate to the provider as usual and (c) the provider as full control of when to expose its functionality through service bus as part of its implementation. The last point (c) indeed is a very attractive choice!! &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Which users must be used for authentication?&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;If the on-premises user-base must be used in the public cloud then there is a set of subsequent questions to ask:          &lt;ul&gt;           &lt;li&gt;Are the on-premises users in Active Directory? If yes, ADFS 2.0 is the primary option to integrate the on-premises user base with applications operated in the public cloud. &lt;/li&gt;            &lt;li&gt;Are the on-premises users in a custom DB? If so it gets more tricky.              &lt;ul&gt;               &lt;li&gt;One option is a synchronization of the user DB from on-premises to cloud-based databases by using SQL Azure Data Sync. &lt;/li&gt;                &lt;li&gt;If the user store must remain on-premises, then synchronization is not an option! So you must expose the authentication service somehow to your cloud-services. Well, again, writing a little wrapper-service around existing authentication APIs and exposing it via Service Bus Relay bindings to cloud services is an option. This exposed service can than be used for authenticating users in applications operated in the public cloud. &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;The Azure Access Control Service can provide a “unification” mechanism to authenticate both, on-premises users (through WS-Federation integration between ACS and ADFS 2.0, for example) and other users (any STS integrated via WS-Fed or the additional, already integrated providers such as Facebook, Yahoo, Google or Live ID).          &lt;ul&gt;           &lt;li&gt;This enables you to focus on one single authentication API and mechanism in your application. You only need to be able to process WS-Federation requests/responses and SAML tokens. And at the same time it opens up the option of integrating with a variety of identity providers incl. Facebook, Google, Yahoo, Windows Live and any other identity provider supporting WS-Federation and SAML tokens.&lt;/li&gt;            &lt;li&gt;Of course you need to implement applications in a way that it is failure-tolerant with regards to claims delivered or not delivered in tokens. This is required as depending against which authentication provider ACS authenticated the user to a different set of claims will be delivered. E.g. a web application that requires the email address can take the email address from the SAML token issued if it is available in the token. In turn if the email address is not available in the token (because it was not issued by the authentication provider), the application needs to ask the user for the email address. That is fairly important to understand as neither your application nor ACS can force an identity provider to issue certain information in the token. The only attribute that is definitely included into the token is a unique name identifier claim that you can use in your database as primary key for associating your records with a user in a loosely coupled way. &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;The other aspects included in the mind map are less “critical” . E.g. calling a cloud service running in Azure from an on-premises service for integration-purposes is fairly simple and in no way different to calling any other service hosted somewhere else in the Internet. Only authentication from the on-premises service against the cloud-based service is tricky. Again ACS can be used in such cases to manage service credentials for cloud-based services. These are then used from on-premises to authenticate against a service hosted in Windows Azure by using ACS. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;As you can see there are many options available that enable hybrid solutions with Windows Azure and therefore enable YOU to leverage the cloud whenever useful and beneficial for your solution while at the same time keeping solution assets on-premises that cannot be moved to a public cloud…&lt;/p&gt;  &lt;p&gt;Finally, here’s the full mind-map integrated from XMind:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="https://skydrive.live.com/redir.aspx?cid=d37c9d7bfbce8418&amp;amp;resid=D37C9D7BFBCE8418!295&amp;amp;parid=D37C9D7BFBCE8418!294" target="_blank"&gt;Download the full mind-map as large JPGEG image.&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.xmind.net/share/mszcool/hybrid-cloud-thoughts/" target="_blank"&gt;Get to XMind for a live-preview of the full mind-map here.&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;(thanks to &lt;a href="http://www.linkedin.com/in/pkoen" target="_blank"&gt;Peter Koen&lt;/a&gt; for his help to fine-tune the article and re-publish a more concise version)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10252026" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Architectural+Thoughts/">Architectural Thoughts</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Hybrid+Cloud/">Hybrid Cloud</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Windows+Azure/">Windows Azure</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Cloud+Computing/">Cloud Computing</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Cloud/">Cloud</category></item><item><title>changes - my next big bet - cloud computing</title><link>http://blogs.msdn.com/b/mszcool/archive/2011/12/02/changes-my-next-big-bet-cloud-computing.aspx</link><pubDate>Fri, 02 Dec 2011 08:46:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10243654</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=10243654</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2011/12/02/changes-my-next-big-bet-cloud-computing.aspx#comments</comments><description>&lt;p&gt;After a little bit more than 1.5 years as a Microsoft enterprise architect working for a United Nations organization with its headquarters based in Vienna I decided to take on the next big challenge in my career. This month, November, I started my new role as a &lt;strong&gt;Platform Strategy Advisor&lt;/strong&gt; for &lt;strong&gt;Windows Azure&lt;/strong&gt; as part of &lt;strong&gt;Microsoft’s Global Windows Azure ISV Incubation Team&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-32-26-metablogapi/4331.image_5F00_492C37C0.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-32-26-metablogapi/4341.image_5F00_thumb_5F00_710F371F.png" width="240" height="213" /&gt;&lt;/a&gt;As such I am now part of a MS corporate organization reporting to the headquarters, directly through a time zone lead sitting in the United Kingdom. This is kind of a new experience for me which I do enjoy a lot. So now you might have a few questions...&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;What does incubation mean and what’s different?     &lt;br /&gt;Well, incubation teams are founded for topics that are in kind-of a starting-phase. An incubation team is responsible for establishing a topic on local markets across the globe and help partners, customers and local subsidiaries getting ready with a topic so that it becomes “mainstream”.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;What does that involve?     &lt;br /&gt;The job is very versatile and reaches from technical work through business development to establishing internal readiness inside of Microsoft. Which is fairly cool! So I am working with partners finding out how they could benefit from cloud and Windows Azure in specific. I do work with top ISVs on architecture concepts and technical solutions for moving their products to the cloud and to Azure. and finally I work with local teams on establishing standardized processes and approaches for dealing with Cloud and Azure from an internal perspective.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;What will I do as part of this job?     &lt;br /&gt;Work with independent software vendors (ISVs) in WE on assessing if the cloud is for them and working on technical and business concepts for moving their apps to the cloud to become a true Software-as-a-Service company and benefit from things such as the long tail… of course based on our platform with Windows Azure &amp;amp; Co... and who knows me well knows that I will keep a deep technical level up with those topics, for sure... but not only!&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For me it was a very tough decision because I really liked the work as an enterprise architect - although sometimes this job was just very political, indeed... Nevertheless, I wanted to be a part of the ongoing developments on cloud computing as a topic that’s definitely going to change the IT landscape over the next years. So I’ve accepted this opportunity.&lt;/p&gt;  &lt;p&gt;In addition I wanted to see how my live will look like as part of an international team instead of reporting into a subsidiary. And incubation is a perfect mix of staying local while at the same time being a part of a Corp-team. E.g. although I am reporting to Corp. my primary target markets are in WE with a strong focus on Austria and Switzerland. And believe me, although I started part-time in November - so this is all new to me - I can feel the difference already, especially experiencing how open the communication with the product groups and corp-teams is - that’s really cool!!&lt;/p&gt;  &lt;p&gt;Finally after about two years of business IT alignment, business capabilities modeling and assessment and bringing those down to an SOA strategy and implementation in a large organization now it’s all about the dynamics of cloud computing for me - and in Microsoft-words - I am super excited about that and about where this gets me inside and outside of the company…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10243654" width="1" height="1"&gt;</description></item><item><title>Focus on significant elements - One of the most important aspects for architects</title><link>http://blogs.msdn.com/b/mszcool/archive/2011/04/18/focus-on-significant-elements-one-of-the-most-important-aspects-for-architects.aspx</link><pubDate>Mon, 18 Apr 2011 19:07:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10155329</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=10155329</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2011/04/18/focus-on-significant-elements-one-of-the-most-important-aspects-for-architects.aspx#comments</comments><description>&lt;p&gt;Reading books such as “&lt;a href="http://www.amazon.com/Process-Software-Architecting-Peter-Eeles/dp/0321357485/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1303149429&amp;amp;sr=8-1"&gt;The Process of Software Architecting&lt;/a&gt;” you will see statements such as “architecture focus on significant elements” a lot. Given my recent experience I can’t tell you more how important this is! Therefore I thought it’s worth posting a bit from my recent experience…&lt;/p&gt;  &lt;p&gt;Of course, as architects we cannot focus on every tiny little detail – so we have to decide for ourselves, how deep we want to go in terms of influencing solutions for solving problems. Depending on the level of architecture (enterprise, solution/application, technical) you’re dealing with that might be very different. Also the goals you’re trying to achieve will influence what is significant for you in your specific project and/or organization, of course.&lt;/p&gt;  &lt;p&gt;Generally speaking, some examples that are “significant” for me and where I try to be involved as an architect are the following ones (please note, these are examples from my recent experience and by no means a full list of things):&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Significant elements of requirements.&lt;/strong&gt;&lt;/li&gt;    &lt;/ul&gt;&lt;ul&gt;     &lt;li&gt;&lt;em&gt;Do we have a broad picture on the business-requirements at a very high (not detailed!!) level?&lt;/em&gt;        &lt;br /&gt;On the one-hand-side I want to have a broad picture of all the requirements, on the other hand I know that going into details for all of them is too much and is not worth it. But having a broad picture (such as a business capability map) helps me quickly understanding what’s going on in the business, identifying potential relationships and help with driving decisions such as road-map / planning appropriately.&lt;/li&gt;      &lt;li&gt;&lt;em&gt;Are the requirements prioritized?&lt;/em&gt;        &lt;br /&gt;It can’t be that all requirements are equally important. Some are always more important to an organization than others. And those are the ones I want to look first.&lt;/li&gt;      &lt;li&gt;&lt;em&gt;Are non-functional requirements captured appropriately (measurable!!)?&lt;/em&gt;        &lt;br /&gt;Non-functional requirements that are not measurable are worth nothing. E.g. stating that a system should be scalable and available is nice. But what does it mean in numbers&amp;#160; now and in the mid-term future? How much do we need to scale. Given that I usually try to find decisions that are also justifiable from a “investment vs. value”-perspective this is really important to me.&lt;/li&gt;      &lt;li&gt;&lt;em&gt;Do we have a “terminology (glossary)” that is used and understood by everyone?&lt;/em&gt;        &lt;br /&gt;Ineffective and inefficient communication is in my opinion one of the core-sources for project failure or conflicts within projects. Very often inefficient communication comes from a different understanding of the same term. Defining a glossary upfront can safe a lot of pain in the future.&lt;/li&gt;   &lt;/ul&gt;    &lt;ul&gt;&lt;li&gt;&lt;strong&gt;Significant elements in solution architectures.&lt;/strong&gt;&lt;/li&gt;    &lt;/ul&gt;&lt;ul&gt;     &lt;li&gt;&lt;em&gt;Relationships between components.&lt;/em&gt;        &lt;br /&gt;These are key, and not just for classic aspects such as maintenance. If e.g. agility is a strategic goal then the way you define relationships between components will impact your flexibility of changing your system which finally will have an impact on agility.&lt;/li&gt;      &lt;li&gt;&lt;em&gt;Interfaces at the boundaries and between platforms / systems.&lt;/em&gt;        &lt;br /&gt;I cannot deal with all the detailed interfaces inside of a system-implementations. But a specific set of them I definitely will want to deal with. For me any kind of interface that exposes my system to other systems or even other platforms is something that is definitely significant to me. Because these interfaces introduce some level of coupling between the system I want to verify how that coupling is related to any of the strategic, business or non-functional (e.g. security) goals or requirements.&lt;/li&gt;   &lt;/ul&gt;    &lt;ul&gt;&lt;li&gt;&lt;strong&gt;Technical decisions which are significant to me.&lt;/strong&gt;      &lt;br /&gt;Finally there are technical decisions I do deal with, as well. Although I do not jump into technical details in many areas such as “how do we implement this WF-activity in detail”, I will get involved in more depth in others and even go to the level of participating in a PoC if it’s really significant. Some questions that I am asking myself to decide whether to participate or not:&lt;/li&gt;    &lt;/ul&gt;&lt;ul&gt;     &lt;li&gt;Does the technical decision impact any of the high-risk requirements (functional / non-functional) identified in the requirements-prioritization exercise?&lt;/li&gt;      &lt;li&gt;Does the technical decision potential impact one of the higher-level goals (strategic, mid- to long-term)?&lt;/li&gt;      &lt;li&gt;Does the technical decision involve a major investment that justifies a more detailed analysis and assessment?&lt;/li&gt;      &lt;li&gt;Does the technical decision affect enterprise-level standards and policies which have been established (such as strategic platform-decisions, education / know-how of staff etc.)&lt;/li&gt;   &lt;/ul&gt;    &lt;ul&gt;&lt;li&gt;&lt;strong&gt;Anything that is related to mid-/long-term strategic goals and high-level requirements.&lt;/strong&gt;      &lt;br /&gt;In many cases when undergoing a larger IT-initiative or project some high-level visions and strategic goals are one of the reasons for doing so. Typically these are defined at a C-level and are of significant importance. Therefore any decision that is related to strategic goals becomes a significant decision for me. E.g. if an organization has defined “flexibility, agility and responsiveness to change” I try to make sure and be involved in the following aspects:&lt;/li&gt;    &lt;/ul&gt;&lt;ul&gt;     &lt;li&gt;&lt;em&gt;Clear definition of those strategic goals!&lt;/em&gt;        &lt;br /&gt;It is important to understand, how far these strategic goals are meant to go and where they are meant to stop. If a CxO defines flexibility as a strategic goal that can mean a whole lot of things. So I want to be involved when these goals are defined, described and before they are shared so that I have the chance to try to nail it down to something concrete. Take flexibility as an example. That can mean many different things and depending on what it means and how far it goes it can mean major investments in some areas or not. E.g. if a CxO states that flexibility means to him that he wants to be able to support new business processes with IT in 3 months after they’ve been introduced and worked out by business instead of 6 months it means that we just need to find more effective ways of coming up with new solutions but it doesn’t mean that I need to build a super-generic solution. That helps me driving my decisions.&lt;/li&gt;      &lt;li&gt;&lt;em&gt;Evaluate decisions that have to be taken against these strategic goals.&lt;/em&gt;        &lt;br /&gt;I at least want to have a quick look at architectural decisions that need to be taken and asses them against the strategic goals. If they do potentially affect any of the strategic goals I would like to get involved in them, understand their dynamics and provide my input so that I am able to make sure we find an appropriate, good enough solution that is inline with strategic goals or the vision to avoid both, they are not taken into consideration at all or they are “miss-used” to justify a super-smart and super-expensive solution based on these strategic goal that costs too much related to the value that is provided and needed.&lt;/li&gt;   &lt;/ul&gt;   &lt;p&gt;All of the above are just examples I had to deal with in the past year since I am in my new role, and of course they can differ with every project and organization. All of this helps me both, to be an effective architect (hopefully&lt;img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-32-26-metablogapi/3223.wlEmoticon_2D00_smile_5F00_451565DE.png" /&gt;) and to save my energy for the really important things (instead of wasting it for discussions that are just not worth it). Also I know it is hard to find out, if something is really significant… but I think that’s one piece of our job that we HAVE TO do… and it makes it really interesting, by the way.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10155329" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Architectural+Thoughts/">Architectural Thoughts</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Personal+Thoughts+_2D00_+My+Opinion/">Personal Thoughts - My Opinion</category></item><item><title>What has changed? – More Architecture! – Blog.Restart()</title><link>http://blogs.msdn.com/b/mszcool/archive/2011/04/04/what-has-changed-more-architecture-blog-restart.aspx</link><pubDate>Mon, 04 Apr 2011 19:45:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10149688</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=10149688</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2011/04/04/what-has-changed-more-architecture-blog-restart.aspx#comments</comments><description>&lt;p&gt;My last blog entry is quite a while ago… November 2011 after my two sessions and Track Ownership at TechEd Europe in Berlin. Indeed now that the Austrian &lt;a href="http://www.microsoft.com/austria/bigdays"&gt;Big&amp;gt;Days 2011&lt;/a&gt; are over and some people were wondering and asking my colleagues why I was not part of that road show it is a good time to comment and try re-starting with blogging efforts again.&lt;/p&gt;  &lt;p&gt;Simply put I was not part of Big&amp;gt;Days 2011 because I am not part of the department at Microsoft Austria which is responsible for this road show, anymore. Back in June 2010 I made the next step in my professional career by moving from the Developer &amp;amp; Platform Evangelism Group to Microsoft Enterprise Services for becoming a Senior Architect. I decided to take this step because in such a role you can become a strategic trusted advisor for the C-level of the largest customers of our country… and I had the chance to take on this role for one of the few really international customers we have here in Austria until May 2012 for a large re-engineering project from host-based legacy applications to a business-driven service oriented architecture.&lt;/p&gt;  &lt;p&gt;Given that engagement it was simply impossible for me to leave my customer in a critical phase for 2 weeks and join Big&amp;gt;Days as a speaker. At the same time I see myself growing as an architect in a lot of areas, especially communication across hierarchies, social dynamics and becoming a better negotiator between stakeholders helping them with prioritization and the like… all attributes that are much too underestimated by many architects in the industry very often.&lt;/p&gt;  &lt;p&gt;When I see the skillset that I require in my current role it goes way beyond the comprehensive experience and knowledge I was able to gather as an architect evangelist before from the pure content-perspective (SOA, technical stuff etc.). The overall skillset that you typically require as an architect I see from my current and past engagements include:&lt;/p&gt;  &lt;p&gt;- business-IT alignment   &lt;br /&gt;- alignment of IT with organizational strategies    &lt;br /&gt;- communication across hierarchies (up, down, horizontal)    &lt;br /&gt;- negotiation-skills to balance across stakeholder-requests, business-requirements, non-functional-requirements, strategies and the like    &lt;br /&gt;- technical breadth for being able to select appropriate technologies for a broad range of requirements    &lt;br /&gt;- technical depth in some areas to be able to understand implications of architecture-decisions&lt;/p&gt;  &lt;p&gt;That is my own current view based on my recent experience. I think that view reflects pretty good to what is required from industry certifications on architecture such as the &lt;a href="http://www.iasaglobal.org/iasa/Certification.asp?SnID=1651338139"&gt;CITA-P&lt;/a&gt; as conducted by &lt;a href="http://www.iasaglobal.org/iasa/default.asp"&gt;IASA&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Also given this I’ll try to share my experience from all that work in future blog-postings from all of the areas mentioned above. Given this you’ll find a mixture of sometimes more technical and sometimes less technical but more role-specific blog posts. I can’t say how often I will be able to blog, but I definitely want to continue blogging more often. Let’s see how it will work…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10149688" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Architectural+Thoughts/">Architectural Thoughts</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Personal+Thoughts+_2D00_+My+Opinion/">Personal Thoughts - My Opinion</category></item><item><title>TechEd Europe – DEV309 – WCF Data Services, A Practical Deep-Dive – Session Demos Download</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/11/13/teched-europe-dev309-wcf-data-services-a-practical-deep-dive-session-demos-download.aspx</link><pubDate>Sat, 13 Nov 2010 00:33:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10090437</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=10090437</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/11/13/teched-europe-dev309-wcf-data-services-a-practical-deep-dive-session-demos-download.aspx#comments</comments><description>&lt;p&gt;As promised in the last session of this year’s TechEd Europe which I had today on WCF Data Services, here you find the complete demo-code for download. &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://cid-d37c9d7bfbce8418.office.live.com/self.aspx/Public/Presentations/20101112-DEV309-WCFDataServicesDemosTechEd.zip"&gt;Click here to get to the session demo-downloads.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Please consider the following notes to make the demos working on your machine.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You need SQL Server (or SQL Server Express).&lt;/li&gt;    &lt;li&gt;If you use SQL Server Express, you need to modify the connection strings in the backend to point to (local)\SQLEXPRESS.&lt;/li&gt;    &lt;li&gt;Next execute &lt;strong&gt;GenerateDatabase.sql&lt;/strong&gt; to create the database using SQL Server Management Studio.&lt;/li&gt;    &lt;li&gt;Finally add the physical directory &amp;lt;parent&amp;gt;\OdataSessionsBackend as &lt;a href="http://localhost/OdataSessionsBackend"&gt;http://localhost/OdataSessionsBackend&lt;/a&gt; to your IIS-installation.&lt;/li&gt;    &lt;li&gt;For the Windows Phone demo app you need the Windows Phone developer tools installed.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Note that I’ve used the users &lt;strong&gt;test1&lt;/strong&gt; and &lt;strong&gt;test2&lt;/strong&gt; both having the password &lt;strong&gt;&lt;a href="mailto:pass@word1"&gt;pass@word1&lt;/a&gt;&lt;/strong&gt; set in the membership-database. Also note that for streaming large files I required to modify the web.config of the backend to allow large uploads for the WCF binding and at the same time to allow large uploads for the web-runtime in the ASP.NET settings:&lt;/p&gt;  &lt;pre&gt;&amp;#160; &amp;lt;system.web&amp;gt;&lt;br /&gt; &lt;br /&gt;&lt;strong&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;httpRuntime maxRequestLength=&amp;quot;10000000&amp;quot;/&amp;gt;&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;roleManager enabled=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;authentication mode=&amp;quot;Forms&amp;quot; /&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;compilation debug=&amp;quot;true&amp;quot; targetFramework=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;assemblies&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;add assembly=&amp;quot;System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot; /&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/assemblies&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/compilation&amp;gt;&lt;br /&gt;&amp;#160; &amp;lt;/system.web&amp;gt;&lt;/pre&gt;

&lt;pre&gt;&amp;#160; &amp;lt;system.serviceModel&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;serviceHostingEnvironment aspNetCompatibilityEnabled=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;services&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;service name=&amp;quot;OdataSessionsBackend.ManageSessionsService&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;endpoint binding=&amp;quot;webHttpBinding&amp;quot;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bindingConfiguration=&amp;quot;ManageSessionServiceBinding&amp;quot;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; contract=&amp;quot;System.Data.Services.IRequestHandler&amp;quot; /&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/service&amp;gt;&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/services&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;bindings&amp;gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;webHttpBinding&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;binding name=&amp;quot;ManageSessionServiceBinding&amp;quot;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; maxReceivedMessageSize=&amp;quot;500000000&amp;quot;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; maxBufferSize=&amp;quot;500000000&amp;quot; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; transferMode=&amp;quot;Streamed&amp;quot;&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/binding&amp;gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/webHttpBinding&amp;gt;&lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/bindings&amp;gt;&lt;br /&gt;&amp;#160; &amp;lt;/system.serviceModel&amp;gt;&lt;br /&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;font face="Segoe UI"&gt;Feel free to get in touch with me if you have any further questions&lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-32-26-metablogapi/1300.wlEmoticon_2D00_winkingsmile_5F00_5B761B64.png" /&gt;&lt;/font&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10090437" width="1" height="1"&gt;</description></item><item><title>TechEd Europe – DEV305 – Introduction to Parallel Programming – Session Demos Download</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/11/10/teched-europe-dev305-introduction-to-parallel-programming-session-demos-download.aspx</link><pubDate>Wed, 10 Nov 2010 11:46:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10088770</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=10088770</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/11/10/teched-europe-dev305-introduction-to-parallel-programming-session-demos-download.aspx#comments</comments><description>&lt;p&gt;I was just coming back from my first session at TechEd on parallel programming before I started blogging again. That might be because I fell much better after this first session at the conference. It was such a great fun doing it, I was in a room that was for more than 900 people and the room was packed with attendees until the very first minute, I think no one left. So I finally hope the people liked the session… given the fact that I am also responsible for the architecture track it is really a challenge doing that all together in a week…&lt;/p&gt;  &lt;p&gt;With this blog-post I want to provide the sample-code that I’ve created during the presentation. The presentation-material is available through the TechEd network:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://cid-d37c9d7bfbce8418.office.live.com/self.aspx/Public/Presentations/20101110-DEV305-ParallelSessionDemosTechEd.zip"&gt;Click here to get to the download of the sample-code for my parallel-computing session.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here is a picture to give you a sense of how great it was being here one more time at TechEd (and I don’t know if there will be a further time I will go – time is changing…). &lt;strong&gt;Thanks a lot to all attendees for your interest and for staying in the session – I really enjoyed it and I hope you learned something out of it, as well!!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-32-26-metablogapi/3324.CIMG0057_5F00_09A9E31D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="CIMG0057" border="0" alt="CIMG0057" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-32-26-metablogapi/0216.CIMG0057_5F00_thumb_5F00_7F851C24.jpg" width="644" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you have any questions, feel free getting back to me&lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-32-26-metablogapi/1185.wlEmoticon_2D00_winkingsmile_5F00_3B150518.png" /&gt;!!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10088770" width="1" height="1"&gt;</description></item><item><title>JAOO (Goto;)) 2010 - What a cool conference - Download Presentation and Code</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/11/10/jaoo-goto-2010-what-a-cool-conference-download-presentation-and-code.aspx</link><pubDate>Wed, 10 Nov 2010 11:23:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10088763</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=10088763</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/11/10/jaoo-goto-2010-what-a-cool-conference-download-presentation-and-code.aspx#comments</comments><description>&lt;p&gt;Wow, it was a busy time the past months since I switched from Developer&amp;amp;Platform Evangelism to Microsoft Services for becoming a senior architect working with the largest enterprise accounts. At the same time I delivered this &lt;a href="http://gotocon.com/aarhus-2010/speaker/Mario+Szpuszta"&gt;presentation at JAOO&lt;/a&gt; and took, for one last time, a track ownership responsibility for TechEd Europe.&lt;/p&gt;  &lt;p&gt;Nevertheless I am back and I want to start with providing the material I’ve presented at &lt;a href="http://gotocon.com"&gt;JAOO&lt;/a&gt; (renamed to &lt;a href="http://gotocon.com"&gt;goto;)&lt;/a&gt;) back in October on &lt;a href="http://www.asp.net/mvc"&gt;ASP.NET MVC&lt;/a&gt;. It was really an introductory session (but very technical&lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-32-26-metablogapi/0576.wlEmoticon_2D00_smile_5F00_75310367.png" /&gt;) on ASP.NET Model-View-Controller for about 100 people and it was a great pleasure being back in Aarhus, Denmark.&lt;/p&gt;  &lt;p&gt;Here you find the downloads:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://cid-d37c9d7bfbce8418.office.live.com/self.aspx/Public/Presentations/20101005-JAOO-ASPNETMVC-Presentation.pdf"&gt;Click here for downloading the presentation-material.&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://cid-d37c9d7bfbce8418.office.live.com/self.aspx/Public/Presentations/20101005-JAOO-ASPNETMVC-Demo.zip"&gt;Click here for downloading the demo-code I’ve created.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you have any questions feel free getting in touch with me!!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10088763" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Presentations+_2D00_+Demos+_2D00_+Samples/">Presentations - Demos - Samples</category></item><item><title>TechDays 2010 – Windows Azure AppFabric Session – Download a Sample – From all On-Premise to partial Cloud partial on-premise…</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/05/09/techdays-2010-windows-azure-appfabric-session-download-a-sample-from-all-on-premise-to-partial-cloud-partial-on-premise.aspx</link><pubDate>Sun, 09 May 2010 19:03:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10009913</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=10009913</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/05/09/techdays-2010-windows-azure-appfabric-session-download-a-sample-from-all-on-premise-to-partial-cloud-partial-on-premise.aspx#comments</comments><description>&lt;p&gt;Im &lt;a href="http://blogs.msdn.com/mszcool/archive/2010/05/07/techdays-2010-in-basel-download-my-samples-for-windows-identity-foundation.aspx" target="_blank"&gt;my last posting&lt;/a&gt; I published the first set of downloads on my sessions at &lt;a href="http://www.microsoft.com/switzerland/techdays"&gt;TechDays 2010 in Switzerland, Basel&lt;/a&gt;. Basically I delivered two sessions at the conference:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Designing and implementing Claims-Based Security-Solutions with WIF      &lt;br /&gt;see &lt;a href="http://blogs.msdn.com/mszcool/archive/2010/05/07/techdays-2010-in-basel-download-my-samples-for-windows-identity-foundation.aspx" target="_blank"&gt;my last posting&lt;/a&gt; for all the details. &lt;/li&gt;    &lt;li&gt;Understanding and using Windows Azure AppFabric      &lt;br /&gt;- &lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Presentations/20100406-TechDays2010-AzureAppFabric-Session-Presentation.pdf" target="_blank"&gt;Presentation for Download&lt;/a&gt;       &lt;br /&gt;- &lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Presentations/20100407-TechDays2010-AzureAppFabric-Session-Demo.zip" target="_blank"&gt;Code Samples for Download&lt;/a&gt;       &lt;br /&gt;- &lt;a href="http://www.microsoft.com/showcase/de/Ch/details/4d0fe867-87ca-4eea-8835-ed8a4fd12a48" target="_blank"&gt;Video of my presentation&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In this post I’ll explain, &lt;strong&gt;what I did in my session at TechDays and why. &lt;/strong&gt;As it’s going to be a little longer, I’ll create a separate post for explaining, how to setup the complete demo-environment. In this posting you’ll learn about a scenario where using Azure AppFabric as a means for integration cloud and on-premise solutions makes perfectly sense.&lt;/p&gt;  &lt;p&gt;Again I used the same sample as I did for the WIF-session at TechDays, I just modified it in a different way during the session (okay, that was for saving time:)). The original scenario is made up with two web shop applications that are calling a payment web service as follows:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010WindowsAzureAppFabricSession_9BB7/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010WindowsAzureAppFabricSession_9BB7/image_thumb.png" width="508" height="271" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In the original solution everything runs on-premise. When thinking about the cloud it’s obvious what I want to do:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;The shop-applications should run in the cloud!&lt;/strong&gt;       &lt;br /&gt;They can benefit from the elastic capabilities and the scale-out as well as pay-per-use from the cloud in a perfect sense. At the same time these shop-applications do not really store sensitive data. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;The payment-service should stay on-premise!&lt;/strong&gt;       &lt;br /&gt;Why? Because it stores highly sensitive data where I don’t know if I am allowed to store this data outside of our country – payment-information of our customers. Therefore I want to keep it in our own data centers to keep control over this sensitive data. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;But – the shop needs to call the payment service. &lt;/strong&gt;Nevertheless the shop-frontends running in the cloud need to be able to call the payment-service without any hurdles. Of course you can do this by opening up firewall ports, registering names, dealing with proxies and network address translation and all that stuff. But with AppFabric you can do this in a different way, and it has advantages in my opinion. The modified architecture after the session looked as follows:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010WindowsAzureAppFabricSession_9BB7/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010WindowsAzureAppFabricSession_9BB7/image_thumb_1.png" width="508" height="445" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The Windows Azure AppFabric and its &lt;strong&gt;Service Bus&lt;/strong&gt; component act as a communication relay between the service consumer and the service provider. Both are connecting from inside-out of their data center to the AppFabric. All access to the Service Bus itself and between the involved service providers and consumers is secured by a component called &lt;strong&gt;Access Control Service.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The ACS (access control service) allows you to do fine-grained, claims-based authorization based on standards (&lt;a href="http://wiki.oauth.net/OAuth-WRAP" target="_blank"&gt;OAuth WRAP&lt;/a&gt; at the moment, later it will be extended with a full-blown STS using WS-* and SAML).&lt;/p&gt;  &lt;p&gt;Of course you could argue, I can open up the firewall ports, make sure the service is addressable and make sure we don’t run into proxy-issues. But the AppFabric approach has many advantages in my opinion:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You can decide on a service-by-service level whether to share or not. &lt;/li&gt;    &lt;li&gt;You can implement fine-grained authorization rules on a service-by-service level managed through access control. &lt;/li&gt;    &lt;li&gt;You can integrate single-sign-on for involved service parties by integrating the AppFabric access control service with &lt;a href="http://www.microsoft.com/geneva" target="_blank"&gt;ADFS v2.0&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;An there are many more to think about, these are just the ones dropped into my brain while writing this article here.&lt;/p&gt;  &lt;p&gt;The coolest AHA-effect for me came up while preparation of this stuff:) I was sitting in my hotel room in Basel connected to the hotel-Wireless LAN running a web service on my notebook (the one of this sample) and calling it from the cloud through all this “hurdles” (NAT, proxy etc.). I am, that’s crazy, that’s so cool – imagine what you’d need to do to accomplish that without Azure AppFabric…&lt;/p&gt;  &lt;p&gt;Stay tuned for a subsequent post where I will provide step-by-step instructions to setup my demo-environment.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10009913" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Architectural+Thoughts/">Architectural Thoughts</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Presentations+_2D00_+Demos+_2D00_+Samples/">Presentations - Demos - Samples</category></item><item><title>TechDays 2010 in Basel – Download my Samples for Windows Identity Foundation</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/05/07/techdays-2010-in-basel-download-my-samples-for-windows-identity-foundation.aspx</link><pubDate>Fri, 07 May 2010 07:37:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10008977</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=10008977</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/05/07/techdays-2010-in-basel-download-my-samples-for-windows-identity-foundation.aspx#comments</comments><description>&lt;p&gt;Well, I know, it’s a few weeks ago, already when we had &lt;a href="http://www.microsoft.com/switzerland/techdays"&gt;TechDays Switzerland&lt;/a&gt; in Basel. Finally now I was able to publish the material of the two sessions I delivered there:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Designing and Implementing Claims-Based Security-Solutions with WIF      &lt;br /&gt;- &lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Presentations/20100406-TechDays2010-Wif-Session-Presentation.pdf"&gt;Presentation for Download&lt;/a&gt;       &lt;br /&gt;- &lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Presentations/20100406-TechDays2010-Wif-Session-Demo.zip"&gt;Code Samples for Download&lt;/a&gt;       &lt;br /&gt;- &lt;a href="http://www.microsoft.com/showcase/de/Ch/details/9a7d7ea9-be07-4eb8-aa65-3af14909913f" target="_blank"&gt;Video of my presentation&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Understanding and using Windows Azure AppFabric      &lt;br /&gt;Will follow-up in a separate post on this session;) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In this post I’ll explain, &lt;strong&gt;what you need to do to run the Windows Identity Foundation samples&lt;/strong&gt; I’ve created for TechDays. I’ll post a description on the Windows Azure AppFabric samples in a separate post!&lt;/p&gt;  &lt;p&gt;You will notice, that for both sessions I used the same startup-example, a little shop-scenario that consists of two web applications (a shop front-end and a payment management front-end as well as a payment-backend implemented as WCF web service):&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_20.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb_9.png" width="504" height="275" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="left"&gt;During the session on Windows Identity Foundation I modified this starting-point to let a security-token-service do the authentication of users and the issuing of tickets for authorization. With that we implemented a single sign-on across the two web applications as well as a cleaner and more flexible way of authorization through claims:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_22.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb_10.png" width="504" height="468" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Below you find the necessary steps for setting up and running these demos on your machine. &lt;strong&gt;Please follow these steps exactly to make sure all the X.509-certificates as well as the database are setup correctly!&lt;/strong&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;       &lt;br /&gt;Before we start you should make sure to have all the pre-requisites installed:       &lt;br /&gt;- &lt;a href="http://www.microsoft.com/vstudio"&gt;Visual Studio 2010 RTM&lt;/a&gt; (trial works, as well)       &lt;br /&gt;- &lt;a href="http://www.microsoft.com/express/Database/"&gt;SQL Server Express Edition&lt;/a&gt;       &lt;br /&gt;- &lt;a href="http://msdn.microsoft.com/en-us/security/aa570351.aspx"&gt;Windows Identity Foundation SDK&lt;/a&gt;       &lt;br /&gt;- &lt;a href="http://go.microsoft.com/fwlink/?LinkID=128752"&gt;Windows Azure Tools for Visual Studio and the SDK v1.1&lt;/a&gt;       &lt;br /&gt;- &lt;a href="http://go.microsoft.com/fwlink/?LinkID=129448"&gt;Windows Azure AppFabric SDK v1.0&lt;/a&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Make sure you have an Application Pool called “ASP.NET v4.0” in your IIS 7.0        &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_24.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb_11.png" width="508" height="348" /&gt;&lt;/a&gt;         &lt;br /&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Setup the databases and certificates for the secure web service&lt;/strong&gt;       &lt;br /&gt;I’ve written a little script that installs the database and the certificates on your local machine. Just open a command prompt &lt;em&gt;as administrator&lt;/em&gt; and execute the script &lt;strong&gt;SetupBasics.cmd&lt;/strong&gt; to install these on your local machine. Please note, that this script installs the database on your SQL Server Express Edition Instance (local)\SQLEXPRESS. &lt;strong&gt;If you don’t have SQL Server Express Edition installed, then modify the SetupBasics.cmd-script to point to your own SQL Server instance!        &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_14.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb_6.png" width="508" height="271" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Enable SSL on your IIS-instance&lt;/strong&gt;       &lt;br /&gt;As the security-token-service for the WIF-based solution requires SSL, you need to make sure you have SSL enabled with a self-signed certificate on your local IIS. Follow these steps for doing so:       &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb_2.png" width="508" height="367" /&gt;&lt;/a&gt;&amp;#160; &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb_1.png" width="508" height="368" /&gt;&lt;/a&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Setup the STS-project as IIS application&lt;/strong&gt;       &lt;br /&gt;In the sub-folder &lt;strong&gt;WifSolution &lt;/strong&gt;of the downloaded ZIP-package with my samples, publish the directory &lt;strong&gt;.\WifSolution\MszTechDaysSts&lt;/strong&gt; as IIS-application &lt;a href="https://localhost/TechDaysSts"&gt;https://localhost/TechDaysSts&lt;/a&gt; – &lt;strong&gt;and don’t forget to enable SSL on this site!! This application needs to run in the ASP.NET v4.0 application pool (look at the screen shots).        &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_26.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb_12.png" width="508" height="353" /&gt;&lt;/a&gt;         &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb_4.png" width="508" height="367" /&gt;&lt;/a&gt;         &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_12.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb_5.png" width="508" height="332" /&gt;&lt;/a&gt;         &lt;br /&gt;&amp;#160;&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;If you get this error – set the permissions for IIS to access the files of the STS        &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_16.png"&gt;&lt;strong&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb_7.png" width="508" height="340" /&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&amp;#160; &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_18.png"&gt;&lt;strong&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb_8.png" width="508" height="372" /&gt;&lt;/strong&gt;&lt;/a&gt;       &lt;br /&gt;Simply add read access for everyone to the directory with the files containing the STS to make the app running.       &lt;br /&gt;&lt;strong&gt;&amp;#160;&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;If you have installed IIS 7.0 AFTER Visual Studio 2010 / .NET Framework 4.0…&lt;/strong&gt;       &lt;br /&gt;…you need to enable ASP.NET 4.0 on your web server by running “aspnet_regiis -i” in an elevated command prompt window.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Update &amp;lt;microsoft.identityModel&amp;gt; configuration in web.config&lt;/strong&gt;       &lt;br /&gt;Next you need to open the web.config-file of the MszTechDaysShop and MszTechDaysShopAccount projects to update the URLs for your own Security-Token-Service. It should point to your local machine (local IIS) where you run the STS. Don’t forget to really use the machine-name instead of local host because the self-signed SSL certificate gets issued to the machine-name of your local dev-machine.       &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_28.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb.png" width="508" height="292" /&gt;&lt;/a&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Update the &amp;lt;system.serviceModel&amp;gt; sections in web.config&lt;/strong&gt;       &lt;br /&gt;Next you need to update the system.serviceModel configuration in the web.config of the two web applications MszTechDaysShop and MszTechDaysShopAccount to point to the right STS for authenticating against the web service:       &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_30.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb_3.png" width="508" height="277" /&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_32.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/TechDays2010inBaselDownloadmySamplesforW_F066/image_thumb_13.png" width="508" height="365" /&gt;&lt;/a&gt;       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Next open the solution “.\WifSolution\MszTechDaysShop\MszTechDaysShop.sln” in Visual Studio 2010 (run Visual Studio as Administrator)&lt;/strong&gt;       &lt;br /&gt;After you’ve completed these steps you can run the demo through Visual Studio 2010. Don’t forget to run Visual Studio 2010 &lt;strong&gt;as Administrator&lt;/strong&gt; if you want to debug the STS hosted in IIS. When running, make sure you first start the MszTechDays.Services.PaymentApp project and then start the others. Use the following credentials to sign in into the STS:       &lt;br /&gt;- user name = mszcool       &lt;br /&gt;- password = pass@word1       &lt;br /&gt;Or simply create your own credentials using ASP.NET WebAdmin when the STS-project is highlighted! &lt;/li&gt; &lt;/ol&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10008977" width="1" height="1"&gt;</description></item><item><title>1st Architecture Conference in the History of Microsoft Austria…</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/04/28/1st-architecture-conference-in-the-history-of-microsoft-austria.aspx</link><pubDate>Wed, 28 Apr 2010 14:52:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10003930</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=10003930</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/04/28/1st-architecture-conference-in-the-history-of-microsoft-austria.aspx#comments</comments><description>&lt;p&gt;…and it’s my baby.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/1stArchitectureConferenceintheHistoryofM_ECB8/Architects_Small_80x80_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 5px 5px 5px 10px; display: inline; border-top: 0px; border-right: 0px" title="Architects_Small_80x80" border="0" alt="Architects_Small_80x80" align="right" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/1stArchitectureConferenceintheHistoryofM_ECB8/Architects_Small_80x80_thumb.png" width="117" height="140" /&gt;&lt;/a&gt; Today the conference web site for the 1st architecture conference in the history of Microsoft Austria went live – and I am responsible for this conference. Together with Andreas Hejl from Siemens we were able to organize superb speakers for the conference.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/austria/architectconference" href="http://www.microsoft.com/austria/architectconference"&gt;http://www.microsoft.com/austria/architectconference&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I think this could be a great platform for experience-exchange, for discussing technical and conceptual ideas and for getting the latest and greatest information on Microsoft’s strategies for hot topics such as&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Cloud Computing     &lt;br /&gt;Parallel Computing&lt;/strong&gt;    &lt;br /&gt;&lt;strong&gt;Patterns &amp;amp; Practices     &lt;br /&gt;Methodologies &amp;amp; Processes&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The speakers we’ve organized are international and local industry experts which are not coming to Austria so often:) To name just a few of them:&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Ulrich Homann, Chief Architect Microsoft Services World Wide     &lt;br /&gt;Dr. Michael Stal, Senior Principal Engineer &amp;amp; Team Lead, Siemens Corporate Research      &lt;br /&gt;Beat Schwegler, Enterprise Lead, Microsoft Western Europe Head Quarters      &lt;br /&gt;Mitch Lacey, Mitch Lacey &amp;amp; Associates Inc., International Expert on Agile      &lt;br /&gt;Christian Weyer, Co-Founder, Thinktecture, Microsoft Regional Director Germany      &lt;br /&gt;Ralf Westphal, Most Valued Professional for Microsoft, Germany&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;But of course the conference lives and dies with YOU – architects and architecture-interested people which are willing to challenge our presenters, discuss with them and exchange opinions and experience.&lt;/p&gt;  &lt;p align="left"&gt;I am looking forward to meet you at this conference – it is going to be a special event for several reasons as things are going to change for me right now;)… so don’t miss this conference, join us with this highlight of our architecture community…&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10003930" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Architectural+Thoughts/">Architectural Thoughts</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Personal+Thoughts+_2D00_+My+Opinion/">Personal Thoughts - My Opinion</category></item><item><title>Cloud computing contest with Windows Azure – The architecture and technology of our Austrian contest application</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/04/14/cloud-computing-contest-with-windows-azure-the-architecture-and-technology-of-our-austrian-contest-application.aspx</link><pubDate>Wed, 14 Apr 2010 12:33:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9995798</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9995798</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/04/14/cloud-computing-contest-with-windows-azure-the-architecture-and-technology-of-our-austrian-contest-application.aspx#comments</comments><description>&lt;p&gt;As many of you might know, in Austria we are currently running a &lt;strong&gt;Windows Azure Contest&lt;/strong&gt; where it’s possible to win a &lt;strong&gt;Samsung flatscreen TV together with an XBox 360&lt;/strong&gt; as well as &lt;strong&gt;10 external 500GB hard disks&lt;/strong&gt; for all participants successfully completing the contest.&lt;/p&gt;  &lt;p&gt;In this blog-posting I will describe the technical architecture and provide the source-code as a download so that you can take a look at the details of this nice “in-production”-application on Windows Azure!&lt;/p&gt;  &lt;p align="center"&gt;&lt;font size="3"&gt;Contest home: &lt;/font&gt;&lt;font size="3"&gt;&lt;a href="http://atazurecontest.cloudapp.net"&gt;http://atazurecontest.cloudapp.net&lt;/a&gt;       &lt;br /&gt;Official announcement: &lt;a href="http://www.codefest.at/post/2010/03/31/Contest-Cloud-Computing-mit-Windows-Azure-e28093-Samsung-HD-Fernseher-und-Xbox-360-gewinnen.aspx"&gt;official announcement here&lt;/a&gt;       &lt;br /&gt;Azure Contest App Source Code: &lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Various/201004%20Azure%20Contest/Microsoft%20Azure%20Contest%20Application.zip" target="_blank"&gt;Azure Contest App&lt;/a&gt;&lt;/font&gt;&lt;font size="3"&gt;      &lt;br /&gt;Working Participant Sample App Source Code: &lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Various/201004%20Azure%20Contest/Participant%20Test%20Code%20Azure%20Contest.zip" target="_blank"&gt;Participant Test App&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="4"&gt;&lt;u&gt;&lt;strong&gt;How does the contest work?&lt;/strong&gt;&lt;/u&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;To participate in the drawing for the flat-screen and the Xbox 360, you basically need to &lt;a href="http://atazurecontest.cloudapp.net/"&gt;register at our contest home page&lt;/a&gt; (if you’re in Austria, only, see &lt;a href="http://atazurecontest.cloudapp.net/Default.aspx?linkId=Details"&gt;qualification requirements&lt;/a&gt;), then write and deploy a simple web service on Windows Azure and finally let our Azure-application try to call your web service. Graphically that looks as follows (click for details):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Various/201004%20Azure%20Contest/Scenario%20-%20Overview.PNG" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Scenario%20-%20Overview[1]" border="0" alt="Scenario%20-%20Overview[1]" src="http://public.bay.livefilestore.com/y1pNmo_Nnmg7R7nNommfm6YF-yrOvsPLgDlzPBMMgI5oxnhml4PFl1I996nFl-Uose1qjH8Wg-7zwJTTwo10UXS5g/Scenario%20-%20Overview.PNG" width="524" height="271" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#004080" size="4"&gt;&lt;u&gt;&lt;strong&gt;Architecture of the Microsoft Windows Azure Contest App &lt;/strong&gt;&lt;/u&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The contest-front-end you see when navigating to &lt;a href="http://atazurecontest.cloudapp.net"&gt;http://atazurecontest.cloudapp.net&lt;/a&gt; is just a little part in the overall game. Although the code has rather the state of a sample, the architecture of the system is asynchronous by its nature to scale out a bit better. Therefore the front-end is really just accepting and storing registrations and displaying some simple web pages – not more not less. Sending emails and testing participant applications happens asynchronously in a worker as shown in the illustration below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Various/201004%20Azure%20Contest/Architecture%20-%20Overview.PNG" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Architecture%20-%20Overview[1]" border="0" alt="Architecture%20-%20Overview[1]" src="http://public.bay.livefilestore.com/y1pvt3EX962iAiLlTYAtlJUm-eJba2J75JtGgA2w3JfQerOmdZ5fOkkn55pEgCA6v263aa84mEktmKIj6vGW-fDJg/Architecture%20-%20Overview.PNG" width="515" height="384" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As you can see above, the web role accepts the requests through simple ASP.NET pages from the user. These are the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Users can register for participation.      &lt;br /&gt;With that the application generates a registration token (a GUID) and stores the registration data in a Windows Azure table storage so that we can query the data, easily. Behind the scenes the following actions happen:       &lt;br /&gt;-) a registration-token is generated       &lt;br /&gt;-) the registration data is stored in table storage       &lt;br /&gt;-) a message is added to the queue with the token and a command for the worker       &lt;br /&gt;-) the worker takes the token, reads registration data and uses it to send an email. &lt;/li&gt;    &lt;li&gt;Users can test their registration.      &lt;br /&gt;Every test requires the user to enter the registration token – not more and not less. With this information the following actions happen behind the scenes:       &lt;br /&gt;-) the web role tries to read the registration data       &lt;br /&gt;-) if valid, it adds a message with the token and the validation-command to the queue       &lt;br /&gt;-) the worker picks this message up and reads registration data based on the token       &lt;br /&gt;-) it tries to call the service according to the token and the registration data       &lt;br /&gt;-) it updates the registration data after the call succeeded or failed appropriately &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In the web role, all the actions are delivered through an AJAX-web service. So you won’t find any code in the pages except JavaScript-calls to this AJAX-web service. If you are interested in how messages are added to the queue or data is added to the table storage, the AJAX-web service contains this code as well as the code for the worker role does.&lt;/p&gt;  &lt;p&gt;Also note the solution I’ve implemented for the content pages. I knew that our marketing department definitely will want to change some parts of the textual and graphical content of the application. These are independent of the actual application logic and application pages and therefore I’ve separated them out as stand-alone HTML pages. All these pages are stored in blob storage and whenever our marketing requires an update, I just update those simple HTML pages and upload them in blog-storage again instead of re-deploying the whole application. This is a pretty neat approach for this situation to be able to make simple textual and graphical changes quickly without the need of re-deploying the whole application (mini-mini-mini-mini CMS functionality;)).&lt;/p&gt;  &lt;p&gt;I think the application is a pretty nice sample for leveraging the different parts of Windows Azure. Feel free downloading the source code for the contest application as well as a example of the participant-test-application and setup your own environment if you want to try something more interesting than just a hello world application:)&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Various/201004%20Azure%20Contest/Microsoft%20Azure%20Contest%20Application.zip" target="_blank"&gt;Download the Microsoft Austria Azure Contest Application Source Code here&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Various/201004%20Azure%20Contest/Participant%20Test%20Code%20Azure%20Contest.zip" target="_blank"&gt;Download a working and ready-to-deploy sample participant application web service here&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;For me it was definitely great fun building this content application, I hope it’s funny for you implementing and deploying the participant application web service, as well! Feel free sharing any feedback with me!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9995798" width="1" height="1"&gt;</description></item><item><title>Parallel Computing – BigDays – Lamda-Expression-Trap I mentioned during the session – Understanding Bound and Free Variables in Lamdas</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/04/08/parallel-computing-bigdays-lamda-expression-trap-i-mentioned-during-the-session-understanding-bound-and-free-variables-in-lamdas.aspx</link><pubDate>Thu, 08 Apr 2010 12:25:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9992371</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9992371</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/04/08/parallel-computing-bigdays-lamda-expression-trap-i-mentioned-during-the-session-understanding-bound-and-free-variables-in-lamdas.aspx#comments</comments><description>&lt;p&gt;At my &lt;a href="http://blogs.msdn.com/mszcool/archive/2010/04/07/bigdays-2010-downloads-for-my-presentations-demos-on-cloud-computing-parallel-computing-and-visual-studio-2010-application-life-cycle-management.aspx"&gt;session on parallel computing at BigDays 2010&lt;/a&gt; during my first demo I mentioned a potential trap with lamda-expressions and ThreadPool.QueueUserWorkItem(). Thanks to &lt;strong&gt;Philipp Aumayr&lt;/strong&gt; from &lt;a href="http://www.timecockpit.com/Home.aspx"&gt;timecockpit.com&lt;/a&gt; – based on a question he asked when he watched the demo in Graz, in the break afterwards together we uncovered a very dangerous trap when it comes to lamda-expressions and ThreadPool.QueueUserWorkItem!&lt;/p&gt;  &lt;p&gt;So, what is the trap all about and what’s the problem? In the BigDays-Vienna-delivery I added this hint to my presentation and here I am going to explain what happened.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#800000" size="4"&gt;The problem and its effects&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Suppose you have the following code you want to execute in parallel by using the ThreadPool and its QueueUserWorkItem()-method whereas every single cycle of the for-loop should be executed in parallel:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_thumb.png" width="556" height="206" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Of course the first obvious attempt of modifying this code to leverage the ThreadPool to execute calculations in parallel would result into the following one:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_thumb_1.png" width="553" height="349" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;That was also my attempt when I prepared the demo for the very first time. &lt;strong&gt;But then something strange happened – the time-comparison between the sequential version (first code snippet) and the parallel version was more than strange.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;It said, that for 50000 calculations, my parallel version required about 1050ms whereas my parallel version required just about 30ms. Man – what a performance optimization was that – a performance-improvement of a factor of 30 is not really realistic on a dual-core machine:)) … it’s basically impossible. So something must have been wrong with my code.&lt;/p&gt;  &lt;p&gt;By taking a closer look at the results the console window in several test-runs I saw that it did actually not calculate most of the numbers and the results were totally incomplete. So what happened there? It skipped many of the prime numbers to calculate and to print as a result!?&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#008040" size="4"&gt;The correct implementation and its explanation       &lt;br /&gt;Bound and Free variables in Lamda Expressions&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;An &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163362.aspx#S6"&gt;MSDN Magazine article&lt;/a&gt; explains the reason for this behavior very good – I’ll just explain it very short in this posting, if you want all the details, &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163362.aspx#S6"&gt;read this article&lt;/a&gt;. The wrong behavior of the implementation above is originated in the way Lambda-expressions are treated by the compiler and processed during runtime.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The primary thing you have to understand is the differentiation of bound and free variables.&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Bound variables are local variables or parameters explicitly passed to and defined as part of the lamda expression.&lt;/li&gt;    &lt;li&gt;Free variables are defined in the class or method that is containing the lamda expression. &lt;em&gt;They are treated in a special way when it comes to the implementation of lamdas.&lt;/em&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Free variables are captured into closure classes generated by the compiler at compile time and this closure holds these variables for the lamda as well as the address to the delegate for the lamda itself. Within one single scope in code, variables are always captured by the compiler and are re-written to the closure. Of course within the lamda, these free variables are accessed through the same closure all the time.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;This is so important to understand, therefore lets start with a simple example. &lt;/strong&gt;So, how does that affect your code? Suppose the following example (copied from the MSDN article mentioned earlier):&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_thumb_2.png" width="377" height="148" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Conceptually and simplified demonstrated&lt;/strong&gt;, the compiler creates a class containing the free variables and the implementation of the lamda. Then it creates a method for creating the lamda. The &lt;strong&gt;pseudo-code&lt;/strong&gt; below shows, how that works conceptually – please note that this is simplified and does not match what the compiler is doing, exactly:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_thumb_3.png" width="384" height="464" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now suppose you do the following thing: you declare and initialize a variable and assign a value to it. Then you declare the lamda, then you change the variable and finally you execute the lamda as follows:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_thumb_4.png" width="462" height="147" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;At a first glance you would expect the value to be – 20 (y = 10, then AddFunc is declared and later executed). But in reality the value will be 30. Why is that? Well, very simple, because within this single scope within the method Test(), any assignments to y will be redirected to the Closure created by the compiler for the Lamda. Conceptually the compiler creates something like that:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_12.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_thumb_5.png" width="460" height="172" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And that was exactly the problem that hit us with our ThreadPool-sample above and that I explained in my session at BigDays 2010. Just to remind you &lt;strong&gt;on the incorrect implementation&lt;/strong&gt;, I repeat this code-snippet again:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_thumb_1.png" width="553" height="349" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In this implementation a closure is created that captures the lamda used for ThreadPool.QueueUserWorkItem() as well as the variable i in the context. Whenever the loop is moving on, the variable i is accessed through the closure.&lt;/p&gt;  &lt;p&gt;Therefore our ThreadPool method gets the value of i that it has based on the loops situation at the time when the Thread starts. And therefore depending on when a thread starts and at which iteration the loop is a the time when the Thread starts, it will use the current value of i in the closure. As the thread created by ThreadPool.QueueUserWorkItem and the for-loop are accessing the same closure (which will be declared outside of the for-scope to capture both, the lamda and the for-loop), we are missing a lot of values in our execute. &lt;/p&gt;  &lt;p&gt;To solve the problem we need to make sure that the closure is created &lt;strong&gt;within the scope of the for-loop&lt;/strong&gt;. How can we do that? Well, simply create a new variable within the for-loop, assign the value i to this variable and use this variable as a free variable for our lamda expression. &lt;strong&gt;The following code snippet shows the correctly working code based on this knowledge:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_14.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/ParallelComputingBigDaysSessionTheLamdaE_10B6D/image_thumb_6.png" width="525" height="345" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The variable p above is created within the scope of one loop-iteration and we use it in the lamda. Therefore the code created by the compiler will create a closure within the for-loop’s scope using p – this closure of course will be created separately for each iteration of the loop. Therefore each Thread will get its own closure with the correct value assigned to it – &lt;strong&gt;and suddenly the behavior is correct, we get all our prime numbers and at are faster by parallel execution;)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I would strongly recommend reading the full article on MSDN magazine – just check out the following link to understand all the details:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/magazine/cc163362.aspx#S6" href="http://msdn.microsoft.com/en-us/magazine/cc163362.aspx#S6"&gt;http://msdn.microsoft.com/en-us/magazine/cc163362.aspx#S6&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Feel free getting back to me if you have any questions!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9992371" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Hints+and+Tricks/">Hints and Tricks</category></item><item><title>BigDays 2010 - Downloads for my presentations/demos on Cloud Computing, Parallel Computing and Visual Studio 2010 Application Life-Cycle Management</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/04/07/bigdays-2010-downloads-for-my-presentations-demos-on-cloud-computing-parallel-computing-and-visual-studio-2010-application-life-cycle-management.aspx</link><pubDate>Wed, 07 Apr 2010 16:38:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9991846</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9991846</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/04/07/bigdays-2010-downloads-for-my-presentations-demos-on-cloud-computing-parallel-computing-and-visual-studio-2010-application-life-cycle-management.aspx#comments</comments><description>&lt;p&gt;Wow, what I time was that the past four weeks – BigDays 2010 preparations and rehearsals, then two-week long BigDays-tour through Austria with four sessions + key note demos on each location and now I am sitting at the airport in Zurich heading back from TechDays in Basel where I had two sessions, as well. It was such a great time, I tell you!!&lt;/p&gt;  &lt;p&gt;Okay, for the next week you can expect a series of postings on the presentations I gave at our BigDays-tour through our country and TechDays in Basel / Switzerland. And this is the first posting in this series – and the simplest one at the same time:)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codefest.at/post/2010/03/30/Big3eDays-2010-Developer-Sessions-zu-Web-Entwicklung-und-Visual-Studio-2010-NET-40-online!.aspx"&gt;For BigDays 2010, all sessions where recorded in Vienna – these recordings are available, already here.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Below are some infos and the download links for the presentations I had at BigDays:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Cloud Computing with Windows Azure Platform      &lt;br /&gt;&lt;/strong&gt;It was the first session I did together with &lt;strong&gt;&lt;a href="http://www.software-architects.at/Blogs/tabid/72/BlogID/5/Default.aspx"&gt;Rainer Stropek&lt;/a&gt;&lt;/strong&gt; – and it was simply a great session. I hope the feedback will reflect the feelings I have about this presentation. &lt;a href="http://www.software-architects.at/Blogs/tabid/72/BlogID/5/Default.aspx"&gt;Rainer&lt;/a&gt; and I migrated an on-premise ASP.NET web application with a local database and local file system access to Windows Azure leveraging Storage, SQL Azure, Queues and Workers. &lt;strong&gt;Thanks for preparing this great demo, Rainer!! &lt;/strong&gt;Click on the icons below to download the demo and the presentation.&lt;/p&gt; &lt;iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-d37c9d7bfbce8418.skydrive.live.com/embedicon.aspx/Public/Presentations/20100326^_BigDays2010^_Azure^_CloudComputing^_Demos.zip" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&amp;#160; &lt;iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-d37c9d7bfbce8418.skydrive.live.com/embedicon.aspx/Public/Presentations/20100326^_BigDays2010^_Azure^_CloudComputing^_Presentation.pdf" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;&lt;strong&gt;Voting Session – Parallel Computing with the .NET Framework 4.0&lt;/strong&gt;     &lt;br /&gt;In many cases you get in touch with a hot topic from a totally different context. So it was with parallel computing – originally I got in touch with this topic during a project with Frequentis that was all about designing and implementing always responsive applications and services. Read more details and &lt;a href="http://blogs.msdn.com/mszcool/archive/2009/11/11/arc305-downloads-my-session-teched-europe-in-berlin-on-always-responsive-apps-services.aspx"&gt;my whitepaper here and the original ARC-session I delivered at several conferences including TechEd Europe&lt;/a&gt;. At BigDays 2010 I delivered a session that focused more on the details of &lt;strong&gt;Task Parallel Library&lt;/strong&gt;, &lt;strong&gt;PLINQ&lt;/strong&gt; and the new ThreadPool-implementation of .NET. It was so much fun delivering this session, although at one delivery I fall into a trap during the presentation as well – it’s simply not an easy topic, but so interesting:) Click on the icons below to download the presentation and the source code of the demos I created. Furthermore take a look at the &lt;a href="http://blogs.msdn.com/pfxteam/"&gt;parallel team’s blog&lt;/a&gt; to download the &lt;a href="http://code.msdn.microsoft.com/ParExtSamples"&gt;corp-demos from there&lt;/a&gt;.&lt;/p&gt; &lt;iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-d37c9d7bfbce8418.skydrive.live.com/embedicon.aspx/Public/Presentations/20100326^_BigDays2010^_Parallel^_Demos.zip" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;&amp;#160; &lt;iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-d37c9d7bfbce8418.skydrive.live.com/embedicon.aspx/Public/Presentations/20100326^_BigDays2010^_Parallel^_Presentation.pdf" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;&lt;strong&gt;Visual Studio 2010 Application Life-Cycle Management – Double-Pack with &lt;/strong&gt;&lt;a href="http://blogs.msdn.com/knom"&gt;&lt;strong&gt;Max&lt;/strong&gt;&lt;/a&gt;     &lt;br /&gt;Delivering a session with &lt;a href="http://blogs.msdn.com/knom"&gt;Max&lt;/a&gt; is always great fun and cool. So it was this year at BigDays – the first time we delivered a session together at BigDays although we’re working in the same team for about 4 years, now (damn, time’s moving so fast)! In this session we walked through a complete life-cycle with the new features of VS 2010 in project management, architecture and especially testing. As the code was not so important during this session, I’ll publish the slides, only. &lt;a href="http://www.codefest.at/post/2010/03/30/Big3eDays-2010-Developer-Sessions-zu-Web-Entwicklung-und-Visual-Studio-2010-NET-40-online!.aspx"&gt;You should watch the session recording on the session.&lt;/a&gt;&lt;/p&gt; &lt;iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-d37c9d7bfbce8418.skydrive.live.com/embedicon.aspx/Public/Presentations/20100326^_BigDays2010^_VisualStudio2010^_ALM.pdf" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;If you have any further questions, feel free getting in touch with me. As mentioned, I’ll create some postings with details during the next week.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9991846" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Presentations+_2D00_+Demos+_2D00_+Samples/">Presentations - Demos - Samples</category></item><item><title>ASP.NET MVC 1.0 / Visual Studio 2008 Projects in Visual Studio 2010 RC</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/03/05/asp-net-mvc-1-0-visual-studio-2008-projects-in-visual-studio-2010-rc.aspx</link><pubDate>Fri, 05 Mar 2010 11:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9973460</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9973460</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/03/05/asp-net-mvc-1-0-visual-studio-2008-projects-in-visual-studio-2010-rc.aspx#comments</comments><description>&lt;P&gt;If you're experiencing problems upgrading your MVC-projects, check out this blog post. It shows a solution for the upgrade-problems you typically run into:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blog.codingoutloud.com/2010/03/02/asp-net-mvc-1-0-visual-studio-2008-project-will-not-open-in-visual-studio-2010-rc-or-beta/"&gt;http://blog.codingoutloud.com/2010/03/02/asp-net-mvc-1-0-visual-studio-2008-project-will-not-open-in-visual-studio-2010-rc-or-beta/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Thanks to Bill Wilder for posting...&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9973460" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Hints+and+Tricks/">Hints and Tricks</category></item><item><title>Windows Azure Dev Fabric, WCF Service for AJAX not working due to an HTTP 404.3 Error – and the easy solution;)</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/02/26/windows-azure-wcf-service-for-ajax-not-working-due-to-an-http-404-3-error-and-the-easy-solution.aspx</link><pubDate>Fri, 26 Feb 2010 14:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9969922</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9969922</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/02/26/windows-azure-wcf-service-for-ajax-not-working-due-to-an-http-404-3-error-and-the-easy-solution.aspx#comments</comments><description>&lt;P&gt;Recently at my home machine I ran into a strange issue while developing an application for our Windows Azure winning game with the development fabric.&lt;/P&gt;
&lt;P&gt;I added a &lt;STRONG&gt;WCF AJAX Service&lt;/STRONG&gt; and tried to use it. Everything compiled fine and when running the ASP.NET web application in the local ASP.NET development web server anything worked. Then I created a Azure Cloud Service and added the working web application as a web role to the project.&lt;/P&gt;
&lt;P&gt;I then tried to debug it and suddenly the AJAX types were not recognized anymore in my client-side JavaScript as shown in the following screen-shot.&lt;/P&gt;
&lt;P align=center&gt;&amp;nbsp;&lt;A href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/WindowsAzureWCFServiceforAJAXandH.3Error_D6E6/image01%5B1%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/WindowsAzureWCFServiceforAJAXandH.3Error_D6E6/image01%5B1%5D.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image01[1] border=0 alt=image01[1] src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/WindowsAzureWCFServiceforAJAXandH.3Error_D6E6/image01%5B1%5D_thumb.jpg" width=468 height=232 mce_src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/WindowsAzureWCFServiceforAJAXandH.3Error_D6E6/image01%5B1%5D_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;When I tried navigate to my AjaxService.svc hosted in the Azure development fabric in a browser, I got an error as shown in the following image – &lt;STRONG&gt;it was an HTTP 404.3 telling me, that the requested page cannot be found or maybe the MIME-type was not registered.&lt;/STRONG&gt; Strange error message anyway.&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/WindowsAzureWCFServiceforAJAXandH.3Error_D6E6/image02%5B1%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/WindowsAzureWCFServiceforAJAXandH.3Error_D6E6/image02%5B1%5D.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image02[1] border=0 alt=image02[1] src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/WindowsAzureWCFServiceforAJAXandH.3Error_D6E6/image02%5B1%5D_thumb.jpg" width=424 height=339 mce_src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/WindowsAzureWCFServiceforAJAXandH.3Error_D6E6/image02%5B1%5D_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The solution – &lt;STRONG&gt;Installing the WCF HTTP and TCP activation through the control panel as shown in the following screen-shot&lt;/STRONG&gt;. I know it’s documented:) I just forgot about because anything for web development except these two options where installed on my home-machine, already… &lt;/P&gt;
&lt;P&gt;Therefore I thought it’s useful posting this hint.&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/WindowsAzureWCFServiceforAJAXandH.3Error_D6E6/image03%5B1%5D.jpg" mce_href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/WindowsAzureWCFServiceforAJAXandH.3Error_D6E6/image03%5B1%5D.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image03[1] border=0 alt=image03[1] src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/WindowsAzureWCFServiceforAJAXandH.3Error_D6E6/image03%5B1%5D_thumb.jpg" width=461 height=405 mce_src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/WindowsAzureWCFServiceforAJAXandH.3Error_D6E6/image03%5B1%5D_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P align=left&gt;The installation of these two components within the control panel solved the whole problem. So if you run into the same problem, check first, if these are installed;)&lt;/P&gt;
&lt;P align=left&gt;Hope that helps…&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9969922" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Hints+and+Tricks/">Hints and Tricks</category></item><item><title>Fans of Zune HD will be fans of Windows Phone 7…</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/02/15/fans-of-zune-hd-will-be-fans-of-windows-phone-7.aspx</link><pubDate>Mon, 15 Feb 2010 18:11:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9963750</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9963750</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/02/15/fans-of-zune-hd-will-be-fans-of-windows-phone-7.aspx#comments</comments><description>&lt;p&gt;Today we watched the opening key note of MWC in Barcelona where Steve Ballmer shared the first details of Windows Phone 7.&lt;/p&gt;  &lt;p&gt;As some of you might know, last November I bought a &lt;a href="http://www.zune.net/en-us/products/zunehd/default.htm"&gt;Zune HD&lt;/a&gt; and I love this device:))) ... I just can say – if what they showed in the key note gets into my hands soon and if its really the same high quality as Zune HD I will love this phone...&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codefest.at/post/2010/02/15/Windows-Phone-7-e28093-Erste-Screenshots-Infos.aspx"&gt;Article from Max on codefest.at&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.windowsphone7series.com/"&gt;Official Home Page of Windows Phone 7 Series&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9963750" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Personal+Thoughts+_2D00_+My+Opinion/">Personal Thoughts - My Opinion</category></item><item><title>SQL Azure – Make ASP.NET Membership and Roles API work on your Cloud Database</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/02/10/sql-azure-make-asp-net-membership-and-roles-api-work-on-your-cloud-database.aspx</link><pubDate>Wed, 10 Feb 2010 10:17:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9961096</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9961096</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/02/10/sql-azure-make-asp-net-membership-and-roles-api-work-on-your-cloud-database.aspx#comments</comments><description>&lt;p&gt;In my last posting on the MSDN Briefing I outlined, that I migrated a sample that uses ASP.NET Membership API and Roles API for authenticating and authorizing users. Unfortunately the ASP.NET Membership and Roles API database as we know it does not work with SQL Azure as it uses some features not supported on SQL Azure.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Microsoft fortunately released updated scripts that you can use for creating a Membership and Roles API database that works with SQL Azure and with classic SQL Server:&lt;/strong&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://code.msdn.microsoft.com/KB2006191"&gt;&lt;strong&gt;&lt;font size="3"&gt;http://code.msdn.microsoft.com/KB2006191&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9961096" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Hints+and+Tricks/">Hints and Tricks</category></item><item><title>Cloud Computing &amp; Windows Azure – MSDN Briefing in Austria from January 26th</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/02/10/cloud-computing-windows-azure-msdn-briefing-in-austria-from-january-26th.aspx</link><pubDate>Wed, 10 Feb 2010 10:14:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9961094</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9961094</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/02/10/cloud-computing-windows-azure-msdn-briefing-in-austria-from-january-26th.aspx#comments</comments><description>&lt;p&gt;On January 26th I presented at our MSDN-Briefing on &lt;strong&gt;Cloud Computing&lt;/strong&gt; and &lt;strong&gt;Windows Azure&lt;/strong&gt;. During the session I introduced our (and my) point-of-view on Cloud Computing. Within the demos I migrated my good old &lt;a href="http://blogs.msdn.com/mszcool/archive/2009/06/16/technical-university-of-vienna-presentation-from-last-week-building-a-micro-blog-engine-with-asp-net-3-5-and-asp-net-ajax.aspx"&gt;MicroBlog sample&lt;/a&gt; I created for a presentation at the technical university of Vienna last year to run on Windows Azure.&lt;/p&gt;  &lt;p align="center"&gt;Downloads: &lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/MSDN%20Briefing/20100126-MsdnBriefingAzure.pdf"&gt;presentation here&lt;/a&gt;, &lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/MSDN%20Briefing/20100126-MsdnBriefingAzure.zip"&gt;demo here&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://www.codefest.at/post/2010/02/10/Cloud-Computing-Tutorial-10-e28093-MSDN-Briefing-vom-2612010.aspx"&gt;Codefest.at posting incl. links to recordings (German, only)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here are the little challenges I had for the migration outlined (please note, that this is just a simple sample – for bigger apps you definitely will run in some more issues – Rainer Stropek and I will talk about these in our Session at BigDays 2010 in March):&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;MicroBlog was a Web Site project – Azure requires Web Application Projects. So I had to convert the project. For doing so, follow these steps:&lt;/li&gt;    &lt;ol&gt;     &lt;ol&gt;       &lt;li&gt;Create a new Web Application Project in the same solution as you have your Web Site Project.&lt;/li&gt;        &lt;li&gt;Copy all Contents from the Web Site Project to the Web Application Project.&lt;/li&gt;        &lt;li&gt;Right-click the web application project and select “Convert to Web Application Project” from the context menu.&lt;/li&gt;        &lt;li&gt;Fix remaining compile errors or other errors (namespace changes etc.)&lt;/li&gt;     &lt;/ol&gt;   &lt;/ol&gt;    &lt;li&gt;The ASP.NET Membership API and Roles API scripts and aspnet_regsql both do not work on SQL Azure because they’re using features not supported by SQL Azure. Fortunately Microsoft released a fixed set of scripts and a tool called aspnet_regsqlazure to solve this problem and make Membership API and Roles API available for SQL Azure: &lt;/li&gt;    &lt;ol&gt;     &lt;ol&gt;       &lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/KB2006191"&gt;http://code.msdn.microsoft.com/KB2006191&lt;/a&gt;&lt;/li&gt;     &lt;/ol&gt;   &lt;/ol&gt; &lt;/ol&gt;  &lt;p&gt;The remaining parts of the application worked pretty well, of course I extended it during the briefing to use Blob- and Table-Storage. But more on that hopefully in later posts.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9961094" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Presentations+_2D00_+Demos+_2D00_+Samples/">Presentations - Demos - Samples</category></item><item><title>Bitlocker in a Windows 7 Guest running on a Hyper-V R2 environment (or any environment without a TPM)</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/02/03/bitlocker-in-a-windows-7-guest-running-on-a-hyper-v-r2-environment-or-any-environment-without-a-tpm.aspx</link><pubDate>Wed, 03 Feb 2010 09:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9956887</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9956887</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/02/03/bitlocker-in-a-windows-7-guest-running-on-a-hyper-v-r2-environment-or-any-environment-without-a-tpm.aspx#comments</comments><description>&lt;p&gt;Today I am ill and lying in the bed with a medium temperature… but honestly, I can’t lie in bed the whole day doing nothing, even when being ill… so I tried something…&lt;/p&gt;  &lt;p&gt;First of all, I haven’t invented this article, I just modified it to match a Windows 7 installation running in a Hyper-V R2 environment. The original information is coming from &lt;a href="http://blogs.msdn.com/virtual_pc_guy/archive/2008/01/23/using-bitlocker-under-virtual-pc-virtual-server.aspx"&gt;here&lt;/a&gt;, &lt;a href="http://www.sevenforums.com/tutorials/4681-bitlocker-drive-encryption-windows-7-drive-turn-off-no-tpm.html"&gt;here&lt;/a&gt; and &lt;a href="http://www.ravichaganti.com/blog/?p=64"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;To use Bitlocker in a Windows 7-Guest on a Hyper-V environment follow these steps:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Create a new virtual floppy disk. &lt;/li&gt;    &lt;li&gt;Create a new guest VM with the settings you need. &lt;/li&gt;    &lt;li&gt;Install Windows 7 Ultimate on that guest VM. Other than described in the previous articles &lt;a href="http://www.ravichaganti.com/blog/?p=64"&gt;here&lt;/a&gt;, usage of diskpart is not necessary. Just perform an ordinary install as you would do on a physical or any other VM where you don’t need to use Bitlocker. &lt;/li&gt;    &lt;li&gt;Now the trick comes – you need to update the group policy to allow Bitlocker running on a machine without a TPM-chip installed, as Hyper-V. For this purpose follow the steps below: &lt;/li&gt;    &lt;ol&gt;     &lt;ol&gt;       &lt;li&gt;Open a Command Prompt as Administrator &lt;/li&gt;        &lt;li&gt;Type gpedit.msc and hit ENTER to start the Group Policy Editor. &lt;/li&gt;        &lt;li&gt;Navigate to “Computer Configuration” - “Administrative Templates” - “Windows Components” - “Bitlocker Drive Encryption” - “Operating System Drives”          &lt;br /&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/BitlockerinaWindows7GuestrunningonaHyper_A2B9/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/BitlockerinaWindows7GuestrunningonaHyper_A2B9/image_thumb_2.png" width="449" height="338" /&gt;&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;Double-Click “Require additional authentication at startup” &lt;/li&gt;        &lt;li&gt;In here, configure as shown below: Enable the policy and check the “Allow Bitlocker without compatible TPM” option:          &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/BitlockerinaWindows7GuestrunningonaHyper_A2B9/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/BitlockerinaWindows7GuestrunningonaHyper_A2B9/image_thumb_3.png" width="449" height="338" /&gt;&lt;/a&gt;&amp;#160; &lt;/li&gt;     &lt;/ol&gt;   &lt;/ol&gt;    &lt;li&gt;Switch back to the command prompt and type the following command:      &lt;br /&gt;&lt;strong&gt;cscript c:\Windows\System32\manage-bde.wsf -on C: -rp -sk A:&lt;/strong&gt;      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/BitlockerinaWindows7GuestrunningonaHyper_A2B9/image_10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/BitlockerinaWindows7GuestrunningonaHyper_A2B9/image_thumb_4.png" width="449" height="338" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Now closely look at the output of the command prompt window. It asks you to restart your machine for validating Bitlocker encryption. Make sure that your previously created and formatted virtual floppy disk remains attached in the VM-settings. Otherwise you can’t boot the machine as the key is stored on this virtual floppy.&lt;/li&gt;    &lt;li&gt;Reboot your machine.&lt;/li&gt;    &lt;li&gt;After the reboot, Bitlocker encryption will start automatically.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Of course you might ask, why I tried this out!?&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Well, it happens sometimes that when preparing a presentation or working on a tricky problem for a customer, it’s better doing this at home where I can work quietly and therefore much more productive than in our Microsoft office where every n minutes someone passes by and asks questions or starts a discussion.&lt;/p&gt;  &lt;p&gt;At home I am working on my power workstations which are much faster and more powerful than any notebook. The problem - while working at home, I often need full access to the corporate network. This is possible, only, if you have a machine joined to our Microsoft domain and – since the release of Windows 7 – that has Bitlocker installed. And honestly, I don’t want to join my private machine into the corp.-network, so my idea was running a VM on my Hyper-V server at home, that is joined to the corp.-domain&lt;/p&gt;  &lt;p&gt;I had a similar idea for another reason – as you know we’re in a team where we’re working a lot with pre-release and beta-software. As pre-release software is typically not performance-optimized and carries a lot of debug-symbols etc. with it, it’s performance requirements are typically higher. So it’s better running that stuff on a physical system. So what my thought is: I have a stable, released-software-only VM running on a Hyper-V in our office, as well, that is joined to the corporate network and that I can use while installing another demo-environment on my physical machine. And again, the virtual machine joined to corp-net must use Bitlocker per our policy. So, another case where Bitlocker in a VM makes sense.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9956887" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Hints+and+Tricks/">Hints and Tricks</category></item><item><title>Redbull Stratos – Felix Baumgartner, his mission to space and a little Austrian Microsoft team...</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/01/25/redbull-stratos-felix-baumgartner-his-mission-to-space-and-a-little-austrian-microsoft-team.aspx</link><pubDate>Mon, 25 Jan 2010 13:23:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9952938</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9952938</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/01/25/redbull-stratos-felix-baumgartner-his-mission-to-space-and-a-little-austrian-microsoft-team.aspx#comments</comments><description>&lt;p&gt;Well, one none-technical article as an exception;)&lt;/p&gt;  &lt;p&gt;Since last Friday right after the press-conference in New York and the official announcement during Redbull’s media evening in Kitzbühel, &lt;a href="http://john-robert.com/"&gt;Robert John&lt;/a&gt;, Lukas Cudrigh and I are especially proud of &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.redbullstratos.com"&gt;http://www.redbullstratos.com&lt;/a&gt; (full site)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://m.redbullstratos.com"&gt;http://m.redbullstratos.com&lt;/a&gt; (mobile site incl. iPhone support)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://john-robert.com/"&gt;Robert&lt;/a&gt; started the conversation right after an enterprise briefing organized by the account team with Redbull media house &lt;strong&gt;about 6 months ago&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.redbullstratos.com"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 5px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/RedbullStratosFelixBaumgartnerhismission_C712/image_3.png" width="292" height="190" /&gt;&lt;/a&gt; Together with &lt;strong&gt;Lukas Cudrigh&lt;/strong&gt;, Director for digital marketing and online media initiatives in Redmond, Robert started the discussion with &lt;a href="http://www.redbullmediahouse.com/"&gt;Redbull Mediahouse&lt;/a&gt; on the stratos web presence using Silverlight, IIS 7.0 smooth streaming and ASP.NET ... and a number of other digital media ideas.&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://www.redbullstratos.com"&gt;Stratos web site&lt;/a&gt; is hopefully just the first visible step of a number of great and innovative projects.&lt;/p&gt;  &lt;p&gt;Although &lt;strong&gt;I was just a little technical help&lt;/strong&gt; to make this project real (did some prototyping with Silverlight and also Bing maps etc. but the real implementation of the whole web presence is and was done by &lt;a href="http://www.terralever.com"&gt;Terralever&lt;/a&gt; together with Microsoft corp. and Lukas’ team), I think &lt;a href="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/RedbullStratosFelixBaumgartnerhismission_C712/Photo-0030%5B1%5D_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 5px 0px 5px 15px; display: inline; border-top: 0px; border-right: 0px" title="Photo-0030[1]" border="0" alt="Photo-0030[1]" align="right" src="http://blogs.msdn.com/blogfiles/mszcool/WindowsLiveWriter/RedbullStratosFelixBaumgartnerhismission_C712/Photo-0030%5B1%5D_thumb.jpg" width="193" height="157" /&gt;&lt;/a&gt; together (and especially Robert who sat in lots of nightly conference calls with Lukas to finalize the contracts and all related things in time) we can be very proud of this. It’s so great working with a company like Redbull who is really strong in “just doing cool things” (what is very untypical for Austria;)).&lt;/p&gt;  &lt;p&gt;I hope you’ll see some of the other things we’ve started, very soon...&lt;/p&gt;  &lt;p&gt;It’s pretty cool being part of this scientific trip;)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9952938" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Personal+Thoughts+_2D00_+My+Opinion/">Personal Thoughts - My Opinion</category></item><item><title>Nice Browser HTML/JavaScript Trick based on yesterday’s expert chat on derStandard.at – avoid “Unknown Runtime Error” in IE while setting innerHTML of a &lt;tr&gt;-tag...</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/01/21/nice-browser-html-javascript-trick-based-on-yesterday-s-expert-chat-on-derstandard-at-avoid-unknown-runtime-error-in-ie-while-setting-innerhtml-of-a-tr-tag.aspx</link><pubDate>Thu, 21 Jan 2010 08:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9951321</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9951321</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/01/21/nice-browser-html-javascript-trick-based-on-yesterday-s-expert-chat-on-derstandard-at-avoid-unknown-runtime-error-in-ie-while-setting-innerhtml-of-a-tr-tag.aspx#comments</comments><description>&lt;P&gt;Yesterday someone during our Cloud-Computing chat at derstandard.at (see &lt;A href="http://derstandard.at/1262209524950/Chat-Nachlese-Wir-machen-uns-gern-selbst-das-Leben-schwer" mce_href="http://derstandard.at/1262209524950/Chat-Nachlese-Wir-machen-uns-gern-selbst-das-Leben-schwer"&gt;here&lt;/A&gt;) someone asked me why his JavaScript and HTML work in any browser but not IE incl. IE8... See the problem in his code and a solution below (you can download the solution &lt;A href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Various/20100120%5e_derStandard%5e_Chat%5e_HtmlJavaScriptTip.zip" mce_href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Various/20100120%5e_derStandard%5e_Chat%5e_HtmlJavaScriptTip.zip"&gt;here&lt;/A&gt;)… &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;Problem – He posted the following code below:&lt;/SPAN&gt;&lt;BR&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;When launching his code, IE fails while executing the JavaScript below when trying to set the &lt;STRONG&gt;innerHMTL&lt;/STRONG&gt; of the &lt;STRONG&gt;&amp;lt;tr ="q"/&amp;gt;&lt;/STRONG&gt; tag. Unfortunately IE's error message isn't really helpful because it just gives us a stupid "Unknown Runtime Error" which is really annoying. &lt;/P&gt;
&lt;P&gt;Unfortunately the IE-engine below is right with saying that what we're doing is incorrect, unfortunately it doesn't tell us the reason. So what is the reason? Whenever setting the innerHTML of an element with JavaScript DOM, IE calls an internal method called ValidateObject which validates the current HTML element DOM-tree whether is right or not. The method implements a &lt;STRONG&gt;very strong validation&lt;/STRONG&gt; and this validation says, that a &lt;STRONG&gt;&amp;lt;tr&amp;gt;-tag can contain only child-nodes (more exactly td or th) but not any text or HTML. Therefore the method says, that calling innerHTML on a &amp;lt;tr&amp;gt;-element is not valid – you need to add new "elements" to a tr-element (as it can contain elements, only) by using createChildElement() and appendChild().&lt;/STRONG&gt; Scroll down to the bottom of this post to see, which code is working for both, IE and Firefox (I've tested it with IE8 and Firefox 3.5.7!!!). &lt;/P&gt;
&lt;P&gt;HTML file: &lt;/P&gt;
&lt;P style="MARGIN-LEFT: 36pt"&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" &lt;BR&gt;"http://www.w3.org/TR/xhtml1... t.dtd"&amp;gt;&lt;BR&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&amp;gt; &lt;BR&gt;&amp;lt;head&amp;gt; &lt;BR&gt;&amp;lt;title&amp;gt;Test&amp;lt;/title&amp;gt; &lt;BR&gt;&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&amp;gt; &lt;BR&gt;&amp;lt;script type="text/javascript" src="test.js" mce_src="test.js"&amp;gt;&amp;lt;/script&amp;gt; &lt;BR&gt;&amp;lt;/head&amp;gt; &lt;BR&gt;&amp;lt;body&amp;gt; &lt;BR&gt;&amp;lt;table&amp;gt; &lt;BR&gt;&amp;lt;tr id="q"&amp;gt;&amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;BR&gt;&amp;lt;/table&amp;gt; &lt;BR&gt;&amp;lt;p&amp;gt;&amp;lt;input type="hidden" id="c" value="ab cd e fg " /&amp;gt;&amp;lt;/p&amp;gt; &lt;BR&gt;&amp;lt;/body&amp;gt; &lt;BR&gt;&amp;lt;/html&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Javascript file (test.js) &lt;/P&gt;
&lt;P style="MARGIN-LEFT: 36pt"&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt;var i = 0; &lt;BR&gt;var j = 0; &lt;BR&gt;var itv; &lt;BR&gt;function init() { &lt;BR&gt;document.getElementById("q").innerHTML = ""; &lt;BR&gt;itv = window.setInterval("displayText()", 200); &lt;BR&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 36pt"&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt;function displayText() { &lt;BR&gt;var c = document.getElementById("c").value; &lt;BR&gt;var q = ""; &lt;BR&gt;while (c.substring(i, (i + 1)) != " ") { &lt;BR&gt;q = q + c.substring(i, (i + 1)); &lt;BR&gt;i++; &lt;BR&gt;} &lt;BR&gt;i++; j++; &lt;BR&gt;if (j == 4) { window.clearInterval(itv); } &lt;BR&gt;document.getElementById("q").innerHTML = document.getElementById("q").innerHTML + "&amp;lt;td&amp;gt;" + q + "&amp;lt;/td&amp;gt;"; &lt;BR&gt;} &lt;BR&gt;window.onload=init; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;The real Cross-Browser Solution for the Problem:&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Okay, as setting innerHTML on a &amp;lt;tr&amp;gt;-element doesn't work, the alternative approach would be using createElement() and appendChild(). I did exactly that and tested it in Firefox 3.5.7 and IE8… and guess what, it works:) see the correct JavaScript-code below (I didn't change anything on the HTML): &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; i = 0; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; j = 0; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; itv; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;function&lt;/SPAN&gt; init() { &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; element = document.createElement(&lt;SPAN style="COLOR: #a31515"&gt;"td"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; tr = document.getElementById(&lt;SPAN style="COLOR: #a31515"&gt;"q"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (tr.childNodes.length &amp;gt; 0) { &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: green"&gt;// Remove all childs - we know we have just one &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: green"&gt;// so just remove the first one &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;tr.removeChild(tr.childNodes.item(0)); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: green"&gt;// !!! Following line is Wrong, &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: green"&gt;// !!! because TR can only have "child-Nodes" &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; COLOR: green; FONT-SIZE: 9pt"&gt;// !!! in its object model and not any text or HTML &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: green"&gt;// !!! therefore --&amp;gt; innerHTML cannot be set!!! &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: green"&gt;//document.getElementById("q").innerHTML = ""; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: green"&gt;// Correct way works in both, Firefox and IE &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; emptyTd = document.createElement(&lt;SPAN style="COLOR: #a31515"&gt;"td"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: green"&gt;// Here works because TD can include any text and HTML&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;emptyTd.innerHTML = &lt;SPAN style="COLOR: #a31515"&gt;""&lt;/SPAN&gt;; &lt;SPAN style="COLOR: green"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;tr.appendChild(emptyTd); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;itv = window.setInterval(&lt;SPAN style="COLOR: #a31515"&gt;"displayText()"&lt;/SPAN&gt;, 200); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;function&lt;/SPAN&gt; displayText() { &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; c = document.getElementById(&lt;SPAN style="COLOR: #a31515"&gt;"c"&lt;/SPAN&gt;).value; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; q = &lt;SPAN style="COLOR: #a31515"&gt;""&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;while&lt;/SPAN&gt; (c.substring(i, (i + 1)) != &lt;SPAN style="COLOR: #a31515"&gt;" "&lt;/SPAN&gt;) { &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;q = q + c.substring(i, (i + 1)); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;i++; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;i++; j++; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (j == 4) { window.clearInterval(itv); } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: green"&gt;// What are you doing below, you're adding &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: green"&gt;// invalid HTML to a table row element (TR) which is supposed to have &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: green"&gt;// &amp;lt;td&amp;gt; or &amp;lt;th&amp;gt; elements, only - so don't wonder that this &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; COLOR: green; FONT-SIZE: 9pt"&gt;// won't work &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: green"&gt;//document.getElementById("q").innerHTML = &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; COLOR: green; FONT-SIZE: 9pt"&gt;// document.getElementById("q").innerHTML + "&amp;lt;td&amp;gt;" + q + "&amp;lt;/td&amp;gt;"; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; tr = document.getElementById(&lt;SPAN style="COLOR: #a31515"&gt;"q"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: green"&gt;// Append a new TD-node &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; newTd = document.createElement(&lt;SPAN style="COLOR: #a31515"&gt;"td"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;newTd.innerHTML = q; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;tr.appendChild(newTd); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New; FONT-SIZE: 9pt"&gt;window.onload = init; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;I hope I answered the question from the chat with this posting and I hope this posting helps others as well;) have a nice day...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9951321" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Presentations+_2D00_+Demos+_2D00_+Samples/">Presentations - Demos - Samples</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Hints+and+Tricks/">Hints and Tricks</category></item><item><title>Session with my current view on Microsoft’s Modeling Strategies: DSLs, UML and Software Factories</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/01/19/session-with-my-current-view-on-microsoft-s-modeling-strategies-dsls-uml-and-software-factories.aspx</link><pubDate>Tue, 19 Jan 2010 18:22:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9950460</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9950460</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/01/19/session-with-my-current-view-on-microsoft-s-modeling-strategies-dsls-uml-and-software-factories.aspx#comments</comments><description>&lt;p&gt;Yesterday I had the great pleasure of giving a session on Microsoft’s strategy on modeling, model driven architecture and it’s software factories idea. As last year it was great giving the session and I had much fun with it.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Note: &lt;/em&gt;&lt;/strong&gt;I’ve included screen-shots of the demos I built during the session in the presentation for the sake of completeness.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Various/201001-TU-Vienna-Microsoft-Modeling.pdf"&gt;Click here to download the presentation I gave.&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://cid-d37c9d7bfbce8418.skydrive.live.com/self.aspx/Public/Various/201001-Modeling-TU-Vienna-Projects.zip"&gt;Click here to download supporting demo projects.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;What do you need for opening the demos:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=83c3a1ec-ed72-4a79-8961-25635db0192b&amp;amp;displaylang=en"&gt;Visual Studio 2008 Professional or higher&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=fbee1648-7106-44a7-9649-6d9f6d58056e"&gt;Visual Studio 2008 Service Pack 1&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=e28205c6-bb07-401b-9a76-804784598bf0"&gt;Visual Studio 2008 Guidance Automation Toolkit&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=59ec6ec3-4273-48a3-ba25-dc925a45584d"&gt;Visual Stutio 2008 SDK&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://www.microsoft.com/visualstudio/en-us/try/default.mspx"&gt;Visual Studio 2010 Beta 2 (for the UML and modeling parts)&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Essentially the story summarized:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I think we still believe in software factories, but in a much more pragmatic way than at the very beginnings. As you can see, &lt;a href="http://msdn.microsoft.com/de-at/practices/bb232643(en-us).aspx"&gt;patterns and practices is working on upcoming releases&lt;/a&gt; of all our simple factories for Visual Studio 2010.&lt;/li&gt;    &lt;li&gt;I personally believe DSLs will take off as soon as building DSLs will get much easer. It’s still a path we have to go, but it’s good to know that Microsoft follows this path consequently by improving DSL tools and Visual Studio extensibility.&lt;/li&gt;    &lt;li&gt;We provide and improve our ability in Visual Studio to build Domain Specific Languages and extend Visual Studio with automated tasks in a very consistent way with Visual Studio 2010 (especially ultimate).&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;New&lt;/strong&gt; is our position to UML: with Visual Studio 2010 we started fully supporting the most important UML 2.x diagram types with artifacts needed most of the time. The UML tools are built based on an engine in Visual Studio combined with DGML and the DSL-toolkit which underpins the previous two points. The only caveat is that we just support reverse engineering with the current 2010-version of the diagrams. But I am confident that more will come, especially because the team built really an extensible modeling-engine into the tool-set with VS 2010!!&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you want to read more on current activities around UML, DSLs, the DSL toolkit and the Visual Studio SDK, I’d recommend you check-out the following blogs:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.msdn.com/camerons/archive/tags/Architecture+Edition/default.aspx" href="http://blogs.msdn.com/camerons/archive/tags/Architecture+Edition/default.aspx"&gt;http://blogs.msdn.com/camerons/archive/tags/Architecture+Edition/default.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.msdn.com/stuart_kent/archive/tags/DSL+Tools/default.aspx" href="http://blogs.msdn.com/stuart_kent/archive/tags/DSL+Tools/default.aspx"&gt;http://blogs.msdn.com/stuart_kent/archive/tags/DSL+Tools/default.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.msdn.com/jmprieur/" href="http://blogs.msdn.com/jmprieur/"&gt;http://blogs.msdn.com/jmprieur/&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9950460" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Architectural+Thoughts/">Architectural Thoughts</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Presentations+_2D00_+Demos+_2D00_+Samples/">Presentations - Demos - Samples</category></item><item><title>Windows 7 God Mode – Even more Folder GUIDs</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/01/07/windows-7-god-mode-even-more-folder-guids.aspx</link><pubDate>Thu, 07 Jan 2010 11:37:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9945095</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9945095</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/01/07/windows-7-god-mode-even-more-folder-guids.aspx#comments</comments><description>&lt;p&gt;If you’ve read my &lt;a href="http://blogs.msdn.com/mszcool/archive/2010/01/04/winhappy-new-year-2010-a-gift-windows-7-god-mode.aspx"&gt;previous post&lt;/a&gt; on Windows 7 God-Mode, there are a number of further special folder short-cuts you can use in a similar way. The complete list of GUIDs for the special folder short cuts can be found on MSDN here:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee330741(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/ee330741(VS.85).aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9945095" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Personal+Thoughts+_2D00_+My+Opinion/">Personal Thoughts - My Opinion</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Hints+and+Tricks/">Hints and Tricks</category></item><item><title>WinHappy New Year 2010 – A Gift – Windows 7 God Mode</title><link>http://blogs.msdn.com/b/mszcool/archive/2010/01/04/winhappy-new-year-2010-a-gift-windows-7-god-mode.aspx</link><pubDate>Mon, 04 Jan 2010 12:52:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9943329</guid><dc:creator>mszCool [mario]</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/mszcool/rsscomments.aspx?WeblogPostID=9943329</wfw:commentRss><comments>http://blogs.msdn.com/b/mszcool/archive/2010/01/04/winhappy-new-year-2010-a-gift-windows-7-god-mode.aspx#comments</comments><description>&lt;p&gt;Hello everybody and a happy new year. I just read &lt;a href="http://www.windowsblog.at/post/2010/01/04/Windows-7-GodMode.aspx"&gt;a cool blog post from Georg Binder in Austria&lt;/a&gt; describing, how-to get to &lt;strong&gt;Windows 7 God Mode&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;What is Windows 7 God Mode?&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;A special folder short cut with quick graphical access to an extended control panel with much more configuration options.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;How-to get to Windows 7 God Mode?&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Create a new folder (right-click and click on “New Folder”). Right-click on the folder and click on rename, copy and paste this: &lt;b&gt;GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Thanks, &lt;a href="http://www.facebook.com/georg.binder"&gt;Georg&lt;/a&gt;, for posting this… it’s funny:)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9943329" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Personal+Thoughts+_2D00_+My+Opinion/">Personal Thoughts - My Opinion</category><category domain="http://blogs.msdn.com/b/mszcool/archive/tags/Hints+and+Tricks/">Hints and Tricks</category></item></channel></rss>
