tisdag, november 06, 2012

Windows Azure is fast!

http://www.meetwindowsazure.com/fast har Windows Azure teamet i Redmond lagt upp en tävling som går ut på att man ska visa något snabbt på Windows Azure. Tävlingen pågår till 9 november och är öppen även för svenskar!

Så spela in en kort video och ladda upp den på http://www.meetwindowsazure.com/fast så har du en chans att vinna en resa till Las Vegas!

Om inte annat så kan du gå in och rösta på några av de svenska bidragen från Magnus Mårtensson och Alan Smith.


 
 
Om du skickar in ett eget bidrag så maila mig så ska jag lägga upp en länk till den här!

tisdag, oktober 23, 2012

Dev.Lunch - Windows Azure



Windows Azure har vuxit!

I och med de senaste nyheterna i Windows Azure har plattformen vuxit enormt mycket. Saker som tidigare inte har varit möjligt, går att göra och saker som tidigare varit svårt, löser man på minuter! Grunden i Windows Azure är att plattformen ska vara flexibel, öppen och stabil.


Med flexibel menar vi att Windows Azure ska kunna anpassas efter just dina behov. Det spelar ingen roll om du utvecklar något helt nytt eller om du vill migrera något existerande. Det spelar ingen roll om du behöver kapacitet för 10 000 samtidiga användare eller om du bara vill använda din tjänst ett dygn i månaden. Det finns lösningar för allt!


Windows Azure är en öppen plattform. Du väljer om du vill utveckla i t ex .NET, PHP eller Java. Du väljer om du vill utveckla på Windows eller Mac. Du väljer om du vill drifta din lösning i Windows eller Linux och du väljer om du själv vill köra det som en IaaS-lösning med Virtual Machines eller om du vill bygga Cloud Services på vår PaaS-plattform.


När man bygger verksamhetskritiska system med ett backend i Windows Azure är stabiliteten så klart väldigt viktig. Men det är också lika viktigt för appen du just publicerat till Windows Store. Med ett SLA på 99,95 % garanterar vi att din app är tillgänglig när du behöver den!

Vi vill bjuda in till en serie online seminarier där du får lära dig mer om Windows Azure. Seminarierna ligger under lunchtid så att det inte stör den ordinarie arbetsdagen - du lyssnar och äter din lunch samtidigt!
29 oktober 2012      Dev Lunch - Introduktion till Windows Azure
5 november 2012    Dev Lunch - Windows Azure för apputvecklare
12 november 2012  Dev Lunch - Windows Azure för webbutvecklare
19 november 2012  Dev Lunch - Windows Azure Virtual Machines
26 november 2012  Dev.Lunch - Windows Azure - Integration and messaging in Windows Azure


Anmälan dig på http://aka.ms/DevLunchAzure

torsdag, oktober 18, 2012

Leap Sweden 2013

Nu är det dags för Leap Sweden 2013! Vill du lära dig mer om Microsofts plattform? Då är Leap-programmet för dig!




Programmet är uppdelat i två delar. The Stockholm Sessions är fem tillfällen då vi med hjälp av olika föreläsare går igenom specifika delar i Microsofts plattform. Programmet avslutas med en resa till Redmond där talare från Microsoft Corporation fördjupar ytterligare inom olika ämnen.

Schema

3:e december (halvdag inklusive middag)
Application architecture on the Microsoft Platform
4:e februari
Cloud computing for Architects
24:e januari
Identity & Access Management
21:e februari
App development and the modern web
21:e mars
Integration on premises and in the cloud

9:e – 11:a april
Tre heldagar med sessioner på Microsofts huvudkontor i Redmond samt diverse evenemang!

Registrering

Kostanden för programmet är SEK 19.900. Deltagaren är själv ansvarig för alla kostnader relaterat till resa och uppehälle, både för The Stockholm Sessions samt för Redmond Sessions. Mat och transporter ingår i Redmond.
Sista dag för anmälan är den 19:a november och anmälan sker på http://aka.ms/LeapSweden
Här finns en presentation med all information!

lördag, oktober 06, 2012

Personlig information i en Windows Store App

Att hantera personlig information i appar och siter är omgärdat av många lagar och regler. Jag kommer inte att gå in på något gällande PUL eller datalagringsdirektiv utan förutsätter att sådant är klart och utrett och nu är det dags att publicera en app till Windows Store. Vad ska man då tänka på och hur löser man det på ett enkelt sätt?

När du ska publicera en app till Windows Store så måste du ha en Privacy Policy. Min kollega Dag König har skrivt en bra blogpost om sina erfarenheter från att publicerat en app. Det jag tänkte visa här är hur man enkelt kan lägga till kod i sin app för att lägga en länk i settings charm som visar din privacy policy.

I processen att skicka in en app till WIndows Store så kommer man till ett läga där man ska ange en url till sin Privacy Policy. Den måste alltså finnas publicerad på något publikt ställe där dina användare kan läsa den. Jag skapade sidor här på bloggen för mina olika policies:

Privacy Policy för Leads Machine
http://bjorneriksen.blogspot.com/p/leads-machine-integritetspolicy.html
http://bjorneriksen.blogspot.com/p/leads-machine-privacy-policy.html

