slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Microsoft Development Platform and Services PowerPoint Presentation
Download Presentation
Microsoft Development Platform and Services

Loading in 2 Seconds...

play fullscreen
1 / 65

Microsoft Development Platform and Services - PowerPoint PPT Presentation


  • 228 Views
  • Uploaded on

Microsoft Development Platform and Services. Ivan Pavlovi ć, Hive Studios Visual C# MVP, MCSD, MCDBA, MCT paki@hive-studios.com http://msforge.net/blogs/paki. Agenda. BizLayer. Communication + Workflow + Services "Dublin" Server Enhancements Azure .NET Services Software Factories.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Microsoft Development Platform and Services' - page


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
microsoft development platform and services

Microsoft Development Platform and Services

Ivan Pavlović, Hive Studios

Visual C# MVP, MCSD, MCDBA, MCT

paki@hive-studios.com

http://msforge.net/blogs/paki

bizlayer
BizLayer
  • Communication + Workflow + Services
  • "Dublin" Server Enhancements
  • Azure .NET Services
  • Software Factories
microsoft development platform
Microsoft Development Platform

In the Cloud

On Premise

Client & UI

Composition

User Interface

& Interaction

Business

Layer

Composition

.NET Framework

Azure Services, .NET Framework

WCF

WCF, WF

Windows Azure

Azure .NET Services

Data Layer

Access to

Back-end

unified programming model
Unified Programming Model

.NET Remoting

ASMX

Interop

with other

platforms

Extensibility

Location transparency

Managed

COM+

APIs

Message-

Oriented

Programming

WS-*

Protocol

Support

Enterprise Services

System.Messaging

WSE

address binding contract

Client

Service

A

B

C

A

B

C

C

B

A

A

B

C

Address

Where?

Contract

What?

Binding

How?

Endpoint

Address, Binding & Contract
  • A Service Endpoint has an Address, a Binding, and a Contract (ABC).
  • An Address is a network address indicates where the service is located.
  • A Binding specifies how a client can communicate with the endpoint including transport protocol, encoding, and security requirements.
  • A Contract identifies what operations are available to the clients.
service address es
Service Addresses
  • Every service is associated with a unique address.
  • Base address format

[transport]://[host name][:optional port]/[optional path]

    • Base address describes where it provides the metadata for the service (WSDL)
  • Endpoint address format

[base address]/[optional path]

    • Endpointaddress is where the service is actually listening. This can be an absolute URI or relative to the baseaddress.
  • Build-in transports: HTTP/S, TCP, P2P, IPC and MSMQ
  • Examples

http://localhost:8001/MyService/BP

http://localhost:8001/MyService/WS

net.tcp://localhost:8002/MyService

net.pipe://localhost/MyPipe

net.msmq://localhost/private/MyQueue

wcf composable architecture

Security

Channel

TCP Transport

Security

Channel

CLR Type Integration

CLR Type Integration

Transaction Behavior

Transaction Behavior

Instancing Behavior

TCP Transport

Messaging Layer

Service Model Layer

Influences and adds to

the programming

model based on

incoming messages

Moves messages back

and forth and adds

transfer semantics

(channels)

WCF Composable Architecture

Service

Code

wcf composability in action

Error Handling Behavior

Security

Channel

Security

Channel

CLR Type Integration

CLR Type Integration

Concurrency Behavior

Throttling Behavior

Custom Behavior

Transaction Behavior

Transaction Behavior

Instancing Behavior

Instancing Behavior

Metadata Behavior

HTTP Transport

Queue Transport

HTTP Transport

TCP Transport

TCP Transport

Custom Channel

Custom Channel

Named Pipes

Reliable Messaging

Reliable Messaging

MSMQ Integration

WCF Composability in Action

Service Model Layer

Messaging Layer

Behaviors

Channels

wcf architecture detail

Type Integ.

Behavior

MetadataBehavior

ErrorBehavior

TransactionBehavior

Instance Behavior

Throttling Behavior

ConcurrencyBehavior

ASP.NET

WPF

WAS

NT Service

COM+

WinForm

WCF Architecture Detail

Application

Hosting

Environments

ServiceModel

Messaging

Text/XML

Encoder

Secure

Channel

Reliable

Channel

Binary

Encoder

TCP

Channel

HTTP

Channel

Queue

Channel

wcf contracts
WCF Contracts
  • Service
    • Describes the operations a service can perform. Maps CLR types to WSDL.
  • Data
    • Defines data structures (complex types) that will be sent on the wire. Maps CLR types to XSD.
  • Message
    • Defines the structure of the message on the wire. Maps CLR messages to SOAP messages
  • “ContractDescription” class represents WCF

Contract

wcf contracts sample
WCF Contracts Sample

Contract defines the operations of a service

[ServiceContract]

public interface IMyContract

