Last Updated: September 2009
Also see
Questions and Answers for:
General Topics
Q. Why are you
investing in "Oslo"?
IT is under ever increasing pressure to provide flexible
applications that are easily configurable and customizable by developers,
operations, and end users alike. Model-driven applications have proven to
deliver increased flexibility. However, model-driven applications are expensive
to build and maintain because each project implements ad-hoc solutions to
model-driven patterns. If platform technologies were available that provide
solutions to these reoccurring challenges IT could shift the cost of building
and maintaining the modeling "plumbing" to their platform provider.
While there are many "modeling" technologies
available today very few are focused on helping developers build model-driven
applications. As a result, many developers view "modeling" as an
ancillary activity that impedes their ability to deliver quality solutions
on-time. However, developers could realize significant productivity gains if
their development platform and tools provided modeling experiences that helped
them get their job done faster and with less code to maintain.
Q. Who Is
"Oslo's" target customer?
"Oslo" is focused on organizations building highly
customizable applications that are configured and extended by their customers.
ISVs delivering enterprise business solutions certainly fall in this category
but this also includes organizations within enterprises that build reusable
frameworks for other teams or applications customized for multiple divisions.
Q. Who is
"Oslo's" intended user?
Initially, "Oslo" is focused on architects and
developers building customizable frameworks and applications. Over time we expect
to broaden the set of role specific scenarios by applying "Oslo"
technologies to specific domains. Some potential examples include: conceptual
modeling with UML, building web sites with ASP.NET, and managing services with
System Center.
Q. What are the
technical components of "Oslo"?
"Oslo" has three core technical components:
- "Oslo"
Repository
The "Oslo" repository is a SQL Server database enhanced with
capabilities for the storage of model schemas and instances. These
capabilities include patterns for the consistent partitioning, versioning,
securing, relating, and localization of models. - "M"
modeling language
"M" is a highly productive, developer friendly, textual language
for defining model schema and instances. Models created with "M"
lend themselves to progressive refinement and relational linking to each
other. - "Quadrant"
modeling tool
"Quadrant" is a customizable tool for visualizing and
interacting with data stored in SQL Server including models stored in
"Oslo" repository-enabled databases. "Quadrant" helps
developers quickly navigate large datasets and get answers to questions
that require understanding the relationships between models.
Q. What are the key
customer benefits "Oslo" will provide?
- Simplified
Development
"Oslo" will help provide greater levels of agility and
productivity by putting model-driven innovation directly into the .NET
platform. Developers will be able to take advantage of pre-built domain
specific models and languages that ease and simplify application development
and management. - Application
Flexibility
Applications built using "Oslo" technologies are more flexible
because they are naturally data-driven and configurable/customizable by
design. Because "Oslo" inherently brings best practices for
building data-driven applications into the platform, organizations can
spend less time and effort on the plumbing to support a model-driven
approach and focus more on their business domain. - Lower Total Cost
of Ownership
While model-driven applications have proven to deliver increased
flexibility, they are generally expensive to build and maintain because
each project implements ad-hoc solutions to model-driven patterns. Because
"Oslo" inherently brings best practices for building
model-driven applications into the platform, multiple teams can adopt a
consistent approach to implementing model-driven capabilities across a
portfolio of products. - Visibility into
Distributed Solutions
"Oslo" will bring together a connected view of today’s models,
which are often built in vertical, isolated silos. Building upon the
existing and familiar investments customers have already made in Microsoft
platforms, while simultaneously opening up a rich new set of capabilities,
"Oslo" will integrate with a variety of Microsoft technologies
including Windows Server, System Center, Visual Studio, and SQL Server.
These connections will provide greater visibility into the configuration
of a solution that spans across multiple parts of the application
platform. - Bridging the Gaps
"Oslo" technologies will integrate with and enhance Microsoft
lifecycle tooling in Visual Studio Team System and System Center to unite
development and management activities, helping information workers,
developers, database architects, software architects, business analysts,
and IT Professionals to better collaborate across development and
operations.
Q. When will
"Oslo" ship?
"Oslo" is current in Community Technology Preview
(CTP) stage and we are committed to regular CTP releases to ensure deep
engagement with the developer community on an on-going basis. As the effort
progresses we will provide additional detail on Beta and RTM schedules.
Q. How will
"Oslo" technologies be packaged, branded, and sold?
We are not disclosing packaging or pricing at this time.
However, we expect that "Oslo" capabilities will be made available
across existing Microsoft developer platforms and tools potentially including
the .NET Framework, Visual Studio, SQL Server, and System Center families.
Q. Where can I learn
more about "Oslo"?
The latest Community Technology Preview release, samples and
documentation can be found on the Oslo Developer Center http://msdn.microsoft.com/oslo.
Interoperability
Q. Is
"Oslo" interoperable?
We are making the "M" language specification
available under the Microsoft’s
Open Specification Promise (OSP) so third parties, including open source
projects, can build implementations of "M" for other runtimes,
services, applications, and operating systems. Interested parties are also
encouraged to join the "M"
Specification Community to participate in the ongoing evolution of the
"M" language specification.
Q.
What specifically are you committing to by publishing the "M"
language specification under the OSP?
We are making the "M" language
specification (including MSchema, MGrammar and MGraph) available under the OSP
so third parties, including open source projects, can build implementations of
"M" for other runtimes, services, applications, and operating
systems.
Q. What is the
"M" Specification Community?
The "M" Specification Community is an online
discussion group that will be used to gather feedback on the "M" specification
during its development and represents our approach to enabling the broadest set
of contributors to provide input to the development of "M". We are
interested in working with the industry to generalize an approach to model-driven
programming and develop a consistent approach needed to make this a mainstream
application development activity. We believe it is very important that the
efforts to form the specification are done jointly with members across the
community and reflect priorities/input that is both cross-platform and
cross-language (much as we helped establish feedback within the XML and Web
services arena, and our participation with industry leaders as part of the Web
Services Interoperability Organization, WS-I).
Q. How does the
"M" Specification Community discussion group work?
Interested parties may join the "M" Specification
Community by going to http://msdn.microsoft.com/en-us/oslo/msc.aspx and
agreeing to "M" Specification Participation Agreement. This agreement
states that you agree to allow Microsoft to release the spec, including your
accepted contributions, under Microsoft’s Open Specification Promise (OSP). The
OSP provides assurances to individuals and organizations wishing to create or
use an implementation of the "M" spec that they may comfortably do so
under relevant Microsoft patents. Once you have accepted the participation agreement,
you can participate in the development of the spec by using the "M"
Specification Community mailing list. If you do not choose to accept the
agreement, you can still monitor the development of the spec on the mailing
list, as it is public.
Q. What opportunities
does the "M" Specification Community present for partners and
community members?
Customers and partners have the ability to influence
Microsoft’s direction with "M" by providing early feedback and gain
early insight and education into Microsoft’s approach to developing "M"
and "Oslo". This level of participation will also help our partners
get ready to take advantage of new business opportunities with the "Oslo"
technologies at an earlier stage.
Microsoft always appreciates the feedback and partnership it
has with the community in these early development stages, and regards the
feedback with utmost importance.
Relationship to other Microsoft technologies
Q. How does
"Oslo" relate to Visual Studio?
"Oslo" will provide additional capabilities to the
Visual Studio family to support the authoring, manipulation, and sharing of
models and development of model-driven applications.
- Developers will be able to author models using the
"M" language in Visual Studio.
- Models stored in the "Oslo" repository can be
queried and analyzed using standard Visual Studio database tools.
- Over time, multiple roles will use the
"Quadrant" tool as part of the Visual Studio family to view,
edit, and share models.
Q. How does
"Oslo" relate to .NET?
"Oslo" is related to the .NET Framework in two
principal ways:
- "Oslo" is providing capabilities into the .NET
Framework to make it easier for developers to create model-driven
applications.
- Many parts of the .NET Framework itself are already
model-driven. "Oslo" will drive consistency in how .NET Framework components implement a
model-driven approach.
Q. How does
"Oslo" relate to SQL Server?
The "Oslo" repository extends SQL Server with
additional capabilities for relating, versioning, securing, localizing, and
packaging models.
Q. How does
"Oslo" relate to the Azure Services Platform?
The Azure Services Platform uses models in many areas
including solution architecture, deployment, management, and access control. The
"Oslo" team is working with the teams building cloud infrastructure
and services to identify opportunities to best leverage "Oslo" technologies.
Q. How does
"Oslo" relate to the Entity Framework(EF)/Entity Data Model (EDM)?
"Oslo" full embraces EF/EDM as a primary mechanism
for applications to access the "Oslo" repository. We are working
closely with the Entity Framework team to enable this scenario. As we continue
the development of "Oslo" we expect deeper alignment with EF/EDM. In
particular, we expect that to have "Oslo" textual and visual DSLs for
EDM and for these to play an important role in how application developers build
model-driven applications.