67
BUGS NOVEMBER 08 OSLO, WCF/WF, DUBLIN Alan Smith – KnowIT Consulting

Alan Smith – KnowIT Consulting. Agenda Oslo Repository Database “M” Language “Quadrant” modelling tool “3 Dubs” Windows Communication Foundation 4.0

Embed Size (px)

Citation preview

BUGS NOVEMBER 08 OSLO, WCF/WF, DUBLIN

Alan Smith – KnowIT Consulting

Agenda

OsloRepository Database“M” Language“Quadrant” modelling tool

“3 Dubs”Windows Communication Foundation 4.0Windows Workflow Foundation 4.0Dublin Application Server

How will this affect BizTalk?Dublin and BizTalk

About Alan Smith Connected Systems Consultant – KnowIT

Developer, Trainer, Mentor, Evangelist MVP – “Connected Systems Developer”

Former MVP for BizTalk Server Microsoft Connected Technology Advisor

Strong contacts with CSD development team in Redmond bloggersguides.net

Connected Systems community portal Bloggers Guide to Connected Systems Bloggers Guide to BizTalk Webcasts & Articles

[email protected] Community email address, feel free to bug me with questions!

“Connected Systems”

Connected Systems Division (CSD)One of the largest divisions in Microsoft

“Connected Systems” products and technologiesBizTalk ServerWCF/WF 4.0Codename “Dublin”Codename “Oslo”Windows Azure

Current Connected Systems Story .net 3.5

WCF○ Foundation for developing connected applications

WF○ Foundation for developing workflow based applications

BizTalk Server 2006 R2 Integration Server

○ Messaging Engine○ Orchestration Engine○ Trading Partner Management○ EDI○ Adapters

Emerging Connected Systems Technologies Oslo

Modeling platform Repository database, graphical editor, modeling language

WCF/WF 4.0 Tighter integration between WCF and WF Ability to create declarative services Major changes in WF class library Great improvements in XAML support Improved activity designers

Dublin Application server Host for WCF Services and WF Workflows

Azure Windows “in the cloud” Provides a number of services hosted by Microsoft

BizTalk Server 2009 Integration Server

Oslo – October 2007 Modeling tool Repository database Process runtime BizTalk Server vNext Systems Center components WCF vNext WF vNext Visual Studio vNext Cloud based services

Oslo – September 2008 Repository Database

Built on SQL Server 2008 Stores model definitions (structure) Stores model instances (data)

“M” language Declarative text-based modeling language Can be used to define models for repository database

“Quadrant” modeling tool Graphical tool used to edit model instances Targeted at “Business Analysts” and architects

Repository Database

Storage for model definitions and model instances

SQL Server 2008 database Transparent data access

Various tools can be used to query repository

Repository Database Content

Tables in the Repository database represent different technologies

Currently included:Common language runtimeWindows Communication

FoundationWindows Workflow FoundationIdentity

Future technologies will be “Schematized”BizTalk Server

Types of Models

Structural ModelsModel definitionsRepresented by table structure

Instance ModelsModel instancesRepresented by data in structural model

tables

Structural Models

Database structure is used to define models

The WCF artefacts are represented as tables in the repository databaseService contractsOperation contractsEndpointsBindings

System.ServiceModel partial structure

Instance Models Data is used to define

models Rows are inserted in

structural model tables

A service application can be modelled byAdding a service

contractAdding service

operationsAdding endpoints and

bindings

“M” Language Textural based modelling language

Aimed at “Curly-brace” programmers“Because graphical tools slow us down.” – Don

Box Different types of “M”

MSchema – Used to define database schemasMGrammar – Used to define domian specific

languagesMService – Used to define service

implementations

Using “M” to Model BizTalk Server// module is equivalent to .net NameSpacemodule Microsoft.BizTalk{

// type is a declaration of an entity type BizTalkGroup { Id : Integer32; Name : Text; MgmtDbServer : Text; MgmtDbDatabase : Text; } where identity Id; // An extent of zero or more types BizTalkGroups : BizTalkGroup*; type BizTalkServer { Id : Integer32; Name : Text; Group : BizTalkGroup; } where identity Id; BizTalkServers : BizTalkServer* where item.Group in BizTalkGroups; }

MSchema is used to model data structures, storage, views and constraints

