Connected Systems

advertisement

Alan Smith – KnowIT Consulting

Agenda

Oslo

Repository Database

“M” Language

“Quadrant” modelling tool

“3 Dubs”

Windows Communication Foundation 4.0

Windows Workflow Foundation 4.0

 Dublin 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 bloggersguidetobiztalk@gmail.com

 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 technologies

 BizTalk Server

 WCF/WF 4.0

Codename “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 runtime

Windows Communication

Foundation

 Windows Workflow

Foundation

 Identity

Future technologies will be

“Schematized”

 BizTalk Server

Types of Models

 Structural Models

 Model definitions

 Represented by table structure

 Instance Models

 Model instances

 Represented 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 database

 Service contracts

 Operation contracts

 Endpoints

 Bindings

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 by

 Adding a service contract

 Adding service operations

 Adding 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 schemas

MGrammar – Used to define domian specific languages

MService – Used to define service implementations

Using “M” to Model BizTalk Server

// module is equivalent to .net NameSpace module 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

// module is equivalent to .net NameSpace module 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;

Compile set xact_abort on; go begin transaction; go set ansi_nulls on; go create schema [Microsoft.BizTalk]; go create table [Microsoft.BizTalk].[BizTalkGroups]

(

); go

[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]) create table [Microsoft.BizTalk].[BizTalkServers]

(

); go

[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]) commit transaction; go

“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

IntelliPad Editing Tool

 Simple text based code editor

Supports “M” languages

 Provides instant feedback of code compilation

 Great 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 Studio

 Projects are better structured

 Source control integration

 Visual Studio can build projects

 More suitable for larger projects

Repository “M” Source code

Product.mproj in Oslo SDK

Contains “M” models used to create repository structure

Demo: Modelling BizTalk Server using “M”

 In this demo you will see

 IntelliPad text editor

 Basic “M” syntax

 Generating TSQL

 Compiling “M” to a module

 Importing 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 models

 Models 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 SDK

 Available for download

The “Oslo” Modelling Language

 Langworthy, Lovering, Box – Addison-Wesley

 Learning MSchema will take a C# developer about a day

Quadrant Modelling Tool

 Graphical tool used for managing instance models

 Targeted at architects and business analysts

Uses “Office Style” ribbon toolbar

 Everyone uses office

 Loads model definitions from repository database

 Allows management of instances

 Changes are saved to database immediately

Oslo Architecture

MSchema Quadrant

1

2

Repository

Value

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 contract

 Quadrant workflow designer

 Publishing an application to the Dublin application server

Possible Future Oslo Scenario:

Modelling a BizTalk Environment in Oslo

 Design

 Use Quadrant to model production environment

 Groups, Servers, Hosts and Host Instances can be modelled

 Model is stored in repository database

 Deployment

 Quadrant model can be used to create production environment

 Virtualization could make this easy

 Note, this is just a possible scenario...

Oslo SDK

 Available now

 msdn.microsoft.com/oslo

 SDK Contains

Repository 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

 Dublin

 Application 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

3.0

3.5

4.0

Integration

WCF | WF

WCF + WF

WCF/WF

eXtensible Application Markup

Language (XAML)

 Used in .net 3.0/3.5

 WPF uses XAML to define user interfaces

 WF uses XAML to define Workflows

 Use in .net 4.0

 Extended support in WF

 Used 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 XAML

 You 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 70503 TS: “Microsoft .NET Framework 3.5 –

Windows Communication Foundation Application

Development”

Demo: Service Broker

Implementation

 In this demo you will see:

 Building standard WCF services

 Building declarative WCF services

Windows Workflow Foundation

Workflow foundation technology

 WF is a foundation, not a product

Used in Microsoft Server products

 Windows SharePoint Services 3.0

 Microsoft Office SharePoint Server 2007

 Microsoft Speech Server

Not used in BizTalk Server!

 Will not be used in BizTalk Server!

Used in 3 rd Party Products

EpiServer

K2.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 designers

You 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 Workflow

 Creating a Flowchart Workflow

Dublin

 Application Server

 Add in for IIS7 & WAS in Windows Server 2008

 Will probably be free to license

 Features

 Host for WCF 4.0 services

 Host for WF 4.0 workflows

 Basic 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 Store

 SQL Server database for persisted instances

 Workflows and declarative workflow based services can persist

Throttling

 Maximum concurrent calls, instances and sessions can be configured

Tracking

SQL Server database used for tracking

Service and workflow execution can be tracked

 Options to track user data

Security

 Certificate configuration

Service and Workflow Configuration

Service and Workflow Management

 Persisted workflow management

 Instances can be resumed or terminated

 Application export and import

 Export from dev

 Import to test or production

Service and Workflow Management

Service and Workflow Management

Demo: Dublin Management Tools

 In this demo you will see:

 Dublin configuration wizard

 Dublin management tools

 Dublin service configuration

 Viewing and managing service instances

 “DublinER” error reporting tool

Will {insert product} Replace BizTalk?

Windows Workflow Foundation

 Offers similar functionality to BizTalk Orchestrations

Free to use

Closer to .net than BizTalk Server

Users can create custom activities

SQL Server Integration Services

 Features adapters and pipelines

Very performant ETL processing

Included in SQL 2005 licence

Dublin

Application server hosting WCF/WF services

Adds to functionality of IIS7

 Will 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 History

Included in .net 3.0

Improved in .net 3.5

Re-written in .net 4.0

Current usage

Not gained traction amongst developers

Re-write in .net 4.0 will affect 3.5 adoption

Most used for human workflow scenarios in

SharePoint projects

SQL Server Integration Services

 Included in SQL Server 2005

 Re-write of Data Transform Services (DTS)

 Adapters & Pipelines

 FTP adapter

 SSIS Pipeline

 Outperforms BizTalk for ETL operations

 Recommended to use instead of BizTalk

 Often used for ETL tasks in BizTalk projects

Dublin

 Expected 2010 release

No date confirmed

“3 months after Visual Studio 2010”

 Free add-in for IIS7

 Simple Functionality

Basic management tools

More challenging to scale

Messages and processes not “highly reliable”

 Low Latency

 Messages are not persisted in data store

Dublin vs. BizTalk

BizTalk 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

Comprehensive range of receive endpoints

(HTTP, TCP, File, FTP, MSMQ, MQSeries,

POP3 etc.)

WS-RM can be used, messages not persisted

Limited receive endpoints

Fully supported for large scale deployments Some scalability is available

Basic management and diagnostics tools Comprehensive management and diagnostics tools

Tried and tested extensively in large scale deployments

Supports broad range of LOB applications

(EDI, Swift, HIPPA)

Latency can be an issue as messages are persisted

Currently “Pre-Alpha”

Not a supported scenario

Low latency achieved easily

Dublin Scenario

Portal application needs to provide users with low latency response from LOB system

 Low latency achieved

BizTalk Adapter Pack costs $5,000

 Not much price difference with BizTalk Standard

Edition

MOSS HTTP Dublin SAP Adapter SAP

Projects use more that one Technology

 Human workflow based integration

 WF can be used in MOSS

 BizTalk can handle integration aspects

 Integration with some ETL tasks

 SSIS used for ETL “heavy lifting”

 BizTalk used for messages based integration

 SOA Based Integration

 BizTalk used where reliability is required

 Dublin used where low-latency is required

Further Reading

BloggersGuides.net

 Bloggers Guide to Connected Systems

 Webcasts and Articles

Codename “Oslo” Developer Centre

 msdn.microsoft.com/oslo

SDK Download

Documentation and resources

 Forums

 “Oslo” forum

 “Dublin” forum

Questions?

 Questions in Session

 Outside for questions and discussions

 bloggersguidetobiztalk@gmail.com

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

Download