1 / 67

BUGS November 08 Oslo, WCF/WF, Dublin

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?

zohar
Télécharger la présentation

BUGS November 08 Oslo, WCF/WF, Dublin

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Alan Smith – KnowIT Consulting BUGS November 08 Oslo, WCF/WF, Dublin

  2. 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

  3. 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!

  4. “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

  5. 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

  6. 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

  7. 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

  8. 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

  9. Repository Database • Storage for model definitions and model instances • SQL Server 2008 database • Transparent data access • Various tools can be used to query repository

  10. 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

  11. Types of Models • Structural Models • Model definitions • Represented by table structure • Instance Models • Model instances • Represented by data in structural model tables

  12. 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

  13. System.ServiceModel partial structure

  14. 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

  15. “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

  16. 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; }

  17. 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

  18. 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

  19. IntelliPad Editing Tool • Modelling data in IntelliPad • TSQL code is created instantly

  20. 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

  21. 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

  22. My Opinions on the Repository Database Camelot! Camelot! Camelot! It’s only a model

  23. 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...

  24. 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...

  25. 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...

  26. 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

  27. 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

  28. Oslo Architecture MSchema Quadrant Adds Structure Adds Data Repository

  29. Quadrant Modelling Tool

  30. 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

  31. 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...

  32. 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

  33. “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

  34. 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)

  35. 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

  36. 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

  37. 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

  38. 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

  39. Declarative Service Designer • Sequential Workflow designer used to model service implementation • Service is pure XAML

  40. XAML Service Representation

  41. 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”

  42. Demo: Service Broker Implementation • In this demo you will see: • Building standard WCF services • Building declarative WCF services

  43. 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

  44. 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

  45. WF 3.5 vs. WF 4.0 Designers

  46. 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

  47. Flowchart Workflow Model

  48. Demo: WF 4.0 Designers • In this demo you will see: • Creating a Sequential Workflow • Creating a Flowchart Workflow

  49. 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

  50. Dublin Administration Tools • Built into IIS 7 Manager

More Related