Montag, November 17, 2008

Resumé

Nun ist sie leider auch schon wieder vorbei, die diesjährige TechEd Developers. Ich beginne mal mit dem negativen (so dass ich positiv abschliessen kann) .
Als erstes viel den Besuchern auf, dass es keinen Shuttle Service vom Airport mehr gab. In einem letzten Mail, welches kurz vor Eröffnung den Teilnehmern verschickt wurde, wurde noch darauf hingewiesen. Es wurde da aber auch verkündet, dass man das Geld innerhalb der Convention für Infrastruktur etc. einsetze. Leider konnte ich beim Besten Willen nicht feststellen, wo dass dies investiert wurde. Das Essen war so mies wie noch nie. 3 Mal gab es Lunch Packs als Mittagessen. Nun, kann man ja wirklich einmal aus einem Lunch Sack essen, aber 3 Mal Pommes Chips zu Mittag ist mir dann doch zu viel. Das Wireless Netz war noch an keiner TechEd perfekt. So schlimm wie diesesmal war es aber noch nie. So hing über jedem Session Room das Schild "No Wifi coverage in this session room". Nun, es gab gar keinen Raum, in dem Mann Empfang hatte. In einigen ging es zwar nach zig versuchen, meistens aber auch nicht lange. Und vom Donnerstag Abend bis zum Schluss erhielt ich gar kein IP mehr zugewiesen. Dementsprechend waren dann auch immer die Computer Delegates working Area, an welchen man arbeiten durfte. Meistens waren diese Computer besetzt. Leider fehlten auch die grossen Aufhänger, obwohl genügend da gewesen wären. Azur und Windows 7 hätten sich hier aufgedrängt. Aber es war ja eine Developer Konferenz, deshalb müsste eigentlich das .Net Framework 4.0 gewesen sein. Natürlich gab es zu allen Themen Sessions, jedoch war irgendwie kein "Roter Faden" zu erkennen. Ich denke, dass an der PDC, welche ja nur kurz zuvor abgehalten wurde, wurde hier deutlich mehr und tiefer darauf eingegangen. Die interressanten Sessions war dann ja auch im Track "PDC Highlights" angeordnet. Zum Thema SharePoint gabe es einiges, aber eigentlich nichts, was ich nicht schon wusste oder vor 2 Jahren schon da war. Ausser….
Und nun kommen wir doch noch zum Positiven. Ich hatte ja eine SharePoint Session besucht zum Thema Fast und SharePoint. War sehr interessant, jedoch konnte ich keine Auskunft darüber erhalten, was mich die Fast ESP kostet oder wie ich sie erhalte. Auch Lizenz Fragen konnte keiner beantworten. Es wird nach wie vor versucht, das Thema OCS zu pushen. Zum einen, weil der R2 Release kommt, zum andern, weil man erkannt hat, dass man in diesem Thema sehr viele Leute noch abholen muss. Das kennen wir ja aus dem Alltag. Sehr breit war auch das Thema Windows Mobile und Silverlight 2.
Die Swiss Country Nicht vom Mittwoch bleibt mir ebenfalls positiv in Erinnerung. Ein gemütlicher Abend an einer schönen Lage, ein paar nette Gespräche mit Leidensgenossen. Auch das Hotel, welches ich dieses Jahr hatte, ist positiv zu erwähnen. Die Lage gleich neben dem CCIB perfekt, das Zimmer und das Hotel Top. Jedoch hatte ich am ersten Abend im Zimmer einen unausstehlichen fauligen Geruch ausgemacht, aber als ich die Ursache erkannte, konnte ich auch damit umgehen. (Es war der Syphon beim Becken im Bad. Also liess ich immer etwas Wasser laufen und stellte danach ein Glas verkehrt auf den Ablauf)
Alles in allem trotzdem keine schlechte TechEd, wenn auch stark verbesserungswürdig. Es war deutlich, dass es sich Technologisch wo was wie um ein zwischen-Jahr handelt, kommen doch die wirklich grossen Themen erst wieder nächstes Jahr auf den Tisch. (Es wurde zum Beispiel kein Wort über Office14 verloren)
Die nächste TechEd Developers findet ab dem 2.November 09 in Berlin statt.

PDC309 Real life experiences: Building your first Services Application (Designing applications for Windows Azure)

This session is a real world look at the implications of developing cloud applications - the benefits and the disadvantages; the reasons to embrace it and the reasons to stay away. The session has been developed from knowledge gained while developing real applications Windows Azure. I will show you what you need to know to get started in this new world; including the development environment, the "fabric" and the storage system. We will discuss the different types of architecture you can deploy and the reasons why you would choose one over the other. The steepest learning curve is going to be around the data layer and how to produce reliable applications without any transactional support. So we will go into detail on the storage elements of Red Dog; Queues, blobs and tables and how to use them effectively. Several patterns will be introduced that should be able to provide building blocks for your own code. Finally, in order to give you the most flexibility in this new world, we will talk about how to dev software to work well both in the cloud and in a on premise data centre without writing everything twice
Leider meine letzte Session an dieser TechEd. An der letzten konnte ich nicht bloggen…ich hatte mein Notebook samt Tasche abgegeben und im nachhinein weiss ich nicht was ich bloggen soll. Die Session war "The Future of C#".
Nun geht es um Windows Azure (The Cloud). Ich bin froh, dass ich auch noch eine Session zu Azure besuchen kann, ich konnte mich noch zuwenig diesem Track widmen. Gut, dass es zuerst einen Ausflug gibt, was Azure ist und um was es genau geht. Wichtig ist, Azure ist kein Hosted Windows Server oder SQL Server und auch kein "Cloudify" my application wizard.

Was es ist:
The Azure™ Services Platform is an internet-scale cloud computing and services platform hosted in Microsoft data centers. The Azure Services Platform provides a range of functionality to build applications that span from consumer web to enterprise scenarios and includes a cloud operating system and a set of developer services. Fully interoperable through the support of industry standards and web protocols such as REST and SOAP, you can use the Azure services individually or together, either to build new applications or to extend existing ones. http://www.microsoft.com/azure/whatisazure.mspx

Nun beginnt bereits die erste Demo, wie ich ein Projekt anlege im Studio und welche Sachen ich beachten muss. Zuerst wird ein QueueStorage und eine MessageQueue angelegt. Zum zeigen was über http läuft, wird wiederum fiddler zur Hilfe genommen. Alle Daten werden mindestens 3 mal repliziert, so dass ein Failover garantiert oder ein Single Point of failure verhindert werden
Nun wird erklärt, was Storage Tables sind. Es wird ausdrücklich mehrmals darauf hingewiesen, das mit Fehlern zu rechnen ist, und das man dies bei der Programmierung ausdrücklich beachten soll. Es kann auch keine Garantie abgegeben werden, in welcher Reihenfolg oder wann die Messages abgearbeitet werden. Grundsätzlich gutes Session, wenn ich auch noch ein mehr "Basics" über Azure erwartet hätte. Aber diese wurden eigentlich vorausgesetzt…
Leider konnte ich heute keinen Artikel bloggen, aus einem unerklärlichen Grund habeich kein Zugang mehr auf das Convention Netz. Aber ich bin beruhigt, als ich erfahre, dass ich nicht alleine bin mit diesem Problem :-)

Donnerstag, November 13, 2008

UNC307 Windows Workflows Activities that Talk and IM with OCS 2007 R2

Microsoft Office Communications Server 2007 R2 offers Windows Workflow activities built on the UC Managed API that allow you to build self-service agents (bots) that use either text based IM or automated speech recognition. This session will walk you through how to build simple self-service bots using the UC Managed API Workflow activities and how to make it understand requests using speech patterns. In addition, we will show how to build a more sophisticated interactive voice response application that routes people to the right contacts, based on their spoken commands.
Die letzte Session heute… und ich bin froh darüber. Irgendwie bin ich nicht mehr so aufnahmefähig. Microsoft ist in der Speech Regognition Reasearch seit 1993 tätig.

• Founded in 1993
• Leading scientists and engineers
• Code bases of Carnegie Mellon and Cambridge
• Over 188 patents since 1993

Technologies:

• Automatic Speech Recognition
and Conversational Understanding
• Speech Synthesis
• Deep language support
• Signal processing like noise filtering
• Speech Application Programming Interfaces
• Audio Search

Wichtig ist, dass zurzeit nur diese Sprachen unterstützt sind:
• North American English
• American Spanish
• Canadian French
• UK English
• German
• And beta previews
• Portuguese (Brazil, Portugal)



Es gibt verschiedene Szenarien, die denkbar sind in der Kombination von Worflows und UC. Ein Beispiel, welches mir spontan in den Sinn kommt, der auch für uns anwendbar wäre, ist ein Call Routing, dass aufgrund von der Presence Information den Call routet.

Das ganze nennt sich UCMA 2.0 Worflow. UCMA ist:

• Windows Workflow Foundation
• UCMA Workflow leverages many of WF features e.g.:
○ Activities
○ Designer Surface
○ Rules Engine
○ Runtime services etc.
• UCMA 2.0 Core and Microsoft Speech
• Abstracts a subset of UCMA 2.0 Core SDK functionality
• Combines them with MS Speech functionalities
like TTS and ASR to provide dialog components
• Visual Studio 2008
Requires .NET 3.5 SP1








Die UC Activities sind: Groupiert in Query Presence,"Call" Control, Statement, Question Answer, Commands und Events. Es gibt über 20 OOB Activities.

Es folgt nun eine Demo einer "Student Helpline". Der Student kann anrufen und wählen, ob er den Professor sprechen will, den Zeitplan einsehen oder das Sekretariat verlangen. Er ruft nun an, eine automatische Ansage kommt und er wählt "Contact Professor". Nun wird der Call auf den OC Client geroutet des Professor's der in der Presence available ist. Nun wird die Student Helpline via IM Kontaktiert und er bekommt die selbe Auswahl im IM gestellt. Er wählt nun "check my timetable" und wird nach seiner Studenten Nummer gefragt und nach dem Datum, wo er den TimeTable haben will. Nun wird im sein TimeTable dierekt im IM angezeigt. Nun kommt ein Code Walktrough. Der gesamte Workflow ist OOB WF. Die Activitys sind via UCMA verfügbar und natürlich lassen sich auch custom activities schreiben.

Nun folgt eine Ausführung, was der Speech Server ist und welche Version etc. aktuell ist. Nun wird die Demo für den Speech Server gestartet. Dies mit dem genaugleichen Beispiel wie vorher, diesesmal aber auf dem Speech Server.Diesemal gibt es aber die Funktionen nicht, welche den IM betreffen. Es wird nun gezeigt, wie einfach ich die Ansagen machen kann und die möglichen Antworten. Das müsste ich mal ausprobieren, ob dies wirklich so einfach funktioniert, z.B auch auf Deutsch.