Privacy Policy för Movy
http://bjorneriksen.blogspot.com/p/movy-privacy-policy.html
http://bjorneriksen.blogspot.com/p/movy-integritetspolicy.html

Observer att din policy måste skrivas i samma språk som du har stöd för i din app. Så om du har stöd för svenska och engelska så behövs det två policys. Vet dock inte om man skulle kunna lägga dem på samma sida och bara hänvisa till den i bägge fallen.

Men det räcker inte. Du behöver också någonstans i din app visa eller länka till din privacy policy. I min app Movy skapade jag en hel panel som man får fram via settings charm:






Ännu enklare är att bara lägga till en länk i settings charm och peka på samma sida som du hänvisar till från Windows Store.

På MainPage.xaml.cs lägger kan man lägga till:

        public MainPage()
        {
            this.InitializeComponent();
            SettingsPane.GetForCurrentView().CommandsRequested += App_CommandsRequested;
        }

        private void App_CommandsRequested(SettingsPane sender, SettingsPaneCommandsRequestedEventArgs args)
        {
            var privacyCommand = new SettingsCommand("Privacy", "Privacy policy", async (command) =>
                            {
                                await Launcher.
                                    LaunchUriAsync(new Uri("http://bjorneriksen.blogspot.com/p/ms-sweden-talk-privacy-policy.html"));
                            });
            args.Request.ApplicationCommands.Add(privacyCommand);
        }

Enterprise Authentication i Windows Store App

Idag fick jag lära mig den hårda vägen vad det innebär att använda sig av den capability, eller förmåga, i en Windows Store Application som heter Enterprise Authentication.


Tanken jag hade var att använda mig av UserInformation objektet i WinRT för att hämta ut information om inloggad användare. Min app ska bara vara tillgänglig för användare som har ett konto på Microsofts domän. Jag ville också hämta ut fullständigt namn och e-postadress.

private async Task<User> GetUserInformationAsync()
{var user = new User();

user.DomainName = await Windows.System.UserProfile.UserInformation.GetDomainNameAsync();

user.FirstName = await Windows.System.UserProfile.UserInformation.GetFirstNameAsync();

user.LastName = await Windows.System.UserProfile.UserInformation.GetLastNameAsync();

user.PrincipalName = await Windows.System.UserProfile.UserInformation.GetPrincipalNameAsync();

return user;
}

Om man kör ovan kod utan att ha Enterprise Authentication Capability så får man följnade fel:
 
System.UnauthorizedAccessException occured in mscorelib.dll.
Caller does not have the EnterpriseAuthentication capability.
 
Så långt inga problem. Jag markerade Enterprise Authentication som en capability för min app och kodade vidare. När jag var klar och skulle skicka in appen för certifiering så fallerade den redan i Windows App Certification Kit. Eller rättare sagt, jag fick en varning och den varningen kan jag inte ta mig förbi.
 
App Capabilities test
WARNING
Special Use Capabilities

  • Warning: The app has declared the following special use capabilities:
    • The app has declared the enterpriseAuthentication capability.
  • Impact if not fixed: If you don’t have a company account with the Windows Store, you won’t be able to upload this app. If you do have a company account, you’ll be required to provide justification during the submission process to support using this capability.
  • How to fix: Special use capabilities are intended for very specific scenarios. Only company accounts are allowed to use these capabilities. In addition, use of these capabilities is highly restricted and subject to additional Windows Store onboarding policy and review. Consider removing the special use capability if your app doesn’t require it.  
 
Det som är intressant i texten ovan är att den säger att jag måste ha ett Company account för att få använda mig av Enterprise Authentication capability. Processen för att skapa ett annorlunda jämfört med ett vanligt konto och man kan läsa mer om den här.
 
Så för min del är jag tillbaka på ruta ett när det gäller hur jag ska autentisera mina användare. Har fått några förslag från en kollega så vi får se var det slutar!


tisdag, oktober 02, 2012

Vill du ha stöd när du utvecklar en Windows Store app?

Har du en Windows 8 app på gång, sugen på att starta eller stött på problem?

Då ska du kontakta Jessica Engström! Hon slussar dig vidare genom hela processen och kommer göra sitt yttersta för att du ska få den hjälp du behöver!

Om du skickar länken till din publicerade app till Jessica innan den 25 oktober kl 24:00 (CET) så belönas du dessutom med ett presentkort som täcker kostnaden för ditt Windows Store konto.

De 10 första som skickar in länken får en Xbox 360 250GB med Kinect!


Kontakta Jessica via:
E-mail: b-jeengs@microsoft.com
Tel: 0722-84 36 77
Telefontid: Måndag, torsdag, fredag 11-16, tisdag och onsdag 14-19
Twitter: @grytlappen

Det är bra om du kan skicka följande information:
Företag/Namn
APPnamn och beskrivning
Telefon
E-post

tisdag, september 25, 2012

Badge Logo till en Windows Store app

I min senaste app behövde jag skapa en Badge Logo. En Badge Logo pekas ut i Package.appxmanifest under sektionen Notifications och används på lock screen för att visa notifieringar från en app. Det är inget krav att peka ut en Badge Logo men om din app kan ta emot toasts så måste du ha en Badge Logo och då måste den också vara korrekt. En felaktig Badge Logo kommer att göra så att ni app inte klarar certifieringen.


