A Lap around Microsoft Code Name "Dublin"

Download Report

Transcript A Lap around Microsoft Code Name "Dublin"

Dan Eshner
Product Unit Manager
Microsoft
SOA202
Session Overview
In today’s session we will cover “Dublin”: what is it, where does it fit, and why do I care?
Scenario-driven walk through of “Dublin” – the evolution of a
customer management app
Scenario: Contoso Rugs – leverage existing apps
Stage 1: Consolidate using a single web service managed with “Dublin”
Stage 2: Use a simple coordinated workflow managed with “Dublin”
Stage 3: Add a self-service customer portal interacting with a
long-running workflow managed with “Dublin”
Adding additional enterprise-ready capabilities to services
and workflows
Reliability, availability/scalability, routing
“Dublin” component overview
Windows Application Server Extensions
(Codename “Dublin”)
Visual Studio
WF and WCF services
“Dublin”
System Center
Administration Tools
.NET Framework
IIS/WPAS
Windows Server
It Just Works
Monitoring and Control
Evolution of WPAS/IIS and
Windows App Server role to
run and manage WF and
WCF services
Continually ship app server
value as quickly as possible –
first installment: Dev10 wave
Add additional releases
through web downloads
Tooling and Scripting
Enterprise-Ready
extensions
“Dublin” Software Stack
IIS Manager
WCF and WF IIS Manager Modules
Management APIs (PowerShell command-lets)
Runtime Services & Components
Monitoring
Runtime Databases
WCF
WF
.NET Framework
IIS/WAS
System Center
Hosting
“Dublin” Management Pack
Persistence
Scenario: Leveraging Existing Apps
Contoso Rugs - Customer onboarding process today
SaaS CRM App
Web UI
(?)
Web Service
(WS-*)
Sales
Customer
Billing Application
Web UI
(ASP.NET)
Issues
Scale
Visibility and Control
Database
(SQL)
Step 1 – Consolidate
Create UI that calls a single service
SaaS CRM App
Customer Service
App
Front End
(ASP.NET)
Customer
Sales
Web Service
(WCF)
Web Service
.NET 4(WS-*)
WCF Service
...
string cID = myCRMClient.AddCucstomer(
clientEmail, Billing
clientName);
Application
string billingID =
myBillingClient.AddCustomer(
Web Service
cID, clientBillingAddress);
Database
(WCF)
myEmailer.SendConfirmation (clientEmail,
(SQL)
cID);
...
Changes
Moved ASP.NET front end to cover both apps
Put WCF web service in front of billing app
Create new WCF service that calls CRM and billing services,
and returns an e-mail to the customer
Step 1 – Consolidate and Coordinate
Step 2 - Coordinate
Use workflow to coordinate Web service activities
Customer Service
App
Front End
(ASP.NET)
SaaS CRM App
Web Service
Sales
Customer
Billing Application
Workflow
Web
Service
Service
(WCF)
"Dublin"
Benefits
Web Service
(WCF)
Database
"Dublin"
Users are shielded from basic errors
Workflows are automatically suspended on exception
Dublin tools assist in troubleshooting and fixing problems
Dublin allows for resuming workflows easily with tools
and scripts
Step 2 - Coordinate
Use workflow to coordinate Web service activities
Customer Service
App
Front End
(ASP.NET)
Customer
SaaS CRM App
Web Service
Sales
Billing Application
Service
Workflow
(WCF)
Service
"Dublin"
Web Service
(WCF)
Database
"Dublin"
App limitations
Scale: sales person still required for each new customer
Invalid customer e-mail addresses
Step 3i – Self Service
Obtain and validate contact information
Front-End
(ASP.NET)
Send mail
confirmation
name,
email,
billingnumber
address
confirmation
number
Customer
Validate
Receive
SaaS CRM App
Web Service
Receive
Add to CRM
Billing Application
Add to billing
Send mail
Workflow Service
Web Service
(WCF)
Database
"Dublin"
"Dublin"
Customer Service Application
Changes
Added a new customer portal front end (ASP.NET)
Added e-mail validation to workflow
Step 3i – Self Service
Obtain and validate contact information
.NET 4 WF Service
Front-End
(ASP.NET)
Validate
Receive
Receive registration &
send response
Send mail
Persist
Receive
Customer
Add to CRM
Add to billing
Send mail
Send Email
Delay
(5 days)
Receive
validation
Workflow Service
"Dublin"
IfElse
(Validated)
Customer Service Application
It Just Works
Monitoring and control
Tooling and scripting
Enterprise-ready extensions
Step 3 - Correlate
Enterprise-ready Extensions
Availability and scale
Multiple hosts sharing stores
Instance resume
Durable timers
Routing service
Availability and Scale
Workflow
Management
Service
2
Administration
Tool or Script
10
8
9
Resume All
Workflow Service
"Dublin"
Network Load
Balancer
Persistence
Database
1
Workflow
Management
Service
instance
10
6
5
Workflow Service
7
4
"Dublin"
Monitoring
Database
3
Step 4 – Routing
Partition customers based on # or rugs sold per month
SaaS CRM Application
Front
End
Regular Customer
Workflow Service
Customer
Web Service
"Dublin"
Routing
Service
Billing Application
app.config
<?xml version=
<configuration
<appSettings
WCF Service
Premium Customer
Workflow Service
"Dublin"
Database
"Dublin"
Sales
Customer Service Application
It just works
Monitoring and control
Tooling and scripting
Enterprise-ready extensions
Instance Resume
Workflow
Management
Service
1
3
activity
2
persist
6
activity
Workflow Service
5
4
3
Persistence
Database
instance
"Dublin"
Durable Timer
Workflow
4
1
Delay
Workflow
Management
Service
Workflow Service Host
SQL Instance Store
"Dublin"
2
3
SQL
Persistence
Database
“Dublin” Component Overview
IIS Manager
WCF and WF IIS Manager Modules
Management APIs (PowerShell command-lets)
Runtime Services & Components
Instance
Control
Endpoint
Workflow
Mgmt
Service
Persistence schema
XAML &
Config
Activation
Monitoring
Auto-Start
Provider
Event
Collector
Service
Hosting
Environment
Routing
Service
Runtime Databases
WCF
ETW
Tracking
.NET Framework
IIS/WAS
WCF
Message
Logger
Monitoring schema
WF
ASP.NET
WCF
Analytic
Trace
System Center
SQL
Persistence
Provider
Hosting
“Dublin” Management Pack
Persistence
Challenges Using WCF And WF Today
Customer feedback
“I want to get my WF and WCF services up and running
easily - Why doesn’t it just work?”
“I want to easily monitor and
control running WF and WCF services.”
“I really want better tooling and scripting.”
“I want built-in extensions for enterprise-readiness.” –
Availability, Scalability, Routing
Summary
The "Dublin" project is extending IIS/WAS and App
Server role in Windows to enhance the support
for WF and WCF services
It just works
Extends monitoring and control capability
Adds scripting and tooling
Adds scale, reliability, and routing
for enterprise-readiness
Simple and powerful
Value for all WCF services
Discovery, control, monitoring
Resources
www.microsoft.com/teched
www.microsoft.com/learning
Sessions On-Demand & Community
Microsoft Certification & Training Resources
http://microsoft.com/technet
http://microsoft.com/msdn
Resources for IT Professionals
Resources for Developers
www.microsoft.com/learning
Microsoft Certification and Training Resources
Related Content
Breakout Sessions
SOA204
The Microsoft Developer Platform for Building Software-Plus-Services
Applications
Mon | 1:00-2:15 PM
ARC201
A Lap around Team System 2010 Architecture Edition
Mon | 2:45-4:00 PM
SOA201
A First Look at WCF and WF in the Microsoft .NET Framework 4
Tue | 8:30-9:45 AM
SOA202
A Lap around Microsoft Code Name “Dublin”
Tue | 2:45-4:00 PM
SOA310
Managing, Tracking, and Troubleshooting Services in “Dublin”
Tue | 4:30-5:45 PM
SOA401
Developing Service Oriented Workflows
Wed | 8:30-9:45 AM
SOA309
Load Balancing and Scaling Your WCF Services Today and Tomorrow
Wed | 4:30-5:45 PM
SOA302
Building RESTful Services Using WCF
Thu | 10:15-11:30 AM
SOA206
Every Class As a Service: WCF As the New Microsoft .NET
Thu | 2:45-4:00 PM
SOA313
StockTrader Sample Application Case Study: Performance and Java Interop
Fri | 10:45-12:00 PM
SOA303
Busy Microsoft .NET Developer's Guide to WCF, SOA, and Success
Fri | 1:00-2:15 PM
Plus… Checkout Interactive theater sessions in the TLC area and hands-on-labs
Track Resources
SOA
www.microsoft.com/soa
msdn.microsoft.com/wcf
msdn.microsoft.com/wf
www.microsoft.com/net
msdn.microsoft.com/biztalk
www.microsoft.com/biztalk
“Dublin”
www.microsoft.com/net/dublin
“Oslo”
msdn.microsoft.com/oslo
www.microsoft.com/net/oslo.aspx
msdn.microsoft.com/azure/netservices
www.microsoft.com/azure/netservices
twitter.com/dotnetservices
Complete an
evaluation on
CommNet and
enter to win!
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should
not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.