MBL307 Windows Mobile Connection Manager

Whether it's Traffic Data for a GPS application, real-time quotes from a market stream or scheduling data for your line of business application, data connections are required in most mobile application scenarios today. With all this connecting going on Windows Mobile devices are expected to offer a plethora of diverse communication channels and technologies. Marry this complexity with the colourful range of network topologies deployed by Mobile Operators throughout the world and we are presented with a rather tricky problem of choosing the right connection at the right time! Connection Manager has battled this problem for some years now, with the promise of centralizing and simplifying network management and offering services ranging from dynamic data routing through application connection arbitration and the technology has changed and grown with the industry over time. Come to this session and learn how Connection Manager really works and how you can get the most from it to keep your application connected the world over.

Es geht darum, dass ich auf der einen Seite Wissen muss, welche Hardware ist in meinem Device und zweitens, welche Verbindungen sind vorhanden. Dazu benötige ich einen "Route" manager, der weiss, was ist in welcher Qualität vorhanden. Die Konfiguraton, welche das Device oder der Connection Manager benötigt, wird als XML vom Provider auf das Handy gesendet.Der route planner ist immer bemüht darum, welche Adresse wie erreicht werden kann.



Das Problem ist, das z.B ein Browser nicht wissen kann, welches Netz nun verfügbar ist und connectet. Aus diesem Grund gibt es den CM_Mappings Table. Dieser muss von der Applikation ausgelesen werden.




Es folgt eine Demo, wie der Connection Manager via XML Konfiguriert werden kann. Es folgen noch viele Demos, wie ich die Tables usw. auslesen kann. Alles in allem sehr interressant, ich hätte jedoch etwas leicht anderes erwartet. Da ich langsam müde bin und nicht mehr schreiben mag… aber wenns jemand interresiert:

Hier gibt’s mehr Infos:
http://msdn.microsoft.com/en-us/library/bb416435.aspx

Und hier:

http://blogs.msdn.com/marcpe/archive/2007/07/05/connection-manager.aspx

WUX310 Beauty and the Geeks: Developer-Designer Workflow

Developer - designer workflow is one of the hottest topics talked and blogged about this year in the RIA space. If you are building or thinking about building RIA applications using Silverlight then this session is for you. Come and interact with a real life team that consists of a Designer, Integrator and Developer as they implement a Silverlight solution live on stage leveraging tools such as Adobe Photoshop and Illustrator, Expression Blend and Visual Studio using a workflow that allows them to build applications effectively in an agile environment. The session aims to provide a deeper insight into the building of RIA applications using not only Microsoft technologies but also the tools that designers have been using for the last 10 years.
Die Session wird von 3 Personen präsentiert, welche die Rollen, Designer, Integrator und Developer haben. Was braucht es, dass die zusamenarbeit mit diesen 3 Rollen funktioniert ? Very simple: Einen Raum, Source Control , Keep your friends close, and your devs/desinger closer. Der Developer ist der, der natürlich den Code schreibt, die Business Logik im Code umsetzt. Der Integrator ist die Schnittstelle zwischen dem Designer und dem Dev. Er muss beide Welten verstehen und zwischen den beiden Rollen "vermitteln". Und Schlussendlich der Designer, der designt. Klar soweit :-)


Das Resultat ist ein Photoshop Mockup. Darunter die 3 Rollen, welche zum Mockup führen:










Designer Owns the Layout !
• Blend’s unfortunate Grid-as-canvas
• Don’t bury stuff in code
• Designer can only access Xaml
• Beware non-Blend Xamlisms, e.g. DoubleAnimation
• Don’t tie the designer’s hands

Diese Session zeigt ein paar coole Features von Blend. Die Hauptgeschichte der Session war jedoch wirklich der Workflow, den es benötigt dass alle diese 3 Rollen effizient zusammenarbeiten.

Summary:
• Designers at the heart of the process
• Developers should know Blend
• Love Xaml

Picture Break !









Und hier die wirklichen Freaks ! (Oder habt ihr schon mal ein MOSS-OS-.Net gesehen ? Wissen die mehr ? )

GEN01 Green Computing through Sharing: Reducing both Cost AND Carbon

Data centers consumed 1.5% of the total electricity in the US in 2006 and are on track to double as a percentage every five years. It is about 2% of the US total in 2008. Western Europe's use is increasing at a slightly faster rate (from a slightly lower base percentage). The consumption of electricity within data centers is of significant financial and environmental importance. Where the heck is all this power going? Why is the electrical load increasing so much? What can be done about it? This talk will examine both traditional and emerging data center designs. We will start by examining how a data center is laid out, constructed, and managed. We will show two emerging trends: the change to designing data centers for the optimization of power and the emergence of new economies of scale in data centers which is contributing to the drive towards cloud computing. Microsoft is actively moving to compete in the space of cloud computing as we are seeing at the PDC (Professional Developers Conference) a few weeks before TechEd EMEA Developers. Next, we will examine the sources of waste in the system today and examine why so many of our resources are underutilized. Because we are reluctant to share computing resources, they are left idle much of the time. Why is this currently the dominant choice? What can be done in the design of applications, systems, and data centers to make them more green (both carbon and cash)? What can developers do to make a difference?

