For some time now, I’ve felt the need to set down my thoughts on the power of development in the Middle Tier for SharePoint. Today, I’m publishing the first edition of my white paper The Middle Tier Manifesto: An Alternative Approach to Development with Microsoft SharePoint. I say ‘first edition’ because the days of spending a lot of money to print a white paper and distribute it widely are long gone. I expect to and want to develop these ideas over time based on input from you, the SharePoint community.
In this white paper, I lay out the methods and rationale for preferring to develop for SharePoint using SharePoint Designer and a combination of the Data View Web Part, scripting, and CSS over managed code. For quite a long time this is where I’ve focused my development efforts for clients and was part of the genesis for the jQuery Library for SharePoint Web Services (SPServices). I find that developing in the Middle Tier using SharePoint Designer can be faster, more reliable, and cheaper than the managed code approach.
I expect that some of you may well disagree with this premise and I know that others will absolutely agree with it; I welcome the debate. Take a read of the white paper and let me know what you think.
Thanks to Michael Greene (@webdes03) and Jim Bob Howard (@jbhoward) for their input on early drafts.
24 comments
16 pings
sharepointsteven
May 18, 2010 at 5:42 pm (UTC -4) Link to this comment
Mark,
First thanks for taking the time to author such a paper for the community. I agree with nearly all of the article content. I agree with Todd that to Developers the term Middle Tier has a very specific meaning that may be confusing when applying term to SPD based customizations
Tony
May 18, 2010 at 7:25 pm (UTC -4) Link to this comment
After reading the white paper and the comments posted so far I feel that your concept is sound.
My feeling is that the Scripting Tier should be considered much more often than it is by businesses and consultants trying to provide solutions. The power of this layer of tools is often overlooked when development plans are being constructed.
Scripting is a development tool, and I categorize JavaScript, jQuery, XML, XSLT, CAML, etc. as scripting languages. Scripting is a valuable tool in the SharePoint environment, that is the bottom line, no matter what you call it.
Stephanie
June 25, 2010 at 4:54 pm (UTC -4) Link to this comment
Although I was sent a link to the manifesto a few weeks ago, I have not had an opportunity to read it yet. However, given some of the comments I’ve seen here, I felt it necessary to give some insight into my “development” world.
First, let me preface by saying that I have 7 years of strong java web app/Oracle db experience. My last project involved a ton of XSLT. In short, there is no question that my background is solid development.
I work for one of the largest defense contractors in the US. The point there is, we have over 46,000 employees and a very large corporate IT department. We are further divided into business units and divisions – each with a few IT employees for corporate work and many others for various contracts throughout the world. All corporate systems are developed/maintained by corporate IT – purpose being consolidation saves money. However, customization is necessary as reporting and management requirements vary across the corporate map.
The nature of our business is contract support – mostly government contracts. As contracts vary, reporting requirements to the customer vary as do the management structure, communication methods, IT processes, etc. Over the years, this has lead to the creation of many different systems that essentially perform the same function, but have enough differences that consolidation efforts get really ugly. People get angry when their custom functionality or reports are omitted. Other people jump the chain to make sure their requirements are coded ahead of other requirements. You get the picture.
Such is the world in which I live. I have 2 corporate-developed SharePoint “tools” that were created out of this mess of similar applications and since these tools are corporate standards, it is my job to customize them to meet the individual needs of various PMOs, contracts and proposals throughout the company. Given that these tools are corporate-developed but I am not a corporate developer, but a business unit technology resource, I am not allowed server access. The best I can get is Site Admin rights. I cannot access log files, create deployments, install features or additional webparts or write any customized code. I am not even given a development or test site.
When I was doing government contract work, we were not allowed to use the terms “application” or “development” as those efforts were supposed to be done by newly, base-wide, consolidated development teams that did not have any ties to the branch or mission which used the systems. These teams would rack and stack all development requirements across all consolidated systems, both bug fixes and enhancements, and vote on them in committee. What’s more, “development” dollars were not in the same bucket as “maintenance and support” dollars, so any enhancements requested were at the mercy of the overall IT budget, not the individual budgets for each mission.
I think you can see where I’m going with all of this but I’ll just summarize in case it’s not clear. There are a lot of enviroments out there that, for one reason or another, absolutely will not allow compiled code solutions (deployments,etc.). In these places, it is imperative to have people who are resourceful enough to find solutions they can customize without expensive tools, formal IT intervention and bureaucratic processes. Otherwise, nothing would ever get done because it would never be approved, resulting in lost contracts and other business opportunities, as well as safety incidents for our warfighters.
This is the strength of SharePoint, in my opinion. Yes, you can build full-blown, complex, custom apps if necessary – but I believe that a lot of projects can be successfully created by customizing what SharePoint provides OOTB. Sure, some of those solutions won’t be as efficient or may take longer to complete, but they still have a place in environments that are crippling to the application development process.
Christophe
November 18, 2010 at 1:33 am (UTC -4) Link to this comment
@Marc: I’ll join my voice to the crowd to say that “Middle Tier” is not a good terminology. Maybe it perfectly expresses what you have in mind, but it’s too late, the name is already taken, and using it for another purpose is confusing.
@Todd: I am afraid you’re following the same bias – or is it Microsoft? “Personalization” has a meaning: the act of changing an option of a multi-user software product to change the product’s behavior or style for one user (source: wiktionary). Displaying a view of project tasks on the home page is customization, displaying “My Tasks” is personalization.
Marc
November 18, 2010 at 9:33 am (UTC -4) Link to this comment
Christophe:
Unfortunately, the Middle Tier term has left the barn and is alive and healthy out on the ranch. Lots of people use the term now, and everyone seems to understand exactly what they mean. Many words in the English language already mean something more than their original definition. In this case the ambiguity doesn’t seem to be getting in the way.
M.
SharePoint Solution Provider
November 18, 2010 at 12:53 pm (UTC -4) Link to this comment
Mark:
It is being adopted because you are evangelizing it. Your position is allowing you to have some traction with your movement. Thing is if you were to stop putting this effort in, the concept would go away.
Marc
November 18, 2010 at 12:59 pm (UTC -4) Link to this comment
SharePoint Solution Provider:
That’s an interesting theory, but I really don’t think that’s the case. I see people writing about the Middle Tier all over the place these days, and most of those people have never heard of me. It’s a way of working that people needed a name for. Now there is one. Whatever small impact I have would continue to be there from people like Jim Bob Howard and many others.
M.
Christophe
November 18, 2010 at 5:36 pm (UTC -4) Link to this comment
Marc, I’d love to believe you, but Google thinks otherwise…
SharePoint Solution Provider
November 18, 2010 at 10:35 pm (UTC -4) Link to this comment
Bing has it wrong too…
http://www.bing.com/search?q=Middle+Tier+&go=&form=QBLH&qs=n&sk=&sc=2-12
« Previous 1 2
The Middle Tier Manifesto: An Alternative Approach to Development with Microsoft SharePoint – An Early Response « Marc D Anderson's Blog
April 16, 2010 at 11:27 am (UTC -4) Link to this comment
[...] I felt that one particular exchange was worth reproducing here, if only so that I have easy access to it via a link. A gentlemen who calls himself “Jay” has caused a bit of a kerfluffle over at EndUserSharePoint.com over the last few days with his comments on Jason MacKenzie’s useful post jQuery vs Webparts solution. I’m assuming (I think reasonably) that it’s the same “Jay” who posted the comments below on my cross-post at EUSP of my original manifesto post. [...]
Marc D Anderson's Blog
April 17, 2010 at 1:23 am (UTC -4) Link to this comment
[...] The Middle Tier Manifesto: An Alternative Approach to Development with Microsoft SharePoint (see my prior post) has been garnering a decent amount of attention over the last few days, as I hoped it would. [...]
"Why Out-of-the-Box Makes No Sense in SharePoint" – A Rebuttal « Marc D Anderson's Blog
April 21, 2010 at 9:15 am (UTC -4) Link to this comment
[...] me and what Bjørn or Todd Bleeker et al would call "Developers" (see the comments here). I guess that some of my developer stripes may have washed off in the management consulting car [...]
XslLink vs. <xsl:import> in Data View Web Parts (DVWPs) « Marc D Anderson's Blog
April 21, 2010 at 10:33 pm (UTC -4) Link to this comment
[...] XSL Tags – Part 20 – <xsl:import>.) Probably because of my aproaching things from the Middle Tier, I just had never considered [...]
Only One SharePoint Virtual Machine Since Early 2007 « Marc D Anderson's Blog
May 4, 2010 at 12:05 pm (UTC -4) Link to this comment
[...] I do 90+% of my work with SharePoint in the Middle Tier, I’ve been using just one SharePoint 2007 (MOSS) virtual machine (VM) since early 2007. [...]
What is the Middle Tier? | sharepointsteven
May 18, 2010 at 11:54 pm (UTC -4) Link to this comment
[...] recently read “The Middle Tier Manifesto: An Alternative Approach to Development with Microsoft SharePoint” by Marc Anderson’s [...]
Is it Code? – A Rant, Response and Example of Social Media’s Reach « Nick Hadlee's Blog on SharePoint and Other Occasional Rants…
June 4, 2010 at 9:08 pm (UTC -4) Link to this comment
[...] effort put in Jim (@dullroar) and Raymond (@iwkid). Honourable mentions to Marc (@sympmarc) for his championing of the ‘middle-tier’ (oh brother flames and brimstone await me for the use of that term) and Mark (@mrackley) for [...]
Why Use DOM Manipulation Over Custom Code? « Marc D Anderson's Blog
August 25, 2010 at 1:20 pm (UTC -4) Link to this comment
[...] I discuss in my Middle Tier Manifesto, bad programming is bad programming. If you’ve hired contract .NET programmers and ended up [...]
A jQuery Library for SharePoint Web Services (WSS 3.0 and MOSS): Real World Example – Part 4 « Marc D Anderson's Blog
October 15, 2010 at 1:09 am (UTC -4) Link to this comment
[...] for stuff like this. If you want to use SharePoint to host real applications, develop them in the Middle Tier, and give them some real pizzazz, it’s something you might want to look [...]
A jQuery Library for SharePoint Web Services (WSS 3.0 and MOSS): Real World Example - Part 4 | EndUserSharePoint.com
October 18, 2010 at 10:01 am (UTC -4) Link to this comment
[...] for stuff like this. If you want to use SharePoint to host real applications, develop them in the Middle Tier, and give them some real pizzazz, it’s something you might want to look [...]
SPTechCon Boston 2010 – Recap and Accolades « Marc D Anderson's Blog
October 25, 2010 at 11:14 pm (UTC -4) Link to this comment
[...] well. Packed rooms either means that people thought I was giving something really cool away or that Middle Tier development is actually starting to get the attention it deserves. I’m going to go with the latter. [...]
Script in Content Editor Web Parts (CEWPs) in SharePoint 2010 « Marc D Anderson's Blog
October 26, 2010 at 12:32 pm (UTC -4) Link to this comment
[...] was a pretty big concern to me, the Middle Tier guy. After all, many people put their scripts into CEWPs for easy manipulation and management. I [...]
SPServices and SharePoint 2010 « Marc D Anderson's Blog
December 7, 2010 at 9:53 am (UTC -4) Link to this comment
[...] IT support. Working in the Middle Tier also means using more ubiquitous Web development tools (see: The Middle Tier Manifesto: An Alternative Approach to Development with Microsoft SharePoint) But if your team is made up of all hardcore .NET developers, then SPServices may not be for [...]
Memorable Moments from 2010…and What’s to Come in 2011 « Marc D Anderson's Blog
January 6, 2011 at 10:20 am (UTC -4) Link to this comment
[...] built a set of courses focused on what I see as the three key Middle Tier SharePoint development disciplines: Data View Web Part Basics, Enhancing the User Experience with jQuery, and Introduction [...]
Book Review: “Enterprise Application Development in SharePoint 2010” by Ira Fuchs « Marc D Anderson's Blog
April 1, 2011 at 11:56 am (UTC -4) Link to this comment
[...] book is an interestingly different take on what I call Middle Tier development. Ira uses the perhaps more correct term "declarative development" throughout his book, [...]
Problem with jQuery 1.7+ and SPServices » Marc D Anderson's Blog
November 15, 2011 at 6:03 am (UTC -4) Link to this comment
[...] issue I wrote about yesterday, may prove to be a big blow to those of us who choose to develop in SharePoint’s Middle Tier. As the standard bearer for this little movement, I can only do so much to make noise about how [...]