• Like
  • Save
Introducing Oslo
Upcoming SlideShare
Loading in...5
×
 

Introducing Oslo

on

  • 626 views

”Oslo” is the codename for Microsoft’s forthcoming modeling platform. Modeling is used across a wide range of domains and allows more people to participate in application design and allows ...

”Oslo” is the codename for Microsoft’s forthcoming modeling platform. Modeling is used across a wide range of domains and allows more people to participate in application design and allows developers to write applications at a much higher level of abstraction

Statistics

Views

Total Views
626
Views on SlideShare
626
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 09-06-08

Introducing Oslo Introducing Oslo Presentation Transcript

  • Introducing “Oslo”
  • Agenda
    • What is a Model
    • What is Oslo
    • Oslo Architecture
    • Deep dive into each piece of Oslo
    • Development Domains
    • The Big Picture
    • Get Ready for Oslo
  • 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, …
  • What is Oslo
      • THE PLATFORM FOR MODEL-DRIVEN APPLICATIONS
    “ Quadrant” The tool for interacting with models & DSLs Repository The database for storing & sharing models “ M” The language for authoring models & DSLs
  • "Oslo" Architecture XML, Custom Formats, … [Your Models] .Net Models Repository Models REPOSITORY SQL SERVER OTHER TOOLS (VSTS, EXCEL, …) [Your Models] Base Models “ M” Runtime REPOSITO SQL SERVER [Your Models] Base Models “ M” Runtime REPOSITO SQL SERVER RUNTIMES [Your Runtime] “ Dublin” ASP.NET WF WCF SQL/EDM Windows Other ISV Runtimes ADO .NET “ QUADRANT” Composition Generic Viewers Dataflow EDITOR FRAMEWORK [Your Visual DSL] [Your Textual DSL] MSchema MGrammar MGraph LANGUAGE FRAMEWORK XML, Custom Formats, …
  • Dive into “M”
    • What ?
    • “ M” is a language for defining domain models and textual domain-specific languages (DSLs)
    • M domain models define schema and query over structured data ( T echnically XSD and XSLT )
        • 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
    • Why ?
    • For Creating and interacting with Oslo content to be simple and natural
      • Having a box-and-line design experience is an important enabler
      • Having a complementary textual experience is equally important
  • The “M” Language A family of languages for manipulating data DSL &quot; M &quot; Domain-specific grammars Abstract data model Domain-specific data models language GPSLanguage { syntax Main = h:Integer (&quot;,&quot; v:Integer)? => Point { X { h }, Y { v }}; } type Point { X : Integer where X < 100; Y : Integer?; DistanceFromOrigin() { SQRT(X*X + Y*Y) } } Point { X { 100 }, Y { 200 } } Point.m Domain Model DSL Y DomainY.mg Domain Grammar DSL X DomainX.m Domain Model DomainY.m Domain Model DomainX.mg Domain Grammar GPSLanguage.mg Domain Grammar Mschema (Schematizing Data) Mgrammar (Text To Data) Mgraph (Representing Data)
  • What “M” is Not
    • An object-oriented language
      • No polymorphism, virtual dispatch
      • “ Is-a” determined based on structural subtyping, not stipulation
    • A data access technology
      • M domain models compile down to T-SQL
      • Tool chain supports course-grained loading/unloading of schemas and values – not an OLTP solution
    • A replacement for T-SQL
      • Far less expansive feature set
      • Tool chain supports linking/invoking T-SQL
  • Compiling M: Visual Studio
  • Dive into Quadrant
    • Why?
    • As more software becomes more model-driven, the volume of data in the system grows
    • We need a tool that lets people query, update, and visualize that data in ways that make sense for the task at hand
    • What?
    • “ Quadrant ” is a tool for interacting with data
      • Flexible, focused design surfaces
      • Default experiences over arbitrary data
      • Rich declarative customization
      • “ Quadrant” connects people to data
      • Diverse data sets
      • Diverse interaction styles
  • Quadrant Architecture SHELL AND SURFACE SERVICES COMPOSITION ENGINE Nesting Sizing Layout Snapping 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 REPOSITORY Target Data View State Configuration
  • Dive into Repository
    • Optimized for storing and sharing models
      • designed for extensibility
      • allows for query, linkage, impact assessment across models
      • supports common tasks such as versioning, access control
      • extensible metadata - enables rich tooling
    • Includes end-to-end system / lifecycle models
      • out of the box models
      • design-time, run-time
    • ‘ Natural’ SQL Server database
      • approach leverages database ecosystem: tools, reporting, BI, etc
    Repository Family of Platform Stores Message Box Platform Instance Data Modeling Language Monitoring Data Work Items Versioned Source Application Metadata
  • 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
  • &quot;Oslo&quot; Models
    • Identity
      • System.Identity
    • Application
      • System.Runtime
      • System.Application
      • Document
    • ServiceModel
      • System.ServiceModel
    • Transactions
      • System.Transactions
    • WorkflowModel
      • System.WorkflowModel
      • System.WorkflowModel.Activities
    • WorkflowServiceModel
      • System.WorkflowServiceModel
      • System.WorkflowServiceModel.Activities
    • Messaging
      • System.Messsaging.Adapters
    • Security
      • System.Security
    • Management
      • System.Management.Commands
      • System.Management.Environment
      • System.Management.Lifecycle
      • System.Management.Localization
    • Hosting
      • Microsoft.Management.Environment
      • Microsoft.Management.Environment.Was
    • Language
      • Language.Schema
    • Repository
      • Item
      • Microsoft.Repository
      • System.Globalization
    CORE
  • Data Access Options
    • You can program against the generated SQL with whatever data access technology makes you happy, e.g.
      • sqlcmd.exe
      • ADO.NET
      • LINQ to SQL
      • Entity Framework
      • Access
      • Excel
      • ODBC
      • OLEDB
      • EIEIO…
  • Development Domains TEXTUAL DSLs VISUAL DSLs RUNTIMES “ Quadrant” Web Editor “ MWeb” ASP.NET WEB “ Quadrant” Service Editor “ MService” WCF/WF (“Dublin”) SERVICES “ MEntity” EF ENTITIES “ Quadrant ” Schema Editor “ MSchema ” SQL DATABASE “ MService” WCF/WF (“Dublin”) “ MEntity” EF “ Quadrant” Entity Editor
  • The Big Picture How Oslo is part of future Application Development Lifecycle ? Cloud Services A set of Microsoft hosted services including a service bus and a process server Service Bus Model Repository Modeling Tools (Quadrant) Process Server (Dublin) Modeling Language (M) Bus Analyst Arch Dev IT Pro Cloud Services
  • Getting Ready for Oslo…
      • Use a model-driven runtime (WF, WPF, EF, …)
      • Use XML or a database to drive your application or service
      • Embrace model-assisted development (VSTA, DSL Toolkit, …)
      • Visit and Try Oslo January 2009 CTP @ Oslo Developer Center
      • http://msdn.microsoft.com/en-us/oslo
    If You Are A Microsoft .NET developer
  • Questions
  • Thank You