Die Session läuft im Moment immernoch. Es ist die einzige im Moment, und sie findet im grossen Auditorium statt. Leider war ich zu spät, kam nicht mehr rein. Also kann ich auch nicht mehr dazu schreiben. ;-(

PDC207 Introducing Windows 7 - Part 2

The Windows® 7 operating system is the essential platform for developers. Windows 7 empowers developers to deliver creative solutions that are mobile-aware, connected, high-fidelity, and provide a highly intuitive user experience. Most importantly, developer platform fundamentals such as security, performance, and compatibility are top priorities in Window 7. This two part presentation introduces Windows 7 and summarizes the key developer advances in each of the following areas: making products that stand out; the best of Windows and the Web; and rock solid platform. Come and learn firsthand about Windows 7 developer technologies including: Multi-touch Support, Libraries, Federated Search, Ribbons, Sensors, Windows Web Services and the new Taskbar and shell experience. This is the second half of a two part presentation introducing Windows 7

Dies ist, wie im Titel ersichtlich, der 2. Teil, oder die Fortsetzung von gestern. Ich hatte eine echt schwere Entscheidung zu treffen, denn ich hatte in diesem Slot gleich 4 Sessions gebucht… aber das ich im 1.Teil war, muss ich fast den 2. Teil auch besuchen….
Kyle fängt an, was alles geändert wurde, verbessert natürlich. Dass mann den Memory verbrauch, Disk I/O und den Power verbrauch "dramatisch" reduziert hat, dazu im Gegensatz den Speed, die "Responsivness" erhöht hat und den Scale auf 256 Prozessoren ausgelegt.
Es wird nun ausgeführt, wie erreicht wurde, dass weniger Leistung, sprich Strom verbraucht wird. Man hat die Backgroud Activitys enorm verringert. "Race to Idle". Ein Hauptproblem sind dritt-Applikationen oder Services, welche beim Starten geladen werden oder einfach im Hintergrund laufen, diese ob der Benutzer diesen nun benötigt oder nicht. Die braucht CPU Power und Zeit, der Boot und Shutdown wird unnötigt verlängert etc. Aus diesem Grund gibt es nun in Windows 7 einen "Trigger-Start Service".
Er führt nun detailiert aus, was alles im detail gemacht wurde etc. Dies kann ich am Besten ilustrieren und somit erklären, wenn ich dann die Slides habe. Neu ist auch das Timer Coalscaling API.
Nun wird eine Powercfg Demo gezeigt. Mittels Powercfg -energy erhalte ich einen Energy Usage Report, wo ich sehen kann, welche Device, Service, App wieviel Energie verbraucht.
Jetzt geht es darum, was mit der GPU passiert ist, rep. Wie da gespart werden kann. WDM uses new Direct3D10.1 API, und darauf sind dann auch die MediaCenter, WDM selbst usw. basiert. Damit kann sehr viel Memory gespart werden. Er führt aus, dass die GDI Engine zu langsam sei. API Direct2D bietet zusätzliche Hardware und Software Pipelines. Anhand einer Grafik Demo wird gezeigt, wie die Performance Auswirkungen sind, wenn man zwischen GDI, GDI+, nur via Software und nun mittels Direct2D laufen lässt. Direct2D bietet volle GPU Unterstützung.
Nun kommt das Thema Intuitive User Interface: Multi Touch and Scenic Ribbons.Wichtig ist, alles ist "core" oder OS based und integriert, mann hat also keine zuätzlichen Tools oder sonst was. Die gesamte Unterstützung ist "einfach" da. Es wird ein sogenannte Touch Platform angeboten. Nun kommt eine Touch Demo. Es wird gezeigt, was alles möglich ist, wie normale Applikationen, welche nicht "Touch" Enabled sind bedient werden können (Etwa wie mit TouchFlow). Nun kommt die "Multi Gesture" Demo… einfach Cool, Surface lässt grüssen. Die ganze Demo läuft auf einem Smart Touch von HP (Jetzt kann ich nach der Session schnell schauen gehe, ob's irgend einen Ausgang habe, wo ich den Beamer anschliessen kann :-)) Nun wird mit 2 Personen "Air Hockey" gespielt…
Jetzt wird erklärt, was die Idee von den Ribbons ist und wie sie ausehen. Ribbons sollen schlussendlich allen Apps zur Verfügung stellen, dazu gibt es auch eine neue API.
Jetzt kommt noch eine Ausführung zum Thema "Sensors": Automatische Zeit Umstellung anhand des Ortes wo ich mit dem PC bin, das lokale Wetter etc. Dies wird via WIFI-Triangulation resolver, GPS Devices und Light Sensors usw. erledigt. Es ist noch nicht klar, ob die API die dies alles anbietet Sensors oder LocationDevice heissen wird… Ein weiteres Beispiel das gezeigt wird, ist der Einsatz vom Licht Sensor. Es wird gezeigt, dass wenn ich an die Sonne gehe, dass Display schlechter lesbar wird automatisch der Font grösser wird und , wenns extrem hell ist, das Display Schwarz Weiss wird, so dass es noch lesbar bleibt.

Leider sind die Folien zu dieser Session noch nicht verfügbar, ansonsten hätte ich sie gerne dazu benutzt, das eine oder ander noch zu erklären oder zeigen.

Mittwoch, November 12, 2008

OFC302 Building Search-Driven Portals Using FAST ESP, MOSS 2007 and Silverlight

FAST ESP is the leading enterprise search platform. Combining the strengths of FAST ESP and Microsoft Office SharePoint Server (MOSS) 2007 allows the development of powerful search-driven portals. In this session, you'll learn more about the architecture and functionality of FAST ESP and how it can complement and extend the existing search features in MOSS 2007. We will demonstrate how to create search user interfaces by configuring and extending the FAST ESP Search Web Parts, including the use of Silverlight to deliver unique search experiences.
Auf diese Session bin ich gespannt… denn ich habe noch nie die Fast Engine in Action gesehen zusammen mit MOSS.
Zu Beginn wird erklärt, dass die ganze Demo auf der FAST Engine beruht. Alle Fast Web Parts sind auf CodePlex downloadbar. Die Suchresultate werden mittels Silverlight angezeigt und die Fast WebParts funkionieren mittel Ajax.
Zuerst wird das default Search Center von Moss gezeigt. Interressant ist hier schon, dass auf der rechten Seite sogenannte "Navigators" sind. (Kein facetted Zeugs..) Dies ist alles OOB, jedoch ist ja die Fast Engine dahinter. Nun verstehe ich auch, woher die Navigators kommen. Nun wird gezeigt, wie die XSLT angepasst werden kann. Als Beispiel wird einfach das Icon ersetzt, welches den Dateitypen anzeigt. Nun wird in den Suchresultaten anstelle des Icons die erste Seite des Dokuments gezeigt.
Nun wird das Navigators WebPart gezeigt und angepasst. Er passt diese so an, dass nun 3 Navigators angezeigt werden. People, Company und Technology. Sieht sehr hübsch aus. Die Selektion geht über spezielle Analyse Properties der Search Engine. Nun wird der Company Navigator so angepasst, dass anstelle der Firma nun das Firmenlogo angezeigt. Nun wird auch noch der People Navigator angepasst, so dass vor den Usern auch noch deren Bild angezeigt wird. Es wird leider nicht darauf eingegangen, ob dies die Bilder aus dem SP Profil ist oder woher diese kommen.
Jetzt wird der Result Page ein Statistik WebPart hinzugefügt und ein neues Result WebPart, welches Bilder anzeigt. Die beiden WebParts werden so eingerichtet, dass sie gegnüber einem anderen Index suchen. (Anscheinend kann ich mit Fast mehrere Indexes haben.)
Nun erhalten wir ein Resultat, welches oben (wie bei der Google Bilder Suche) die gefundenen Bilder angezeigt werden und darunter die Dokumente. Wenn er jetzt eine Person anklickt, wird nur noch ein Dokument angezeigt und Optisch beim Foto des Autors Optisch sichtbar gemacht, dass diese Person ausgewählt wurde. Nun wird der Result Page noch Silverlight "beigebracht". Nun kann in den Suchresultaten der Bilder geblättert werde, dies sieht dann aus wie Cover Flow auf dem Ipod.
Nun erklärt er, dass dies alles noch keine Hexerei ist und nicht wirklich revolutionär. ( Dabei wäre ich schon froh, wenn wir dies könnten. ) Dies sei halt Aufgrund der XSLT Limitationen.
Deshalb beginnt eine neue Demo, wo der Suchresultat Seite Javascript beibringt, damit auch Kontext Sensitive Resultate möglich sind. (Anstelle, dass vom Xslt nur statische Html zurückkommt, wird nun das HTML und das XML zurückgegeben) Auf der Client Seite(auf dem Server, aber aus Sicht der Search Engine ist es der Client) wird nun mittels Java Script diese XML ausgewertet. Das RenderingResult() Methode ist nun im JavaScript abgefangen und wird durch das Script erledigt. Für das Rendering wird auch Ajax verwendet.
Jetzt wird einfach gezeigt, dass ich nun mittels Java Script so ziemlich alles machen, was mit Script erlaubt ist :-) . Die jetztige Lösung ist so gemacht, dass wenn man das Fenster verkleinert, sich die Resultate Dynamisch anpassen und die Icons. Sieht nett aus, hatt für mich aber nicht so einen grossen Effekt, denn User welche Ständig (nachdem sie die Resultate ja haben) die Fenstergrösse verändern.
Nun wird das ganze noch mit AJAX verknüpft, so dass wenn ich einen Buchstaben im Suchfeld eingebe, bereits die Resultate angezeigt. (Wie bei Desktop Search z.B)
Eine gute Demo, wo ich mich sicher im nachhinein noch etwas schlauer machen werden, betr. Einbindung Fast Search Engine, Kosten etc.

PDC206 Introducing Windows 7 - Part 1

The Windows® 7 operating system is the essential platform for developers. Windows 7 empowers developers to deliver creative solutions that are mobile-aware, connected, high-fidelity, and provide a highly intuitive user experience. Most importantly, developer platform fundamentals such as security, performance, and compatibility are top priorities in Window 7. This two part presentation introduces Windows 7 and summarizes the key developer advances in each of the following areas: making products that stand out, the best of Windows and the Web, and rock solid platform. Come and learn firsthand about Windows 7 developer technologies including: Multi-touch Support, Libraries, Federated Search, Ribbons, Sensors, Windows Web Services and the new Taskbar and shell experience. This is the first half of a two part presentation introducing Windows 7.

Diese Session tue ich mir jetzt an, weil 1. Paul Donlan mir geraten hat, dass ich diese Session von Kyle besuchen soll. Zum anderen, um zu schauen was es noch (ausser Search) neues gibt, welches ich noch nicht entdeckt habe. (Und ich will sehen, mit welchem Build hier gearbeitet wird :-) )
Natürlich möchte ich auch Wissen, was aus Entwickler Sicht neu ist, denn dies habe ich bislang noch nicht angeschaut.
Nach ein paar Marketing Sätzen nach wieso , weshalb und dem Video "I'm a Pc" beginnt die Demo. Er benutzt den Build 6975. Hmm, ziemlich neu, benutze ich doch 6936 und der ist vom 28. Oktober…
Zuerst zeigt er neue Task Bar Features, welche ich tatsächlich noch nicht entdeckt habe :-) Dies aber auch, weil mein Build diese Funktionen noch gar nicht kennt :-) Er zeigt, wie die Fenster neu "gedockt" werden können, gleich wie man es als Entwickler aus dem Studio kennt. Nun verliert er ein paar Worte zum Thema Task Bar, resp. neu "Natification Area".
Nun wird es interessant, er kommt nun zum Theam "Find & Organize". Zuerst erklärt er die Libraries, was die Idee dahinter ist und wie es geht. (Ich nenne sie immernoch "sphisticated myFolder") Nach der Erklärung zeigt er, wie ich eine Library erstelle, wie sie automatisch in der Suche integriert ist und ich dies auch gleich als "Search Scope" nutzen kann. Er zeigt auch, dass ich einen Scope habe, auf dem ich den SharePoint Content durchsuchen kann. (Ich hoffe er zeigt uns dann auch, wie man den Search Connector baut, denn dies habe ich bislang noch nicht zum Fliegen gebracht )
Nun geht es um vhd (Virtuelle Images), dass ich die Möglichkeit habe, eine Hardware ab dem vhd zu booten und aus einer "echten" Maschine ein virtuelles File generieren kann. Er zeigt auch noch dass die Lupenfunktion verbessert worden ist…. Das wars. Die Demo ist bereits zu Ende.

What's new to Developers ?

• New Desktop
• Managing Files and Data
• Fundamentals
• New APIs to support fundamental improvements
○ Services, Power, Graphics
• Intuitive User Interfaces
• Touch, Handwriting and Ink, Speech
• Sensors
• Windows Web Services

Er führt nun aus, dass Windows 7 viel Ressourcen schonender ist als Vista. Dies habe ich auch bereits festgestellt. Multitouch wird nun auch angekündigt und er sagt, dass er auch noch ein Demo zeigen wird. Auf diese bin ich dann gespannt.
Nun geht er durch die Folien, erklärt die Features im Detail.



Die Jumplist kann jeder App Entickler selber gestalten. D.h. wenn ich über den IE fahre in der Taskbar, sehe ich eine Preview auf alle Tabs die ich geöffnet habe und kann direkt auf den Tab springen von der Taskbar aus. Im MediaPlayer werden als Beispiel die Tasten angezeigt (Play etc.) und die nächsten 10 Titel der Playlist.
Nun folgt die Erklärung, wie die federated Search funktioniert und wo ich überall die Search zur Verfügung habe. Im gleichen Zug werden die Libraries detailierter erklärt.



Nun kommt noch eine flammende Liebeserklärung für die Search Funktionen und die federated Search. The coolest Client Side Application ever that need no code ond client side .

OFC309 Launching an Internet-Facing MOSS 2007 Publishing Site: Deployment, Performances, Security

Building and implementing a MOSS 2007 Publishing site is one thing but launching it for use by anonymous users to the Internet is a big additional step. There are things to consider that address both security and performance concerns. In this session you will learn some pre-go-live items that should be addressed and checked before launching a Publishing site. In addition we will also cover performance from the aspect of things developers should be very aware of to create well performing components and how to implement caching effectively, including custom caching components. Finally, you will see how to slim down your pages to have the smallest footprint possible and thus, providing the fastest page load time for your browsers.

Andrew, der die Session präsentiert ist MVP und kommt aus der Ted Pattison Group .
AmAnfang erklärt er uns, wie man das ActiveX auf Internet Seiten unterbinden kann. Intern ist dies kein Problem, extern ist es nicht wirklich erwünscht.
Wer benutzt die "out-of-the-box"View auf Externen Seiten ? Vermutlich niemand. Man sollte immer bedacht sein, dass man die Page nicht überlädt, da sonst der erste Page Load zu lange dauert. (Payload)

Er zeigt nun eine Demo, wo er demonstriert, dass die Core.js nicht zuerst, sondern am Schluss asynchron nachgeladen wird, ohne dass der User dies dann bemerkt und warten muss. Dies wird nur für anonymous users getan. Dies tut er, indem er die "OnInit" Function überschreibt, und dort, wenn es sich um einen authenticated User handelt, die Core.Js regisitriert.
Nun zeigt er Fiddler (Freetool) zum Http Debuggen. Er zeigt auch Safari, wo ich dass ganze graphisch darstellen kann, was wie lange gebraucht hat etc.
Nun geht es um CAS (Code Access Security) . Er empfiehlt, dass custom Cas Policies sicherer sind als ganze Site Trust.
Page Output Cache ist die schnellste Art von Caching. By Default ist dieses Feature nicht enabled und muss aktiviert werden. Caching muss für ein ganze Site aktiviert werden. Ein andere Option ist der Object Cache. Dies elimiert round trips bei Cross-site queries . Auch dieses caching ist default nicht eingeschaltet. Zusätzlich gibt es auf SharePoint die Möglichkeit des Disk based chaching. Dies erzwingt, dass die Objekte, welche aus der DB kommen, auf den WebFrontends auf der Disk gespeichert werden. Somit muss nicht bei jedem PageLoad das Objekt aus der Datenbank geholt werden sonder liegt auf dem WebFrontent.
Eine weiter Möglichkeit der Optimierung ist via IIS die statische und dynamische Kompression. Dies muss jedoch ziemlich aufwendig "fine getunded" werden. Denn: Je grösser die compression, desto grösser ist die CPU Load auf Seiten des IIS. (Dafür sind natürlich die Files kleiner, welche dem Client gesendet werden) Und natürlich umgekehrt. Also muss man dies schlichtweg austesten, was für die Web Site der beste wert ist. In IIS7 kann ich dies dynamisch einstellen, was natürlich sehr nützlich ist.

