alan smith knowit consulting
Download
Skip this Video
Download Presentation
BUGS November 08 Oslo, WCF/WF, Dublin

Loading in 2 Seconds...

play fullscreen
1 / 67

BUGS November 08 Oslo, WCF - 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' - 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
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
  • [email protected]
    • 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
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
  • 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
  • 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
  • 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 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
  • 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
  • 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
  • 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
  • Sequential Workflow designer used to model service implementation
  • Service is pure XAML
learn wcf
Learn WCF!
  • “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
  • In this demo you will see:
    • Building standard WCF services
    • Building declarative WCF services
windows workflow foundation
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
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
flowchart workflow model
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
demo wf 4 0 designers
Demo: WF 4.0 Designers
  • In this demo you will see:
    • Creating a Sequential Workflow
    • Creating a Flowchart Workflow
dublin
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
Dublin Administration Tools
  • Built into IIS 7 Manager
service and workflow configuration
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 management
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
demo dublin management tools
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
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
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
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 foundation1
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
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
dublin1
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 scenario
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

Dublin

SAP

HTTP

SAP Adapter

projects use more that one technology
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
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?
  • Questions in Session
  • Outside for questions and discussions
  • [email protected]
    • Community email address, feel free to bug me with questions!
ad