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 »

WF 4.0 changes

Rick Garibay has two very interesting posts on the changes that WF 4.0 will bring and the impact on existing WF 3.5 apps:

Copy of some important points:

  • WF developers should stop using custom code activities and opt for custom activities instead.
  • In WF 4.0, all aspects of an activity are represented as XAML. Most importantly, this includes variables within each activity which are bound as input/output parameters from one activity to another. This is a significant change from 3.5 because variables are no longer scoped at the global workflow level, but instead are scoped to the activity level.
  • Should we continue to build composable service-oriented applications with WF 3.5 or bite the bullet and build on early WF 4.0 bits? Well, according to Cliff Simpkins, Office 14 is shipping with 3.5, and if Microsoft is willing to invest this heavily in 3.5 in a brand new product that hasn’t shipped, you can imagine that it should be suitable for LOB applications as well as the enterprise.

Lucene.Net Resources

Lucene.Net is a source code, class-per-class, API-per-API and algorithmatic port of the Java Lucene search engine to the C# and .NET platform utilizing Microsoft .NET Framework.

Inspired by: “Apache Lucene and Lucene.Net – Full Text Search Servers” by Jonathan Allen.

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.

    Articles on Windows Azure


    • Azure Services Platform Developer Center: The Azure Services Platform is an Internet-scale cloud services platform that is hosted in Microsoft data centers and provides an operating system and a set of developer services that can be used individually or together.
    • Windows Azure: MSDN Developer Center: Windows Azure is the cloud services operating system that serves as the development, service hosting, and service management environment for the Azure Services Platform. Windows Azure provides you on-demand compute and storage to host, scale, and manage Web applications and services in Microsoft data centers.
    Posted in MSFT. Tags: . Leave a Comment »

    DSL Tools: Add a custom typed domain property

    Source: http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/e2707136-8deb-4c2a-8ac7-30bc19b08a8d/

    Stuart Kent, MSFT, Moderator – Posted on Mon May 19 2008 12:47:28 GMT+0300 (GTB Daylight Time)

    To add a custom typed domain property, add a domain property as usual through the DSL designer, then create an external type (select top node in explorer, and choose ‘Add External Type’. You can enter a namespace and name for the type in the propertties of the object that is created The correct code to show this in the properties window etc. should then be generated. You may need to write some custom code (navigate to source of build error and there should be a comment telling you what to do), though, without checking I can’t quite remember. You’ll need to add the custom editor through an attribute, which you can add to the domain property in the Dsl Designer.

    Posted in DSL. Tags: . Leave a Comment »

    Workflow (WF) Screencasts

    1. Your first sequential workflow
    2. Your first state machine workflow
    3. Running workflows in your .NET applications: Matt covers the basic steps to host workflows in your applications.  He covers the basic hosting steps in a console application, then jump in and run a workflow in an ASP.NET application. 
    4. Using persistence services in WF: Matt presents the basics of add persistence services into the workflow runtime using code or configuration.  Additionally, to show off the power of this feature in Windows WF, he uses two different host processes sharing a persistence store: the first host starts a workflow and then it persists, while the second host picks up the workflow after its configured delay and resumes the processing.
    5. Using the WCF Receive Activity in a workflow: Learn how to use the Receive activity in your workflows to implement WCF services as workflows. In addition, see how to use the WorkflowServiceHost class to host your workflow as a service.
    6. Using the WCF Send activity in Windows Workflow Foundation: Matt Milner presents  the basics of using the Send activity to consume a service from a workflow using WCF. 
    7. Creating Custom Activities:Matt Milner presents  the basics of creating custom leaf activities including how to use Dependency Properties to make your properties bindable.

    October 2008 Links & Downloads

    Links

    Downloads

    • Windows Azure Tools for Microsoft Visual Studio October 2008 CTP: extend Visual Studio to enable the creation, building, debugging, running and packaging of scalable services on Windows Azure.
    • Windows® Azure™ Software Development Kit (October 2008 CTP): provides developers with the APIs, tools, documentation, and samples needed to develop Internet-scale applications that run on Windows Azure.
    • Microsoft Pre-release Software Visual Studio 2010 and .NET Framework 4.0 Community Technology Preview (CTP): This CTP release is available in English only as a Virtual PC image. The CTP is designed to enable users to experience Visual Studio 2010 and the .NET Framework 4.0, and to provide feature design feedback on a limited set of features. These features are exposed through a set of walkthroughs that are included in the VPC itself. Many common development scenarios may not work in this CTP as it is designed to support the above walkthroughs.
    • Oslo SDK October 2008 CTP: The Oslo SDK includes documents and tools for working with the M language.
    • SQL Data Services (SDS) SDK (CTP): This community technology preview (CTP) release of the Software Development Kit for SDS includes tools and client side components useful to developers building applications with SDS.
    • .NET Services SDK: Microsoft .NET Services are a set of Microsoft-hosted, highly scalable, developer-oriented services that provide key building blocks required by many cloud-based and cloud-aware applications. Much like the .NET Framework provides higher-level class libraries that make developers more productive, Microsoft .NET Services enables a developer to focus on their application logic rather than building and deploying their own cloud-based infrastructure services.
    • Azure Services Training Kit – PDC Preview: The Azure Services Training Kit will include a comprehensive set of technical content including samples, demos, hands-on labs, and presentations that are designed to help you learn how to use the Azure Services Platform. This initial PDC Preview release includes the hands-on labs that were provided at the PDC 2008 conference. These labs cover the broad set of Azure Services including Windows Azure, .NET Services, SQL Services, and Live Services.