BizTalk artefacts are “Schematized”

“M” code is compiled to a module

Module is imported into repository database

Compiling to “Reach” SQL

“M” models can be compiled to TSQL ““M” is to TSQL what C is to assembly” – Don Box

TSQL can be used to create repository structure or standard database structure Repository TSQL is more complex

// module is equivalent to .net NameSpacemodule Microsoft.BizTalk{ // type is a declaration of an entity type BizTalkGroup { Id : Integer32; Name : Text; MgmtDbServer : Text; MgmtDbDatabase : Text; } where identity Id; // An extend of zero or more types BizTalkGroups : BizTalkGroup*; type BizTalkServer { Id : Integer32; Name : Text; Group : BizTalkGroup; } where identity Id; BizTalkServers : BizTalkServer* where item.Group in BizTalkGroups; }

set xact_abort on;go

begin transaction;go

set ansi_nulls on;go

create schema [Microsoft.BizTalk];go

create table [Microsoft.BizTalk].[BizTalkGroups]( [Id] int not null, [MgmtDbDatabase] nvarchar(max) not null, [MgmtDbServer] nvarchar(max) not null, [Name] nvarchar(max) not null, constraint [PK_BizTalkGroups] primary key clustered ([Id]));go

create table [Microsoft.BizTalk].[BizTalkServers]( [Id] int not null, [Group] int not null, [Name] nvarchar(max) not null, constraint [PK_BizTalkServers] primary key clustered ([Id]), constraint [FK_BizTalkServers_Group_Microsoft.BizTalk_BizTalkGroups]

foreign key ([Group]) references [Microsoft.BizTalk].[BizTalkGroups] ([Id])

);go

commit transaction;go

Compile

IntelliPad Editing Tool

Simple text based code editor Supports “M” languages Provides instant feedback of code

compilationGreat for learning “M” languages

Visual Studio can also be used for “M”Most likely scenario in real projects

IntelliPad Editing Tool

Modelling data in IntelliPad TSQL code is created instantly

Visual Studio – Oslo “M” Project Template “M” data models can be developed in

Visual StudioProjects are better structuredSource control integrationVisual Studio can build projectsMore suitable for larger projects

Repository “M” Source codeProduct.mproj in Oslo SDKContains “M” models used to create

repository structure

Demo: Modelling BizTalk Server using “M” In this demo you will see

IntelliPad text editorBasic “M” syntaxGenerating TSQLCompiling “M” to a moduleImporting content into Repository database

My Opinions on the Repository Database

Camelot!Camelot!

Camelot!

It’s only a model

The Repository Contains Models

Alan's opinion...The repository database contains modelsModels can be structural (tables)Models can be instances (data)

I could be wrong though...

The Repository Contains Models

Alan's opinion...Runtime configuration information will not be

stored in the repository○ Applications will be modelled in the repository

database○ The repository models will be used to create

running applications○ Running applications will have their own runtime

database○ The runtime database structure may well mirror

the repository structure

I could be wrong though...

The Repository Contains Models

Alan's opinion...Business data will not be stored in the

repository○ Business models will be defined in “M”○ The “M” models will be used to add the business

model definition to the repository○ These models will be used to help design

applications○ On deployment, the business data will have it’s

own database○ The “M” models could be used to create the

application database structure

I could be wrong though...

Learning “M”

Oslo SDKAvailable for download

The “Oslo” Modelling LanguageLangworthy, Lovering, Box – Addison-Wesley

Learning MSchema will take a C# developer about a day

Quadrant Modelling Tool

Graphical tool used for managing instance modelsTargeted at architects and business analysts

Uses “Office Style” ribbon toolbarEveryone uses office

Loads model definitions from repository databaseAllows management of instancesChanges are saved to database

immediately

Oslo Architecture

Repository

MSchema

Adds Structure

Quadrant

ID Data

Adds

Data

Id Data

1 Value

2 Info

Quadrant Modelling Tool

Demo: Modelling in Quadrant In this demo you will see:

Using Quadrant to model a runtime environment

Using Quadrant to design a service contractQuadrant workflow designerPublishing an application to the Dublin

application server

Possible Future Oslo Scenario: Modelling a BizTalk Environment in Oslo

