66366 members! Sign up to stay informed.

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)

Posted by: Ted Neward on May 27, 2004 DIGG
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.

Threaded replies

·  TechEd2004: Tools for Architecture: Developing SOA (ARC400) by Ted Neward on Thu May 27 11:49:22 EDT 2004
  ·  Tools for Architecture by Narciso Cerezo on Fri May 28 04:00:34 EDT 2004
    ·  Tools for Architecture by Mike S on Fri May 28 12:25:48 EDT 2004
      ·  !MDA by Dion Almaer on Fri May 28 13:14:56 EDT 2004
        ·  Thanks by Mike S on Fri May 28 14:15:24 EDT 2004
          ·  Pleasure by Dion Almaer on Fri May 28 14:35:21 EDT 2004
            ·  Pleasure by B K on Mon May 31 09:31:12 EDT 2004
        ·  !MDA by Narciso Cerezo on Fri May 28 19:25:23 EDT 2004
          ·  Actually modeling is not anathema to agile... by Matt Clarkson on Wed Jun 02 23:47:09 EDT 2004
            ·  Actually modeling is not anathema to agile... by Keith Short on Fri Jun 04 17:08:39 EDT 2004
        ·  Re: !MDA by Jesse James on Fri Jun 05 12:30:08 EDT 2009
  ·  RE: Developing SOA by John Harby on Sun May 30 11:51:30 EDT 2004
  ·  TechEd2004: Tools for Architecture: Developing SOA (ARC400) by John Harby on Sat Jun 05 13:24:10 EDT 2004
  Message #123752 Post reply Post reply Post reply Go to top Go to top Go to top

Tools for Architecture

Posted by: Narciso Cerezo on May 28, 2004 in response to Message #123657
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

Posted by: Mike S on May 28, 2004 in response to Message #123752
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 #123846 Post reply Post reply Post reply Go to top Go to top Go to top

!MDA

Posted by: Dion Almaer on May 28, 2004 in response to Message #123830
I don't think that Keith wants to go the way of MDA at all.

He says a lot more about this on his blog:

Model Based Software Development Tools from Microsoft

DSL's and MDA

UML and DSL's again

etc.

  Message #123860 Post reply Post reply Post reply Go to top Go to top Go to top

Thanks

Posted by: Mike S on May 28, 2004 in response to Message #123846
Those are very good links, especially the last one.

  Message #123862 Post reply Post reply Post reply Go to top Go to top Go to top

Pleasure

Posted by: Dion Almaer on May 28, 2004 in response to Message #123860
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

Posted by: Narciso Cerezo on May 28, 2004 in response to Message #123846
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

Posted by: John Harby on May 30, 2004 in response to Message #123657
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

Posted by: B K on May 31, 2004 in response to Message #123862
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...

Posted by: Matt Clarkson on June 02, 2004 in response to Message #123916
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...

Posted by: Keith Short on June 04, 2004 in response to Message #124441
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)

Posted by: John Harby on June 05, 2004 in response to Message #123657
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

Posted by: Jesse James on June 05, 2009 in response to Message #123846
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

DSLs and language interop

Language "mashups" will become more prominent, and developers will become polyglots, one programmer suggests.

VS 2008 Resources

SearchWinDevelopment.com offers an introduction to the language, performance, testing and data management improvements in VS 2008.

VB code downloads home

VBCode.com code snippets cover all aspects of application development, from data binding to security to the user interface.

XAML Learning Guide

Get up to date on XAML best practices with a variety of articles, tutorials and webcasts. [SearchWinDevelopment.com]

Company uses VSTS DB edition to tame workflow

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)

Book: Intro to DSL Tools

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)

I See the Silverlight Shining!

Cartoon: Be it ever so humble there is no place like your home after you get a Microsoft Home Server . (June 18, Cartoon)

A look at .NET 3.5

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 on AJAX

Venkat Subramaniam discusses AJAX bottlenecks, the tenets of Agile development and more. He spoke at the Ajax Experience. (June 25, Tech Talk)

Building a Claims-Based Security Model in WCF - Part 2

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)

Introducing the Entity Framework

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)

WCF Security Learning Guide

Resource: This learning guide gives you quick access to useful links on Windows Communication Foundation security information. (April 24, Article)

Brad Abrams: Patterns for successful ASP.NET AJAX development

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)

Building a Claims-Based Security Model in WCF

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)

Authoring workflow using XAML

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)

News | Blogs | Discussions | Tech talks | Patterns | Reviews | White Papers | Downloads | Articles | Media kit | About
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map