Nun folgt eine Demo, wo er zeigt, wo ich was einstellen kann.

Dienstag, November 11, 2008

MBL308 Microsoft Silverlight 2 for Mobile: Developing for Mobile Devices

In this session, filled with some very cool demos, you will not only learn how to extend your existing Silverlight 2 applications to work on Windows Mobile but also learn how to build rich mobile Silverlight apps that play media, handle simple gestures, have cool animations, access location and popular web services. We will also talk about tooling enhancements in Visual Studio that support Silverlight app development on Windows Mobile, what to consider when delivering eye-popping UI on mobile, and help you understand the key differences from developing Silverlight apps for the desktop.

Eine Session wie ich sie mag. Es beginnt gleich mit Demos…
Er zeigt eine Applikation, welche im Moment noch auf dem PC läuft, startet nun das Compact Framework mit seinem WinMo Client Emulator. Die Applikation ist ein simpler Timer. Diesem Timer fügt er nun einen Transparenten Button hinzu. Beim drücken auf den Button soll eine MsgBox aufgehen. Diese ist auch Transparent und beinhaltet ein Bild. Alles keine Hexerei.
Nun zeigt er das selbe im Compact Framework. Geht praktisch gleich und ziemlich schnell.

Nun startet er Blend und macht eine Animation, wo eine Ente über das Bild huscht. Nun zeigt er ein Tool, wo er das Studio dazu bringt, dass der Build zum Debuggen auch gleich auf der "echten" Maschine, sprich Mobile Phone läuft. Er zeigt die Demo auf einem Omnia. Der Omnia startet den IE und zeigt die Ente, wie sie immer wieder über den Bildschirm huscht.

Er zeigt nun im IE eine Applikation (auf dem PC) wo er einfach malen kann, und dazu verschiedene Geräusche entstehen. Nun "portiert" er dies wieder auf den Mobile Client. Nun lässt er diese Applikation wieder auf seinem Omnia laufen. Ist wirklich cool, dass die Applikation auf den verschiedenen Plattformen läuft. D.H. eine Silverlight Applikation auf der mobile Plattform läuft ohne eine spezielle Version zu compilieren. Was er aber machen kann, ist innerhalb der Applikation zu erkennen, was für ein Client nun daherkommt und dann zusätzliche Sachen machen. (Grössere Darstellung auf dem PC, andere Links auf dem Mobile device etc.)

Er zeigt nun ein paar Beispiele. Z.B ein 4 Gewinnt Spiel, einen Gitarren Simulator, einen Video Streaming Client. Jetzt kommt noch die "Dancing Man" Applikation, wo er mit Gesten zur Musik tanzen muss. (Wie auf dem Pad in den Spielhallen) Sieht auch sehr nett aus :-)

Die wichtigste Aussage ist, das Silverlight keine spezielle Version oder Compilation fürs Mobile Phone benötigt.
Das coolste kam dann zum Schluss. Das Visual Studio als Silverlight Application auf dem Mobile Phone. Er hat dann auch noch ein Projekt angelegt, einen Button gemacht, ein Event hinzugefügt, das ganze kompiliert und laufen gelassen. Alles auf dem Mobile Pohne !

UNC202 Six ways to embed Presence and Click to Communicate in your Application

The Microsoft Unified Communications Group published many code samples on MSDN, MSDN Code Gallery and CodePlex that make it easy for developers to integrate presence, click to communicate and context inside conversations. This session walks you through the different samples and discusses the pros and cons of using one approach over the other given certain application requirements.



Es beginnt mit einer Vorstellung der Plattform und einer Ausführung, um was es genau geht.



Diese Session baut auf der Session auf, welche ich gestern gesehen Habe. Das Beispiel zeigt wieder den Store, wo die Reno Gläser zu kaufen sind.

Das Ganze ist nicht wirklich so interessant, zeigen sie doch, dass ich in einer Web Page Presence Informationen anzeigen kann usw. Das kennen wir doch alles irgendwo her. Ich behalte sicher die Slides, denn interessant ist die Integration ins CRM. IN den Slides ist der Link, wo ich das Sample für die CRM Integration downloaden kann.

Ich "verschwende" an dieser Stelle aber keine Blogging Zeit mehr, da ich nicht wirklich neues oder spannendes zu bloggen weiss.

MBL201 Windows Mobile Smackdown!

Do you have a Windows Mobile device? Ever wondered what else you can do with it apart from Email and talking to someone? Take a look at some of the coolest demos from the huge list of applications that exist for the Windows Mobile phone today. This will be a high-energy, fun session with lots of SWAGs and giveaways!





Es beginnt damit, dass Sie diese Session schon seit 5 Jahren machen, und dies zuerst nur intern durchführten. Zuerst zeigen sie uns ein Video von dieser Session von der TechReady.Hmm, wenn die wirklich so verückt getan haben in der TechReady Session… dann bin ich ja gespannt, was da alles kommt :-) Im Video müssen ein paar Teilnehmer zuerst Hundefutter essen, danach bekommen sie ein HTC Cruise (war damals ein Prototyp) . Nachdem Motto: "Eat your own dogfood".

Zuerst zeigen sie uns ein paar Prototypen von Motorola und HTC. Samsung, etc...Coole Phones…
Zuerst zeigt er einen Business Card Reader. Diese Applikation kenne ich von SE seit 5 Jahren :-) Nun kommt die Smyle Detection der Samsung Kamera, den "Landscape" Modus, damit kann auch 360 Grad Fotos machen kann.
Nun zeigen sie ein "revolutionäres" X1 , und dann zeigen sie das Fish Panel :-) Und danach die Panels. Sie scheinen echte Fans zusein vom X1 …. Jetzt demonstrieren sie das RedFly, ein Notebook, das eine 8 Zoll Monitor hat, aber auf Windows Mobile basiert.
Nun zeigen sie auf dem HTC Diamond (NavDbgTool) eine Demo, die zeigt das die untere (nicht der Bildschirm) Section des Handy Multitouch fähig ist. NavDbgTool kann via SDK "organisiert" werden.
Nun folgt eine Demo, wo sie eine "Speech regognition" Software zeigen. Er sagt, "Seattle, Washington"und erhält eine Map von Seatlle. Nun sagt er Starbucks und alles Starbucks werden angezeigt. (Ein Menge :-) )
Nun zeigen sie OneNote Mobile, macht auf dem Handy eine One Note Notiz (keine Zeichnung, das Geht leider nicht, gell Dany) Nimmt etwas aus OneNote auf (Audio), macht ein Picture und synchronisation auf den PC.
Nun zeigen sie auf dem X1 den Office Communicator Client 2007 R2 . Er hat genau wie auf dem PC seine Gruppen, kann sie aber auch nach OCS sortieren. Gleich Funktionalität wie auf dem PC, und sieht auch ziemlich gleich aus. Wenn ich aus dem Communicator jemand anrufe, dann hängt der Communicator auf und der OCS (PBX) in meinem Office ruft beide Teilnehmer an, so dass mir keine Mobile Kosten entstehen.
Nun zeigen sie Internet Sharing via Mobile Device. Dies ohne Treiber usw. Coole Sache, werde ich sicher brauchen, sobald ich ein "Data Package "habe :-)
Nun kommt Remote Desktop, wo sie auf dem PC den Mobile Phone Screen anzeigen. Dies scheint noch praktisch, um Screenshots zu machen etc.
Nun folgt eine "LiveMash" Demo. Plötzlich kommt eine als Löwin verkleidete Frau in den Saal . Faucht ein paarmal und fragt dann, ob jemand ein Iphone habe.. Natürlich nicht :-) Nun verteilen sie Ladegeräte, und Windows Mobile Taschen fürs Handy. Weiter mit der Demo. Live Mash auf dem Client, ein paar Fotos mit dem Xperia, klick synchronize, und schon habe ich die Fotos online auf LiveMesh.
Nun kommt "Kinoma" ein cooler Mutlimedia Player, mit in built in Youtube etc. Diese Ding muss ich unbedingt haben.. Mal schauen wo ich das herbekomme. (Donload Link habe ich leider verpasst aufzuschreiben.)
Nun kommt ein WIFI Router. Ich kann so jedes WIFI Gerät via Cellular oder was ich gerade habe online bringen und das Handy funktioniert wirklich wie ein Wifi-Router. Cool.
Nun kommt die Demo von Tiny Twitter. Ein mobiler Twitter client. Cool ist, dass ich "Update Location " machen, dann sieht jeder immer wo ich bin (Wenn ich das denn will )
Nun zeigen sie dashwire, eine Applikation die bereits auf dem X1 als Panel verfügbar ist. Diese Applikation synchronisiert alles aufs Internet im Hintergrund. Photos , Contacts, Videos etc.
Nun zeigen sie das HTC Diamond, den Gsensor. Sie erklären, dass das TouchFlow in C# geschriebeb worden sei. Nun folgen einpaar Demos, welche den Sensor zeigen. Hologram, Seismograph, Beer ein paar ganz witzige Applikationen. Nun zeigen sie Gremote, somit kann ich mein Handy als Maus einsetzen . Die Wasserwage wird gezeigt, mit Hellikeitsmessung wo ich gleich sehe, wieviel Lumen die Lampe hat oder einfach wie hell das Licht ist.
Nun zeigen sie einen SMS Manager. Cooles Ding, den muss ich auch haben. (Group Messages, Verzögertes senden, Statistiken, Backup etc. ) PowerSMS heisst diese APP
Nun zeigen sie Guitar Hero auf dem Handy… COOL !
Nun kommt die Slingbox Mobile. Die slingbox ist eine Art Media Center. Er connected nun mit dem X1 auf die Slingbox und zeigt uns eine Sendung, die er am Sonntag aufgenommen hat zuhause. Er erwähnt auch dass es dies auch fürs Media Center gibt. (Anm. meinerseits: ORB heisst die Software)
Nun zeigen sie ein "markup" detection,wo er mit der Kamera auf ein Buch zeigt, irgendwo auf der Seite ist eine markierung und dann wird die Geschichte zum Buch innerhalb des Kamera Bildes animiert. Sieh stark aus.
Nun nehmen sie mit dem X1 ein Video auf (Er meint die beste Handy Video Kamera die es gibt) Er streamt das Video Live aufs Internet, und dies in einer erstaunlichen Qualität. Sehr interressant.
Nun zeigen sie SnapTell. Nun macht er ein Bild von irgendeiner Seite aus einem Buch und als Antwort zuück bekommt er wie das Buch heisst und wo er es bestellen kann. Das ganze funktioniert auch bei Filmen oder Videos. D.h. irgenwo läuft ein Film und ich muss nur ein Photo machen und schon weiss ich, wie der Fim heisst…
Zuletzt zeigen sie eine Applikatoin, wo ich einen Anrufe vortäuschen kann. Ich kann sagen, wann soll mich wer anrufen und die Software macht dies dann für micht. Niemand wird merken dass nicht angerufen wird, denn es wird das "echte" oder richtig API aufgerufen . Dies App heisst Fake Call
Am Schluss folgt ein witziges Quiz, wo am Schluss einer übrig bleibt. Der Glückliche gewinnt ein HTC Touch Pro.