{

[OperationContract]

string Hello(string name);

}

Implementing the service

public class MyService : IMyContract

{

public string Hello(string name)

{

string greeting = "Hello " + name;

Console.WriteLine(greeting);

return greeting;

}

}

wcf hosting options

Windows Activation Service (WAS)

NP Listener Adapter

HTTP Listener Adapter (IIS7)

TCP Listener Adapter

Named Pipes Transport Listener

TCP Transport Listener

HTTP.SYS

WCF Hosting Options
  • Manual hosting in any managed application
    • ASP.NET, COM+, EXE, WindowsService, Windows Forms, WPF
  • Hosted in IIS
  • Windows Activation Service
    • Used for hosting in IIS7 or outside IIS7
net 4 0 wcf improvements
.NET 4.0 WCF Improvements
  • Increased developer productivity
    • Serialization, web prog. model, debugging
    • Support for syndication
  • Performance and scalability Improvements
    • IIS7 performance increase (5-10×)
  • Data platform support
    • Support for ADO.NET Entity Framework in WCF services
  • WCF Tools improvements
    • Testclient, Config editor, Single-click publish
what is wf
What is WF?

Tooling

VS Designer

VS Debugger

Rehosted Designer

  • WF is a way to coordinate work with minimal ceremony
  • Activities
  • Runtime
  • Tooling

Host Process (.exe, IIS, "Dublin", Strata, …)

Workflow

Activity Library

WF Runtime

Extensions

Persistence

Tracking

why wf
Why WF?
  • Coordinate Asynchronous (Distributed?) Work
  • Write Persistable Applications
  • Customizable Vocabulary & Design Experience
  • Gain Visibility into your Application
activities
Activities

Activities execute in pulses of work – which can result in the scheduling of other activities

Activities are the primitive abstraction for behavior

Activities are composable

Sequence

Activity

State Machine

Activity

  • Send
  • Message
  • Activity
  • Assign
  • Activity
  • Receive
  • Message
  • Activity
  • Delay
  • Activity

WF Runtime

Execution, State Management, Persistence

activities20
Activities

An Activity may contain user-defined Variables for data storage

Arguments can be bound to Variables up the parent chain

Activities define arguments to declare the type of data that can flow into or out of an Activity

Sequence

Variables

InArgument<object>

OutArgument<object>

State Machine

  • Send
  • Message
  • Assign

Variables

Variables

OutArgument<Message>

InArgument<TimeSpan>

  • Receive
  • Message
  • Delay

WF Runtime

Execution, State Management, Persistence

wf over the years
WF over the years…

WF 3.0

WF Rules 3.0

  • Independent Technologies

WF 3.5

WF Rules 3.5

WF + WCF 4.0

WCF 3.5

WCF 3.0

  • Deep Integration
  • Unification of Activities and Rules
  • Fully Declarative Workflow Services
  • Performance
  • Rich Workflow Host
  • Correlation
  • Workflow as WCF Service
activity library
Activity Library

Custom Activities

<YOUR CODE HERE>

Base Activity Library

BPEL

Utilities

Expressions

Error Handling

WCF Messaging

Database

WF Primitives

PowerShell

Interop

Control Flow Activities

Flowchart

Sequential

State Machine

Rules

Activity Model & Runtime

workflow service in net 3 5
Workflow Service in .NET 3.5

.cs

DataContracts

MessageContracts

ServiceContract

Workflow code

.svc

.dll

.xaml

.config

WorkFlowServiceHost

.xaml

Workflow

Implementation

.config

Bindings

Behaviors

24

future of workflow services
Future of Workflow Services

.xaml

Addresses

Bindings

Contracts

Workflow

Activities

Implementation

Behaviors

.xaml

Workflow ServiceHost

why xaml
Why XAML?
  • Developer / BA collaboration
  • Declarative expression
  • Application transparency
  • Custom tooling
  • Deployment flexibility
other wf 4 0 improvements
Other WF 4.0 Improvements
  • Activity
    • Usability (80% Code Reduction)
    • Alignment across Expressions, Rules, and Activities
    • Completely Fractal Composition Model
    • Fully declarative workflows and activities
  • Runtime
    • 10-100X Performance Improvements
    • Integrates with App Models (WCF/WPF/ASP.NET)
    • Flow-in Transactions
    • Partial Trust Support
    • Full control over persistence
  • Tools
    • Designer Performance and Usability
    • Rehosting Improvements
    • Unified Debugging Experience
  • And much much more….
w riting wcf services with workflow
Writing WCF Services with Workflow?
  • Consider Workflow Services if your service does any of the following:
    • Calls a database, Calls another service, or Uses the File system
    • Coordinates parallel work
    • Coordinates messages with application state
    • Is long running
    • Requires rich tracking information
  • Prefer code services when your service
    • Is a set of independent operations w/ no shared state
