ANDRÉ OBELINK, MCSD, MVP Introductie.NET Framework 3.0
About me… Technical Manager / lead developer Actief in de Visual Basic en.NET community VP Speakers Bureau INETA Europe Microsoft MVP voor Visual Basic sinds 2006 Auteur van artikelen in zowel nationale - als internationale magazines en het boek Visual Basic 2005 – de Basis
Trends in softwareontwikkeling Beleving - en userinterface wijzigt Inloggen op applicaties (digital identity management) Service Oriented Development (SOA) Business Process Modeling
Microsoft.NET Framework. Het.NET Framework 3.0 is het platform voor de applicaties van morgen.
Windows CardSpace - WCS Technologie om het online inloggen te versimpelen en te verbeteren ‘Claims’ over je identiteit Wie ben jij? Echt waar? Kun je dat bewijzen? Codenaam: InfoCard
Windows CardSpace - WCS Private desktop gescheiden ‘user context’ beveiliging hacken Self-issued cards Niet bevestigd Lokaal opgeslagen Managed Cards Bevestigd opgeslagen op STS
Identity metasystem Identity metasystem is een collectie van protocollen gebaseerd op WS-* het is geen product Metasystem onderscheidt een drietal ‘rollen’ Identity providers Relying parties (websites of services) Subjects (meestal een gebruiker)
WCS – Betrokken partijen WS-* Web Services Gebruiker ‘Relying’ partij Identity Provider
Windows Presentation Foundation - WPF “Unified framework for building next gen user experiences with UI, media and documents” Codenaam: Avalon
WPF – Stand van zaken op dit moment Het huidige grafische platform voor Windows applicaties is 20 jaar oud de gebruiker verwacht en eist meer op het gebied van gebruikersinterface en algehele kwaliteit Grafische hardware ontwikkelt zich zeer snel de performance neemt toe, prijs/kwaliteitverhouding goed Fabrikanten videokaarten voornamelijk gefocust op 3D
Wat is Windows Presentation Foundation? Hardware geaccelereerde media – en presentatie engine, gebouwd op DirectX versie 10 Het biedt een algemeen framework voor zowel Windows – als Web applicaties (common codebase) Nieuw en declaratief programmeermodel Vervanger van GDI en GDI+ Maakt het mogelijk om grafische ontwerpers binnen het proces van softwareontwikkeling te betrekken
Windows Presentation Foundation - XAML eXtensible Application Markup Language Declaratieve taal met een XML syntax Hierarchie van CLR objecten en eigenschappen Zei je “ksemmul”? OK LightBlue XAML Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; C# Dim b1 As New Button b1.Content = "OK" b1.Background = New _ SolidColorBrush(Colors.LightBlue) b1.Width = 100 VB.NET
WPF/Everywhere (WPF/E) Silverlight Subset van WPF gefocust op interactieve content Optimale integratie met het web meer dan alleen x-Browser en x-Platform gebruikt JavaScript en C# of VB.NET WPF/E /Silverlight host zelf een.NET runtime specifieke browser plugin zit geëmbed in HTML de plugin laadt de externe package met IL en XAML Natuurlijk…. XAML is de technologie die dit mogelijk maakt.
Windows Presentation Foundation Spiegeling here, spiegeling there… spiegeling everywhere!
Windows Presentation Foundation - Tools Designers ontwerpen XAML zorgt ervoor dat ontwerpers èn ontwikkelaars kunnen samenwerken aan één project. Developers voegen business logic toe
Windows Communication Foundation - WCF “Unified framework for rapidly building interopable service-oriented applications on the Windows platform..” Codenaam: Indig o
WCF – Gecombineerde technologieën Algemeen framework omvat bestaande technologieën Communicatie met andere platformen ASMX Enterprise Services Programmeren op basis van transacties WSE WS-* protocols System.Messaging Queued messaging Transparante locatie Remoting ASMX.NET Remoting Enterprise Services WSEMSMQWCF Interopable webservices XX.NET -.NET Communicatie XX Gedistribueerde transacties etc. XX Ondersteuning WS-* specificaties XX Queued Messaging XX
Client Endpoint C C A A B B Service Endpoint A A B B C C WPF – Client en Service Message Endpoint A Adress Waar? A Adress Waar? B Binding Hoe? C Contract Wat?
WCF – Address, Binding en Contract Address Gebaseerd op een URI net.tcp://obelink_win2003_server/mijnservice Meerdere endpoints Binding Geeft aan hoe endpoint te benaderen is Bindings kunnen worden geconfigureerd Contract Beschrijft de interface van de service (welke methods, argumenten,..) Wordt expliciet gedefinieerd Zijn beschikbaar middels WSDL en XSD
Windows Communication Foundation
Windows Workflow Foundation - WF “The programming model, engine en tools for building workflow enabled applications on the Windows platform.”
Wat is een workflow? Een workflow is een ‘programma’ opgebouwd uit uite een set van ‘activities’ Coördineert zowel mensen als software Heeft een ‘real-world’ workflow Draait een langere tijd en is transparant Staat dynamische veranderingen toe..zoals een flowchart…… of een state diagram
Real-world vragen “Orders worden binnen 48 uur bevestigd en binnen 30 dagen verstuurd” “De meeste leveranciers bevestigen de order, maar sommigen ook niet. Daar moeten we zelf nog achteraan” Wat is de status van de order en wat is de volgende stap?”
Meerwaarde Windows Workflow Foundation Long Running & Stateful Require Flexible Control Flow Must Provide Transparency Workflows kunnen 30 dagen draaien en men moet ten alle tijden de status weten Flexibiliteit om stappen over te slaan of aan zelf anders in te vullen. Mogelijkheid om de volgende stap als workflow te tekenen. “Orders worden binnen 48 uur bevestigd en binnen 30 dagen verstuurd” “De meeste leveranciers bevestigen de order, maar sommigen ook niet. Daar moeten we zelf nog achteraan” Wat is de status van de order en wat is de volgende stap?”
Architectuur Windows Workflow Foundation
Basisprincipe Windows Workflow Foundation Een workflow is een class Een workflow kan worden vastgelegd met ‘markup’ Imports System.Workflow.Activities Public Class MyWorkflow Inherits SequentialWorkflow … End Class … XOML…..
Windows Workflow Foundation - Activities Activities zijn de bouwstenen van workflows Een eventueel herbruikbaar stuk code dat uitgevoerd wordt Basic activities zijn stappen binnen de workflow Composite activities bevatten andere activities, bijvoorbeeld Sequence De Base Activity Library zijn out-of-the-box/standaard activities Derden kunnen zogenaamde ‘custom activities’ ontwikkelen, bijvoorbeeld BestellingAfgerond Activities zijn classes Properties en events worden vastgelegd door de ontwikkelaar en zijn programmeerbaar vanuit workflows Activitities kennen methoden die ook geprogrammeerd zijn door de ontwikkelaar maar worden aangeroepen door de workflow runtime of designer, bijvoorbeeld Execute. Kunnen worden gecomipled in workflow assemblies of worden gedeployed als herbruikbare assemblies
Windows Workflow Foundation
© 2007 – ANDRÉ OBELINK Vragen?
.NET Framework 2.0 – VS2005 Besturingssysteem Common Language Runtime (CLR) Framework Class Library (FCL/BCL) ASP.NET Gegevens en XML Common Language Specification (CLS) Visual Basic 2005 C# C++ J# Delphi … … Visual Studio 2005 ( + “Orcas”) Windows Forms XML Webservices Web Forms