Introductie .NET Framework 3.0 AN D RÉ OBELIN K , M CS D , M VP
About me…
Technical Manager / lead developer Actief in de Visual Basic en .NET community
www.VBcentral.nl, 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
Business Process Modeling
Inloggen op applicaties
(digital identity management)
Service Oriented Development (SOA)
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
Gebruiker
WS-* Web Services
Identity Provider
‘Relying’ partij
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”?
C# Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100;
XAML <Button Width="100"> OK <Button.Background> LightBlue
VB.NET Dim b1 As New Button b1.Content = "OK" b1.Background = New _ SolidColorBrush(Colors.LightBlue) b1.Width = 100
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
XAML zorgt ervoor dat ontwerpers èn ontwikkelaars kunnen samenwerken aan één project. Designers ontwerpen
Developers voegen business logic toe
Windows Communication Foundation - WCF
“Unified framework for
rapidly building interopable
service-oriented applications on the Windows platform..” Codenaam: Indigo
WCF – Gecombineerde technologieën Algemeen framework omvat bestaande technologieën ASMX Interopable X webservices ASMX .NET - .NET Communicatie met Communicatie
.NET Remoting
Enterprise Services
MSMQ
Remoting
X
Transparante locatie
andere platformen
Gedistribueerde transacties etc.
WSE
X
Ondersteuning Enterprise Services WS-* specificaties
WSE
Queued Programmeren op Messagingbasis van transacties
WS-* protocols
WCF
X X X
XSystem.Messaging Queued X messaging
X X
WPF – Client en Service
Client
Service
Endpoint Endpoint
C Endpoint B A
A Adress Waar?
Message
B Binding Hoe?
A Endpoint B C
C Contract Wat?
WCF – Address, Binding en Contract Address Gebaseerd op een URI
http://www.obelink.com/mijnservice net.tcp://obelink_win2003_server/mijnservice
Meerdere endpoints
http://www.obelink.com/mijnservice1 http://www.obelink.com/mijnservice2
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
“Orders worden binnen 48 uur bevestigd en binnen 30 dagen verstuurd”
Long Running & Stateful Workflows kunnen 30 dagen draaien en men moet ten alle tijden de status weten
“De meeste leveranciers bevestigen de order, maar sommigen ook niet. Daar moeten we zelf nog achteraan”
Require Flexible Control Flow Flexibiliteit om stappen over te slaan of aan zelf anders in te vullen.
Wat is de status van de order en wat is de volgende stap?”
Must Provide Transparency Mogelijkheid om de volgende stap als workflow te tekenen.
Architectuur Windows Workflow Foundation
Basisprincipe Windows Workflow Foundation Een workflow is een class Imports System.Workflow.Activities Public Class MyWorkflow Inherits SequentialWorkflow … End Class
Een workflow kan worden vastgelegd met „markup‟
XOML…..
<SequentialWorkflow x:Class="MyWorkflow" xmlns="Activities" xmlns:x="Definition"> …
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
Vragen?
HTTP: //WWW. NETFX 3. COM
© 2 0 0 7 – A NDRÉ OBELINK W W W .OBELINK.COM
.NET Framework 2.0 – VS2005 Visual Basic 2005
C#
C++
J#
Delphi
…
XML Webservices
Web Forms
Windows Forms
ASP.NET Gegevens en XML Framework Class Library (FCL/BCL) Common Language Runtime (CLR) Besturingssysteem
Visual Studio 2005 ( + “Orcas”)
Common Language Specification (CLS)