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!