Redmond Review

SharePoint Is the New Access

Microsoft offers no shortage of options for developing so-called "forms over data" applications. Whether using data-binding technologies in the Microsoft .NET Framework, the Data Sources Window and its drag-and-drop capabilities in Windows Forms, Windows Presentation Foundation (WPF) and Silverlight, or ASP.NET Dynamic Data, Microsoft has got you covered. Really, the scenario of building data-focused screens and applications has been one that Microsoft has assisted us with since the dawn of Access version 1.0.

For a while now, though, there's been another option: SharePoint. Since Microsoft Office SharePoint Server 2007, it's been a solid forms-over-data contender. And with the recent arrival of SharePoint 2010 and its Business Connectivity Services (BCS) feature, SharePoint is an even stronger platform competitor for simple database applications. For SharePoint pros, this is great news.


While things have changed a lot over the almost-18-year time span since the initial release of Access, the core requirements of small data applications have remained remarkably similar. But the old Access world seems largely cut off from the new SharePoint one. Or is it?

Gaining Access to SharePoint Data
The reality is that Access and SharePoint are kindred spirits, and their feature sets bear that out. To begin with, the 2007 version of Access added significant SharePoint import/export capabilities, turning Access into one of the strongest rich-client apps available for maintenance of SharePoint lists. It gets even more interesting with Access 2010.

The new version of Access, rather than offering simple connectivity to SharePoint lists, provides a full development environment for SharePoint applications. The new "Web database" facility in Access 2010 allows Access developers to map nearly every facet of their skill set and technology base onto a corresponding facility in SharePoint 2010. The Access application becomes a SharePoint site; forms become HTML- and ASP.NET-based SharePoint pages in that site; new UI macros get converted to JavaScript code in those pages; data macros become SharePoint workflows; and Access Reports get converted to SQL Server Reporting Services (SSRS) reports against the generated SharePoint lists.

This is not a one-way conversion. After the Web database is published to SharePoint, it can be opened in Access again and further modified. Everything round-trips nicely, including client assets such as VBA code, which SharePoint simply ignores.

I think the Access team should be commended for creating the Web database facility. They've stayed faithful to the Access legacy of allowing easy creation of database applications with little or no code, and they've applied it to the modern Microsoft software stack.

In the process, they've addressed a number of the historical shortcomings of Access. The Access database format and Jet database engine are replaced by SharePoint lists, stored in SQL Server. SSRS is used, too. The Web replaces the practice of putting native Access databases on a file share and trying to scale them. VBA code is gone, and creating macros becomes an authoring process for JavaScript and Windows Workflow Foundation.

The Access team has shown us that technologies change but many requirements stay the same, and they offer their application as a bridge between the old and the new. I have to say, I'm impressed.

Outside Perspective
I'm also perplexed. How come something like Access Web databases doesn't exist in Visual Studio and .NET? Why is there nothing from the Developer Division that so elegantly stitches together so many pieces of its own technology stack, and makes them accessible in a way that C# and VB.NET do not? Why is all this so complex that it takes a product team in the Office group to integrate it and simplify it?

I think it's because .NET itself has become too complex, and the people building .NET perpetuate that complexity and sometimes even take pride in it. The team behind Access can afford to take a fresh look at what the Microsoft Server and Tools Division built, pick some of the best parts and break down the barriers in front of and between them. Their risk is lower, and their approach can be more pragmatic.

I get it, but I'm not satisfied. Innovative thinking shouldn't have to come from outsiders. The Developer Division should be transcending risk and doing more such simplification work itself. I commend the SQL and SharePoint teams for working with the Access guys; it shows sensitivity to the complexity issue and a commitment to solving it. I just hope that sensitivity signals a new beginning and not a mere anomaly.


About the Author

Andrew Brust is Founder and CEO of Blue Badge Insights, an analysis, strategy and advisory firm serving Microsoft customers and partners. Brust is also a Microsoft Regional Director and MVP; an advisor to the New York Technology Council; and co-author of "Programming Microsoft SQL Server 2008" (Microsoft Press, 2008). A frequent speaker at industry events, Brust is co-chair of the Visual Studio Live! family of conferences and a contributing editor to Visual Studio Magazine. Brust has been a participant in the Microsoft ecosystem for over 15 years, and has worked closely with both Microsoft's Redmond-based corporate team and its field organization for much of the last 10. He is a member of several "insiders" groups that supply him with insight around important technologies out of Redmond. Follow Brust on Twitter @andrewbrust.

Reader Comments:

Fri, Nov 19, 2010 Dhiraj

.net is easy to learn and use in projects. Other vendors are just afraid of its rising popularity.

Tue, Nov 2, 2010 Keith U.S.A.

