HOUSTON
-- The future of application development for Microsoft is steeped in
software modeling, particularly as the company moves more of its assets
to a cloud-based computing model. Microsoft's modeling initiative is
codenamed "Oslo."
In an interview with eWEEK at the Microsoft Worldwide Partner
Conference here, Steven Martin, senior director of product management
in Microsoft's Connected Systems Division (CSD), said he has been
working to dispel a lot of the skepticism about modeling in some
circles. Indeed, mostly there has been more of a misperception about
what modeling means, particularly to Microsoft, Martin indicated.
"Modeling today for most people is really about application
workflow," Martin said. "But that misses the large point," he said,
noting that as companies move into a services world where many of the
components of applications they use were not written by the
organization, there is a need for modeling to help bring those services
together more easily than having to write code. Also, in a virtualized
environment where an application outgrow its hardware capacity and has
to move to cloud-based assets, modeling can help to set up how the
application should scale. In addition, for managing these complex
services- based applications, enterprises will need to get policy
information for the services that is easier done via modeling rather
than writing code, Martin said.
"When you move from service orientation to virtualization, modeling goes from a 'nice-to-have' to a 'must-have.'"
Microsoft announced its "Oslo" strategy last year as part of an
overall service oriented architecture (SOA) initiative, but Oslo is
about much more than SOA. It is Microsoft's core modeling technology
that will help take Microsoft deep into the cloud. Modeling will get
you to the cloud and the cloud will get you to the revenue, Martin told
Microsoft partners.
Martin said the future of application development at Microsoft
involves modeling and services and will feature analysis and design
tools, next-generation declarative languages,
process-aware engines and platforms, and self-aware system management.
The Microsoft products and tools involved in this will include BizTalk
Server 5, BizTalk Services 1, Visual Studio 10, Microsoft System Center
5 and the .NET Framework 4 -- all upcoming versions of core Microsoft
technology.
Martin also said the worlds of web services/SOA, modeling and the
cloud are all "vectoring together... In a world where you're going to
have virtualization at the hardware layer and at the application layer,
you're gong to have to model."
Moreover, Martin talked about the concept of the "Dynamic
Datacenter" that uses hardware virtualization, application
virtualization and models to handle larger and large workloads.
"Hardware virtualization and software virtualization are two distinct
things. That's where modeling comes in. Writing applications that are
an aggregation of services is hard, and managing them is hard. Modeling
will be the way out of jail for building these huge applications that
people are building in the cloud. And that's what we're doing in Oslo.
Modeling technology is not only important now, it's critical."
Martin came to the Microsoft partner conference -- which ran July
7-10 -- to preach the gospel of modeling, SOA, cloud computing and the
overall services opportunity to Microsoft partners. In a session
entitled "Service-Oriented Architecture: What You Need to Know," Martin
said there is more than $1 billion in services revenue to be made this
year by Microsoft partners. BizTalk Services, Microsoft's "firewall
friendly" messaging, identity and workflow services solution is the
company's core offering in this space. It is also referred to as
Microsoft's Internet Service Bus" and it extends Microsoft's server
reach and capabilities for cross-organizational composite applications.
"When people think of services – either on premise or in the cloud
– they often have an image in their mind of this very flexible and
agile thing," Martin said. Such as something that is always available
and instantly reused by any new application you might want to develop,
he said.
"But it’s really just the tip of the iceberg,” he added. “Look
underneath the waterline, and you will find all of the usual complexity
of distributed software -– services are just software after all. They
still run in datacenters, have to securely access and cross networks,
and need sophisticated infrastructure and tools to manage them, etc. "
Moreover, composite applications are more complex for IT to deploy,
manage and evolve, Martin said. "The fact that pieces of the composite
application are finer-grained and may be widely distributed across
servers, networks, platforms and possibly organizational boundaries
creates a need for sophisticated solutions," Martin said. Composite
applications present new challenges around scalability, performance and
reliability. Enter modeling.
In a recent discussion about Oslo and modeling at the Microsoft TechEd Developer conference
in Orlando, Fla., in June, Microsoft chairman Bill Gates described how
Microsoft is working to make development more agile and improve
collaboration across different roles from application design through
deployment.
"One of the key ways we think we can deliver this agility is by
increasing the semantic level that developers operate at by use of
model-driven programming techniques, which frees them up to focus more
energy on the original intent of their application rather spending a
lot time coding the low-level implementation plumbing,” Martin said.
“Now, model-driven concepts are not new you might say…developers have
been using abstract models to describe applications for a long time
(e.g. data models, process models, object models) but there have been a
couple of challenges that prevented mainstream adoption."
First, the use of modeling today is complex and used in
organizational silos across the development lifecycle, Martin said.
Each person in the development chain uses their own different tools,
their own notations, their own way to store and share models, and their
own way to execute these models, he said. This creates communication
barriers across the lifecycle and prevents having a single view of the
application end to end, he said.
And the second major challenge is that these models get out of synch
as soon as they are created; there is a hand-off where the initial
model leaves the designer, gets printed out on paper and thrown over
the wall to the developer to be built in the form of an application,
Martin said. This handoff is imprecise and causes errors, as the
designs are never kept fully up to date with the application running in
production, Martin said
"We have a vision of making model-driven development a mainstream
part of application development," Martin said. "To do this we are
building a general purpose modeling platform, where we take models out
of silos and into a shared representation that can define an end-to-end
application."
Thus the first key investment for "Oslo" is a repository that will
deliver the foundation for a unified approach to managing metadata
across Microsoft, "and our product teams like Visual Studio and System
Center are working towards aligning product visions and roadmaps to
build upon this shared repository technology," Martin said. "The
repository will build naturally upon the SQL Server database and
provides optimizations for storing and sharing models."
Then Microsoft is developing new analysis and design tools that help
deliver a rich model visualization experience for creating, editing and
browsing models. These new visual tools will allow rich editing of
application models in the repository across roles in the lifecycle,
Martin said.
Third, Microsoft is working on a new declarative language that
provides developers with an approachable, textual format for authoring
models. “This will enable the developer and third-party ecosystem to
have a natural development experience for creating value-added
extensions to base models that we provide or creating their own
entirely new models,” Martin said.
This language will also provide deep integration with repository to
enable easy import/export of models with the repository, and support
interoperability of models between tools and domain specific modeling
notations, he said.
Martin said that in addition to these innovations that enhance the
design-time processes, "we’re also making sure the models are
executable -– this is where we deliver true business agility, since the
behavior of the running application can be updated simply by updating
the models stored in the repository. Models will no longer just
describe the application; they will actually be the application. I like
to refer to this as sending the model to the server, not the printer…”
In particular, Martin said, “To deliver this we’re also investing as
part of our Oslo efforts in the concept of a 'Process Server.' This
brings together the ideas of a process engine -- that can manage
federated processes spanning distributed apps -- and monitoring the
health of this composite application within the system management
environment."