ARC205 How IT will change in next 10 years and why you should care

Just what are the most disruptive trends that will shake the IT industry in next 10 years or so? We will look into the commoditisation of IT, industrialisation through virtualisation, and cloud computing and the effects of off-shoring IT workforces. We'll also examine the possible impact of social networks to next-generation employees and finally we'll investigate the most probable developments in ubiquitous computing and software engineering. Come to this session prepared for a fascinating and strategic tour of the changing face of the IT industry in our immediate future.
Er beginnt mit seiner persönlichen Geschichte, und erzählt das er vor 15 Jahren noch für IBM gearbeitet hat. Warum ist IBM form "hero to zero" gekommen ?
Er führt aus, dass die Technologie die Leute ändert, und dass man immer auf die Technologie achten muss. Ansonsten ändert die Technologie das Business und man ist nicht bereit. Diesen Fehler hat MS z.B zu Beginn mit dem Internet gemacht. Er erklärt, dass man wie IBM ein (im Falle von IBM sind es mehrer) Cash Cows hat, man immer bereit sein muss, seine Cash Cow durch eine neue zu ersetzen. Ansonsten macht es jemand anderes… Oder ist IM gestrauchelt, weil sie schlechte Technology hatten ? Sie haben die Technology selbst geschffen, die sie ins Straucheln gebracht haben.
Wie sieht unsere Technologische Zukunft aus ? Heute sind 80% der Welt im Besitz oder unter Kontrolle der sog. "Baby Boomers". Das sind im Gegensatz zu früher immer ältere Personen. Zu Zeiten des .com booms investierten sehr viele Leute in die IT und ins Internet. Würde ein heute 70 Jähriger ins Internet investieren ?
Die zukünftige Generation, die heutigen Teenagers sind "digital natives". Die sind es sich gewohnt, die Techologie zu nutzen, sie können eigentlich nicht ohne diese Leben. Nimm einem Teenager sein Mobile Phone für 2 Tage weg… Aber sie wissen auch, wann wo welches mittel zu nutzen ist. Dies sind die zukünftigen Mitarbeiter unsere Firmen, wo sie einen durch Group Policies eingeschränkten Arbeitsplatz erhalten, wo sie keine Software installieren können, kein Facebook zugang haben, ein Postfach das so klein ist, dass man nicht mal Youtube Videos versenden oder Empfangen kann etc. Zuhause habe sie Terrabytes Speicherplatz. 90% aller digital natives haben zuhause mehr CPU Power als an Ihrem Arbeitsplatz.



Nun verliert er ein paar Worte über Green IT. Hättest du gedacht, das die IT gleich viel Energie verbraucht wie die Luftfahrt ?
Die nächste Zeit wird durch Virtualization, Industrialization, Global Class Computing, Automation, Socialization, Consumerization.

Virtuelle Welten und Digitale Identytäten werden wichtiger und öfters genutzt.





Noch ein Paar Kernausagen aus der Session (Ich komme nicht mehr nach mit mitschreiben) :

  • Sell the sizzle, not the steak
  • Find out what the other guy is doing,then do something else!
  • Globalisation impacts everyone (100000 new Engineers in U.S per Year, 500'000 new english speaking Engineers in China per Year)

Sehr gute, Intressante Session, leider kann ich nicht mehr schreiben… es geht alles zu schnell und die Session ist zu Ende. Ev. folge ich, wenn ich noch dazu komme, noch mit einem "Nachschlag".

Tipps:

Tomorrow:
Think beyond next technology wave
Next week:
Review how new trends will impact your business.
Near Future:
Explore what your job will be in 10 years time.

SOA201 A First Look at "Oslo", "Dublin", and WF 4.0

Going forward, applications are likely to rely more and more on workflows, services, and models. To make this easier for Windows developers, Microsoft is releasing three related technologies: n WF 4.0, the next version of Windows Workflow Foundation; n “Dublin”, an extension to Windows Server for running service-oriented business logic; and n “Oslo”, a repository and visual editor for storing and working with models. This session introduces all three, describing what each one does and showing how they work together. The goal is to give architects and developers a big-picture view of these related technologies.




David beginnt die Session damit, dass er erklärt, dass es heute darum geht, die fragen Why and How should I use Oslo, Dublin and WF 4.0
Er hat die Reihenfolge des Titels gekehrt, und beginnt mit dem Thema Workflow. Er holt weit aus, was ein Workflow ist und für was das ein Workflow eingesetzt werden. "Long running Applications" ist der aufhänger und ich bin gespannt, wie man dies mit WF 4.0 lösen möchte. Wir kennen diese Thematik ja bereits :-) Bislang erklärt er nichts neues, sondern es geht um die bereits bekannten dinge wie z.B den Persistence State etc. Er schwenkt nun ab und erklärt uns, dass ein WF zwingend muss auch parallele Activities ausführen können… hoffe das geht so nicht weiter…
Nun geht es doch um den Wf 4.0 . Er erklärt, dass es einen neuen Designer geben wird, einen neuen Worflow namens Flowchart und das die Performance stark gesteigert worden sei. Neben Sequential und State Machine Worflows gibt es nun den Flowchart. Er soll "more powerfull" sein als Sequential Workflows und "less complex" then State Machines. Workflow und Services werden miteinander verbunden. Will heissen, dass die WF's nun mittels WCF miteinander kommunizieren.
Nun kommt die Erklärung, was Dublin ist.
Dublin ist:





  • Ein skalierbarer Host für WCF services


  • Eine Built in persistence für service states


  • Management Tools


  • Auto Start


  • Restart of failed service instances


  • Message forwarding


  • Tracking


Unterschiede zwichen Biz Talk and Dublin? Dublin is designed to host WCF-based Services. (Especially those built using WF) Biz Talk is to host B2B WF's and for Enterprise application integration. And "Dublin" kommt mit dem .Net Framework oder mit Windows und ist in diesem Sinne "for free".

Nun folgt eine Erklärung, was Models sind. (Es geht um Entwicklungs Modelle, nicht um Models :-) )



Many things can be described using models, such as:





  • WF workflows


  • Services


  • Applications


  • Perhaps containing WF workflows and exposing services


  • Business processes
    These models can be used in various ways
    Some can be linked together, e.g., business processes, applications, and WF workflows
    Some can be executed directly, e.g., WF workflows



The Components of "Oslo":





  • A repository(Storage for model schemas and instances)


  • A modeling language, codenamed “M”


  • A way to define model schemas and more


  • A modeling tool, codenamed Visual Studio “Quadrant”


  • A visual editor for repository information



Oslo ist ein weitere Schritt zum "Model driven development". Oslo ist ein Plattform.








Mit Oslo wird die "M" Sprache eingeführt. Was ist die "M" Sprache ?



“M” has various aspects, including:
“MSchema”, a language for defining repository schemas and more
“MGrammar”, a language for defining textual domain-specific languages (DSLs)


Textual DSLs can be useful
Examples: SQL, regular expressions, “MSchema”
“MGrammar” helps define textual DSLs
It provides a language for describing the syntax for new DSLs
“Oslo” also includes tools for creating a parser for an “MGrammar”-defined DSL
Example: “MSchema” is defined using “MGrammar”
A DSL defined using “MGrammar” might or might not use other parts of “Oslo”, e.g., the repository


Schemas in the repository can be defined using “MSchema”
“MSchema” can also define relationships among schemas and more
“MSchema” generates T-SQL
The repository can be accessed using standard SQL and common database tools
Many (most?) developers won't need to use “MSchema” directly
They'll rely on schemas defined by others


Visual Studio "Quadrant ¨



  • “Quadrant” is a general-purpose visual editor for repository data

  • It also includes a built-in text editor for “M”

  • Any tool can potentially access the “Oslo” repositoryIt’s just SQL-accessible data


Montag, November 10, 2008

OFC301 Developing SharePoint Features to create reusable customizations

Extract:
The core development methodology of SharePoint has taken a big turn with the arrival of the Feature Framework their deployment using Solution Packages. During this interactive session you have the opportunity to talk with SharePoint experts about your experiences with developing SharePoint Features. Learn how and how not to use Features to benefit your development efforts, get that answer to the problem that has been keeping you awake at night, share your insights with your piers or just come visit us to get some code showing of the new capabilities. Your session will be hosted by SharePoint connoisseur Ted Pattison.



Ted beginnt mit dem üblichen Spielchen "Wer weiss was…" Hand hoch etc…. Hätte ich es nicht gewusst, ich hätte gewettet dass er ami ist.. :-)
Die Session dretht sich um Features, wie ich die einfach erstelle und wie ich sie am schnellsten deploye . Nun, eigentlich das, was im extract bereits steht… aber leider auch nicht viel mehr… so weiss ich im moment leider nicht wirklich, was ich live bloggen soll… ausser dass es wichtig ist, dass man die richtige Struktur von Beginn weg wählen muss, damit die Features wiederverwendbar sind . (Wer hätte das gedacht ..) Leider geht jetzt mein Akku dem Ende entgegen, also werde ich mehr darüber bloggen (wenn es dann was gibt) wenn ich den akku laden konnte.)
So, mein Akku is back, and i have noting to complete this post… Sorry, Second session and thats the first usless session. Nicht, dass es nicht interessant war.. Aber wenn wir das heute nicht wüssten… wären wir noch nirgends… !

UNC201 Lap around the next generation of the Microsoft Unified Communications Platform

Extract:
In Q1 of 2009 Microsoft will be shaking up the dusty telecom world once again by releasing the second release of its powerful communications software platform. Come and see an end-to-end 'real life' sample application showcasing the new platform features of the Microsoft Office Communications Server 2007 R2, Office Communicator 2007 R2 and Exchange Server. Learn about the new APIs of the platform and about the key new scenarios that will be enabled so you as a developer can embed communications deeply in client as well as server applications. New APIs we will showcase are the enhanced Unified Communications Managed API 2.0 which contains a complete SIP signaling stack, combined with a media stack, a managed speech API, UC Windows Workflow Activities, and tools integrated into Visual Studio 2008. Also witness the debut of a new Web Services based Managed API for Microsoft Exchange that can be used both for client side as well as server side development