DesignUse Quadrant to model production environmentGroups, Servers, Hosts and Host Instances

can be modelledModel is stored in repository database

DeploymentQuadrant model can be used to create

production environmentVirtualization could make this easy

Note, this is just a possible scenario...

Oslo SDK

Available nowmsdn.microsoft.com/oslo

SDK ContainsRepository database“M” modeling language (MSchema,

MGrammar)IntelliPad editor

Does not include “Quadrant”Quadrant is available on the PDC08-CSD

virtual PC image

“3 Dubs” – WCF/WF & Dublin Windows Communication Foundation (WCF)

Unified communications foundation Windows Workflow Foundation (WF)

Foundation for developing workflow based applications

DublinApplication server extensions for IIS7

Communication & Workflow Foundations Windows Communication Foundation 4.0 Windows Workflow Foundation 4.0 Closely integrated in .net 4.0

“WCF/WF” can be considered as one technology Extended use of eXtensible Application

Markup Language (XAML)

.net Version Integration

3.0 WCF | WF

3.5 WCF + WF

4.0 WCF/WF

eXtensible Application Markup Language (XAML)

Used in .net 3.0/3.5WPF uses XAML to define user interfacesWF uses XAML to define Workflows

Use in .net 4.0Extended support in WFUsed in WCF for declarative services

Windows Communication Foundation Unified communication framework More than just SOA Extensive functionality

One to rule them all Very extensible Challenging to develop with

“WCF is too complex for the average developer.” – Various sources

WCF 4.0

Services can be declared using XAMLYou can create a service with zero lines of

code Much tighter integration with WF Tighter integration with Dublin

application server Improved REST support Improved discovery support

Declarative Services

WCF Services can be declared entirely in XAML

Services are implemented using workflow designer

XAML can be stored as a file or in a database No code required No compilation required

Declarative Service Designer

Sequential Workflow designer used to model service implementation

Service is pure XAML

XAML Service Representation

Learn WCF! “Om du inte har börjat titta på WCF eller XAML och

WF då är jag rädd att säga att du är tvåa just nu.” “Primärt WCF, absolut WCF, det finns ingen ursäkt

kvar alls att ligga kvar på någonting annat än WCF just nu.” Johan Lindfors – Microsoft (MSDN Radio)

Resources Learning WCF: A Hands-on Guide – Michele Bustamente QuickLearn 3 day WCF Course - Hosted at Informator early

2009 Exam 70-503 TS: “Microsoft .NET Framework 3.5 –

Windows Communication Foundation Application Development”

Demo: Service Broker Implementation In this demo you will see:

Building standard WCF servicesBuilding declarative WCF services

Windows Workflow Foundation

Workflow foundation technologyWF is a foundation, not a product

Used in Microsoft Server productsWindows SharePoint Services 3.0Microsoft Office SharePoint Server 2007Microsoft Speech Server

Not used in BizTalk Server!Will not be used in BizTalk Server!

Used in 3rd Party ProductsEpiServerK2.net Workflow

WF 4.0 Core WF class library has been re-written Flowchart workflow model 10x – 100x performance increased XAML has been greatly improved

XAML is now default authoring mode Designers have been re-written to use WPF

10x easier to add activity designersYou may love it, you may hate it

Designer re-hosting is 10x easier

WF 3.5 vs. WF 4.0 Designers

Flowchart Workflow Model Freeform workflow design model

Activities can be placed anywhere Less restrictive than Sequential model

Flow can be routed between activities in workflow

Flowchart Workflow Model

Demo: WF 4.0 Designers

In this demo you will see:Creating a Sequential WorkflowCreating a Flowchart Workflow

Dublin

Application ServerAdd in for IIS7 & WAS in Windows Server 2008Will probably be free to license

FeaturesHost for WCF 4.0 servicesHost for WF 4.0 workflowsBasic service and workflow tracking (CTP version)Management tools hosted in IIS manager

Dublin Administration Tools Built into IIS 7 Manager

Service and Workflow Configuration

Persistence StoreSQL Server database for persisted instancesWorkflows and declarative workflow based services can

persist Throttling

Maximum concurrent calls, instances and sessions can be configured

TrackingSQL Server database used for trackingService and workflow execution can be trackedOptions to track user data

SecurityCertificate configuration

Service and Workflow Configuration