MSFT does a great job @ confusing developers on such things as LINQ, Entity Framework, ADO.NET, MVP, ASP.NET, etc. Remember RDO, ADO, Dynasets (for goodness sakes. who thought up THAT name?) et. al? Pick a bloody data access technology and stick with it for longer than a year or two, MSFT. It's not complexity that's the problem, it's the confusion and it makes .NET far too bloated.

Thu, Jul 8, 2010 John

.NET is too complex? Maybe not right now but it is certainly heading in that direction. Other than WCF and even that can be argued nothing else from the Foundation hamper has been adopted well by developers. WPF which was suppose to change the way we do windows programming did not live up to it's hype and only few fan-boys think it's a good idea to use it. Workflow Foundation was a dead end to begin with. But coming back to .NET being complex, I think that it is already too bloated and heading in the direction where it becomes a monster present in every business application. When .NET came out about 10 years ago it was a refreshing although not innovative way of doing things. Microsoft looked at Java in detail and picked up the good ideas and then polished them with some of their own ideas. The issue now is that there is no one else left to show Microsoft what the next generation of frameworks will look like. And without someone telling them, they'd have no clue. ASP.NET has not seen any significant enhancements since 2.0. I often wonder if there is any point left in doing Web forms. Given that Microsoft itself has come out with ASP.NET MVC it leaves room for thought. You may have noticed, read or heard that Microsoft is loosing developers to other platforms. And why not? With confusion taking the highest priority when designing products or Frameworks Microsoft is bound to loose the next generation of developers. The issue is that Microsoft hypes up things beyond control and deliver very little (think Oslo, Kin, WinFS and the list goes on). All it communicates is confusion for people who may be interested in working with Microsoft's Frameworks. Am I predicting doomsday scenario for Microsoft? Absolutely not. They'll always be there like IBM. It's just that they won't be exciting. And that comparison by numbers doing the rounds is invalid. There is not point comparing iPad sales to Windows 7 sales. How about we compare iPad sales to Tablet PC sales?

Thu, Jul 8, 2010 KidSysco IL

SharePoint has been an aceptable replacement for Access for many years around here! In the most interesting cases, Access applications have been transitioned to use SharePoint as a DataStore. This way, we get all of the Security that SharePoint has to offer and the Access developer does not need to re-create any of their forms! SharePoint rocks! I heard that Obama used SharePoint to help win the election. I also heard that SharePoint can cure cancer too! OK maybe that last one was a little over-board. Sorry. :)

Sat, Jul 3, 2010

yea i 2 am waiting 4 years 4 some "AccessGrid" 2 come along 2 asp.net. access definetly has some excellent simplicity missing in aspx thnaks!

Fri, Jul 2, 2010 Corey Christiansen

I'm not touching that bit about "outside perspective" but I thought I might ease the tension by mentioning one of the more humorous sites showcasing the “capabilities” of Office 2010 and SharePoint 2010. I work for M80 on behalf of Microsoft promoting the non-Microsoft branded microsite www.allurebays.com. For those of you hardcore Microsoft fans- they included easter eggs and a leaderboard for those competing to find all of them. I hate to admit this, but so far I've only been able to find about half :)

Fri, Jul 2, 2010 Roger Jennings Oakland, CA

See today's post to my Amazon Author blog: http://www.amazon.com/-/e/B000APJIHQ (bottom of page)

Fri, Jul 2, 2010 Roger Jennings Oakland, CA

Another interesting feature of Access Web Databases is their capability to take advantage of SharePoint 2010 Enterprise sites and their Access Services hosted by third parties, such as accesshosting.com, and (ultimately) Microsoft.

Thu, Jul 1, 2010

Dynamics CRM as an application development platform has many of the capabilities that you seem to be looking for. I've used and customized it heavily and it's fun to work with.

Tue, Jun 29, 2010 Steve TX

Been using MS Access since v1.0 Am looking forward to the ability to drive web based databases and SharePoint using what I know instead of having to learn to drive all over again.

Sat, Jun 26, 2010 Andy NC

Way to dumb down his article, guys. From "SharePoint is the New Access" to ".Net is too complex". I think you missed his point. Access does have a lot of properties that allows non-developers to create simple databases easily and for years it has been a cheap and easy way to connect to all kinds of data. Sometimes a fully developed programming solution is not available and users are left building their own solutions. Maybe Access 2010 will aid me in providing that solution to some of the folks I have to support. (Of course, I'd be really happy if I could convince folks that Excel is not a database and if you've got 65k+ rows of data, you need a different solution!)

Fri, Jun 25, 2010

If you have ever developed or use any J2EE applicaton framework, you would not complain that .NET is too complex. Microsoft better change the stupid name though. Only a marketing weenie could have came up with that name at Microsoft.

Thu, Jun 24, 2010 Sam

Outside perspective - .net is too complex???? Are you kidding??? Compared to other languages, .net is a dream.

Add Your Comments Now:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above