Es beginnt mit der Erklärung, dass alles in einer Plattform ist. Nicht nur E-Mail, IM, Video und Audio Conferencing etc. Es geht einfach darum, 1 single Identity, 1 single Plattform. Einfach: Software-powered Unified Communications.
Announcement: Am 3.Februar wird der OCS 2007 R2 gelauncht. Die R2 Erweiterungen sind vor allem im Bereich Skalierbarkeit, Stabilität getätigt worden.
Es folgt eine Demo , wo eine Web Applikation, wo ich gewisse Dinge bestellen kann gezeigt wird. Es geht um Wein Gläser, und witzigerweise heissen die Gläser "RENO Wine glass" . Die Gläser sind in diesem Webshop nicht an Lager. Er klickt nun auf den "Find near store" button und sieht (via Presence Information" dass sen Kumpel Chris ist online und verfügbar. Nun klickt er diesen Kumpel an, dieser wird via OC Client kontaktiert und erhält automatisch die Meldung zurück, dass Chris 14 Stück an Lager hat. Dies ist eine End-to-End Demo, welche über den OCS kommuniziert.
Die nächste Demo zeigt, wie Kunden Online Fragen in der Webapplikation stellen können, und diese via E-Mail in der Inbox des Mitarbeiters landen. Der Kunde gibt seine Telefonnummer ein im Webform und klickt auf den Butten "Call me". Nun wird via E-Mail beim Mitarbeiter automatisch ein Fenster gestartet, was eigentlich ein "Phone Call" Invitation ist. Er klickt auf "Accept" und wird somit sofort mit dem Kunden verbunden.
Die nächste Demo zeigt, wie die Lieferwagen (werden als Outlook Kalender geführt) koordiniert werden. Nun ist ein Produkt früher verfügbar. Der Mitarbeiter klickt auf den Outlook Kalender in einen Termin und plant die Lieferung früher. Nun werden die Kunden, welche früher beliefert werden, automatisch Angerufen und gefragt, ob sie dann zuhause sind für eine Lieferung. Sobald der Kunde dies akzeptiert (Voice regocnition) wird automatisch der Liefertermin beim Lieferwagen im Kalender eingetragen.
Nun wird gezeigt, wie diese Demo auf Basis des SDK entwickelt wurde. Er zeigt, wie mann "einfach" mittels des SDK auf Events reagieren kann, aus jeder Applikation z.B. eine Video Konferenz starten usw. Für mich die wichtigste Aussage ist hier, dass es nun voll ins .Net Framwork integriert ist und die API's aussehen wie alle im .Net Framework. Interessant sind auch die Windows Workflow Activities, welche auf Ereignisse auf dem OCS oder dem OC Client reagieren, und somit in jeden Workflow integriert werden können.


Er zeigt nun viele Code Beispiele, wie dies alles implementiert werden kann.
Es werden nun einige Beispiele gezeigt, welche alle via CodePlex verfügbar sind. Z.B den Ganzen Communicator in Outook2007, den Communicator als SideBar Gadget, Ein Analyse Tool, welches mir immer die TOP5 anzeigt, mit welchen ich am meisten kommuniziere. Dann zeigen sie ein Tool, wo ich neben dem Presence Status auch anzeigen kann, wo die Person ist. Dazu haben sie dem Communicator via API den gesamten Hausgrundriss ihres Centers in Amsterdam beigebracht.Dann sehen wir den Communicator als "walkie talkie" end-point.

Am Schluss zeigen sie noch, wie der gesamte OC Client im CRM integriert ist, und so die Kommunikation mit Kunden erleichter wird.

Keynote

Zuerst spricht der Vice Präsident von MS Europe. Er erzählt, dass es keinen besseren Moment gab, als jetzt, um developer zu sein und das Europa der ideale Platz sei um Software zu entwickeln… Hab ich irgendwann genau so doch auch schon gehört :-)

Er erzählt, dass wir die Ehre haben, spezielle Tracks und Infos zu erhalten, welche exklusiv von der PDC Kommen… Die nächste Office Generation, Windows 7 und Windows Azure.
Er zeigt nun ein Karte, wo alle Development und Research Centers in Europe aufgeführt sind und das Europe in Sachen Innovationen führend ist. Er führt aus, dass man vor ein Paar Monaten eine grossartige Firma gekauft habe (FAST) und dass man nun dabei sei, eine Plattform zu bauen, um eine Konkurrenz fähige Internet und Enterprise Search anzubieten.
Er erzählt, dass mit crytek eine der besten game Hersteller in Europa zuhause sein, natürlch basierend auf MS Technologien. Nun stellt er "Microsoft BizSpark" vor. Ist ein Startup, wo ich noch nicht genau verstanden habe, um was es hier geht.
Kernaussage: "Your Software makes the World magic"
Nun kommt Jason Zander, er ist der Visual Studio General Manager.
Er announct das Visual Studio 2010 und das .Net Framework 4.0 und sogleich folgt eine Demo vom Studio. … und sogleich ist das Studio gleich abgestürtzt. Hmm, es ist noch pre alpha und so… Denkbar unglücklich, so eine Demo zu beginnen :-)
Was cool ist, ist ein Designer den er Zeigt, wo ich optisch die dependencies der assemblies anzeigen kann und wenn ich ein assemblie öffne, sehe ich die Klassen innerhalb und wieder die Abhängikeiten grafisch dargestellt. Sieht noch hübsch aus.
Er macht nun eine lange Demo zu dem neuen "Test-Tool" . Das coole ist, dass der Entwickler zwar einen Testablauf vorgibt und das wenn der Tester mit TFS arbeitet und mit der Studio Test Edition, alle Steps aufgezeichnet werden (Video, wmv) sowie alle Aktionen recorderd. D.h. wenn der Tester etwas als Bug markiert, dies im TFS eingecheckt wird. Nun zeigt er, dass der Entwickler seine Solution aufmacht und den Bug gemeldet bekommt. Nun kann er sich den Test anschauen, kann den Test genau so wie in den Tester gemacht hat debuggen.
Er zeigt noch, anhand einer Transaction, dass ich gleich im Code das Sequence Diagram habe und das ich innerhalb des Studios eine"Quick Search" habe. Die Features die er sonst noch zeigt sind auf WPF basiert und sehe ganz nett aus (Z.B wenn man eine Funktion markieret spring eine Box auf, wo ich die graphisch dargestellte History habe dieser Funktion. Mit Bildern, wer wann was geändert hat)
Er zeigt nun das "Lab Environment" welches auf Virtuellen Instanzen basiert. Die ermöglicht jederzeit ein Repro, weil alles aufgezeichnet wird und jederzeit wieder auf einen bestimmten Punkt mit bestimmten Zuständen gesprungen werden kann. Diese Informationen sing geshared, was heisst dass alle am Projekt beteiligten dies Informationen haben und diese Zustände reproduzieren können. Die könnte IMHO interessant werden für die Zusammenarbeit von uns mit MS, da ich nie wieder vom MS Support hören möchte, "we have no repro". So kann ich doch sagen, "Of course, you have ! "
Am Schluss ging es noch darum, dass man "alten" VC6 Code im Studio 2010 verwenden kann. Mann kann diesen Code relativ einfach multi Core und multi CPU machen. Auch die grafische Analyse, welcher Thread benötigt wann wieviel CPU sah ganz nett aus. Ich habe die kleine Hoffnung, dass einiger Code von uns doch noch überleben wird (z.B das Frontend) und "zukunftstauglich" gemacht werden kann. Alles in allem eine Keynot mit keinem grossen "Knall" Effekt, mit vielen Demos. Not bad at all.

Anreise und erste Eindrücke

Da ich bereits am Sonntag Abend anreisen "musste", hatte ich heute morgen keinen Stress und konnte getrost abwarten, bis sich bei der Registration die Menschenmenge etwas gelichtet hatte.
Nach einer angenehmen Reise bin ich gestern abend gegen 21 Uhr im Hotel abgestiegen. Diesesmal liegt das Hotel genau gegenüber der CCIB, dem Convention Center. Dies bringt logistisch einige Vorteile, dafür ist man jedoch nicht so zentral in der Stadt, so dass man vom wundervollen Barcelona nicht so viel mitbekommt. Aber dafür bin ich ja nicht hier.
Die Registration verlief wie immer problemlos. Was auffällt, ist das es jedes Jahr weniger wird mit Service. Als erstes, sehr grosses Manko ist der fehlende Shuttle Service. Normalerweise wurden immer Cars organsiert, welche die Leute vom Flughafen zum CCIB bringen. Dieses Jahr muss jeder für sich schauen, was erstens in die Kosten geht (35€ fürs Taxi) und 2. zu einem kleinen durcheinander am Flughafen führt, weil zunächst jeder am Flughafen die bereitgestellten Busse sucht. Auch das Wireless Netzwerk scheint noch schlechter zu sein als in den Jahren zuvor, ich habe nun eine satte halbe Stunde benötigt, bis ich vom DHCP ne IP Adresse bekommen habe... erstaunlich das MS dies nicht auf die Reihe kriegt...
Soweit so gut, ich gehe jetzt etwas kleines essen und melde mich dann wieder live von der Keynote.

Freitag, September 05, 2008

Montag, November 13, 2006

First personal resume

