"Oslo" is the former code name for what is now called the SQL Server Modeling CTP, a set of future Microsoft modeling technologies that aim to provide significant productivity gains across the lifecycle of .NET Framework applications by enabling developers, architects, and IT professionals to work together more effectively. Its goal is to significantly increase programming productivity within the context of a broader initiative known as Dynamic IT. It was first announced in October 2007 and early Community Technology Previews (CTPs) of the technology have been released in October 2008, January 2009, May 2009, and November 2009.
As of the November 2009 CTP, the technologies are collectively called the SQL Server Modeling CTP, slated to ship in a future major release of Microsoft SQL Server.
Originally, in 2007, the "Oslo" name encompassed a much broader set of technologies including "updated messaging and workflow technologies in the next version of BizTalk Server and other products" such as the .NET Framework , Microsoft Visual Studio , and Microsoft System Center (specifically the Operations Manager and Configuration Manager).
By September 2008, however, Microsoft changed its plans to redesign BizTalk Server around "Oslo".Other pieces of the original "Oslo" group were also broken off and given identities of their own; "Oslo" ceased to be a container for future versions of other products. Instead, it was identified as a set of software development and systems management tools:
When "Oslo" was first presented to the public at the Microsoft Professional Developers Conference in October 2008, this list has been focused even further. The process server was split off as code name "Dublin" that would work with "Oslo", leaving "Oslo" itself composed of the first three components above that are presently described (and rearranged) as follows:
Most recently, at the Professional Developer's Conference in November 2009, Microsoft announced that the 'Oslo' name was being retired and that the technologies were now called the SQL Server Modeling CTP. This naming was chosen because of the natural alignment of the technologies with Microsoft SQL Server, and because the technologies would be shipping with a future major release of that product.
The use of SQL Server in the name has generated some confusion about how things like the "M" language relate to a database engine. The SQL Server product, however, encompasses many features beyond the core database, as architect Douglas Purdy explains in a blog post addressing this question.
SQL Server Modeling is also presently positioned as a set of modeling technologies for the .NET platform and part of the effort known as Dynamic IT. Bob Muglia, Senior Vice President for Microsoft's Server & Tools Business, has said this about Dynamic IT:
One of the pillars of this initiative is an environment that is "model-driven" wherein every critical aspect of the application lifecycle from architecture, design, and development through to deployment, maintenance, and IT infrastructure in general, is described by metadata artifacts (called "models") that are shared by all the roles at each stage in the lifecycle. This differs from the typical approach in which, as Bob Kelly, General Manager of Microsoft's Infrastructure Server Marketing group put it,
[a customer's] IT department and their development environment are two different silos, and the resulting effect of that is that anytime you want to deploy an application or a service, the developer builds it, throws it over the wall to IT, they try to deploy it, it breaks a policy or breaks some configuration, they hand that feedback to the developer, and so on. A very costly [way of doing business] .
By focusing on "models"—model-based infrastructure and model-based development—we believe it enables IT to capture their policies in models and also allows the developers to capture configuration (the health of that application) in a model, then you can deploy that in a test environment very easily and very quickly (especially using virtualization). Then having a toolset like System Center that can act on that model and ensure that the application or service stays within tolerance of that model. This reduces the total cost of ownership, makes it much faster to deploy new applications and new services which ultimately drive the business, and allows for a dynamic IT environment.
To be more specific, a problem today is that data that describes an application throughout its lifecycle ends up in multiple different stores. For example:
Between these, there is little or no data sharing between the tools and runtimes involved. One of the elements of SQL Server Modeling is to concentrate this metadata into the Modeling Services database, thereby making that repository really the hub of Dynamic IT.
The SQL Server Modeling CTP, then, is that set of tools that make it easier to build more and more of any application purely out of data. The SQL Server Modeling technologies aim to have the entire application throughout its entire lifecycle completely described in data/metadata that it contained within a database. As described on the Data Developer Center:
Model-driven development in the context of the SQL Server Modeling CTP indicates a development process that revolves around building applications primarily through metadata. This means moving more of the definition of an application out of the world of code and into the world of data, where the developer’s original intent is increasingly transparent to both the platform and other developers. As data, the application definition can be easily viewed and quickly edited in a variety of forms, and even queried, making all the design and implementation details that much more accessible. As previously discussed, Microsoft technologies have been moving in this direction for many years; things like COM type libraries, .NET Framework metadata attributes, and XAML have all moved increasingly toward declaring one’s intentions directly as data—in ways that make sense for your problem domain—and away from encoding them into a lower-level form, such as x86 or .NET Framework intermediate language (IL) instructions. This is what the SQL Server Modeling CTP is all about.
The "models" in question aren't anything new: they simply define the structure of the data in a SQL server database. These are the structures with which the SQL Server Modeling tools interact.
SQL Server Modeling Services provides a robust, enterprise-ready storage location for the data models. It takes advantage of the best features of SQL Server 2008 to deliver on critical areas such as scalability, security, and performance. The Base Domain Library (BDL) of SQL Server Modeling Services provides infrastructure and services, simplifying the task of creating and managing enterprise-scale databases. Modeling Services provides the foundation for productively building models and model-driven applications with SQL Server Modeling CTP.
Modeling Services also includes additional pre-built "domains," which are pre-defined models and tools for working with particular kinds of data. At present, such domains are included for:
Note that while the SQL Server Modeling Services is part of the toolset, models may be deployed into any arbitrary SQL Server database; the "Quadrant" tool is also capable of working with arbitrary SQL Server databases.
According to the Data Developer Center, the "M" language and its features are used to define "custom language, schema for data (data models), and data values."The intention is to allow for very domain-specific expression of data and metadata values, thereby increasing efficiency and productivity. A key to "M" is that while it allows for making statements "about the structure, constraints, and relationships, but says nothing about how the data is stored or accessed, or about what specific values an instance might contain. By default, 'M' models are stored in a SQL Server database, but you are free to modify the output to any storage or access format. If you are familiar with XML, the schema definition feature is like XSD ."The "M" language and its associated tools also simplify the creation of custom domain-specific languages (DSLs) by providing a generic infrastructure engine (parser, lexer, and compiler) that's configured with a specific "grammar". Developers have found many uses for such easy-to-define customer languages.
Recognizing the widespread interest in the ongoing development of the language, Microsoft shifted that development in March 2009 to a public group of individuals and organizations called the "M" Specification Community.
The model editor known as "Quadrant" is intended to be a new kind of graphical tool for editing and exploring data in any SQL Server database. As described on the Data Developer Center:
Users can create a new database using the “M” language or connect to an arbitrary number of SQL Server databases and open multiple windows (called workpads) to view and edit data in what is called a session. This is accomplished without typing a query. In every workpad, the data is displayed in one of a number of standard viewers. The query for the data displayed in each workpad is shown in the query bar at the top of each workpad. Data can be viewed in a variety of viewers: as a simple list, a set of properties, a table, a diagram, or as a tree of expandable nodes. You can change the viewer of any workpad. This allows you to either see different data or to see the data in a new way. For example, a list view gives you the most basic information, but a table view of the same data reveals properties of any single item. A tree view of the same data shows hierarchical relationships between the original list and the properties of any single item.
In the future, Microsoft intends for "Quadrant" to support greater degrees of domain-specific customization, allowing developers to exactly tailor the interaction with data for specific users and roles within an enterprise.
Source:
No comments:
Post a Comment