|
Sponsored Links
Resources
.NET Research Library
Get .NET related white papers, case studies and webcasts
|
News
News
News
|
Messages: 12
Messages: 12
Messages: 12
Printer friendly
Printer friendly
Printer friendly
Post reply
Post reply
Post reply
XML
XML
XML
|
 |
TechEd2004: Tools for Architecture: Developing SOA (ARC400)
Keith Short started out by saying how lucky he felt to be able to work on a version 1 product at Microsoft. He also alluded to the fact that the title of the talk used SOA to hook you in. It worked as the room was packed. :)
This talk was great. It was really about a small subset of the new Team Developer tools. Keith was going to go through the Team Architecture portion, talking specifically about modelling (apps, deployment, infrastructure, classes).
He knows that people have a bad taste in their mouths from the years of CASE... and the PROMISE that CASE proponents made. He thinks that there is much value in modelling, and that it is natural to move up the abstraction chain, and that Microsoft will learn from the mistakes made in the CASE world.
Some of the talk had a similar feel to the talk on the Metropolis. Today we are still hand stiching code, we are at a fairly low level, and each application seems to be starting from scratch.
We should be looking to raise the abstraction again. UML wasn't the answer for many reasons, but one is that the language is too generic, and it is hard to validate to it (semantically). Keith thinks that the answer is not to build the uber-modelling language, but that the success we HAVE seen is with DSLs (Domain Specific Languages). The Team Developer tool will eventually allow you to use their engine, to create your own DSLs. Keith has a vision of building product lines. His analogy was with washing machines. GE may have a line of the 500, 500E, and 500F. They may differ in that the motor may have different speeds, and the size may be a little different, but much is shared. He thinks that we will move more to this mode in the future.
Keith put up a DSL: Telephone Billing Language
This was based on a real example from the UK (by the way I have noticed that a lot of the Microsoft guys are british!). It was a pictorial language, that looked a little like a rules engine. The language elements were very high level, and carried a lot of information with them.
Pictorial is ONE type, but it isn't the only one. Depending on your problem, your DSL may have elements of:
Declaritive Textual Pictorial Procedural
In fact we are doing this now with items such as: the Forms designer, SQL, Regep, etc.
He told us how if you tool is generates reams of code, you will not succeed. Round-tripping doesn't work. Microsoft wants "Tripless" (Martin Fowler term). The solution should build on "framework completion", and models can even stack on eachother to help with the abstractions.
On a few of the slides for these domains, you would see the header "Aspects", and under them some cross cutting concerns. I asked Keith about this after his talk, and he said that Microsoft sees a lot of value in modularizing cross cutting concerns, but is scared by code injection. "That is the point!" Microsoft gets AO, and wants to use it in some way in its tools. They need to know that it isn't about using code-injection, and they are already thinking in the right way. There is such a natural fit for AO in the high level languages that they are building in this modelling framework, and I hope they take a serious closer look at AO and don't get caught up in some of the implementation details.
|
|
Message #123752
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Tools for Architecture
Well, it looks like MS is going the MDA way, but with their own approach, without UML. It looks promising, but I have many concerns about this kind of tools and how they will behave in a real environment. Keeping design synchronized with code is almost impossible without using a modeling tool that generates ALL the code (Tripless), and that looks very difficult by now. One of the reasons is that modeling a whole solution to the right detail is kind of impossible with current tools, but I've thought many times about "stacking" models and a tool that would let you "zoom" in and out from your model (in terms of abstraction). If they get this done it would be great and it could mean a huge strike against MDA, IMHO. But I'm still very skeptic :)
Narciso
|
|
Message #123830
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Tools for Architecture
I'm yet to be convinced that this MDA hype is actually going to produce anything of value any time soon. To produce a real application, you eventually need the expressive power of a general-purpose programming language somewhere. Modern OO languages already have powerful abstraction mechanisms - I can code at a high level in Java (oops, I mean C#!) just as well as by dragging bubbles in a design tool, given a suitable class design for my particular domain. I think patterns and language development work are more promising fields for improving productivity.
|
|
Message #123862
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Pleasure
Yeah they are very interesting.
I think a lot of people have been burnt in the past, but part of me really thinks that surely there are better abstractions for certain tasks. This is why I am hopefuly that the DSL path that Microsoft has taken is fruitful.
It is important that they have realised that the generic "model everything in this way" approach won't work, and there each task needs its own solution.
It's great stuff :)
Dion
|
|
Message #123916
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
!MDA
Many thanks for the links, Dion, they're in fact very interesting. When I said that Keith / Microsoft was going the MDA way, I meant that they are trying to achieve (almost) the same goal than MDA, but using their own approach. I've extracted this from Steve Cook's column on DSL vs MDA (linked from Keith's blog): Only the emergence of technologies that synergistically combine models, patterns, frameworks, and code into an agile software development process will avoid the CASE trap.
That's exactly where I wanted to get :)
After reading the links, I can not but agree with Keith and Steve. UML is good for drawing on napkins, to make yourself clear when you're planning a system, or to produce documentation, but it isn't well suited to produce code or to guarantee a good system. I've seen UML-filled analysis documents that lead to bad software and worst code, due to the lack of ability to get code from the design among many other things. I'm very happy with the momentum that agile technologies are gaining, and with the increasing knowledge on patterns. There're many issues to deal with, though. Agile approaches, like XP, don't like modeling (formal) nor they like patterns, for example.
I've suffered too much in the past, enough to be very enthusiastic about these topics. :)
Finally, I would be happier if MS could align with standards like UML, but anyway, I'm almost anxious to see these new tools from Microsoft :)
Narciso
|
|
Message #123985
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
RE: Developing SOA
Although it sounds as though SOA was glossed over in this presentation the role of MDA or some form of metamodel is interesting with respect to its future. Is the loose coupling of services to the ESB (Enterprise Services Bus) implemented via abstract models of the business functinality of the service or is it a pure consequence of the design of the application protocol between the service and the bus? I would lean strongly towards the protocols however there may be an advantage to the metamodels with respect to designing that adapter layer of bridges and transfer vectors between the service and the bus. Especially where organizations utilize complex applications connecting to an ESB (e.g. an ERP), metamodel flexibility of the adapter layer would be desirable.
|
|
Message #124038
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Pleasure
Dion, Those links are great. This site is evolving pretty good with lots of good stuff. Good job
|
|
Message #124441
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Actually modeling is not anathema to agile...
The idea is that you use what you need documentation-wise given your needs, rather than produce a dogmatic collection of documentation. This applies to models, requirements, etc... where agile diverges is with the notion of doing extensive upfront design. The principal is to do what you need when you need it and expect change.
As far as patterns are concerned, they are an aspect of good software design and by no means are contrary to agile principles in and of themselves. One of the side effects of using patterns is that they provide a common vernacular for developers to describe common ideas, which dramatically increases communication. This a cornerstone of agile approaches.
That all being said, there are MDA practitioners out there who describing their tools as "agile" regardless of whether or not they have nothing to do with agile methods. There is no tool out there that can make you agile, rather it has everything to do with the values and practices in your organization.
Dilzio
|
|
Message #124720
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Actually modeling is not anathema to agile...
I agree that modeling and agile can go hand-in-hand. In fact we are pursuing a line of argument that claims agile methods require some form of modeling in order to scale up to larger projects. But it's not just modeling. It requires methods and processes too. See our emerging story on Software Factories in my blog. Also see article on Scaling Up Agile written by Alan Wills who is part of my team at Microsoft.
|
|
Message #124762
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
TechEd2004: Tools for Architecture: Developing SOA (ARC400)
This is an interesting article from IBM. I think components will be a major point of discussion as a common definition is created and they are addressed in this article.
|
|
Message #309758
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Re: !MDA
Superlatively, this ties in strongly to the current state of the sports betting economy. It's clear that jaxx coupon codes and paddy power voucher codes are the best way to save money these days on the internet. It's becoming increasingly clear that jaxx sports betting is a major element when assessing the money saving value of Jaxx Betting Voucher. The same concerns come into play with the coupon codes and casino online paddy power gambling voucher codes seen in Paddy Power Discount Coupon which is why saving money with sports betting coupon codes and voucher codes is so important these days for online gambling promotional discounts.
|
|
 |