workflow services
Workflow Services

Workflow Service Host

Instance

Store

Workflow Runtime

Service

Dispatcher

Workflow

Instance

Channel

XAML

30

integrated framework
Integrated Framework

Services are the unit of modularity for “loosely-coupled” composition

Service

Activity

Service

Activity

Activity

Service

Activities are the unit of modularity for “tightly-coupled” composition

wcf 4 0 improvements
WCF 4.0 Improvements
  • Rest toolkit
  • Channels: UDP, InProc
  • Standards: SOAP over UDP, WS-Discovery, WS-BA, BP 1.2
  • Standard Endpoints
  • Durable Duplex
  • Config
workflow 3 5 to 4 0 path
Workflow 3.5 to 4.0 Path
  • Prefer XAML
    • Think about designing models and storing models in a repository/database
  • Build custom activities
    • Code won't port, custom activities will
  • Prefer WCF 3.5 send and receive
    • WCF/WF integration is even tighter Microsoft .NET 4.0
  • Use WorkflowServiceHost even when not exposing workflows as services
    • NetNamedPipesBinding
microsoft servers tools
Microsoft Servers& Tools

In the Cloud

On Premise

Client & UI

Composition

User Interface

& Interaction

Business

Layer

Composition

Azure .NET Services

Windows Server (“Dublin”)

Biztalk Server, SQL Server

Visual Studio Team System

Data Layer

Access to

Back-end

bizlayer34
BizLayer
  • Communication + Workflow + Services
  • "Dublin" Server Enhancements
  • Azure .NET Services
  • Software Factories
what is dublin
What is “Dublin”
  • Host for WF and WCF
    • Managabiltiy
    • Supportabilty
    • Scaleabily
  • Extensions to IIS/WAS

Visual Studio

Oslo

Windows Server

“Dublin”

Administration Tools

System Center

WF and WCF services

.NET Framework

IIS/WAS

microsoft s application server today
Microsoft's Application ServerToday

Process Activation

Management

Logging

HealthMonitoring

Request Pipeline

Caching

  • (For web applications only)

ProcessManagement

Configuration

ASP.NET

System Center

Visual Studio

Expression Web Designer

Internet Information Services

XML

Communications

Workflow

Web UI

Security

Transactions

Data

.NET Framework 3.5

Virtualization

Resource Management

Management

Scripting

Queuing

Networking Stack

Windows Server

microsoft s application server tomorrow
Microsoft's Application ServerTomorrow

Services and Workflows

Runtime Persistence

WorkflowActivation

MessagingServices

MonitoringServices

App Hosting

“Dublin”

Process Activation

Management

Management

Logging

HealthMonitoring

Request Pipeline

Caching

  • (For web applications only)

ProcessManagement

Configuration

ASP.NET

System Center

Visual Studio

Expression Web Designer

Internet Information Services

XML

Communications

Workflow

Workflow

Web UI

Security

Transactions

Data

Communications

.NET Framework 4.0

Virtualization

Resource Management

Management

Scripting

Queuing

Networking Stack

Windows Server

slide38

Dublin Software Stack

Partners

Dublin

Fx

Windows

Oslo

Visual Studio

IIS Manager

WCF and WF Templates

WCF and WF IIS Manager Modules

Management APIs (PowerShell command-lets)

Runtime Services & Components

Hosting

Monitoring

Persistence

Instance Recovery Service

Error Handling Behavior

Lock Retry Behavior

Auto-Start Provider

Event Collector

System Center

“Dublin” Management Pack

.NET Framework

SQL Persistence Provider

Instance Control Endpoint

Durable Timer Service

XAML & Config Activation

Service Hosting Environment

Routing (Forwarding) Service

WF Tracking Provider

ETW Tracking Participant

WCF Message Logger

WCF Analytic Trace

Runtime Databases

(SQL / SQL Express)

Monitoring schema

Persistence schema

IIS/WAS

dublin scalability
“Dublin” Scalability

Via HTTPS to WMSVC

InetManager

Dublin

InetManager

PowerShell

PowerShell

s1

s2

Via WS-MAN to WinRM

. . .

Load Balancer

Dublin

s1

s2

Queue

Dublin

s1

s2

configuration & control

data access

messages

manageability
Manageability
  • Consolidated view of all Services on a server
  • Easy export and import of Services
  • Integration into VS 2010
  • Various tracking profiles out of the box
    • Basic Workflow Tracking
    • Verbose WCF Service Tracking
    • Verbose Workflow Tracking
  • Custom tracking
supportability
Supportability
  • Adds tooling to existing features
  • Powershell commands for all UI Elements
  • Tracing and Message Logging via easy user interface (or Powershell)
  • Persisted Instance viewer
    • Running
    • Blocked
    • Ready-to-Run
    • Suspended
