Tell me about your services…


My team has been doing a little thinking recently about the “services” space.  Basically I have been trying to figure out how folks think about accessing data and business logic across tiers.  What are the tyimagepes of development projects are services the core thing they are building and for what types of development projects are services simply pluming for getting the job done?

I’d love to have you folks chime into this conversation.   For starters, I have posted a very simple\quick survey.    Please take 30 secs and fill it out.

What statement best describes the type of work you typically do? (check all that apply)

1 – I write applications that happen to span across multiple tiers. My code runs on the web server and I also own the client.
2- I write servers that expose data that third-party developers will consume.
3- I write clients that consume data from third-party data sources.

Fill out the survey

Comments (6)

  1. Software Intern says:

    Unfortunately, I believe a lot more software is written in a two-tier (database + code) architecture than Microsoft and most platform companies realize.

    At work, we have an eclectic mix: across tens of millions of LOC, we have a massive website (with "business objects", if you can call them that, tightly coupled to the web site code), a blackboard-style "everyone have at it and try to play nicely" SQL environment, and a handful (~5) customer-facing web services.

    Another division has actually developed a pretty good architectural pattern, using VB6-based business objects (this was back in ’98-’99) for three separate logical tiers (though most code in that division is a thick client style for in-house use).

    Maybe when we start our next big software initiative (from scratch) we’ll have enough people caring enough about services, and knowing enough about them, to actually incorporate "service" into the architecture.  But for the time being, we’re in more of a maintenance mode – and significant refactoring is rarely budgeted for.

    It would be great if Microsoft would build us some tools that can investigate large codebases and assist in large-scale refactoring.  But that’s a daunting task.

  2. kshitij says:

    Previously I decided to follow the standard n – tier approach i.e. UI – Business logic and Data access layer or Stored procedure if exists. And that was working well both in the terms of performance and maintenance.

    But, now, as database is growing, it started to give the performance issues. The performance issue is tolerable to some extent in the Search functionality but the performance issue must not be on the home page, as that is the heart of the website, and hence i tried a new approach, and that works perfect.

    As per the logic, user adds his article and that article approves by the administrator. At the time of the article approval, system generates the xml of the articles list and the home page article list comes from that xml.

    Now i dont face such performance issue.

  3. Jose Luis says:

    Hi,

    I have also the need of executing batch works on the server – mass updates, some can be done with RIA Services and others aren’t nice to do on the back-end as of now. maybe some service/system that allowed us to provoke a batch job on the server and provided us with:

    1. Progress indicator

    2. Finalization callback

    Oh well, it would be great to have transactions! we have load operations which provide similar functionalities for this but aren’t the same..

    Thanks,

    Jose

  4. Hi,

    I have also the need of executing batch works on the server – mass updates, some can be done with RIA Services and others aren’t nice to do on the back-end as of now. maybe some service/system that allowed us to provoke a batch job on the server and provided us with:

    1. Progress indicator

    2. Finalization callback

    Oh well, it would be great to have transactions! we have load operations which provide similar functionalities for this but aren’t the same..

    Thanks,

    Jose

  5. I develop multi-tier systems that have various "front-ends" and "hosts". I follow the "Layer Cake" model where each functional layer is isolated from adjecent layers (the "icing") by a very thin veneer.

    This has proven extremely effective in developing Agile Software [not to be confused with an Agile Medthology of Development], High levels of Code Re-Use [over 70% of a typical system is previously developed components, and effective testing at the Unit, Functional and DRC levels.

    David V. Corbin [MSFT MVP]

    President

    Dynamic Concepts Development Corp.

    david.corbin@dynconcepts.com

  6. chuyen gia seo says:

    The poll was closed. I belong to group D! 😀