February 20, 2009

  • A Teaser... Why Is SharePoint So Popular?

    There's a phenomenon unfolding in the IT industry at the moment with respect to Microsoft's latest version of their SharePoint product.  This product has been getting a lot more "air time" in the corporate IT world in the last 6-12 months than it ever has before, and there is a continuous stream of requests for new installations, tailoring and add-on solutions coming from business divisions in huge numbers of mid-to-enterprise scale organizations.  So what's driving this phenomenon?  Why is this product so suddenly the flavour of the month?  In this article I'm going to talk a little about what's really going on.

    Let's start with a brief description of what SharePoint is

    SharePoint is a set of web-portal development and management technologies that drives collaboration between workgroups, enterprises and even between external partners, suppliers and customers.  Collaboration comes in a lot of flavours, many of which are supported by other products (notably Lotus Domino), but SharePoint drives to achieve a better price-point and tighter integration with Microsoft Office - the document productivity suite of choice for more businesses and government organizations than competing offerings from IBM, Sun and the OSS community, while offering a more expansive set of collaboration features than most.  SharePoint's integration with Microsoft Office is very deep - Office enables additional collaboration functionality when working with SharePoint hosted documents that enhance productivity and enable functionality such as review and approval workflows, document version control and merge functionality when multiple users are working on the same document. 

    Not only does SharePoint help users to create and manage document content, it also helps in the publication and discovery of content to a broader audience, whether that be a corporate intranet, a business-partner extranet or a full-access public internet site.  Various types of document libraries can be created, including blogs and (rudimentary) wikis, the content of which can provide pointers to content elsewhere in either its own library or other content within the enterprise.  More importantly, SharePoint includes a full-text search index that facilitates enterprise-wide content search facilities.  This is a big deal for many corporate customers that have been using the "File & Print" server paradigm in the past, or have documents stored in other "groupware" tools such as Lotus Notes.  Unless tightly managed, shared file-servers can descend into chaos over time, and trying to find relevant content (e.g. systems documentation, business process documents, reports, proposals, etc) can be a nightmare.  SharePoint Search offers a way to rapidly tag, index and make these document dumping grounds fully searchable.  Likewise, SharePoint's Enterprise Search functionality can index data on desktops, in Exchange public folders, non-SharePoint web-sites, business databases, line-of-business applications and Lotus Notes databases.

    Records management repositories can be set up using a specific SharePoint site templates to provide tighter review and approval workflows, document access auditing and more restrictive security access if required.  Meeting workspaces can be set up (with Outlook integration) that allow the sharing of meeting agendas, objectives, documents, and attendance tracking between meeting organizers and participants.

    SharePoint is not just a collaboration and document management portal.  It has additional features that make it attractive to medium-to-large enterprises. 

    Firstly, SharePoint offers many interfaces that support getting information in and out of it quickly and easily.  Microsoft's BizTalk enterprise integration product ships with a WCF adapter for SharePoint, so SharePoint can publish content to or subscribe to content coming from and enterprise service bus.  However, other integration products can move content to and from SharePoint using Web Services connections.  From an integration perspective, SharePoint's Business Data Catalog also makes it easier to identify and publish business information across the enterprise.

    Secondly, SharePoint offers integration for Forms Processing using InfoPath or web forms as data entry interfaces.  Once submitted to SharePoint, infopath form data is typically loaded into a document library in which each form is stored as an XML document.  Posting form data can then trigger multi-step form processing workflows, which may initiate system events in response to some form data, as well as human workflows (e.g. approval/fulfilment workflows for order processing systems, or work assignment workflows in job management systems).  These workflows can (if necessary) send messages to other systems and/or to email groups/users for action, and wait for responses from said systems/users before proceeding with the workflow.  Iterative workflows are possible (e.g. document reviews/approvals may require multiple submissions) and the workflow engine is extensible via custom code and/or third party bolt-ons such as K2's BlackPoint and BlackPearl tools.  Note that these tools require very little (if any) code in order to deliver quite complex solutions.  This makes it possible for business analysts to write complex business workflow applications without having to understand programming languages or object oriented design.  The workflow designs are effectively "models" that are run through software factories to create runnable machine code that the SharePoint server can call in response to workflow events.

    As a result of the last point, you might be starting to see what's really driving SharePoint's success.  The processes for defining business rules and site designs for SharePoint technologies are largely web form driven, and while the site template, document library and web part objects within SharePoint are extensible and tailorable using custom code, a canny business analyst (or even line-manager) can rapidly build complex business solutions in SharePoint without having to write a line of code.  This means that businesses can dispense with maintaining large application development teams and deploy compelling end-user solutions quicker and at lower cost.  Furthermore, any extensibility required can be relatively easily developed by third-party specialist software houses, or even bought off the shelf from companies such as K2 who have decided that their future lies in writing commercial-grade add-on software for the SharePoint application platform.

    Keep in mind here that Microsoft have already built at least 80% of the systems plumbing that most enterprises would ever use.  If an enterprise opts to deploy a web application using SharePoint as the publishing, content management and search provider then the amount of code required is far less than that required to build a complex ASP.NET application from scratch.  This frees up developers to focus on solving business problems and delivering compelling user experiences.  SharePoint frees up developers from the need to spend time focusing on data connectivity issues, building "business rules tier" code and instrumenting their applications for monitoring and scale-out - all this comes out of the box with the SharePoint platform.

    So... there's a little bit of background on what SharePoint is and why it's becoming an important business tool.  I've done some training on the product and am now starting to move into a team at work that will be focused on defining and delivering SharePoint solutions.  It's an exciting time - I've been working with Microsoft's relational database product (MS SQL Server) for over a decade now, and it's nice to be able to say I'm adding a new string to my bow.  With my SQL Server server experience, I've picked up some useful insights into data management and business intelligence, and Microsoft's PerformancePoint Server offers opportunities to extend my new skills with SharePoint while exploiting my depth with SQL Server's tools and technologies.  PerformancePoint Server (soon to become PerformancePoint Services for SharePoint) sits on top of SharePoint and SQL Server Analysis Services. 

    For me, it seems it's onwards, upwards and outwards... and for you - I hope you've found this article useful, informative and a good initial starting point to explore what SharePoint can offer.

