Connected Systems - BizTalk Usergroup

Download Report

Transcript Connected Systems - BizTalk Usergroup

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
[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
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
set xact_abort on;
go
// 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;
begin transaction;
go
set ansi_nulls on;
go
create schema [Microsoft.BizTalk];
go
Compile
// An extend of zero or more types
BizTalkGroups : BizTalkGroup*;
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
type BizTalkServer
{
Id : Integer32;
Name : Text;
Group : BizTalkGroup;
} where identity Id;
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
BizTalkServers : BizTalkServer*
where item.Group in BizTalkGroups;
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
Repository
ID
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 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
Integration
WCF
|
WF
3.5
WCF + WF
4.0
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 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 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 3rd 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
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 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
 [email protected]

 Community email address, feel free to bug
me with questions!