Nun ist sie also schon wieder vorbei.
Dieses Jahr stand die TechEd ganz im Zeichen von Office Systems 2007 und Windows Vista. Das erste Mal fand der Event nicht im Sommer sondern im November statt. Er wurde "zusammengelegt" mit dem IT-Forum, welches neu TechEd It-Forum heisst. Das IT-Forum findet ja bekanntlich an der selben Location, eine Woche später, statt. Dies hat für die Veranstalter natürlich logistische Vorteile.
Natürlich hat sich auch diese TechEd gelohnt. Es ist wie immer an solchen Events, dass man viele Eindrücke sammelt, welche einen über mehrer Monate danach noch begleiten. Es ist nicht so wie bei einem Kurs, dass man danach zurück an den Arbeitsplatz kommt und das Erlernte gleich umsetzten kann. Es ist viel mehr das Wissen über aktuelle oder kommende Technologien. Diese Zahlt sich erst in den folge Monaten aus. Dies war und wird auch in diesem Jahr und kommenden Jahr wieder so sein.
Wie ich in den einzelnen Session berichten bereits geschrieben habe, sind für mich leider die Office Sessions enttäuschend gewesen. Dies hat nicht unmittelbar mit der Qualität der einzelnen Präsentationen zu tun, sondern eher mit dem Level und dem Informationsgehalt. Wie ebenfalls bereits erwähnt, ist dies eher auf unseren Stand des Know-How zurückzuführen. Es ist mir ja durchaus verständlich, dass viele Leute Dinge zum ersten Mal gehört haben, mit denen wir uns nun schon seit fast einem Jahr beschäftigen.
Leider war ich an keiner Vista Session, ich denke aber, dass dies durch unsere Besucher des It-Forum sicherlich nachholen werden. Ausserdem lag mein Fokus ja ganz klar auf anderen Dingen. Die Vista Session waren meist so ausgelegt, dass dann auch immer Office oder Workflow Sessions waren.
Es war wiederum ungemein schwer, alles was von Interesse war zu besuchen. Bei bis zu 10 Session gleichzeitig, ist es einfach nicht möglich, alles zu besuchen. Ich hatte aber sogar Zeit, Sessions zu besuchen, die mich persönlich interessierten. (Robotics Studio, Game Development )
In diesem Jahr waren über 3750 Entwickler an der TechEd. (Davon etwas über 60 Schweizer) Die Räume waren im Gegensatz zu anderen Jahre sehr viel näher beieinander. Dies brachte den Vorteil, dass man in den Pausen wirklich Zeit hatte, einen Kaffe zu trinken. Die hatte aber auch logischer Weise zu Konsequenz, das da auch sehr viel mehr Gedränge war, als in anderen Jahren. Generell ist aufgefallen, dass die Zusammenlegung auch einen Kostenhintergrund haben könnte. Dies war über irgendwie zu merken. Zwar nicht so, dass es störte, aber irgendwie war die "Grosszügigkeit" aus andern Jahren etwas verschwunden. (Weniger Kühlschränke mit Getränken, Keine Party mehr, Kein PrintingService mehr, Keine Glace mehr etc.) Dafür war das Wireless Netwerk besser als in vergangen Jahren. Dies kann natürlich wiederum daran liegen, dass eine viel kleinere Fläche versorgt werden musste… Dafür war (Sorry System Engineers) das niveau das erste mal durch das Band Developer Niveau.
Ich kann euch (sobald der Download wieder vernünftig funktioniert die Sessions Slides besorgen. Ich weder vorgängig jedoch eine Liste verschicken, mit dem Inhalt,was ich habe. Somit könnt Ihr mir dann mitteilen, welche ihr haben möchtet.
Ich bin sehr zufrieden mit dieser TechEd, egal was organisatorisch oder aus kostendruck rausgefallen ist.

Ich denke, dies ist nicht der letzte Artikel, ich werde mich wieder melden. It's not over ;-)

Freitag, November 10, 2006

DEV358 New Cryptography: Algorithms, APIs and Architecture


Rafal Lukawiecki
Abstract:
Are you still using DES, RSA, MD5 or SHA-1? Do you know how this might expose your company to a loss? Why is CAPI 1.0 being retired? Is the architecture of the new Open Cryptographic API for Windows (CNG) any better than CAPI 2? What is Suite-B? Do you realise that the next few years will see a dramatic replacement of those security fundamentals we used to silently rely on? These are some of the question we will answer in this information-packed and fast-paced level 300 session aimed Developers and Architects who are already familiar with basic cryptographic and security concepts. While we are not going to explain the inner workings of any of the covered algorithms, we will give you a good background to all the new ones, so that you can make better choices while designing security for your systems. Microsoft Windows Vista will be the first commercial operating system to include a full support for all of those innovations, closely followed by the “Longhorn” Server, so consider this as an opportunity to incorporate the awesome power of the recent developments in your software. For the curious, we may even tell you why we cannot tell you about Suite-A...


So, letzte Session an dieser TechEd. Leider… obwohl ich müde bin und den Kopf voller neuer Sachen habe ;-) Ist immer interessant, aber auch sehr anstrengend und ermüdend. Zum Schluss gönn ich mir nochmals (das 1. Mal in diesem Jahr) Rafal Lukawiecki. Rafal ist einer meiner lieblings Speaker. Ich habe ihn vor 3 Jahren das erste Mal gesehen und war begeistert. Er kann sehr komplexe Themen sehr bildlich und immer mit einer prise Humor rüberbringen. Ich habe durch ihn damals das 1. Mal das Konzept von Public und Private Key wirklich verstanden. Also bin ich nun gespannt was kommt. Wie ich Rafal kenne, wird er aber unsere Köpfe trotzt der letzten Session nicht in den "Idle" Modus versetzen.
Rafal beginnt mit einer Erklärung, wo dass heute in der Kryptographie sind und weshalb es einen neue braucht. Er erklärt, dass es sein Ziel ist, uns alle zu Kryptographie Fans zu machen ;-)
Er geht davon aus , dass alle Anwesenden wissen, was Symmetric, Public Key und Hibryd Kryptographie ist….

Heutige, vor Vista Empfehlungen:
At present (Nov 2006), consider using the following cryptographic mechanisms available in Windows XP and Server 2003 in preference to others:
• AES-128 (or AES-192, or AES-256)
• RSA 2048 (or longer)
• “SHA-2” (i.e. SHA-256, or SHA-512)
• DSA (or SHA-2/RSA signatures)


DES, IDEA, RC2, RC5, Twofish are not Recommended !!!


Rijndael (AES) Recommended :

Current US standard
• Winner of the AES (Advanced Encryption Standard) competition run by NIST (National Institute of Standards and Technology in US) in 1997-2000
• Comes from Europe (Belgium) by Joan Daemen and Vincent Rijmen. “X-files” stories less likely (unlike DES).
• Symmetric block-cipher (128, 192 or 256 bits) with variable keys (128, 192 or 256 bits, too)
• Fast and a lot of good properties, such as good immunity from timing and power (electric) analysis
• Construction, again, deceptively similar to DES (S-boxes, XORs etc.) but really different

CAST and GOST
Not used widely anymore – avoid

• CAST
• Canadians Carlisle Adams & Stafford Tavares
• 64 bit key and 64 bit of data
• Chose your S-boxes
• Seems resistant to differential & linear cryptanalysis and only way to break is brute force (but key is a bit short!)
• GOST
• Soviet Union’s “version” of DES but with a clearer design and many more repetitions of the process
• 256 bit key but really 610 bits of secret, so pretty much “tank quality”
• Backdoor? Who knows…


Rely on Cryptosystems
Please:

• Indeed: never use just an algorithm, but an entire cryptosystem
• For example:
• If you use DES etc. in a simple “loop” to encrypt a stream of data you literally lose all security
• Instead: use a technique designed for adapting an algorithm to a streams of data, such as CBC (Cipher Block Chaining)
• Microsoft never implement just an algorithm – always a complete cryptosystem, e.g. RSA-OAEP etc.


Dangerous Implementations:
• Cryptographic applications from not-well-known sources
• I “just downloaded this library”
• Insist on using built-in systems where possible:
• Microsoft OS: CNG, CAPI, CAPICOM, MS CSP etc.
• Smartcards: certified CSPs
• Elsewhere: FIPS-140-2 compliant implementations
○ See csrc.nist.gov/cryptval

RC4
Generally Not Recommended
• Symmetric
• Fast, streaming encryption
• R. Rivest in 1994
• Originally secret, but “published” on sci.crypt
• Related to “one-time pad”, theoretically most secure
• But!
• It relies on a really good random number generator
○ And that is a problem
• Nowadays, we tend to use block ciphers in modes of operation that work for streams

RSA, DSA, ElGamal
• Asymmetric
• Slow and computationally expensive – need a computer
• Security increasingly being questioned
• Rivest, Shamir, Adleman – 1978
• Popular and well researched
• Strength in today’s inefficiency to factorise into prime numbers
• Some worries about key generation process in some implementations
• DSA (Digital Signature Algorithm)
• Mainly for digital signing, not for encryption, used in US
• Variant of Schnorr and ElGamal signature algorithm
• ElGamal
• Relies on complexity of discrete logarithms

MD5, SHA
• Hash functions – part of the digital signature
• Goals:
• Not reversible: can’t obtain the message from its hash
• Hash much shorter than original message
• Two messages won’t have the same hash
• MD5 (R. Rivest)
• 512 bits hashed into 128
• Mathematical model still unknown
• Recently (July 2004) broken, do not use on its own
• SHA (Secure Hash Algorithm)
• US standard based on MD5
• MD5 and MD4 broken
• SHA-0 broken (July 2004), SHA-1 probably too weak (partly broken, full break alleged by Chinese recently), use SHA-256 at least

Diffie-Hellman, “SSL”, Certs
• Methods for key exchange and transport
• DH (1976) always generates a new “key-pair” for each asymmetric session
• Certificates are the most common way to exchange public keys
• Foundation of Public Key Infrastructure (PKI)
• SSL uses a protocol to exchange keys safely, but also requires PKI


APIs of Today
• Microsoft CryptoAPI (CAPI) 2.0 is the interface to all CSPs
• Cryptographic Service Providers
○ Built-in or smartcard-based
• .NET Framework 1.1 and 2.0 (and 3.0) wraps most of the functionality of CAPI in classes:
• System.Security.Cryptography and its subclasses:
○ .Pkcs
○ .X509Certificates
○ .XML
• Or you can use the CAPICOM library

Cryptography of Tomorrow
Quantum Cryptography?
• Method for generating and passing a secret key or a random stream
• For keys, not data
• Polarisation of light (photons) can be detected only in a way that destroys the “direction” (basis)
• Works up-to-120km of a dedicated fibre-optic link
• Seems pretty perfect, if a bit tedious and slow
• Practical implementations still use AES/DES etc. for actual encryption
○ Magiq QPN: http://www.magiqtech.com/press/qpn.pdf
• Don’t confuse it with quantum computing, which won’t be with us for at least another 50 years or so, or maybe longer…

More Practical Solution

• US NSA and NIST recommendation is to implement “Suite-B” protocols
• This is very rarely done in today’s software
• Good news: Microsoft supports Suite-B in Windows Vista (and Longhorn Server)
• For all internal implementations Microsoft will not use weaker algorithms than Suite-B
○ But, of course, they will support your choice to do so if you wish

Vista Supports NSA Suite B
www.nsa.gov/ia/industry/crypto_suite_b.cfm

• Required cryptographic algorithms for all US non-classified and classified (SECRET and TOP-SECRET) needs
• Except a small area of special-security needs (e.g. nuclear security) – guided by Suite A (definition is classified)
• Announced by NSA at RSA conference in Feb 2005

Mathematical Designs

• Many cryptographic algorithms (e.g. DSA) rely on a class of mathematical designs related to the concept of discrete logarithms
• These can be implemented over the finite field of any abelian group
• Normally, this means using integers modulo a prime number
• Alternatively, elliptic curve groups could be used
• This leads to ECC


