Alan Smith – KnowIT Consulting. Agenda Oslo Repository Database “M” Language “Quadrant”...
-
Upload
emilee-graff -
Category
Documents
-
view
218 -
download
1
Transcript of Alan Smith – KnowIT Consulting. Agenda Oslo Repository Database “M” Language “Quadrant”...
Agenda
OsloRepository Database“M” Language“Quadrant” modelling tool
“3 Dubs”Windows Communication Foundation 4.0Windows Workflow Foundation 4.0Dublin 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 technologiesBizTalk ServerWCF/WF 4.0Codename “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 runtimeWindows Communication
FoundationWindows Workflow FoundationIdentity
Future technologies will be “Schematized”BizTalk Server
Types of Models
Structural ModelsModel definitionsRepresented by table structure
Instance ModelsModel instancesRepresented 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 databaseService contractsOperation contractsEndpointsBindings
Instance Models Data is used to define
models Rows are inserted in
structural model tables
A service application can be modelled byAdding a service
contractAdding service
operationsAdding 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 schemasMGrammar – Used to define domian specific
languagesMService – Used to define service
implementations
Using “M” to Model BizTalk Server// module is equivalent to .net NameSpacemodule 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
“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
// module is equivalent to .net NameSpacemodule 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; }
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
Compile
IntelliPad Editing Tool
Simple text based code editor Supports “M” languages Provides instant feedback of code
compilationGreat for learning “M” languages
Visual Studio can also be used for “M”Most likely scenario in real projects
Visual Studio – Oslo “M” Project Template “M” data models can be developed in
Visual StudioProjects are better structuredSource control integrationVisual Studio can build projectsMore suitable for larger projects
Repository “M” Source codeProduct.mproj in Oslo SDKContains “M” models used to create
repository structure
Demo: Modelling BizTalk Server using “M” In this demo you will see
IntelliPad text editorBasic “M” syntaxGenerating TSQLCompiling “M” to a moduleImporting content into Repository database
The Repository Contains Models
Alan's opinion...The repository database contains modelsModels 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 SDKAvailable for download
The “Oslo” Modelling LanguageLangworthy, Lovering, Box – Addison-Wesley
Learning MSchema will take a C# developer about a day
Quadrant Modelling Tool
Graphical tool used for managing instance modelsTargeted at architects and business analysts
Uses “Office Style” ribbon toolbarEveryone uses office
Loads model definitions from repository databaseAllows management of instancesChanges are saved to database
immediately
Oslo Architecture
Repository
MSchema
Adds Structure
Quadrant
ID Data
Adds
Data
Id Data
1 Value
2 Info
Demo: Modelling in Quadrant In this demo you will see:
Using Quadrant to model a runtime environment
Using Quadrant to design a service contractQuadrant workflow designerPublishing an application to the Dublin
application server
Possible Future Oslo Scenario: Modelling a BizTalk Environment in Oslo
DesignUse Quadrant to model production environmentGroups, Servers, Hosts and Host Instances
can be modelledModel is stored in repository database
DeploymentQuadrant model can be used to create
production environmentVirtualization could make this easy
Note, this is just a possible scenario...
Oslo SDK
Available nowmsdn.microsoft.com/oslo
SDK ContainsRepository 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
DublinApplication 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 Integration
3.0 WCF | WF
3.5 WCF + WF
4.0 WCF/WF
eXtensible Application Markup Language (XAML)
Used in .net 3.0/3.5WPF uses XAML to define user interfacesWF uses XAML to define Workflows
Use in .net 4.0Extended support in WFUsed 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 XAMLYou 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
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 servicesBuilding declarative WCF services
Windows Workflow Foundation
Workflow foundation technologyWF is a foundation, not a product
Used in Microsoft Server productsWindows SharePoint Services 3.0Microsoft Office SharePoint Server 2007Microsoft Speech Server
Not used in BizTalk Server!Will not be used in BizTalk Server!
Used in 3rd Party ProductsEpiServerK2.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 designersYou may love it, you may hate it
Designer re-hosting is 10x easier
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
In this demo you will see:Creating a Sequential WorkflowCreating a Flowchart Workflow
Dublin
Application ServerAdd in for IIS7 & WAS in Windows Server 2008Will probably be free to license
FeaturesHost for WCF 4.0 servicesHost for WF 4.0 workflowsBasic service and workflow tracking (CTP version)Management tools hosted in IIS manager
Service and Workflow Configuration
Persistence StoreSQL Server database for persisted instancesWorkflows and declarative workflow based services can
persist Throttling
Maximum concurrent calls, instances and sessions can be configured
TrackingSQL Server database used for trackingService and workflow execution can be trackedOptions to track user data
SecurityCertificate configuration
Service and Workflow Management
Persisted workflow managementInstances can be resumed or terminated
Application export and importExport from devImport to test or production
Demo: Dublin Management Tools In this demo you will see:
Dublin configuration wizardDublin management toolsDublin service configurationViewing and managing service instances“DublinER” error reporting tool
Will {insert product} Replace BizTalk? Windows Workflow Foundation
Offers similar functionality to BizTalk OrchestrationsFree to useCloser to .net than BizTalk ServerUsers can create custom activities
SQL Server Integration ServicesFeatures adapters and pipelinesVery performant ETL processingIncluded in SQL 2005 licence
DublinApplication server hosting WCF/WF servicesAdds to functionality of IIS7Will 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 HistoryIncluded in .net 3.0Improved in .net 3.5Re-written in .net 4.0
Current usageNot gained traction amongst developersRe-write in .net 4.0 will affect 3.5 adoptionMost used for human workflow scenarios in SharePoint
projects
SQL Server Integration Services
Included in SQL Server 2005Re-write of Data Transform Services (DTS)
Adapters & PipelinesFTP adapterSSIS Pipeline
Outperforms BizTalk for ETL operationsRecommended to use instead of BizTalkOften used for ETL tasks in BizTalk projects
Dublin
Expected 2010 releaseNo date confirmed“3 months after Visual Studio 2010”Free add-in for IIS7
Simple FunctionalityBasic management toolsMore challenging to scaleMessages and processes not “highly reliable”
Low LatencyMessages are not persisted in data store
Dublin vs. BizTalkBizTalk 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 systemLow latency achieved
BizTalk Adapter Pack costs $5,000Not much price difference with BizTalk Standard
Edition
MOSS Dublin SAPHTTP SAP Adapter
Projects use more that one Technology
Human workflow based integrationWF can be used in MOSSBizTalk can handle integration aspects
Integration with some ETL tasksSSIS used for ETL “heavy lifting”BizTalk used for messages based integration
SOA Based IntegrationBizTalk used where reliability is requiredDublin used where low-latency is required
Further Reading
BloggersGuides.netBloggers Guide to Connected SystemsWebcasts and Articles
Codename “Oslo” Developer Centremsdn.microsoft.com/osloSDK DownloadDocumentation 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!