160 likes | 281 Views
Modeling with „Oslo“ Microsoft‘s Modeling Framework. Shy Cohen Independent Consultant shy@ShyCohen.com . Agenda. The Evolution of Software Modeling Oslo Overview Components Demos, demos, demos Summary. Trending Towards Data. Logic. Data. In. Functionality. Generic Functionality.
E N D
Modeling with „Oslo“ Microsoft‘s Modeling Framework Shy Cohen Independent Consultant shy@ShyCohen.com
Agenda • The Evolution of Software Modeling • Oslo • Overview • Components • Demos, demos, demos • Summary
Trending Towards Data Logic Data In Functionality Generic Functionality Specific Functionality Runtime Out Data The App IS Aware Of Data The App Is NOT Aware Of UML Excel Text Database … “Executable” Data Code Generation Executable Code
Evolution of Exec. Data Model Tool Data Runtime Interpreted Models Rapid development, automated testing, agility, resource saving, … Our model definition Our tool Our Data Our own RT Platform independence, memory mgmt, security, … Text (C# code) Compiler MSIL VM Text (C code) Compiler ASM CPU Enables the hardware to do many things Electronics A dedicated solution
Oslo • “Oslo” is a set of forthcoming products & technologies • A family of languages (collectively called “M”) • A SQL-based data store (Repository) • Visual data manipulation tool (“Quadrant”) • Domain Specific experiences • These will be released over time • The Repository and “M” are in the front • “Quadrant” seems to be following behind • Release of V1 is targeted for 2009 • Alongside Visual Studio 2010
Model-Driven Apps w/ Oslo “M” “Quadrant” Runtime X RUNTIMES Repository My Model “Dublin” My Model My Model My Model My Model ASP.NET WF Runtime Z WCF Runtime W ISV Model #N SQL/EDM Enterprise Model #2 Base Model #2 Enterprise Model #1 Base Model #N Base Model #1 ISV Model #2 • Other ISV Runtimes Enterprise Model #N ISV Model #1 [Your Runtime] Runtime Y SDK Class Libraries Data Access Technology
The Repository • Central storage for models • Pre-populated with hundreds of domains • ISVs, the Enterprise, and You can add more or extend the existing ones • Models can be creates, & accessed using anySQL-compatible data access technology • From any platform • Benefits from all of SQL Server 2008’s abilities • Adds Security, Versioning, Lifetime Services,and Localization Support • By following specific patterns very strictly
“Quadrant” • A new visual editor for viewing and editing data • Highly customizable • In V1, targeting devs • Currently unavailable to the public other than on the PDC VPC
“M” • A new family of text-based data modeling languages • Designed to describe data, regardless of where it’s stored or how it’s accessed • The “Oslo” Repository • Any SQL database • Interpreted models • M lets us • Defines data types • Describes data instances • Describes DSLs that transform “plain text” todata instances
Demo: Data With M Defining Data Structures and Content What We saw: Defining Types Defining Extents (containers) Constraints & computed values Projection to T-SQL, Repository SQL, and Abstract Syntax Trees
Demo: Creating a DLS with M Defining and using a Domain Specific Language What We saw: Defining a DSL Writing “code” using the DSL Translation to data
Demo: Interpreting a DLS with M Using a Domain Specific Language without going through a database What We saw: Accessing the AST directly via APIs
Summary • Oslo is Microsoft’s new modeling platform • The Repository is the heart of “Oslo” • A set of services over SQL Server 2008 • Hundreds of pre-defined models • “Quadrant” will provide the visual modeling experience • “M” lets you textually manipulate data • Rich language and tools for data and instance definition • Rich language and tools to define DSLs • Ability to consume parsed DSL output using data access APIs
What’s Next? • Download the SDK, understand the Repository, and start learning M • Create DSLs for your application domains • E.g. replace script and XML configuration files with something more readable • Let Microsoft know what you like and what you don’t like – they do listen!
Additional Resources • http://msdn.microsoft.com/oslo • Download links • Tutorials, videos and webcasts • A lot of other content • My email: shy@ShyCohen.com
About the Presenter Shy Cohen is an independent Software Architect, Consultant, Speaker, Coach & Entrepreneur. His primary focus areas are cloud and distributed computing, and software architecture. Drawing on over 2 decades of wide-ranging experience in the software industry, Shy feels equally “at home” speaking on stage in to an audience of hundreds, discussing high-level value propositions and business strategies with executives and decision makers, whiteboarding system architecture and designs with architects and team leads, or writing code with developers. Previously, Shy worked at Microsoft as a Senior Program Manager on projects such as "Oslo", Windows Communication Foundation, MSN, Windows, ISA, and others. Prior to working at Microsoft, Shy worked at Intel and ran a small software company. Shy has a passion for teaching others. He taught as a college professor, is a published author, and an internationally acclaimed presenter. Shy is also an entrepreneur who thrives on finding how technology can help spark or support business ideas. Shy holds a B.Sc. in Computer Science and a Computer Engineering degree from the Technion. To learn more, visit www.ShyCohen.com