dublin vs biztalk
Dublin vs Biztalk
  • "Dublin" will not replace BizTalk
  • BizTalk will continue to be Microsoft's Premier Integration Server
  • "Dublin" fits for
    • Scable, supportable, host for WF and WCF
    • Non-Integration solutions
    • Low mapping and adapter scenarios
    • Both clients with and without BizTalk Server
when is dublin
When is “Dublin”
  • Post Visual Studios 10 (Mid 2010)
  • Available as a web download
  • Eventually baked into Windows
bizlayer44
BizLayer
  • Communication + Workflow + Services
  • "Dublin" Server Enhancements
  • Azure .NET Services
  • Software Factories
microsoft services platform
Microsoft Services Platform

Azure™ Services Platform

a look inside azure
A Look Inside Azure

Your Applications

ServiceBus

Workflow

Database

Analytics

Identity

Contacts

AccessControl

Reporting

Devices

Compute

Storage

Manage

net services
.NET Services
  • Services for application integration
service bus
Service Bus
  • Key developer challenges
    • Want to make it easy and secure for partners to use your application
    • Don’t always know the characteristics or scale of the integration
    • Partners / customers / users have devices and services running behind firewalls
  • Approach
    • Provide a high-scale, high-available “Service Bus” that supports open Internet protocols
service registry
Service Registry

[http|sb]://servicebus.windows.net/services/account/svc/…

Service Registry Root

account

svc

The service registry provides a mapping from URIs to services

servicebus.windows.net

services

Root

contoso

Multi-Tenant

connectivity
Connectivity
  • Two key capabilities
    • Relay
    • Direct connect
  • Relay
    • Ensure applications connect
    • Available to all via the service registry
  • Direct connect
    • Uses the relay to establish communication
    • Then shortcuts for efficiency
  • Available via HTTP / REST / ATOM
  • Available in .NET via WCF Bindings
access control
Access Control
  • Key developer challenges
    • Many identity providers, many vendors, many protocols, complex semantics – tricky to get right
    • Application strewn with one-off access logic
    • Hard to get right, not agile, not compliant, many dead ends
  • Approach
    • Automate federation for a wide-range of identity providers and technologies
    • Factor the access control logic from the application into manageable collection of rules
    • Easy-to-use framework that ensures correct token processing
workflow service overview
Workflow Service Overview

A reliable, scalable off-premises host for workflows

  • A portal at workflow.ex.azure.microsoft.com
  • New activities for the Azure Services Platform
  • APIs that allow you to deploy, manage, and run your workflows on the cloud
  • Enables you to orchestrate services
    • Connect to services in your enterprise anywhere on the Internet – uses the connectivity services
    • Give you partners and customer access – uses the access control services
bizlayer57
BizLayer
  • Communication + Workflow + Services
  • Azure .NET Services
  • "Dublin" Server Enhancements
  • Software Factories
patterns practices paradigms
Patterns & Practices, paradigms

In the Cloud

On Premise

Application Modelling

Oslo & Quadrant

Identity Management

Live ID, Geneva Framework, AD Connector, .NET Services, Card Space

Integration Patterns & Security

Enterprise Service Bus, Internet Service Bus, WCF Security Guidance

Software Factories

Web Client Factory, Web Service Factory, Enterprise Library

what is a software factory
What is a Software Factory?
  • A set of integrated tool, process and content assets that accelerate rote and menial tasks for a specific type of deliverable
    • May provide a partial implementation of a prototypical deliverable containing key mechanisms and design elements
  • A software factory contains (at least):
    • A schema that defines interrelated aspects (viewpoints) of the deliverable life cycle
    • A template that configures a development environment with the assets required by each aspect (viewpoint)
software factory benefits
Software factory benefits
  • End-to-end guidance
  • That helps you develop solutions
  • Using proven practices (quality)
  • In a more consistent way (predictability)
  • In less time (productivity)
software factories help architects to
Software factories helpArchitects to …
  • Create and enforce a consistent and predictable way of developing, packaging, and deploying business systems
  • Enforce architectural standards independent of the solution domain.
  • Quickly expose architectural decisions and risks
  • Create partial implementation of a solution that includes the most critical mechanisms and shared elements
software factories help developers to
Software Factories helpDevelopers to …
  • Build upon a high-quality starting point (baseline)
  • Easily apply guidance in consistent and repeatable ways via Visual Studio automation
  • Benefit from patterns and practices directly in Visual Studio
  • Focus on business logic, UI design, or infrastructure services
  • Learn about the technology being used (for example, WCF …).
hvala upitnici

Hvala!Upitnici

Ivan Pavlović, Hive Studios

Visual C# MVP, MCSD, MCDBA, MCT

paki@hive-studios.com

http://msforge.net/blogs/paki

slide65

© 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.