Bindings, Platforms, and Innovation
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
Tracking change and innovation in the enterprise software development community
Posted by Jean-Jacques Dubray on Nov 16, 2007 08:56 AM
I attended the Strategic Architecture Forum (SAF) that was held in Redmond earlier this week. The event is a series of presentations and roundtables. Bill Gates held a great Q&A session where he revealed he was in the REST + WS-* camp amongst other things.
I attended a presentation on Architecture Refactoring from Dragos Manolescu. Erik Meijer recently published an article which sets the context for Architecture Factoring and Refactoring:
As the world is moving more and more towards the software as services model, we have to come up with practical solutions to build distributed systems that are approachable for normal programmers.
Dragos works at the LiveLabs which are in charge of exploring disruptive technologies (Listas, PhotoSynth, Seadragon, Deepfish). He graduated from University of Illinois at Urbana-Champain shortly after Bill Opdyke established the foundations of Code Refactoring. He also worked at ThoughtWorks with Martin Fowler. Code Refactoring has become a great success story and pretty much every IDE supports it to a certain degree.
Dragos explained some of the challenges inherent to Architecture Refactoring as compared to Code Refactoring which relies on a series of assumptions:
that are simply impossible to make in the realm of Architecture Refactoring. He is looking at getting around them. His starting point is MSIL and creating MSIL to MSIL transformations that enable to cross process and development platform boundaries while offering more choices in terms in scalability, availability or security even well after the code was written within a monolithic architecture.
His first goals are to enable the multi-tier architecture refactoring and the injection of boilerplate code while removing accidental complexity due to particular choice of architecture and extending the reach of the platform. He is reusing as much as possible:
Dragos gave us 3 demos involving tier splitting refactoring (more information can be found here). He started with a monolithic application and simply by adding a [RunAt(server)] statement to an operation, the compiler generated the corresponding service and the application invoked that service automatically without any further coding.
The showed us the cross-tier debugging capabilities of Visual Studio.
He also showed how Asynchronous method calls could be implemented just as elegantly without having explicitly use a .Net Delegates
He also showed that Architecture Refactoring was possible for web applications even though we would be using:
Dragos recommended to watch Erik Meijer's presentation on Volta: Wrapping the Cloud with .Net
Volta is an evolving research project focused on exploring ways to innovate data-intensive programming models. Volta is currently exploring a lean-programming inspired toolkit for building web-based and mobile applications by stretching the .NET programming model to cover the Cloud.
Sami Jaber published last month a list of references for the project which included this one from Mary Jo Foley who provided some more context for the project last April.
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.
This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.
This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.
After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.
IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.
Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.
No comments
Watch Thread Reply