SQL Modeling Services M. FBCS, CEng Senior Architect Black Marble LTD Robert Hogg.

download SQL Modeling Services M. FBCS, CEng Senior Architect Black Marble LTD Robert Hogg.

If you can't read please download the document

Transcript of SQL Modeling Services M. FBCS, CEng Senior Architect Black Marble LTD Robert Hogg.

  • Slide 1
  • SQL Modeling Services M
  • Slide 2
  • FBCS, CEng Senior Architect Black Marble LTD Robert Hogg
  • Slide 3
  • THE OSLO BACK STORY
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • A LAP AROUND MODELING
  • Slide 8
  • What is a Model? A DESCRIPTION OF A GIVEN DOMAIN MODEL-ASSISTED Models used to understand or manipulate code Examples: Static Structure, Sequence, DRAWINGS Models used to communicate with others Examples: Dataflow, Use Case, MODEL-DRIVEN Models executed by runtimes directly Examples: HTML, CSS, XAML, BPEL,
  • Slide 9
  • Model-driven Platform COM (+) midl.exe [Transaction] DECLARATIVE CONTENT TIME.NET 1.0 [YourAttributeHere] app.config Web Services wsdl:definitions xsd:schema.NET 3.0 wf:StateMachine wpf:ContentControl
  • Slide 10
  • Model-driven Applications Textual domain specific language (CAML) Visual designer (SharePoint Designer) Application definition stored in database Textual domain specific language (X++) Visual designer (MorphX) Application definition stored in database
  • Slide 11
  • Why is this happening? TRANSPARENCY Better understanding of your application FLEXIBLITY Faster changes to your application PRODUCTIVITY More essence, less ceremony
  • Slide 12
  • SQL Server SQL Azure Visual StudioQuadrant SQL Server Modeling Services Entity Framework ADO.NETM/EDM Data Services Data and Modeling
  • Slide 13
  • What is "SMS"? THE PLATFORM FOR MODEL-DRIVEN APPLICATIONS SQL Server Modeling Services Model store Quadrant Modelling tool M Modelling language
  • Slide 14
  • Key "SMS" Concepts MODELS TEXTUAL DSLs VISUAL DSLs RUNTIMES
  • Slide 15
  • QUADRANT Composition Generic Viewers Dataflow EDITOR FRAMEWORK [Your Visual DSL] [Your Textual DSL] MSchema MGrammar MGraph LANGUAGE FRAMEWORK [Your Models] Base Models M Runtime REPOSITORY SQL SERVER [Your Models] Base Models M Runtime REPOSITORY SQL SERVER "SMS" Architecture RUNTIMES [Your Runtime] Dublin ASP.NET WF WCF SQL/EDM Windows Other ISV Runtimes ADO.NET XML, Custom Formats, [Your Models].Net Models Repository Models REPOSITORY SQL SERVER OTHER TOOLS (VSTS, EXCEL, ) XML, Custom Formats,
  • Slide 16
  • ONE TRUTH
  • Slide 17
  • SQL SERVER MODELING SERVICES
  • Slide 18
  • Repository Capabilities Repository features are built on SQL Server Repository install also turns on useful features, e.g. replication and mirroring system catalog, Change Data Capture, replication, SSIS, mirroring, security, etc. SQL Server Features Repository catalog, secure views, auditing, versioning, claims-based security, glob/loc, etc. Repository Features
  • Slide 19
  • QUADRANT
  • Slide 20
  • What is "Quadrant"? Graphical tool used for managing instance models Targeted at architects and business analysts Loads model definitions from repository database Allows management of instances Changes are saved to database immediately
  • Slide 21
  • Quadrant Modelling Tool
  • Slide 22
  • REPOSITORY SHELL AND SURFACESERVICESCOMPOSITION ENGINE Nesting Sizing Layout Snapping "Quadrant" Architecture Core Services Undo/Redo Commands Drag/Drop Selection Activation Error Handling General Services Search Validation Annotations Relationship Highlighting DATAFLOW ENGINE Caching, Virtualization, Change tracking, and Notification DATAFLOW ENGINE Caching, Virtualization, Change tracking, and Notification Target DataView StateConfiguration
  • Slide 23
  • THE MODELLING LANGUAGE
  • Slide 24
  • Why M? Interacting with Oslo content needs to be simple and natural Textural based modelling language
  • Slide 25
  • What Is M? M is a language for defining domain models and textual domain-specific languages (DSLs) M domain models define schema and query over structured data Values, Constraints, and Views Natural projection to SQL M DSLs define projections from Unicode text to structured data Rule-based transformation Grammar-driven text editor integration
  • Slide 26
  • codename m: a language for data M EDMX Specification T-SQL Specification Grammar Specification
  • Slide 27 Point { X { h }, Y { v }}; } type Point { X : Integer; Y : Integer; } Point { X { 100 }, Y { 200 } } Point.m Domain Model Point.m Domain Model DSL Y DomainY.mg Domain Grammar DomainY.mg Domain Grammar DSL X DomainX.m Domain Model DomainX.m Domain Model DomainY.m Domain Model DomainY.m Domain Model DomainX.mg Domain Grammar DomainX.mg Domain Grammar PointLanguage.mg Domain Grammar PointLanguage.mg Domain Grammar MSchema MGrammar MGraph">
  • The "M" Language DSL "M""M" Domain-specific grammars Abstract data model Domain-specific data models language PointLanguage { syntax Main = h:Integer "," v:Integer => Point { X { h }, Y { v }}; } type Point { X : Integer; Y : Integer; } Point { X { 100 }, Y { 200 } } Point.m Domain Model Point.m Domain Model DSL Y DomainY.mg Domain Grammar DomainY.mg Domain Grammar DSL X DomainX.m Domain Model DomainX.m Domain Model DomainY.m Domain Model DomainY.m Domain Model DomainX.mg Domain Grammar DomainX.mg Domain Grammar PointLanguage.mg Domain Grammar PointLanguage.mg Domain Grammar MSchema MGrammar MGraph
  • Slide 28
  • M Language Example // Module: Used to scope model definitions module Test.TimeReport { // Type: Defines employee data structure type Employee { Id : Integer32 FirstName : Text where value.Count