| |
|
New content on TheServerSide.NETNew content on TheServerSide.NETNew content on TheServerSide.NET |
 |
 |
Language "mashups" will become more prominent, and developers will become polyglots, one programmer suggests.
SearchWinDevelopment.com offers an introduction to the language, performance, testing and data management improvements in VS 2008.
VBCode.com code snippets cover all aspects of application development, from data binding to security to the user interface.
Get up to date on XAML best practices with a variety of articles, tutorials and webcasts. [SearchWinDevelopment.com]
One team's experience with the VSTS DB edition suggests that it can improve workflow for dev teams. It also enhanced Agile efforts.
(June 24, Article)
Microsoft has begun to include DSL tools in the VSTS kit. A new book by Steve Cook and other VSTS team members helps set the stage.
(June 24, Article)
Cartoon: Be it ever so humble there is no place like your home after you get a Microsoft Home Server .
(June 18, Cartoon)
Microsoft's Thom Robbins says new technology to highlight in NET 3.5 includes AJAX, LINQ for both C# and VB, as well as tooling enhancements intended to ease the task of building WPF, WF and WCF apps.
(June 29, Podcast)
Venkat Subramaniam discusses AJAX bottlenecks, the tenets of Agile development and more. He spoke at the Ajax Experience.
(June 25, Tech Talk)
In the second of a two-part series, Michele Leroux Bustamente discusses design decisions related to the claims-based security model. Read the story and walk through the process for creating a set of claims-based utilities to encapsulate claims authorization at the service tier.
(May 24, Article)
Understanding why the Entity Framework exists and learning where it can fit into your projects can get you prepared for the eventual release early next year.
(May 10, Article)
Resource: This learning guide gives you quick access to useful links on Windows Communication Foundation security information.
(April 24, Article)
TSS.NET's Jack Vaughan spoke recently spoke with Microsoft's Brad Abrams to find out what he is seeing in the field and what the chefs in Redmond are cooking. Along the way he discusses patterns of AJAX frameworks.
(April 11, Article)
In a two-part series, Michele Leroux Bustamente explains how claims-based security is supported by WCF, and how you can implement a claims-based security model for your services.
(March 29, Article)
Windows Workflow Foundation is a new technology that many developers will need to get their heads around. In a brief excerpt adapted from Programming Windows Workflow Foundation: Practical WF Techniques and Examples using XAML and C#, K.Scott Allen considers aspects of workflow definition.
(March 22, Chapter Excerpt)
|
|