Oslo architecture: two slides from PDC

Source: A Lap around “Oslo” by Vijaye Raji and Douglas Purdy

"Oslo" Architecture

Development Domains

Posted in Oslo. Tags: . Leave a Comment »

PDC 2008: WF and Oslo Resources

  • TL17: WF 4.0: A First Look, Kenny Wolf
  • TL23: A Lap around “Oslo”, Douglas Purdy, Vijaye Raji
  • TL27: “Oslo”: The Language, Don Box, David Langworthy
  • TL06: WCF 4.0: Building WCF Services with WF in Microsoft .NET 4.0, Ed Pinto
  • TL18: “Oslo”: Customizing and Extending the Visual Design Experience, Don Box, Florian Voss
  • TL28: “Oslo”: Repository and Models, Chris Sells
  • BB18: “Dublin”: Hosting and Managing Workflows and Services in Windows Application Server, Dan Eshner
  • TL21: WF 4.0: Extending with Custom Activities, Matt Winkler
  • TL36: Microsoft .NET Framework: Declarative Programming Using XAML, Rob Relyea, Daniel Roth
  • BB47: SharePoint 2007: Advanced Asynchronous Workflow Messaging, Alex Malek
  • BB27: .NET Services: Orchestrating Services and Business Processes Using Cloud-Based Workflow, Moustafa Ahmed
  • TL31: “Oslo”: Building Textual DSLs, Chris Anderson, Giovanni Della-Libera 

    Combining WF 4.0, “Dublin”, and “Oslo”: A figure

    An application can use workflows, services, and models together, combining WF 4.0, “Dublin”, and “Oslo”

    Source: Workflows, Services, and Models

    What is “Oslo?”

    Source: Chris Sells, http://www.sellsbrothers.com/news/showTopic.aspx?ixTopic=2196

    What is “Oslo?”

    And to kick this conversation off, we’d like to provide the 10,000 foot introduction to “Oslo”. “Oslo” is the code name for our platform for model-driven applications. The goal of “Oslo” is to provide a 10x productivity gain by making model-driven applications mainstream. At the core of this platform are domain-specific models, language and tools:

    • A language, M, for authoring domains textually
    • A tool, Quadrant, for authoring domains visually
    • Repository for managing domain models
    • A library of pre-built domain models and languages

    Together, these components will make it more efficient for a team to develop, implement, and maintain applications and services.

    What is “M”?

    “M” is a new declarative language that provides developers with an approachable, textual format for authoring models and DSLs for those models. The “M” language consists of three parts: MGraph, MSchema and MGrammar. MGraph is used to write down values in a graph structure similar to syntaxes like JSON. MSchema builds on MGraph by providing a structural type system, extent declarations for storing values, and computed values, which are queries over values and extents. MGrammar is used to describe a domain-specific language in terms of token and syntax rules, which are then used to parse text into an MGraph.

    What is “Quadrant”?

     Quadrant is a real-time editor over a SQL database. Updates in Quadrant are automatically propagated to the database. Views over the same data are automatically refreshed when those data changes are made to the database. This is technically possible because Quadrant is built on an innovative dataflow technology. Quadrant’s user experience is reflective of the experience in Office tools.

    Quadrant is available to PDC attendees on the VPC, but not yet available for download. We hope to get Quadrant into a future Oslo CTP soon!

    What is the Repository?

    The “Oslo” repository delivers a platform to manage application metadata. The “Oslo” repository provides a common set of features to enable data-driven applications to leverage a platform investment made by Microsoft.

    The “Oslo” repository builds naturally upon the SQL Server database and provides optimizations for storing and sharing models – by providing a thin layer on top of the existing DBMS engine, this enables customers to easily leverage the existing SQL Server database ecosystem (e.g. tools, reporting, BI, etc). The repository is designed for extensibility, and supports common tasks such as impact analysis and access control. The repository manages end-to-end system models across the lifecycle, including support for both design and run-time views of application metadata. Pre-built models will be delivered as a starting point for building your full application, and with extensibility points so that your models can be augmented as needed.