I’ve been patiently waiting to blog about this for some time. Now that Microsoft has finally gone public with this during this week’s TechEd…
Acropolis‘s vision is to revolutionize the way that organizations define, develop, configure, deploy and manage client solutions. Clearly, this is a broad vision, and it will be realized over a set of releases. Having worked with David Hill, Microsoft’s architect on this endeavor, in the past on smart client architectures, I’m confident that this vision will realized.
Organization-wise with Microsoft, Acropolis fits into the same developer-oriented division as the Windows Forms, ASP.NET and Silverlight folks. For example WPF and “Cider” are sister teams to “Team Acropolis.” This is worth mentioning simply because it shows that Microsoft is organized to deliver on its unification vision where application development is concerned.
So, going to the next level of detail, what is Acropolis and why should you care is you’re building clients (applications) in the Microsoft development environment?
Here is what excites me about each piece to the puzzle shown above:
- Component model layer: support for pluggable metadata consumers (strategies or providers) in a pattern-based (pipeline and dependency injection) foundation…sounds really cool! Seriously, the way metadata flows here is powerful. Stay tuned…
- Component application layer: infrastructure support for data synchronization, concurrency, hosting, etc. allows me to focus on my specific problem domain rather than on plumbing
- UI-specific application layer: the line-of-business focus is timely. More below…
- Composite application framework: you already build business-oriented components; now you can drop them into a framework that simplifies their development and management, while improving their user experience (parts (basic unit of composability), forms (part-based, goal-oriented orchestration), services (pluggable providers and strategies) and connection points (patterns of part interaction))
- Tools: visual composition and declaration empowers more imaginations to take what I offer in directions unimagined and productive, than just those belonging to coders
WPF is evolving to address line-of-business scenarios (i.e. 3.5 and beyond). Acropolis is being developed, among other things, to complement and fill-out the next release of WPF where LoB development productivity and usability is concerned. (That being said, Acropolis is not beholden to WPF, but it does target it primarily.)
From the above stack diagram, you can see that Acropolis (and certainly WPF, for that matter) are about more than just LoB apps. However, enterprise and “breadth” ISVs are the focus of version one.
So, what is the relationship between Acropolis and the just-released Smart Client Software Factory (SCSF) that is built upon Enterprise Library 3.1 (EntLib)? What Acropolis in relation to the Composite Application Block (CAB)?
SCSF/EntLib targets both .NET 2.0 and .NET 3.0. Currently Acropolis targets .NET 3.5. There is no relationship between Acropolis and the SCSF, apart from the fact that the patterns and practices team will be evolving their offerings over time to add value onto the current platform. With this release of CTP1, though, the Acropolis does expect the CAB to become deprecated and the SCSF to evolve, targeting Acropolis.
Visual Studio 2008 (“Orcas”) Beta 1 is required for its WPF designer (“Cider”) functionality. While Acropolis design-time experience requires .NET 3.5, it should be possible to target down-level runtime environments (e.g. .NET 3.0, Windows Forms, etc.). These details are still being worked out. As noted below in closing, feedback is actively being sought on Acropolis by its team; so, if specific down-level support is required, be sure to articulate it.
Here is what those in Microsoft’s DevDiv are saying about Acropolis:
Looks like it’s also worth paying attention to Don Burnett’s Acropolis commentary.
Update 6/7/2007: Glenn Block answers more common questions about Acropolis relative to p&p offerings.-Craig