BUGS November 08 Oslo, WCF/WF, Dublin
670 likes | 908 Vues
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?
BUGS November 08 Oslo, WCF/WF, Dublin
E N D
Presentation Transcript
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? • 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 • bloggersguidetobiztalk@gmail.com • 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
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 • 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 • 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 • 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 Adds Structure Adds Data Repository
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)
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
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 • 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
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 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