Office System Solutions

Thanks again to those of you who dragged yourselves out of bed to hear me speak at Envision!  Here’s a list of links that I made reference to in the presentation along with a description of what I’m linking to:

FabriKam v3.0
3Sharp spent the early portion of 2004 developing this Office System managed code solution set with BizTalk, SQL, SharePoint and much customization on the back end.  It’s got all sorts of cool solutions with source code and runs in a VPC, so you can play with it ’till your heart’s content!  You’ll be able to order the DVD here in a month or so (It’s been hung up in legal with issues about the VPC), but MSDN has already published the documentation!

Project X
At the end of 2004, we were busy with a large development project that will again make it out to the masses!  This time, I must say, the overall architecture is a bit more cohesive.  Instead of in FabriKam, where we were connecting a bunch of disparate front-end systems to a bunch of individual web services, we created an Office System based smart client that attached to a pre-existing SOA.  It’s still got lots of cool Office System managed code solutions, but now our solutions take advantage of the PAG Smart Client Offline Application Block, giving us an offline solution complete with data and command caching.  It will ship soon, and when it does, I’ll be sure to go into lots more detail :^)

As I mentioned, we have great managed code solutions for Word, Excel and InfoPath, but when the time came to write some code for Outlook, things got a bit more complicated.  We ended up writing a shimmed managed code add-in.  Andrew Whitechapel, Misha Shneerson and Siew Moi Khor (pronounced sue me) wrote a great paper about COM shims which Eric Carter then expands upon.  If you want even more info, buy Andrew’s book (I use my copy too much to lend it out).

Finally, I’ve uploaded my presentation deck as well as the Visio brainstorming diagram I created to help me get my thoughts in order. 

Leave a Reply

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