Service and Workflow Management

Persisted workflow managementInstances can be resumed or terminated

Application export and importExport from devImport to test or production

Service and Workflow Management

Service and Workflow Management

Demo: Dublin Management Tools In this demo you will see:

Dublin configuration wizardDublin management toolsDublin service configurationViewing and managing service instances“DublinER” error reporting tool

Will {insert product} Replace BizTalk? Windows Workflow Foundation

Offers similar functionality to BizTalk OrchestrationsFree to useCloser to .net than BizTalk ServerUsers can create custom activities

SQL Server Integration ServicesFeatures adapters and pipelinesVery performant ETL processingIncluded in SQL 2005 licence

DublinApplication server hosting WCF/WF servicesAdds to functionality of IIS7Will probably be free to use

BizTalk Strengths Reliability

Highly reliable messaging Highly reliable orchestration engine

Scalability Easily sailable to large environment

Management Tools Central management console for server group

Integration specific features More comprehensive range of adapters Strong EDI, Swift, HIPPA support BAM Trading partner management

Price Very competitive in integration space Standard edition for $8,499 (65,000 SEK)

BizTalk Server Weaknesses Heavy ELT Data Integration

BizTalk is more suited to many small messages than very large batches

ETL can work in BizTalk, but performance is not optimal Low-Latency SOA Solutions

Multiple message box hops make latency an issue User interfaces scenarios are always an issue BizTalk can be tuned to reduce latency

Human Workflow Services Introduced in BizTalk Server 2004 Far too complex to justify implementation Even Microsoft BizTalk sales people said “Use something

else for human workflow...”

Windows Workflow Foundation

Announced in 2005“WWF will replace BizTalk Orchestration Engine”

○ Not true

Development HistoryIncluded in .net 3.0Improved in .net 3.5Re-written in .net 4.0

Current usageNot gained traction amongst developersRe-write in .net 4.0 will affect 3.5 adoptionMost used for human workflow scenarios in SharePoint

projects

SQL Server Integration Services

Included in SQL Server 2005Re-write of Data Transform Services (DTS)

Adapters & PipelinesFTP adapterSSIS Pipeline

Outperforms BizTalk for ETL operationsRecommended to use instead of BizTalkOften used for ETL tasks in BizTalk projects

Dublin

Expected 2010 releaseNo date confirmed“3 months after Visual Studio 2010”Free add-in for IIS7

Simple FunctionalityBasic management toolsMore challenging to scaleMessages and processes not “highly reliable”

Low LatencyMessages are not persisted in data store

Dublin vs. BizTalkBizTalk Dublin

$34,999 per proc ($8,499 Std Edn) Possible included in Windows Server 2008 License

Hosts message channels and orchestrations Hosts services and workflows

Uses message box for highly reliable messaging

WS-RM can be used, messages not persisted

Comprehensive range of receive endpoints (HTTP, TCP, File, FTP, MSMQ, MQSeries, POP3 etc.)

Limited receive endpoints

Fully supported for large scale deployments Some scalability is available

Comprehensive management and diagnostics tools

Basic management and diagnostics tools

Tried and tested extensively in large scale deployments

Currently “Pre-Alpha”

Supports broad range of LOB applications (EDI, Swift, HIPPA)

Not a supported scenario

Latency can be an issue as messages are persisted

Low latency achieved easily

Dublin Scenario Portal application needs to provide users with

low latency response from LOB systemLow latency achieved

BizTalk Adapter Pack costs $5,000Not much price difference with BizTalk Standard

Edition

MOSS Dublin SAPHTTP SAP Adapter

Projects use more that one Technology

Human workflow based integrationWF can be used in MOSSBizTalk can handle integration aspects

Integration with some ETL tasksSSIS used for ETL “heavy lifting”BizTalk used for messages based integration

SOA Based IntegrationBizTalk used where reliability is requiredDublin used where low-latency is required

Further Reading

BloggersGuides.netBloggers Guide to Connected SystemsWebcasts and Articles

Codename “Oslo” Developer Centremsdn.microsoft.com/osloSDK DownloadDocumentation and resources

Forums“Oslo” forum“Dublin” forum

Questions?

Questions in Session Outside for questions and discussions [email protected]

Community email address, feel free to bug me with questions!