Comments (11)

  • We've been working towards implementing Sharepoint for about 18 months now - I am DREADING it, based on what other programmers have been telling me.  Absolutely dreading it.

  • (Especially as, because we're in the Info Systems team, we're part of the pilot, so God knows - if it CAN go wrong, it WILL, and it will SCREW my work up.  It already has, in fact.  /wrists.)

  • @Morgane - Well... let me know what problems you're having (offline if you like) and I'll see if I can throw together some articles in response. :)   The whole point of getting back into Xanga blogging is to create a more professional online presence - particularly with respect to the kind of technologies I discussed above.  If I can actually provide some assistance then all the better!

    BTW - if you're implementing SPS 3.0 or WSS 2.0 I'd understand your concerns.  MOSS 2007 and WSS 3.0 are significantly easier to manage than their previous incarnations.  I've certainly found that using SharePoint has boosted my productivity at EDS (now a part of HP's Technology Services Group) and most of the problems have been a result of dodgy configs or people reassigning ownership of SharePoint objects - try not to do that and it usually turns out pretty well in my experience.

  • Well, I'm not actually part of the document management team that are working on it - I'm an information analyst.  I use a wonderful little piece of freeware called Crimson Editor to manage all my SQL projects and syntax.  The only trouble is, it depends on the filepath remaining static.  Some git moved my folders around as part of the "restructuring" without, y'know, telling me.  Yeah - every single link in Crimson?   Gone.  All my projects broken.  And man, was it a giant pain in the ass to work around - I wound up sticking each project in a separate Word document with an index at the top because I can't rely on them not to cock it up again.  So far I've seen absolutely zero benefits, and mucho pain and frustration!  My brother's a software developer, and a bunch of our mates are, too, and I bitched about it once in a room full of them and they all, to a man, LAUGHED in my face for expecting anything different.  They've all been in environments where Sharepoint has caused more hassles than success.  Our database team are in much the same state I am - we already manage our information about as well as it can possibly be managed, and this is just causing us grief.

    The thing is - I don't need "meeting spaces".  I don't need "workflows".  All this functionality is pretty extraneous to me.  I just need my stuff left the hell alone.  I already manage my metadata myself.  And if it were a one off migration, maybe it wouldn't be such a pain in the ass, but I know the incompetencies of the organisation I work for are a result of mismanagement from our Chief Exec, and things will change, and change, and change, and I'll have to keep rebuilding my work every time.  It's making me less efficient already, because I can't just use Crimson anymore, I have to use Word and it's not designed for writing syntax in at all. 

    And the irony is - the standard of IT use in our organisation is low.  I mean, really crap.  The idea that this will do anything other than discourage people from using their computers at all is fallacious.  Every time we implement a more idiot-friendly piece of software, or make a field on the database mandatory, they stop using it all together.   This is such an uphill battle.

    Anyway, it hasn't even been implemented yet and I'm finding myself wanting to hunt down the person whose bright idea it all ways and punch them in the eye   I don't know what version it is we're implementing but I can find out next week

  • (Meanwhile I have to try and make my TM1 project compatible with Sharepoint and oh man, I'm dreading it - dreading it!!!)

  • (BTW I think the idea of the technoblogging is great!  Post lovely, rational, well-written stuff, then I'll whine and we'll discuss - awesome! )

  • @Morgane - I don't have an answer to your fixed file-path issue, but I might have an alternative approach.  If your enterprise already has SharePoint in place, it should be a no-brainer to install Team Foundation Server as well.  If you've got that in place, you can add your SQL Queries to something like a SQL Server Management Studio project, open up Team Explorer and export that project into TFS.  Once you've got that in place, just check out your code, check it back in when you're done, and all of a sudden you have:

    1) A fixed location on your desktop to which the files will be checked out. (You can configure this in Team Explorer)
    2) The ability to share the files with colleagues from a version controlled central repository.
    3) You can keep your hard-coded paths.
    4) Team Explorer doesn't impose the use of a specific tool for your query editing.

    Personally, I'd use Visual Studio Team System Database Edition to manage all your SQL Server queries.  Add them to a TFS project then check them in and out as you need.  The query designers and code mark-up (colours, indent, etc) in VSTS 2008 DB Edition are not too bad, and the fact that you can then run a source code analysis over your SQL Scripts to check if they're compliant with Microsoft's query design best practices means that you're in a great position to mine some extra value-add.

    Of course... that's just what I'd do. ;)

  • Sounds intriguing!  But
    1. It's not implemented yet - we don't actually have Sharepoint running yet, just "document management" bods busily shuffling our drives and folders around left and right.
    2. They're not SQL Server queries, they're SQL code written for our bespoke Oracle behemoth.  I'm sure that wouldn't make a difference, but I'm guessing it'll mean we don't wind up with access to any fancy software devoted to SQL Server - like, say, something called Visual Studio Team System Database Edition - since our database team have already pretty much opted out of using the Sharepoint system anyway because they already have their own systems set up and functioning well.  I'm fairly sure I'm just gonna get left drumming my heels and redoing it all every time.  Joy!!

    (Also I work for a charity, and if they can cut corners on stuff, like, stuff that costs money?  Believe me, they will.  And since I just got over £100,000 for my TM1 project I doubt I'm getting any other cookies any time soon, y'know? )

  • @Morgane - 

    Ah - sorry - when you said "SQL project" I assumed MS SQL Server.  You'd be right in guessing that right now, VSTS 2008 DB Edition is very MS SQL Server centric. 

    I must admit - I've not come across the TM1 product before - I did a high level search and it turned up Cognos' TM1 BI/Analytics product - is that what you're using?

  • @Ged1970 - Yeah, I guessed it would be   Shame, because SQL itself, as far as I understand, is pretty much universal, so it'd be good if the application were expanded to include Oracle - I understand from a business POV why it isn't, though

    And yeah, that's the one - when we started out with TM1 two years ago, with my pilot, it was owned by a little organisation called Applix.  Then Applix got bought by Cognos, which has recently been swallowed up by IBM.  The net result is that they're still restructuring after the Cognos buyout, and now IBM is reshuffling again, so in terms of support from them - there is none, don't even hope.  It's a great product, and I am really excited about using it, but I'm getting very accustomed to being on my own these days and having to come up with my own solutions because I don't have much support!  And I'm not a programmer by education - I did a BA back home, a law degree here and I'm working on my Masters in Law - so it's all trial and error!  It's challenging, at least

  • I have been visiting various blogs for my Thesis writing research. I have found your blog to be quite useful. Keep updating your blog with valuable information... Regards

Post a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *