Alan smith knowit consulting
Download
1 / 67

BUGS November 08 Oslo, WCF/WF, Dublin - PowerPoint PPT Presentation


  • 178 Views
  • Uploaded on

Alan Smith – KnowIT Consulting. BUGS November 08 Oslo, WCF/WF, Dublin. 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?

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 'BUGS November 08 Oslo, WCF/WF, Dublin' - zohar


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
Alan smith knowit consulting

Alan Smith – KnowIT Consulting

BUGS November 08 Oslo, WCF/WF, Dublin


Agenda
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
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”

  • 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
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
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
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
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
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
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
Types of Models

  • Structural Models

    • Model definitions

    • Represented by table structure

  • Instance Models

    • Model instances

    • Represented by data in structural model tables


Structural models
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
System.ServiceModel partial structure


Instance models
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
“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
Using “M” to Model BizTalk Server

  • 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

// module is equivalent to .netNameSpace

moduleMicrosoft.BizTalk

{

// type is a declaration of an entity

typeBizTalkGroup

{

Id : Integer32;

Name : Text;

MgmtDbServer : Text;

MgmtDbDatabase : Text;

} whereidentity Id;

// An extent of zero or more types

BizTalkGroups : BizTalkGroup*;

typeBizTalkServer

{

Id : Integer32;

Name : Text;

Group : BizTalkGroup;

} whereidentity Id;

BizTalkServers : BizTalkServer*

whereitem.GroupinBizTalkGroups;

}


Compiling to reach sql
Compiling to “Reach” SQL

  • 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

// module is equivalent to .netNameSpace

moduleMicrosoft.BizTalk

{

// type is a declaration of an entity

typeBizTalkGroup

{

Id : Integer32;

Name : Text;

MgmtDbServer : Text;

MgmtDbDatabase : Text;

} whereidentity Id;

// An extend of zero or more types

BizTalkGroups : BizTalkGroup*;

typeBizTalkServer

{

Id : Integer32;

Name : Text;

Group : BizTalkGroup;

} whereidentity Id;

BizTalkServers : BizTalkServer*

whereitem.GroupinBizTalkGroups;

}

  • “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

Compile


Intellipad editing tool
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 tool1
IntelliPad Editing Tool

  • Modelling data in IntelliPad

  • TSQL code is created instantly


Visual studio oslo m project template
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
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
My Opinions on the Repository Database

Camelot!

Camelot!

Camelot!

It’s only a model


The repository contains models
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 models1
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 models2
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
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
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
Oslo Architecture

MSchema

Quadrant

Adds Structure

Adds Data

Repository



Demo modelling in quadrant
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
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
Oslo SDK Environment in Oslo

  • 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
“3 Dubs” – WCF/WF & Dublin Environment in Oslo

  • 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
Communication & Workflow Foundations Environment in Oslo

  • 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)


Extensible application markup language xaml
eXtensible Environment in Oslo 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
Windows Communication Foundation Environment in Oslo

  • 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
WCF 4.0 Environment in Oslo

  • 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
Declarative Services Environment in Oslo

  • 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
Declarative Service Designer Environment in Oslo

  • Sequential Workflow designer used to model service implementation

  • Service is pure XAML


Xaml service representation
XAML Service Representation Environment in Oslo


Learn wcf
Learn WCF! Environment in Oslo

  • “Om du inteharbörjattittapå WCF eller XAML och WF dåär jag räddattsägaatt du ärtvåa just nu.”

  • “Primärt WCF, absolut WCF, detfinnsingenursäktkvar alls attliggakvarpånågontingannatä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
Demo: Service Broker Implementation Environment in Oslo

  • In this demo you will see:

    • Building standard WCF services

    • Building declarative WCF services


Windows workflow foundation
Windows Workflow Foundation Environment in Oslo

  • 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 3rd Party Products

    • EpiServer

    • K2.net Workflow


Wf 4 0
WF 4.0 Environment in Oslo

  • 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
WF 3.5 vs. WF 4.0 Designers Environment in Oslo


Flowchart workflow model
Flowchart Workflow Model Environment in Oslo

  • Freeform workflow design model

    • Activities can be placed anywhere

  • Less restrictive than Sequential model

    • Flow can be routed between activities in workflow


Flowchart workflow model1
Flowchart Workflow Model Environment in Oslo


Demo wf 4 0 designers
Demo: WF 4.0 Designers Environment in Oslo

  • In this demo you will see:

    • Creating a Sequential Workflow

    • Creating a Flowchart Workflow


Dublin
Dublin Environment in Oslo

  • 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
Dublin Administration Tools Environment in Oslo

  • Built into IIS 7 Manager


Service and workflow configuration
Service and Workflow Configuration Environment in Oslo

  • 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 management
Service and Workflow Management Environment in Oslo

  • Persisted workflow management

    • Instances can be resumed or terminated

  • Application export and import

    • Export from dev

    • Import to test or production


Service and workflow management1
Service and Workflow Management Environment in Oslo


Service and workflow management2
Service and Workflow Management Environment in Oslo


Demo dublin management tools
Demo: Dublin Management Tools Environment in Oslo

  • 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
Will {insert product} Replace BizTalk? Environment in Oslo

  • 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
BizTalk Strengths Environment in Oslo

  • 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
BizTalk Server Weaknesses Environment in Oslo

  • 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 foundation1
Windows Workflow Foundation Environment in Oslo

  • 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
SQL Server Integration Services Environment in Oslo

  • 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


Dublin1
Dublin Environment in Oslo

  • 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
Dublin vs. BizTalk Environment in Oslo


Dublin scenario
Dublin Scenario Environment in Oslo

  • 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

Dublin

SAP

HTTP

SAP Adapter


Projects use more that one technology
Projects use more that one Technology Environment in Oslo

  • 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
Further Reading Environment in Oslo

  • 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? Environment in Oslo

  • Questions in Session

  • Outside for questions and discussions

  • bloggersguidetobiztalk@gmail.com

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