I recently attended Dev Connections and was shown the benefits of decoupling
business logic from aspects such as authentication, authorization, security,
transaction support, threading model, instantiation model, encoding, and
transport mechanism. In Juval Lowy's Windows Communication Framework
(WCF) seminar, I was exposed to the idea of our software tools and runtime
environments evolving to allow us to utilize these functionalities in business
application without even doing anything additional. Juval reiterated that
WCF is not just about web service and explained many of the benefits that you
would get for using WCF even on an application that does not span CPUs.
These benefits include fault tolerance, fault screening (or formal fault
contracts), contract first development, and the benefit of a thought out
framework that provides separation of concerns for many aspects of enterprise
software development.
At PDC at the end of October, Microsoft announced Azure, Oslo, and
Dublin. So Azure, or the "cloud", will let you deploy and run
your production applications easily and supposedly allow them to dynamically
scale up on-the-fly as demand warrants. I heard this maybe being
accomplished by dynamically spawning new virtualized servers from software and
data that are stored in a massive partitioned and redundant sql server cluster
(or I may have dreamt all this). Oslo is the hybrid (both visual
(Quadrant) and textual) programming environment for creating and using custom
Domain Specific Languages (DSL) and Dublin is a SQL server based repository and
runtime environment for the resulting Oslo DSL programs and data
structures. The DSLs are written in Mgrammer ("Mg") and the
modeling language itself is just called "M". There is a
silverlight video from MS on http://modelsremixed.com/ that shows the history
of "modeling", starting with prehistoric times. In it, you will
notice that one of the process models that they show is comprised of a
component with the tiny logo that reads "Wcf" in its top left corner.
So that is a lot of new information to absorb.... but what does this all
mean? Will we all really be orchestrating business process workflows
written in "vertical" DSLs? Where does BPEL fit in? Is
this Microsoft's killer-app ESB?
http://msdn.microsoft.com/en-us/oslo/default.aspx