© 2005 Avanade UK Ltd. All rights reserved.
.net 3.0 in the Enterprise
App Platt Conference – Oslo, april 2007
Inge Stubdal, arkitekt
© Avanade Norway 2006, All Rights Reserved.
© 2006 Avanade Inc. All rights reserved. The Avanade name and logo are registered trademarks in the US and other countries.
Avanade – Who we are
The only global IT solutions consultancy
100% dedicated to using the Microsoft platform to help enterprises achieve
profitable growth.
Vi lodder ut en XBOX 360
Sjekk vår stand
Agenda
.net 3.0 WCF WPF WF CardSpace Q&A
.net 3.0
“Marketing messed it up. Again.”
.net 3.0 – ny funksjonalitet på .net 2.0
Q: What is the .NET Framework 3.0 (formerly WinFX)?
A: The .NET Framework 3.0 is Microsoft's managed code programming model. It is a superset of the .NET Framework 2.0, combining .NET Framework 2.0 components with new technologies
Q: How does the .NET Framework 3.0 relate to the .NET Framework 2.0?
A: The .NET Framework 3.0 is an additive release to the .NET Framework 2.0. There are no changes to the version of the .NET Framework 2.0 components included in the .NET Framework 3.0.
.net 3.0 – ny funksjonalitet på .net 2.0
Q: Why is the .NET Framework 3.0 a major version number of the .NET Framework if it uses the .NET Framework 2.0 runtime and compiler?(svar utelatt med vilje)
Q: Do I need to do any application compatibility testing for my .NET Framework 2.0 applications?
A: You don’t need to do any additional testing for your .NET Framework 2.0 applications when you install the .NET Framework 3.0.
Kilde:http://msdn2.microsoft.com/en-us/netframework/aa663314.aspx
Kampanje for å endre navnet tilbake
To: Microsoft Dear Jason Zander and whom ever it may concern,
WinFX was renamed to .NET 3.0. This decision was made without any community feedback, which is uncharacteristic of Microsoft’s recent openness to community input.
Not only is “.NET 3.0” a misnomer, it throws a wrench in the .NET Framework, likely jamming future versions. It is also a severe inconvenience to developers, especially newcomers.
We ask that this short-sighted decision be turned around before the first release of the framework for its own sake as well as the sake of developers.
I state eight reasons to revert to the old name of WinFX. The terminology used here assumes that you’ve read Jason’s blog entry here: http://blogs.msdn.com/jasonz/archive/2006/06/13/630066.aspxKilde: http://www.petitiononline.com/mod_perl/signed.cgi?winfx 952 signert pr. 10.04.07
.net 3.0 Inneholder
Windows Communication FoundationWindows Presentation FoundationWindows Workflow FoundationWindows CardSpace
Windows Communication Foundation
UtfordringenUtfordringen
Løsninger blir stadig knyttet sammen ,
… men det er vankselig å lage sammenkoblede systemer !
1. Forvirrende antall verktøy - delsvar2. Tekniske utfordringer
Arkitekturmessig mismatchDårligere sikkerhet, dårligere stabilitetVanskeligere å teste og debuggeStadig større krav til høyere ytelseUtviklere har hodet over vannetLøsningene beveger seg saaaakte fremover
20,379 lines security
5,988 lines reliable
messaging25,507 lines transaction
s
Total lines 56,296
4,442 lines infrastruct
ure
class HelloService { [WebMethod] public String Hello(String Greeting) {
X509CertificateCollection collection = new X509CertificateCollection();IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf( typeof(CRYPTOAPI_BLOB))); IntPtr data = (IntPtr)((int)blob + Marshal.SizeOf(typeof(CRYPTOAPI_BLOB)));…
SeqAckRange range = new SeqAcknRange(id, low, high );SeqAckRange[] ranges = { range };ReliableQueue.ProcessAcks( ranges );…
hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction);…
return Greeting; }}
Development ProductivityUsing Visual Studio .NET 2003
Development ProductivityUsing Visual Studio .NET 2003 and WSE
10 lines security
1,804 lines reliable
messaging
25,507 lines transactions
Total lines 27,321
class HelloService { [WebMethod] public String Hello(String Greeting) {
foreach ( SecurityToken tok in requestContext.Security.Tokens { X509SecurityToken token = tok as X509SecToken }
… SeqAckRange range = new SeqAcknRange(id,low,high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); …
hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); …
return Greeting; }}
Development ProductivityUsing Visual Studio 2005 and WCF
1 lines security
1 lines reliable
messaging
1 lines transactions
Total lines 3
[ServiceContract(SecureChannel, SecurityMode =“Windows")][Reliability(Guarantees.ExactlyOnce | Guarantees.InOrder)][ServiceContract]class HelloService { [ServiceOperation(TransactionFlowAllowed = true)] String Hello(String Greeting) { return Greeting; }
Løsning: WCF
Alle kommunikasjonsscenarioer er “like”
- Ett API, som brukes på samme måte alle steder
Den andre part og kommunikasjonsform abstrahert ut av koden- Kommunikasjonen abstrahert vekk fra forretningslogikken
Forretningslogikk I kode Kommunikasjon i
konfigurasjonsfiler
WCF Arkitektur
Primitive Message Exchange Patterns: Request/Reply, Duplex, One-way
Protocols: WSDL. WS-Policy, and WS-MetadataExchange WS-Security 1.0 & 1.1 and WS-Trust WS-Transaction/Coordination WS-Reliable Messaging
Durable with MSMQ; forthcoming adapters for MQ-Series and Tibco and others Add others, your own
Encodings: SOAP 1.1 & 1.2 MTOM GZip Binary Add your own
Transports: HTTP, TCP, MSMQ, Named Pipes, UDP Add your own
Behaviors: Instancing, concurrency, etc. Add your own
Copy slides
Use this type of template for your standard copy slides.
Use the design templates to apply any combination of colour and icon to a copy slide.
As shown here, the colour and icons at the top of the copy slide should match the colour and icons of the most recent section header slide.
The colour of the headings should match the colour at the top of the copy slide (and the most recent section header slide).
Note all sub-headings are sentence case, e.g. “The cat on the mat”.
Windows Presentation Foundation
Copy slides
Use this type of template for your standard copy slides.
Use the design templates to apply any combination of colour and icon to a copy slide.
As shown here, the colour and icons at the top of the copy slide should match the colour and icons of the most recent section header slide.
The colour of the headings should match the colour at the top of the copy slide (and the most recent section header slide).
Note all sub-headings are sentence case, e.g. “The cat on the mat”.
User Experience Challenges
Declarative Programming
Built in controls have hard-coded look
Doing something custom takes lots of extra code WinXP Start Button team:
4 Developers, ~6 Months Dev Time
WPF/E
Windows Workflow foundation
Copy slides
Use this type of template for your standard copy slides.
Use the design templates to apply any combination of colour and icon to a copy slide.
As shown here, the colour and icons at the top of the copy slide should match the colour and icons of the most recent section header slide.
The colour of the headings should match the colour at the top of the copy slide (and the most recent section header slide).
Note all sub-headings are sentence case, e.g. “The cat on the mat”
EX: Check InventoryEX: Escalate To Manager
What Is A Workflow?
A Set Of Activities A Set Of Activities That Coordinates People That Coordinates People
And / Or Software...And / Or Software...
Like a flowchart…. Like a flowchart…. Or a state diagram…. Or a state diagram….
Sequential Workflow
Sequential structure Prescribes processing order
Step1
Step2
State MachineWorkflow
External events drive processing order
State2
State1Event
Event
Rules + data state drive processing order
Rules-driven Activities
Rule1
Rule2
Data
Step2
Step1
Workflow and BizTalk
MessagingMessaging
DesigDesignn
ToolsTools
BusinesBusinesss
ActivityActivityMonitorMonitor
AndAndAdminAdminToolsTools
OrchestratioOrchestrationn
TransformatiTransformationon
AdaptersAdapters
BizTalkBizTalk
AcceleratorsAccelerators
Premium BPM serverPremium BPM server
Distinct server productDistinct server product
Use in B2B, EAI, BPM scenariosUse in B2B, EAI, BPM scenarios
Deployable solutionsDeployable solutions
Manageability, Scale-outManageability, Scale-out
WorkflowWorkflow
Future version will migrate to Future version will migrate to Windows Workflow Foundation for Windows Workflow Foundation for orchestrationorchestration
WinFXWinFX
Visual Studio DesignerVisual Studio Designer
Windows Workflow Windows Workflow FoundationFoundation
Workflow frameworkWorkflow framework
Future technology Future technology
Broad set of scenarios Broad set of scenarios
Used to build solutionsUsed to build solutions
Enables manageability and scale-Enables manageability and scale-out in solutionsout in solutionsUse for building workflow into Use for building workflow into apps or workflow enabled serversapps or workflow enabled servers
Windows CardSpace
Section sub title / description
Microsoft Online Identity 1.0
The Laws of IdentityAn Industry Dialog
1. User control and consent
2. Minimal disclosure for a defined use
3. Justifiable parties
4. Directional identity
5. Pluralism of operators and technologies
6. Human integration
7. Consistent experience across contexts
Join the discussion at www.identityblog.com
Metasystem Players
Relying PartiesRequire identities
SubjectsIndividuals and other
entities about whom claims are made
Identity Providers
Issue identities
Canonical Scenario
Front EndWeb Site
(Resource)STS
Web Site (e.g amazon.com) Redirect – Login Page
HTTP/GET (Protected Page) 1
Login Page (HTML) with CardSpace tags + SecPolicy
HTTP/GET (Login Page) 2
4
CardSpace lights upUser selects card
Identity Provider (Managed or Self)
STSSTS
5
Getting token viaWS-Mex and WS-Trust
IE w/ CardSpace
Relying Party
6Token via WS-Trust/RST
Cookie via WS-Trust/RSTR
7HTTP/GET|POST Target Page + Cookie
3WS-Mex
Referanser
Jason Zander, GM .Net Framework Blogs on Naming: http://blogs.msdn.com/jasonz/archive/2006/06/13/630066.aspx
.net 3.0 Versioning and Deployment: http://msdn2.microsoft.com/en-us/netframework/aa663314.aspx
WCF lvl200 intro: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&EventID=1032289498&CountryCode=US
Pro WCF bok: http://tinyurl.com/2meycl
Referanser II
Artikkel om Passport vs Cardspace: http://www.nds.ruhr-uni-bochum.de/lehre/seminar/SS06/Goldack_PassportCardSpace.pdf
Top Related