Elliptic Curve Cryptography
ECC
• More efficient design, using fewer bits of key for the same strength
• Breaking these designs seems even harder than traditional ones
• Leads to faster algorithms with fewer problems
• Primarily used to enhance algorithms of existing design, such as DSA


Suite-B Algorithms

• Encryption: AES
• Digital Signature: EC-DSA
• Key Exchange: EC-DH or EC-MQV
• Hashing: SHA-2

Suite-B Encryption

• AES
• FIPS 197 (with keys sizes of 128 and 256 bits)
• This is a specific implementation of Rijndael algorithm allowing use of 128 bit data blocks only
• Keys of 192 bits are not used (although FIPS specifies them)
• Please note that most 256 bit implementations are much slower than 128 bits
• In general, anything of 81 bits or more in this class of cryptography is considered “good enough” for typical commercial applications

Suite-B Digital Signatures

• Elliptic Curve Digital Signature Algorithm (EC-DSA)
• FIPS 186-2 (using the curves with 256 and 384-bit prime moduli)
○ Microsoft also supports 521-bit keys
• This is a classical DSA algorithm applied over the algebra of finite fields of elliptic curves
Suite-B Key Exchange
• Elliptic Curve Diffie-Hellman or Elliptic Curve MQV
• Draft NIST Special Publication 800-56 (using the curves with 256 and 384-bit prime moduli)
• Microsoft will also support 521-bit keys
• Remember DH?
• It is susceptible to man-in-the-middle attacks, so it requires authentication in most applications
• Usually done (not very efficiently) with digital signatures
• EC-MQV: Menezes, Qu, and Vanstone protocol
• Authenticated key exchange
• Design similar to DH
• Uses the discrete logarithm concept
• Also requires a pre-existing, verified and trusted long-term public/private keypair
○ Which is only used for trust establishment, not for actual encryption or signing
○ This gives it an important forward-secrecy property
• Suite-B uses the EC implementation of MQV

Suite-B Hashing

• Secure Hash Algorithm
• FIPS 180-2 (using SHA-256 and SHA-384)
• As MD5 and SHA-0 have been broken and SHA-1 has been allegedly broken we do not have much choice
• Almost no alternatives exist
• SHA-2 should suffice for a few years, but ultimately it must be replaced
• SHA-2 allows: 224, 256, 384, and 512 bit lengths

APIs for Suite-B Today?

• There are no widely used or supported libraries or APIs for Suite-B and most operating systems of today
• However…

Cryptographic Next Generation API
CNG

• CAPI 1.0 has been deprecated
• May be dropped altogether in future Windows releases
• CNG
• Open cryptographic API for Windows Vista/Longhorn
• Ability to plug in kernel or user mode implementations for:
○ Proprietary cryptographic algorithms
○ Replacements for standard cryptographic algorithms
○ Key Storage Providers (KSP)
• Enables cryptography configuration at enterprise and machine levels

• Main CNG Features

• Cryptography agnostic
• Kernel-mode for performance and security (better performance than CAPI 1.0)
• FIPS-140 Certification
• 140-2 and Common Criteria (CC) on selected platforms
• 140-1 everywhere
• CC compliance for long-term key storage and audit
• Suite-B of course, but also supports all existing algorithms available through CryptoAPI 1.0
• Key Isolation and Storage using TPMs
• Developer-friendly model for plug-ins

Three APIs within CNG:

• CNG Cryptographic Primitive Functions
○ The “main” API: all algorithms are here
• CNG Key Storage Functions
○ Allows interaction with the new Key Storage Providers concept
§ Supports existing devices (smartcards) and future types of tokens
○ Interface for all secure key creation, including the EC-DH and EC-MQV* methods
○ Interface for import and export of keys using PKCS #7 and #8
• CNG Cryptographic Configuration Functions
○ For registering and managing additional cryptographic functions
Read: http://msdn2.microsoft.com/en-us/library/aa375276.aspx

In addition to CNG:

• .NET Framework System.Security.Cryptography
○ Microsoft will extend the .NET Framework to cover CNG in the future
○ At present, it is a Windows native API
• TBS: TPM Base Services
○ For interaction with Trusted Platform Modules
• Certificate Enrolment API



Using CNG – Two Models

• Depending on your needs, you use CNG with:
• Algorithms and keys provided by a Key Storage provider (such as smartcards)
○ All function names begin with “N”, such as NCryptOpenStorageProvider
○ This is the CNG Key Storage Functions API
§ Ncrypt.h, Ncrypt.lib and Ncrypt.dll
• Algorithms and keys generated by the operating system’s software providers
○ All function names begin with “B”, such as BCryptOpenAlgorithmProvider
○ This is the CNG Cryptographic Primitive Functions API
§ Bcrypt.h, Bcrypt.lib and Bcrypt.dll
• I only explain “B” in next slides, but “N” is very similar

So, Who Encrypts?
Reason for the Two APIs

• “B-API” if
• You want Vista/Longhorn (or future OS) to do the encryption, you use the “B-API”
○ Implementation provided by a Key Storage Provider
○ Microsoft or other
• “N-API” if
• You have a smartcard, HSM (hardware security module), or a TPM
○ All computations performed by the device
○ Generally, OS has nothing to do with that

Summary:
• Today’s cryptography has just accelerated its evolution
• Windows Vista and Longhorn Servers will be at the front of innovation in this field
• You can benefit from the increased security by using BitLocker or the APIs such as CNG
• Developers life is easier with CNG than ever with CAPI
• It is an exciting time to be using cryptography!

Es würde jetzt sehr lange dauern, alles was er am "Rande" noch erzählt hat. Wie erwartet, eine typische Rafal Session. Sehr interessant, auch wenn ich nicht alles auf Anhieb verstanden habe. Aber das ist bei Ihm meistens so. Das gehörte muss sich zuerst setzten, sich einige Gedanken darüber machen und irgendwann wird ein Lichtlein aufgehen .. ;-) Die Folien habe ich mir gesichert, so dass ich sie mir immer und immer wieder reinziehen kann ….

Obwohl dies die letzte Session war, wartet noch mit "ausschalten". Ich habe diesen Beitrag zu einem grossen Teil noch im Flugzeug geschriebe. Will sagen, ich hab mindestens noch ein Fazit, ein paar Bilder usw.... stay tuned! (Aber zuerst geniesse ich jetzt das weekend, zumindest was davon übrgbleibt ;-) )

OFF308 Development Model for Customizing the new Office Ribbon User Interface (UI)

Jaser Elmorsy , Max Hauser
Abstract:
The new UI introduced with 2007 Microsoft Office system codenamed 'Ribbon' is fully customizable through a new, declarative programming model using XML. This session dives into details of this mark-up language and describes how the Ribbon interacts with DLL-based code of Add-Ins developed in C# or VB.NET (or even VB6). It even shows you a couple of real live applications for Office 2007 clients. Also you will learn about the use cases and guidelines for customizing the Ribbon bar and when to use Custom Task Panes for customizing the Office UI instead.



Die Converence neigt sich langsam dem Ende zu, Irgendwie hat es auch keine Sessions mehr, welche neu oder interessant sind für mich. Ich habe mich für diese Session entschieden, weil wir hier, wenn wir dann mal Office System 2007 einsetzen (Client Side) , dann könnten wir doch auch im Ribbon gewisse RTC Spezifische Sachen machen (Vorlagen ? ;-) )

Zuerst erfolgt eine Erklärung, was das Ribbon ist und welche Controls es auf dem Ribbon gibt. Ich möchte jetzt nicht alle aufzählen, ich verzichte auch auf Screenshots, weil wer sich für das Ribbon interessiert, kennt es entweder schon, oder geht auf mein Office Blog.

Das erste was gezeigt wird, ist ein Custzom Tab im Ribbon auf Dokumenten Basis. Das heisst, dass im Ribbon ein zusätzlicher Tab erscheint, immer wenn ich genau das eine Dokument öffne. Macht sinn für Templates.

Nun wird im Studio (Visual Studio 2005 R2 (RTM vor 3 Tagen ) !!) ein Custom Ribbon gebaut. Dies ist als Project Type im neuen Studio enthalten.

Es folgt nun ein from scratch geführte demo, wo Methode um Methode erstellt wird. Es geht ein wenig schnell, wenn ich alle jetzt beschreiben und Dokumentieren möchte. Die Samples sind aber auf MSDN verfügbat. Was jetzt gebaut wurde, ist ein Control, welches eine Image suche darstellt. Ich habe eine kleine Search box, gebe den Namen der Company ein, von der ich ein Logo will. Ich gebe Microsoft ein, sehe eine Auswahl (Also PopUp) der Images, welche auf der Yahoo Bilder Suche(via WebService) gefunden wurde. Wenn ich nun das Logo anklicke, wird es an der aktuellen Stelle im Dokument eingefügt. Es werden nun noch cool looking ToolTips etc. hinzugefügt.

Das ganze Ribbon kann komplett selbst geschrieben werden. Wenn ich ein Control definitiv nicht im Ribbon haben will, dann muss ich from scratch starten, ein Eigenen Ribbon bauen, und alle Controls, welche ich haben will, wieder hinzufügen (Execpt dem, welches ich nicht haben will) .

Nun geht es um die Customization der QAT. Dies wird definitiv nicht empfohlen, da es das einzige Control ist, welches der User Steuern kann.

Nun ist das Thema Contextual Tabs. Dies kann nicht programmatisch geschehen, sondern man kann die bestehenden verwenden für die Eigenen Controls.

Nun geht es um Shared Add-Ins. Dies geschieht Wizard geseuert, zumindest der erste Schritt. Danach kann ich meine Methoden implementieren. Als Beispiel nehmen sie die OnPrint Methode. Sie überschreiben die Methode, so dass immer wenn ein "OnPrint" Event gefeuert wird, erscheint nun eine MsgBox, wo darauf hingewiesen wird. Dass es sich um "Confidential" Content handelt, willst du den wirklich drucken ? Wenn ich nein klicke geschieht nichts, wenn ja, wird die normale OnPrint WinForm aufgerufen. Witzig ist, das dies nun für alle MS Applikationen funktioniert. Witzig ist, dass es für Acces nicht funkioniert. Dazu muss ich ein eigenen UI machen, da es für Access andere ID's gibt. Ist nicht ein Problem und mit einem Switch Statement schnell gemacht… aber lustig, dass Access immer noch nicht "Office" ist. Outlook ist auch noch eine Ausnahme. Weil in Outlook gibt es nur in den sog. Inpsectors das Ribbon. In Outlookk existieren 19 Ribbons ! .
Es folgt nun ein Beispiel, wie sie einControl machen, mit welchem ich in den Kontakten für die Business Cards verschiedene Templates verwenden kann.

Es geht jetzt noch um die bestehenden Add-Ins, und wie man diese übernehmen kann. Die meisten sollten funktionieren, man müsse es ausprobieren...

Photo Break