Exempel på en Badge Logo in action:


När jag så här i efterhand tittar på bilden ovan så är det helt uppenbart hur man ska göra en Badge Logo men när jag satt och bara vill få min app certifierad var det inte lika uppenbart.

Reglerna säger:
"A logo image that is shown next to the badge to identify the app. This image must be monochromatic, of type .png, and measure 24 x 24 pixels."

Det felmeddelande man får när man har en felaktig bild är:
Image reference "Assets\BadgeLogo.png": The image "C:\Program Files\WindowsApps\YourAppName_1.0.0.12_neutral__somerandomletters\Assets\BadgeLogo.png" has an ABGR value "0xFFC7C7C7" at position (0, 0) that is not valid. The pixel must be white (##FFFFFF) or transparent (00######).

Bilden som man skapar måste vara monokrom med transparanta (00######) och vita (##FFFFFF) pixlar. Dvs varje pixel ska vara genomskinlig eller i någon nyans av vitt.

För att lösa det använder man lämpligen ett bildbehandlingsprogram som kan hantera lager. Det kan vara Photoshop eller paint.net.
  1. Skapa en ny bild som är 24x24 pixels med tre lager.
  2. Lager 1 ska vara transparent, lager 2 ska vara svart och lager 3 transparent.
  3. Skapa ditt ikonsika mästerverk på lager tre och använd bara vit färg.
  4. Ta bort eller dölj lager 2 så att bilden bara har via och transparenta pixlar synliga.
  5. Spara din bild i jpg eller png
Du kan självklart hoppa över det svarta lagret men det är så mycket enklare att se vitt på svart än vitt på transparent.

måndag, september 24, 2012

Saker jag önskar att någon berättat för mig om utveckling av Windows 8 Store apps

För en tid sedan fick jag ett önskemål på en app från en kollega. Jag såg det som en perfekt uppgift att ta mig an, men en av de största utmaningarna var att den skulle vara klar en vecka senare. Så från File-New Project till pubbad på en vecka... är det möjligt?

Det är möjligt och nu är appen pubbad! Så jag tänkte skriva några saker som jag önskar att någon hade sagt till mig innan jag började:

Ladda ner alla Windows 8 App Samples för det språk du jobbar i!
Än så länge är det begränsat med resurser tillgängliga med bra beskrivningar av verkliga problem. Man Bingar på Google och Googlar på Bing och mycket av det som dyker upp är rena recensioner av Windows 8, framework-dokumentation och Windows 8 App Samples. Många spår leder också till Tim Heuer på Microsoft. Han har en mycket bra blog (http://timheuer.com/blog/) och verkar svara på ALLA frågor i forum som rör utveckling på Windows 8. Ett tips är också att söka på "metro styla applications" eftersom att många bloggar refererar till det namnet när man pratar om "Windows Store apps". Som sagt så pekar många länkar till Windows 8 App Samples så jag rekomenderar att ladda ner dessa och använda som referens.
 

Påbörja processen i Windows Store så tidigt som möjligt
Alla länkar man behöver finns under Project -> Store i Visual Studio 2012. Det första man ska göra är att reservera ett appnamn, börja fundera på beskrivning av din app samt hur de många olika bilderna som representerar din app ska se ut. Dessa bilder är olika typer av ikoner, splash screen och promotional images. En sak som jag har märkt är att när man väl bestämmer sig för att man är KLAR med första versionen av appen man vill publisera så vill man få ut den så snabbt som möjligt. För mig har det varit så att det tillfället också ofta infaller sent på natten. Att då komma på att man ska skriva snyggt formulerade texter samt skapa en massa screen shots och promotional images var lite tungt. Så klicka igenom hela processen någon gång tidigt och fundera på vad som ska stå i varje ruta. Kom också ihåg att den ska beskrivas på varje språk som du har stöd för.
 

Privacy policy
De flesta appar kräver någon slags privacy policy eller integritetspolicy. Det är en beskrivning vad hur appen och dess ansvarige hanterar personuppgifter. Ta det säkra före det osäkra och lägg till en privacy policy direkt! Man kan lägga till en länk under Settings-charms men behöver också ha någon extern plats att placera sina policies. På siten där man registrerar sin app finns ett fält för Privacy Policy. Detta är frivilligt men fyller du inte i det är det risk att din app inte godkänns (om det är så att det anses att du behöver en privacy policy). Jag placerade mina som pages på den här bloggen. En på engelska och en på svenska. Alla appar som har en privacy policy länkar också till dessa från översiktssidan i Windows Store.


  

Lägg till flerspråksstöd direkt
Även om du inte planerar att göra den första versionen av din app i flera språk så skulle jag rekommendera att lägga till stödet för flera språk direkt. Det görs enkelt genom att lägga till en Resource File till ditt projekt och placera den i en katalog som har samma namn som språkkoden. För svenska är det sv-se och för engelska är det en. Lägg sedan till x:Uid=”” på de element där du vill ha en text så kommer den att ersättas till rätt språk efter inställningen i Windows 8. T ex:

<TextBlock x:Uid="FewestMoves">
Om du senare vill lägga till ett nytt språk är det bara att skapa en ny Resource File och översätta den. För att testa din app i olika språk så ändrar du bara vilket språk som är överst i Language settings:

 


Det finns säkerligen mer att tillägga men det här är det jag önskar att någon hade berättat för mig innan jag började med min första Windows Store App. Min app heter Leads Machine.

Min första Windows Store app finns nu tillgänglig!

Min första Windows Store app, Leads Machine, finns nu tillgänglig för nerladdning till Windows 8. Den är en app som man kan använda för att spara leads. Tänk dig att du jobbar på en mässa och har en Windows 8-platta i din hand. Med appen Leads Machine kan du då enkelt registrera uppgifter och intresseområden som sedan används för att generera ett mail.


Appen är anpassningsbar med områdena till höger samt loggan i nederkant. Man kan också välja att inte visa loggan för Leads Machine så att den blir helt brandad för den som använder den. Om man t ex byter ut standardloggan till till en Microsoft-logga så ser appen ut så här:
 
Jag kan varmt rekommendera alla utvecklare att bygga en egen app. Det är enkelt, roligt och riktigt coolt att se ens app när den dyker upp i Windows Store. 

Cloud Burst 2012

Torsdag och fredag denna vecka (27-28) september kommer Sweden Azure User Group (SWAG) att anordna en konferens om Windows Azure i Stockholm, eller närmare bestämt på Microsofts kontor i Kista.

Missa inte chansen att få se talare som Dominick Baier (MVP), Brady Gaster (Technical Evangelist), Nuno Godihno (MVP), Magnus Mårtensson (MVP), Alan Smith (MVP), Christian Weyer (MVP) och Peter Bryntesson (Technical Evangelist). Det är faktiskt så att det var ett krav att vara MVP eller evangelist på Microsoft för att få tala på konferensen!

Än finns det några platser kvar och anmäler sig gör man på här. Om du inte kan komma till Stockholm eller om det helt enkelt blir fullt så kommer hela eventet att streamas live! Med hjälp av http://www.streamshed.com/ och deras lösning som körs i Windows Azure så kan du följa eventet direkt här.

Och kanske det bästa av allt, hela konferensen är gratis! Allt du behöver veta om Cloud Burst 2012 finns att läsa på SWAG's hemsida.

onsdag, maj 30, 2012

Ny blog om Windows 8 av mina kollegor

Om du är C++-utvecklare och intresserad av Windows 8 så tycker jag att du ska kolla in mina kollegor Peter Bryntesson och Anders Thuns blog: Dr IInspectable & Mr Native Everything WinRT from a C++ developer's perspective

De första inläggen kommer att handla om erfarenheterna från att bygga Prisjakts Windows 8 app.

Kolla även in denna demo av appen:

torsdag, maj 17, 2012

Azure sessioner från TechDays – nu på YouTube!

Nu finns de flesta sessioner från TechDays på YouTube. Jag har sammanställt de sessioner som handlar om Azure här nedan. Det saknas ännu ett par sessioner men jag kommer att uppdatera listan allt eftersom.

Kristofer Liljeblad och Björn Eriksen - A peek into the Microsoft cloud
Windows Azure är en bred plattform att bygga molnbaserade applikationer. Det kan vara så enkelt som att bara skapa en ny webbapplikation och skicka upp den i molnet. Men det finns också många fler tjänster man kan använda för att verkligen dra nytta av Windows Azure och säkerställa att din applikation kan skala med kraven från dina användare. I den här sessionen kommer Björn Eriksen och Kristofer Liljeblad från Microsoft att gå igenom de olika delarna i Windows Auzre och visa hur man utvecklar ASP.NET-applikationer för molnet.

 


Robert Folkesson - Flytta befintligen system till Windows Azure
Du har sett och hört om hur enkelt det är att komma igång och bygga en helt ny tjänst eller ett nytt system i Windows Azure. Men hur är det med ditt befintliga system som du vill migrera? Vilka utmaningar ställs du inför, vilka fallgropar bör du vara medveten om och vilka verktyg och mönster kan du dra nytta av för en smärtfri flytt? I den här sessionen delar Robert Folkesson med sig av sin erfarenhet från att ha hjälpt ett flertal kunder att migrera sina befintliga system och visar på beprövade mönster för en lyckad flytt – både var gäller tekniska utmaningar men även vad gäller arbetsmetodik och planering. 


Nick Harris - Bring your Windows 8 and Windows Phone 7 Apps to Life with Push Notifications using Windows Azure
Notifications extend the reach of your app to the desktop and device, but with a large user base timely delivery can be challenging without the right tools. In this session we’ll review the notification options available to Windows Phone and Windows 8 Metro Style apps, demonstrate how you can deliver notifications using Windows Azure, and discuss features provided by Windows Azure to scale your notification solution. By the end of this session you will understand how to use Windows Azure to rapidly develop a notification enabled service for Windows Phone and Windows 8 apps.

(Ingen video ännu) 


Mikael Håkansson och Johan Hedberg - Microsoft Integration Strategy
This session will cover the coming integration technologies in BizTalk and Azure Service Bus where a brand-new set of EAI (Enterprise Application Integration) capabilities has been added. This session is going provide insight of where Microsoft is going with their middleware strategy, with hands-on demos of how to build, deploy and manage integrations in the cloud. It will also advise on when to choose one or the other solution. 

(Ingen video ännu)


Clemens Vasters - Windows Azure Service Bus Introduction and Futures
This session by Clemens Vasters, Architect on the Windows Azure Service Bus team in Redmond, will introduce scenarios and solutions with Windows Azure Service Bus. You will learn how to build hybrid cloud solutions and how to leverage Service Bus to bridge communication between different sites across the cloud. We will also talk about how Service Bus allows you to reach out to devices. The session will discuss Service Bus Relay and the Service Bus Messaging capabilities, and also how to leverage the Access Control Service to secure your endpoints. 


Clemens Vasters - Windows Azure Service Bus Deep Dive
This session will illustrate advanced capabilities of the Service Bus Queues and Topics, including subscription filtering, session management, correlation, and you will learn about a range of architectural patterns that can be implemented using the messaging capabilities and help with scaling out your applications. You will also learn about ASP.NET’s SignalR framework and how to scale out SignalR using Service Bus on Windows Azure. 


Peter Simon - 0 or 1.000.000 users - the Facebook and Azure story
How do you build and host an application that allows for fast and exponential user growth, but still minimizes cost if the hype that you're hoping for never happens? Come listen to a case study of developing a hobby Facebook application in Azure! From an introduction, overview and live demo of the app, we'll dig down into the architecture and technical design, and zoom in on components like Azure Table Storage, Azure Queue Storage, SQL Azure and Azure Caching. We will also talk about how the application has been architected for scalability, performance and minimal cost, and lessons learned if you're planning to build your own Facebook application. 


Magnus Mårtensson - Predicting Cloudy Weather by Power Debugging Windows Azure
The main form of debugging applications in Windows Azure is by way of collecting, accessing and analyzing application trace messages. Handling thing process well without getting lost can be demanding. How do you collect a lot of trace from an application running live with thousands of users and make any sense of it? The risk of a heavy down pour of trace-rain from the Cloud is 100%. The Windows Azure Management Portal gives a lot of help for those who know how to take advantage of that functionality. Shared in this session, based on experiences from real Windows Azure endeavors by Cloud Accelerate Partners, are more ways to empower your Windows Azure debugging process.


John Craddock - Take the Spaghetti out of Windows Azure – an insight for IT Pro Techies
By now you will have heard of Microsoft Windows Azure and probably been lost in a plethora of terminology: app fabric, service control bus, worker roles, virtual machine roles, access control service, compute, REST APIs, SQL Azure… The list goes on and on - doesn’t it just make your head hurt? Come to this session and understand what Windows Azure is, what can be done with it and what role you can take as an ITPro Techie. You gain a thorough understanding of the components of Azure and how they are used to build Cloud services.

 


John Craddock - Managing Identity in the Cloud with ADFS and Windows Azure
We’ve all come to expect single-sign-on to our on-premise applications and services, but what happens when we move applications and services to the Cloud? How do we achieve single sign on for SaaS services such as Office 365, our own applications in the Cloud and services we consume from partner organisations? Federated Identity is the answer, come to this session and learn how federation allows the creation of an identity that can be consumed by services regardless of their location and ownership. You will discover how to build integrated identity solutions with Microsoft Active Directory Federation Services (ADFS) and Windows Azure Access Control Services. 


André Henriksson - Windows Azure – Så vad kostar det egentligen?
Intresset för att komplettera sina vanliga servers med det publika molnet ökar och allt fler har provat på hur kombinationen fungerar. Samtidigt så förädlas Windows Azure med nya tjänster kontinuerligt och prismodellen har senaste året genomgått flertalet förändringar vilket gör att kostnadsberäkningar som gjordes för exempelvis 3 månader sedan idag inte stämmer. Under denna session kommer vi gå igenom hur man räknar ut kostnaden för drift av applikationer i Windows Azure, hur man köper Windows Azure och vanliga scenarion kring hur man kombinerar sitt privata moln med Windows Azure. Om du närvarade på denna session under förra årets TechDays, kom tillbaka till denna session och hör om alla förändringar! 


Håkan Winther - SQL server 2012 + SQL Azure = Sant
Hur får man externa SQL Azure databaser att samverka med interna SQL server 2012 databaser? I denna session kommer vi att titta närmare på ”Data sync” mellan lokala SQL Server databaser och molnbaserade SQL Azure databaser och hur detta kan tillämpas för att göra delar av din information tillgänglig externt. 

(Ingen video ännu)

fredag, april 13, 2012

TechDays 2012 - Azure



TechDays 2012 i Örebro närmar sig med stormsteg och jag lägger just nu större delen av min tid på olika förberedelser inför eventet. Mitt fokus är så klart Windows Azure och jag tänkte skriva lite om vad vi har för planer!


Online
Självklart kommer vi att finnas online under hela eventet. Vi har en Facebook sida där vi kommer att göra regelbundna uppdateringar: https://www.facebook.com/azuresweden. På Twitter syns vi på #WindowsAzure och #TD2012. Har du några frågor eller funderingar före, under eller efter TechDays är det bara att du hör av dig till mig på beriksen@microsoft.com

Pre-Conference
I år är TechDays tre dagar. Första dagen är en så kallad Pre Conference och där har vi en hel dag dedikerad till Windows Auzre. Dagen kommer att inledas med en föreläsning om molnet och Windows Azure för att sedan gå över till att bli en hands on workshop där man själv får testa utveckling i Windows Azure i något vi kallar för The Azure Challenge. Mer info om The Azure Challenge kommer inom kort!

Mötesplatsen - The Cloud
I utställardelen av TechDays kommer vi att ha en monter för Windows Azure. Det är en plats dit man kan vända sig med alla frågor om molnet. I montern kommer det alltid att finnas experter och där kan man också möta många av talarna som pratar om molnet.


Sessioner
Windows Azure är en mycket viktig del av TechDays och jag har varit med och jobbat med att sätta ihop agendan. Jag måste säga att jag är mycket nöjd med resultatet! Först ut är jag och min kollega Kristofer Liljeblad med en session som introducerar Windows Azure. Har du en applikation som du vill migrera och är nyfiken på tid och råd till det så kan jag rekommendera Robert Folkessons session Flytta befintliga system till Windows Azure. Om du redan är en utvecklare som kan lite om molnet och vill lära dig mer om hur man felsöker applikationer som körs i Windows Azure så har Magnus Mårtensson Predicting Cloudy Weather by Power Debugging Windows Azure. Är jag inte helt felunderrättat så tror jag att han även kommer att få ett inhopp av Tess Ferrandez. Med dessa tre sessioner la vi grunden för den som är intresserad av Azure. En som introducerar plattformen, en för migrering samt en för felsökning. Utöver det har vi många fler sessioner som relaterar till Windows Azuer och här kommer en fullständig lista. Jag är extra stolt över att ha Clemens Vasters och Nick Harris från Microsoft i Redmond på plats!

Onsdag kl 14.45
Kristofer Liljeblad och Björn Eriksen - A peek into the Microsoft cloud
Kristofer Liljeblad Björn Eriksen Windows Azure är en bred plattform att bygga molnbaserade applikationer. Det kan vara så enkelt som att bara skapa en ny webbapplikation och skicka upp den i molnet. Men det finns också många fler tjänster man kan använda för att verkligen dra nytta av Windows Azure och säkerställa att din applikation kan skala med kraven från dina användare. I den här sessionen kommer Björn Eriksen och Kristofer Liljeblad från Microsoft att gå igenom de olika delarna i Windows Auzre och visa hur man utvecklar ASP.NET-applikationer för molnet.

Onsdag kl 16.15
Robert Folkesson - Flytta befintligen system till Windows Azure
Robert Folkesson Du har sett och hört om hur enkelt det är att komma igång och bygga en helt ny tjänst eller ett nytt system i Windows Azure. Men hur är det med ditt befintliga system som du vill migrera? Vilka utmaningar ställs du inför, vilka fallgropar bör du vara medveten om och vilka verktyg och mönster kan du dra nytta av för en smärtfri flytt? I den här sessionen delar Robert Folkesson med sig av sin erfarenhet från att ha hjälpt ett flertal kunder att migrera sina befintliga system och visar på beprövade mönster för en lyckad flytt – både var gäller tekniska utmaningar men även vad gäller arbetsmetodik och planering.

Onsdag kl 16.15
Nick Harris - Bring your Windows 8 and Windows Phone 7 Apps to Life with Push Notifications using Windows Azure
Nick Harris Notifications extend the reach of your app to the desktop and device, but with a large user base timely delivery can be challenging without the right tools. In this session we’ll review the notification options available to Windows Phone and Windows 8 Metro Style apps, demonstrate how you can deliver notifications using Windows Azure, and discuss features provided by Windows Azure to scale your notification solution. By the end of this session you will understand how to use Windows Azure to rapidly develop a notification enabled service for Windows Phone and Windows 8 apps.

Onsdag kl 16.15
Mikael Håkansson och Johan Hedberg - Microsoft Integration Strategy
Mikael Håkansson Johan Hedberg This session will cover the coming integration technologies in BizTalk and Azure Service Bus where a brand-new set of EAI (Enterprise Application Integration) capabilities has been added. This session is going provide insight of where Microsoft is going with their middleware strategy, with hands-on demos of how to build, deploy and manage integrations in the cloud. It will also advise on when to choose one or the other solution.

Onsdag kl 17.45
Clemens Vasters - Windows Azure Service Bus Introduction and Futures
Clemens Vasters This session by Clemens Vasters, Architect on the Windows Azure Service Bus team in Redmond, will introduce scenarios and solutions with Windows Azure Service Bus. You will learn how to build hybrid cloud solutions and how to leverage Service Bus to bridge communication between different sites across the cloud. We will also talk about how Service Bus allows you to reach out to devices. The session will discuss Service Bus Relay and the Service Bus Messaging capabilities, and also how to leverage the Access Control Service to secure your endpoints.

Torsdag kl 12.30
Clemens Vasters - Windows Azure Service Bus Deep Dive
Clemens Vasters This session will illustrate advanced capabilities of the Service Bus Queues and Topics, including subscription filtering, session management, correlation, and you will learn about a range of architectural patterns that can be implemented using the messaging capabilities and help with scaling out your applications. You will also learn about ASP.NET’s SignalR framework and how to scale out SignalR using Service Bus on Windows Azure.

Torsdag kl 12.30
Peter Simon - 0 or 1.000.000 users - the Facebook and Azure story
Peter Simon How do you build and host an application that allows for fast and exponential user growth, but still minimizes cost if the hype that you're hoping for never happens? Come listen to a case study of developing a hobby Facebook application in Azure! From an introduction, overview and live demo of the app, we'll dig down into the architecture and technical design, and zoom in on components like Azure Table Storage, Azure Queue Storage, SQL Azure and Azure Caching. We will also talk about how the application has been architected for scalability, performance and minimal cost, and lessons learned if you're planning to build your own Facebook application.

Torsdag kl 14.00
Magnus Mårtensson - Predicting Cloudy Weather by Power Debugging Windows Azure
Magnus Mårtensson The main form of debugging applications in Windows Azure is by way of collecting, accessing and analyzing application trace messages. Handling thing process well without getting lost can be demanding. How do you collect a lot of trace from an application running live with thousands of users and make any sense of it? The risk of a heavy down pour of trace-rain from the Cloud is 100%. The Windows Azure Management Portal gives a lot of help for those who know how to take advantage of that functionality. Shared in this session, based on experiences from real Windows Azure endeavors by Cloud Accelerate Partners, are more ways to empower your Windows Azure debugging process.

Torsdag kl 14.00
John Craddock - Take the Spaghetti out of Windows Azure – an insight for IT Pro Techies
John Craddock By now you will have heard of Microsoft Windows Azure and probably been lost in a plethora of terminology: app fabric, service control bus, worker roles, virtual machine roles, access control service, compute, REST APIs, SQL Azure… The list goes on and on - doesn’t it just make your head hurt? Come to this session and understand what Windows Azure is, what can be done with it and what role you can take as an ITPro Techie. You gain a thorough understanding of the components of Azure and how they are used to build Cloud services.

Torsdag kl 15.30
John Craddock - Managing Identity in the Cloud with ADFS and Windows Azure
John Craddock We’ve all come to expect single-sign-on to our on-premise applications and services, but what happens when we move applications and services to the Cloud? How do we achieve single sign on for SaaS services such as Office 365, our own applications in the Cloud and services we consume from partner organisations? Federated Identity is the answer, come to this session and learn how federation allows the creation of an identity that can be consumed by services regardless of their location and ownership. You will discover how to build integrated identity solutions with Microsoft Active Directory Federation Services (ADFS) and Windows Azure Access Control Services.

Torsdag kl 15.30
André Henriksson - Windows Azure – Så vad kostar det egentligen?
André Henriksson Intresset för att komplettera sina vanliga servers med det publika molnet ökar och allt fler har provat på hur kombinationen fungerar. Samtidigt så förädlas Windows Azure med nya tjänster kontinuerligt och prismodellen har senaste året genomgått flertalet förändringar vilket gör att kostnadsberäkningar som gjordes för exempelvis 3 månader sedan idag inte stämmer. Under denna session kommer vi gå igenom hur man räknar ut kostnaden för drift av applikationer i Windows Azure, hur man köper Windows Azure och vanliga scenarion kring hur man kombinerar sitt privata moln med Windows Azure. Om du närvarade på denna session under förra årets TechDays, kom tillbaka till denna session och hör om alla förändringar!

Torsdag kl 15.30
Håkan Winther - SQL server 2012 + SQL Azure = Sant
Hur får man externa SQL Azure databaser att samverka med interna SQL server 2012 databaser? I denna session kommer vi att titta närmare på ”Data sync” mellan lokala SQL Server databaser och molnbaserade SQL Azure databaser och hur detta kan tillämpas för att göra delar av din information tillgänglig externt.

Windows Identity Foundation i Windows 8 Consumer Preview

Installationen av Windows Identity Foundation (WIF) kräver normalt två installationer. En för att installera WIF och en för att installera WIF SDK. I Windows 8 Consumer Preview kan man inte installera den första WIF (som är ett krav för att kunna installera WIF SDK). Men istället kan man aktivera en Windows Feature och efter det kan man installera WIF SDK. Enklaste sättet att komma rätt är att först trycka på Windows tangenten och sedan direkt skriva "windows feature". Under Settings dyker då "Turn Windows Feature on or off" upp.
Markera Windows Identity Foundation 3.5.

När det är gjort kan man utan problem installera WIF SDK!

fredag, februari 17, 2012

Flera webapplikationer i en Web Role i Azure

En vanlig fråga jag får är hur man kan köra flera webapplikationer i en web role i Windows Azure. Det finns flera olika anledningar till varför man vill göra det och det finns också olika anledningar till varför man inte ska göra det.

Tänk att man har en site: www.contoso.com och till den vill du skapa ett antal sub-siter som t ex:

www.contoso.com/privatperson
www.contoso.com/företag
www.contoso.com/cms

Dessa vill man också säkra alla med ett SSL-certifikat. Respektive site ska också kunna utvecklas och hanteras separat. En nackdel är att man måste deploya hela paketet till Windows Azure. I och med att allt driftas i samma web role så kan man inte heller skala applikationerna separat utan allt skalas som en enhet. Det innebär att om företagsdelen av siten kräver extra kräm så skalas alla tre applikationer lika mycket. Som vanligt så finns det fördelar och nackdelar med allt.

Skapa projekt

Vi börjar med File – New Project, skapar ett Azure-Projekt och lägger till en Web Role. Den webapplikationen kommer att svara på rooten för siten, alltså www.contoso.com. Vi kommer manuellt att lägga till webapplikationerna senare.

image

När Azure-projektet är skapa lägger vi till två webapplikationer till samma solution. I mitt exempel använder jag mig av ASP.NET MVC 3. Skapa sedan en ny folder i Windows Explorer på samma plats som din solution och döp den till Publish.

image

Katalogen Publish ska användas som mål för en Web Deploy som vi nu ska ge oss in på.

Web Deploy

Om man använder ASP.NET MVC och Web Deploy så måste man också se till att få med de assemblies som refereras av projektet. I VS2010 SP1 finns en ny feature som gör allt jobb åt dig. Högerklicka bara på projektet och välj “Add deployable Dependencies…”. Välj sedan ASP.NET MVC så kommer att dll:er att kopieras med vid en web deploy.

image

För att göra en Web Deploy av webapplikationen, högerklickar man på applikationen i Visual Studio och väljer Publish. I dialogen som dyker upp väljer man File System som Publish method och sätter Target Location till en ny katalog i den Publish-katalog vi skapade tidigare.

image

Gör sedan samma sak för den andra webapplikationen.

I katalogen Publish ska det nu finnas två kataloger, en för varje webapplikation.

image

ServiceDefinition.csdef

För att lägga till de två siterna i webrollen behöver vi manuellt lägga till några saker i filen ServiceDefinition.csdef. Den filen innehåller nu information om den web roll vi lade till när vi skapade Azure-projektet, hur många instanser den ska ha, vilken storlek den har samt information om endpoints.

Till Site-taggen ska vi nu lägga till en VirtualApplication för respektive mvc-applikation vi vill deploya. När den är klar ska det se ut något i stil med:

  <WebRole name="RootWebApplication" vmsize="Small">
<
Sites>
<
Site name="Web">
<
VirtualApplication name="MvcApplication1" physicalDirectory="C:\junk\MultipleWebApplications\Publish\MvcApplication1" />
<
VirtualApplication name="MvcApplication2" physicalDirectory="C:\junk\MultipleWebApplications\Publish\MvcApplication2" />
<
Bindings>
<
Binding name="Endpoint1" endpointName="Endpoint1" />
</
Bindings>
</
Site>
</
Sites>
<
Endpoints>
<
InputEndpoint name="Endpoint1" protocol="http" port="80" />
</
Endpoints>
</
WebRole>


En Site kan innehålla flera VirtualApplications och varje VirtualApplication pekar på en katalog på disk. Den katalog den ska peka på är den samma som vi tidigare gjorde en web deploy till.



Ctrl – Shift – B => Build succeeded och dags att publicera till Azure! Glöm inte att ändra osFamily="2" så att web rollen kör Windows Server 2008 R2. Observera att varje gång man gör en förändring i MvcApplication1 eller MvcApplication2 så kommer dessa förändringar inte med om man bygger och publicerar till Auzre. För att få med en förändring måste man först göra en Web Deploy för varje webapplikation.



I mitt exempel ligger alla tre webapplikationerna i samma Visual Studio Solution men det är så klart inte något krav. I och med att Azure-projektet pekar ut en lokal folder på disk, som den ska sätta upp som en ny applikation i IIS, kan respektive applikation hanteras helt separat.



I IIS i Windows Azure skapas det en site och i den skapas det två applikationer:



image









MSBuild för automatisering









Det sista steget är att lägga till en Target för MSBuild så att varje gång du bygger webapplikationerna görs en Web Deploy till Publish-biblioteket som vi skapade tidigare.



För att editera en csproj-fil i Visual Studio så högerklickar man på projektfilen och väljer Unload Project. Sedan högerklickar man igen på projektfilen och väljer Edit.



I den första <PropertyGroup> (som gäller för alla olika konfigurationer och plattformar) lägger vi till en variabel som heter PublishDestination som innehåller namnet på den katalog vi skapade tidigare som är målet för vår web deploy.



<PublishDestination>Publish</PublishDestination>



Sedan lägger vi till följande Target:


<Target Name="PublishToFileSystem" AfterTargets="AfterBuild" DependsOnTargets="PipelinePreDeployCopyAllFilesToOneFolder">
<
Error Condition="'$(PublishDestination)'==''" Text="The PublishDestination property must be set to the intended publishing destination." />
<
ItemGroup>
<
PublishFiles Include="$(_PackageTempDir)\**\*.*" />
</
ItemGroup>
<
Copy SourceFiles="@(PublishFiles)" DestinationFiles="@(PublishFiles->'$(SolutionDir)$(PublishDestination)\$(TargetName)\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="True" />
<
Message Importance="high" Text="Deploying to: $(SolutionDir)$(PublishDestination)\$(TargetName)\"></Message>
</
Target>


Högerklicka på projektfilen igen och välj Reload Project.


Det här måste också göras för den andra webapplikationen.


That’s it! Varje gång vi bygger projektet kommer nu alla tre siter att byggas och de två siter som ska bli Virtuella Applikationer kommer att Web Deployas, med refererade filer, till rätt ställe på lokal disk så att Azure-projektet kan ta med dem i en deploy.