Bygger Du/Ni mjukvara eller skapar en tjänst (Software as a Service) så är BizSpark något för dig/er. Förutom att Du/Ni erhåller mjukvara fritt under tre år för att bygga applikationen/tjänsten så är målet att synliggöra er och brygga kontakter mot nätverk som sysslar just med Start-Ups. Kriterierna för att få vara med är:
- Privat bolag
- Bygger aktivt mjukvara eller en tjänst
- Har funnits mindre än 3 år
- Har en omsättning som understiger $1 000 000
Läs mer på:
http://www.microsoft.com/Bizspark/
Många av sessionerna här på PDC08 handlar om synkning av data i någon form. En av teknikerna att använda för att underlätta det hela är Sync Framework.
Produktteamet har nyss släppt CTP1 v nästa version av detta ramverk.
Bland nyheterna finns:
Extremt mycket enklare att bygga egna providers - högintressant för ISV:er!
Filtrering av vad som synkas, exempelvis kan man ta ner hela databasen till en lokal instans på en PC men vill endast ha ett subset på en mobiltelefon.
Ladda ner här:
Microsoft Sync Framework v2.0 CTP1
Exempel finns här:
http://code.msdn.microsoft.com/sync
Otroligt, vi har just sett hur man kan bygga en applikation som är baserad på WPF, WCF och WF enbart med XAML i .NET 4.0. Ingen code-behind alls, gränssnitt i XAML, kontrakt och endpoints i XAML och slutligen workflow och aktiviteter i XAML...
Skrev jag att deklarativ programmering är framtiden... :-)
I snart ett års tid så har jag för de ISV:er jag jobbar med tryckt på vikten att gå över till mer deklarativ programmering. Effekterna är många, men det som tilltalar ISV:er är förenklad förvaltning, snabbare utveckling och agilitet. Men vad är då deklarativ programmering?
I stort sett alla utvecklare som idag jobbar med en databas jobbar med deklarativ programmering, T-SQL är ett sett att beskriva vad man vill göra och inte hur, och det är precis det som deklarativ programmering går ut på. När man skrivit sin T-SQL så är det upp till databasmotorn att exekvera på bästa sätt.
Det samma gäller LINQ, här beskriver vi vad vi vill göra och inte hur. Exempelvis så säger vi bara att vi vill sortera en kollektion av objekt, om sedan Bubble Sort eller någon annan algoritm används bryr vi oss inte om bara resultatet är sorterat på den egenskap vi valt.
Varför detta är så viktigt är att när vi nu går mot parallellism allt mer så kan underliggande ramverk hantera all trådhantering osv åt dig som utvecklare om du lägger dig på en deklarativ nivå.
XAML i sig är ett deklarativt språk och i .NET 4.0 så är målet att göra XAML till ett fullvärdigt språk precis som C# och VB. Idag används XAML för att beskriva UI (WPF, Silverlight), processer (WF, WCF) samt layout för tryck (XPS).
Just nu sitter jag på en presentation kring vad vi gör med språket som idag är XAML 2006 och som med nästa release får namnet XAML 2009 där bland annat följande förbättringar sker:
- Förenklad databindning
- Generiska typer
- "Switch-statement"
- Möjlighet att specficera delegater för event-hantering, dvs ingen kompilering krävs.
- Skapa nya egenskapr på objekt direkt i XAML
I .NET 4.0 så får vi en separat komponent, System.XAML.dll, som kommer släppas som CTP under november månad.
Call to action: Som utvecklare är det av stor vikt, eller rättare sagt ett måste, att börja titta på, eller kanske snarare att verkligen använda deklarativ programmering i sina applikationer för att förbereda för framtiden, både kunskapsmässigt och applikationsmässigt! Om du sedan väljer LINQ; WF, WCF, WPF eller XPS spelar mindre roll, se bara till att komma igång!
För dig som är intresserad av att lära dig mer om vad man kan använda HPC Server till så är nu ett training kit släppt som inkluderar dokumentation, videos, tutorials osv.
Med version 2008 av HPC Server så får vi stöd för WCF när det gäller distribution av jobb till ett kluster. En tutorial tar också upp hur man kan använda Parallell Extensions för att göra beräkningar.
För dig som idag jobbar med Fortran kan det vara intressant att titta på F# och hur man kan använda F# tillsammans med Task Parallell Library för att nyttja flera cores på en maskin alternativt distribueras i ett Windows-kluster.
Läs mer och ladda ner på:
http://resourcekit.windowshpc.net
Original-webparten i MOSS 2007 för att visa data från Business Data Catalog (BDC) har inte möjligheten att visa master-detail på ett smidigt sätt.
Nu har dock en lösning kommit på problemet som går att återfinna och ladda ner på CodePlex.
http://www.codeplex.com/bdcwrapper
Har just avslutat en session på PDC08 som handlar om vad vi gör med Windows Embedded framgent. Den nya plattformen med kodnamn "Quebec" bygger på Windows 7. Förutom att utveckling och driftsättning blir mycket enklare (återkommer kring dessa detaljer i en senare bloggpostning) så var det coolaste att se hur de de utan problem kör OS:et med IE8 och videouppslening via browsern på en Asus EEE med Celeron-processor, 4GB flashdisk och 512 MB RAM...
Windows 7 rockar fett... ... på måndag går jag i "produktion" med det OS:et...
Efter att ha pratat med många av de svenskar som är här på plats i Los Angeles¨på PDC08 så är en av kommentarerna som dyker upp då och då något liknande detta: "De där kortkommandona han använde skulle jag också vilja använda istället för musen...".
Och jag kan bara hålla med, en del av presentatörerna är rusktigt snabba då de kan alla kortkommandon i världen känns det som. En av de som jag fick höra om igår var hur man expanderar ut menyn på en smarttag för att exempelvis lägga till namnrymder till en klass, "CTRL+SHIFT+F10".
Hur som helst, det finns en hel del default-kommandon att använda. Nedan är länkar till nedladdningsbara dokument för utskrift för att få upp momentum i knapptryckningarna...
Visual Studio 2005
Visual Studio 2008
Vill du bara ha en en enda lång lista så är denna sida en "hyfsad" summering:
Visual Studio .NET 2008 Keyboard Shortcuts
Charlie Owen som jobbar i teamet bakom Media Center-delarna i våra operativssystem gjorde igår en bra postning om vilka förbättringar som kommer (sannolikt) i Windows 7.
Personligen gillar jag bäst de saker som görs för att förbättra sökande och överblick över musiksamlingen där hemma. Men naturligtvis så får de som är mer in för tv och filmer sin beskärda del, som min kollega Johan Lindfors t ex.
Läs mer på:
Windows Media Center in the PDC Build of Windows 7
En av sessionerna jag var på idag tog upp "Dublin" kombinerat med .NET Services. Helt klart kommer det gå att göra fantastiska applikationer framöver som nyttjar tjänsterna i molnet för att koppla ihop användare, företag, processer osv.
I grunden är Dublin en Windows-komponent som bygger vidare på WPAS (Windows Prcoess Activiation Service) som IIS7 är baserad på. I första releasen så kommer detta att vara den "host" som är att rekommendera för tjänster som använder WCF och WF men med tiden så kommer processstöd och "message box" som BizTalk idag tillhandahåller att flyta in.
På köpet får man ppoling, skalbarhet osv i jämförelse med att bygga en egen Windows Service som host. Utöver detta kommer enkelhet i import/export, monitorering, versionshantering osv som är vanliga frågetecken i en tjänsteorienterad värld.
Vill du ha en snabbintro till Dublin kan jag rekommendera en videocast av Stephen Thomas på BizTalkgurus.com som gjort en inspelning på knappt 15 minuter, ta en koll här:
http://www.biztalkgurus.com/media/p/21919.aspx
Under eftermiddagen så var jag på en session om "Geneva" som var fantastiskt bra. Geneva är en plattform för för att reda på en användares identitet utan att behöva bygga infrastrukturen själv.
För ett produktbolag är detta rena rama drömmen utifrån att man nu får ett enhetligt sätt att ta reda på en användares identitet oberoende av om användaren är en del av den domän där applikationen körs eller inte. Vi har alltså stöd för federering av användaruppgifter.
I Geneva finns det tre delkomponenter:
- Geneva Framework - Den del som ett produktbolags applikationer kommer att använda, man "hookar" enkelt in allt via konfigurationsfiler, inte en massa kodande.
- Geneva Server - En proxy mot den riktiga användarkatalogen som initialt är AD.
- Windows CardSpace Geneva - En vidareutveckling av CardSpace som använder plattformen och som förenklar autenticeringsfasen för slutanvändaren.
Nu ställer sig många frågan, OK detta är säkert bra, men vad kostar det...
Ingenting, Geneva kommer att kunna laddas ner till den som har en Windows Server-licens precis som med SharePoint Services, dvs detta är ytterligare en Windowskomponent enbart.
Återkommer med mer info om Geneva senare, tills dess kan du läsa mer på:
http://www.microsoft.com/geneva
Mäktigt att se hur saker och ting tas emot, när Ray Ozzie under keynote idag presenterade namnet på vår plattform för tjänsten i molnet så blev det påtagligt tyst i lokalen bland alla åhörare. Windows Azure är namnet och antagligen blev det tyst för att ingen riktigt visste vad det innebar. En dryg halvdag senare så är det tapetserat överallt om hela konceptet, coolt...
Hur som helst, en viktig del av plattformen i molnet är ju interoperabilitet. Redan nu så samarbetar vi med Schakra med att ta fram en SDK för Java. Följ projektet på:
http://www.jdotnetservices.com/
Och för dig som jobbar på vår plattform så hittar du all information på:
http://www.microsoft.com/azure
Några av svenskarna här på PDC:n samt Johan Lindfors bloggar på plats från sessionerna osv med sina SonyEricsson Xperia-telefoner. Antagligen det bästa sättet att hålla sig uppdaterad med minimal fördröjning... :-)
Läs inläggen på:
http://blog.pellesoft.se
Inatt släpptes Silverlight 2 i skarp version och med detta släpptes en hel del nya bits att tanka ner, läs mer om detta i min kollega Robert Folkessons bloggpostning.
Mer praktiskt innebär detta ett skifte (i alla fall en möjlighet) när det gäller utveckling av produkter för er som ISV.
Många bolag har traditionellt jobbat med en fet klient skriven i VB6, C++ osv och eventuellt funderat på om man skulle ha en webbklient också. I de fall man valt en webbklient så har man i botten ASP eller ASP.NET beroende på när man började kompletterat med Javascript för att jobba på klientsidan.
Det tidigare släppet av Windows Presentation Foundation (WPF) tillsammans med släppet av Silverlight 2.0 skapar nu helt nya möjligheter.
Från att ha haft flera olika utvecklingsmodeller beroende på vilken typ av klient och typ av funktionalitet man velat ha så har allt harmoniserats. I grunden har vi för design XAML och för affärslogik .NET Framework. Och detta oavsett om man bygger för den lokala klienten eller webben.
Fördelarna blir därmed:
- Ett sätt att designa formulär - XAML (XAML i Silverlight är ett subset av XAML i WPF)
- Ett sätt att skriva affärslogik - VB.NET eller C# - Inte VB6/C++ kombinerat med Javascript
- Alla utvecklare kan skapa applikationer både för den lokala klienten och webben - effektivare utveckling!
- Cross-browser/Cross-platform på webben - Windows/MacOS/Linux (tillsammans med Novell)
Och det bästa av allt är att har man en fet klient idag så kan man sedan .NET FX 3.5 enkelt bädda in en kontroll eller helt formulär byggt i WPF i sin applikation. Detsamma gäller Silverlight, man kan enkelt byta ut hela webbsidor eller delar av en webbsida mot en Silverlight-applikation (jfr web part).
Detta gör alltså att man stegvis kan införa XAML för designen och skriva sin affärslogik i VB.NET eller C# utan att behöva börja med ett helt nytt "tomt" projekt i Visual Studio.
När jag träffar produktbolag och diskuterar strategiska val och arkitektur så använder jag ofta ett uttryck som är "multi-head consumption".
Vad jag menar med detta uttyck är att användarna av en applikation ska få möjligheten att komma åt underliggande data från den klient de själva helst använder eller har tillgång till.
Traditionellt sett så har de flesta produktbolag en klient som vanligtvis är byggd som en "fet klient", dvs en vanlig Windows-applikation. Denna klient pratar i sin tur med en databas eller ett applikationslager på serversidan.
I de flesta fall är detta klockrent, kraftfullheten i klienten, kraftfullheten i utvecklingsplattformen osv. Problemet är att en användare i vissa fall inte är i behov av all funktionalitet, alternativt så är de i behov av en annan klient då de inte har tillgång till det interna nätverket eller liknande.
Vad allt handlar om är egentligen att man ska komma åt data och kunna utföra sitt arbete utifrån vilken klientplattform som är bäst lämpad eller tillgänglig. Sedan kan det vara integration med SharePoint, en vanlig webbapplikation, en fet klient eller en mobil klient.
Är du nyfiken på hur man kan komplettera sin grundapplikation med en mobil klient så rekommenderar jag att du anmäler dig till en heldag om mobilitet som går av stapeln i Göteborg.
Under den delen av dagen som är inriktad mot utvecklare så är det ett pass som presenteras av en ISV jag har förmånen att få jobba tillsammans med som heter RemoteX Technologies.
RemoteX levererar en optimal S+S-lösning som också inbegriper en mobil klient. Deras tjänst/produkt nyttjar också "multi-head consumption"-konceptet, en applikation för de som sitter vid skrivbordet och en för de på fältet där all information är skräddarsydd för varje rolls behov.
Evenemanget är gratis, inkluderar lunch och kaffe och kommer till stor del att hållas på engelska.
Agendan för förmiddagen som riktar sig till kunder och partners ser ut som följande:
08:30 – 09:00 Registration
09:00 – 09:15 Introduction and Local Welcome – Elin Hyltner Microsoft Sweden (session in Swedish)
09:15 – 10:00 Windows Mobile Update
Discover the latest news and releases on Windows Mobile. In this session you will hear how the latest version of Windows Mobile can help your business to generate more revenue and increase satisfaction levels for you and your customers/employees. In addition, you will hear how Windows Mobile can provide extra reason to upgrade Exchange or Small Business Server (SBS).
10:00 – 10:15 Break
10:15 – 11:15 Introducing System Center Mobile Device Manager 2008
Microsoft System Center Mobile Device Manager 2008 (SCMDM) is a comprehensive mobile device management solution that provides greater reliability, reduces maintenance costs, simplifies manageability, and easily scales to support thousands of Windows Mobile users. With security-enhanced mobile VPN, on-device encryption, remote device wipe, and more, Mobile Device Manager gives users more secure access to the corporate data they need to stay productive virtually anytime and anywhere, including line-of-business applications, SharePoint servers, document libraries, and file shares. In this session you will hear about SCMDM and the opportunity it presents for Partners.
11:15 – 11:45 Customer Case Study (session in Swedish)
Swedbank, leading Nordic bank, talks about their successful rollout of Windows Mobile and how that has positively affected business productivity at Swedbank and for the individual employees.
11:45 – 12:00 Summary, Q&A, Prize Draw and Close
12:00 – 13:00 Lunch
Anmäl dig till förmiddagen här!
Eftermiddagen ser ut som följer och riktar sig alltså till utvecklare:
11:00 – 12:00 Registration/Lunch
12:00 – 12:30 Introduction and Local Welcome – Per Ahlberg, DPE, Microsoft Sweden (session in Swedish)
12:30 – 13:45 Windows Mobile in Practice
This session sets the scene around Windows Mobile and kicks off with a look at and demos of Visual Studio 2008 development environment which promises even better integration and powerful new features for device developers. The session then takes a realistic scenario and shows how Windows Mobile 6.1 and.NET Compact Framework 3.5 can be leveraged to provide a compelling Proof-of-Concept in very few lines of code. See a wide variety of features being demonstrated, from location awareness to making phone calls programmatically. The session will provide an understanding of how everything can be tied together in an end-to-end solution.
13:45 – 14:00 Windows Mobile LOB Application Showcase
AppStars is a new program designed to highlight best in class applications on Windows Mobile devices. This session will take you through this new development and will offer some potential ideas on how to sell applications in areas such as Sales and Field Force enablement, GPS Navigation and the Utility Industry.
14:00 – 14:15 Break
14:15 – 15:30 It's the Business
Enterprise solutions are increasingly being mobilized for the new technically-savvy workforce. However, these solutions need industry-strength quality and features that will support the complex requirements these organizations have. This session will begin by looking at SQL Server Compact Edition, the sophisticated data storage solution that allows data synchronization with back-end databases. We then show how you can leverage industry design patterns and application blocks to provide a lower-risk, tested approach to solve common problems. Finally, a quick review of the Microsoft Dynamics mobile offerings will round off the options available for enterprise use.
15:30 – 16:00 Partner Speaking Slot (session in Swedish)
Microsoft Mobility Partner RemoteX will speak about their experiences of working on the Microsoft Mobility platform, .Net development and Windows Mobile and share some of their successful customer projects.
16:00 – 16:15 Break
16:15 – 17:30 Performance Tools
In all solutions, having the required features in the program is only part of the final delivery. For a great user experience, the application’s performance must also meet usually high expectations. This session will take a tour of tools that are available to the Windows Mobile developer to help fine-tune your killer app!
16:00 – 16:15 Break
17:30 – 17:45 Summary, Q&A, Prize Draw & Close
Anmäl dig till erftermiddagen här!