Compsoft Flexible Specialists

Compsoft plc

Compsoft Weblog Compsoft Website News Archive Privacy Policy Contact Us  

Thursday, November 08, 2007

Richard Thomason: Microsoft TechEd (Thursday)

WF and Sharepoint
Using SP adds persistence and human interaction to WF, which is in Sharepoint "Site Collection Features". In SP, you have Templates, Associations, and Instances, so you create a template, associate it with a document type, then create instances of it. I think. A template is the WF program and any associated forms. Use InfoPath forms (requires MOSS server) - much easier to use and configure and no SP config blx. The demo failed utterly, and SP load is majorly slow. Not very impressive.

Sharepoint with Ajax,ASP.Net,Silverlight,Popfly
Some considerable config set up to do - look in Mike Ammerlan blog. Get ScriptManager installed in master page. "Extenders" add functionality to existing ASP user controls. WebPart demo used Extender AjaxControlToolkit:MaskedEditExtender. Ajax UpdatePanels can wrap WebParts. SmartPart is a webPart that can wrap ASP.net controls as connectable WebParts - very cool, the full Customer / Order experience. The AjaxConnectionData class can both send and receive data to/from other parts. WebPart can also wrap Silverlight controls obviously, and Vista Gadgets (basically ASP web page) can communicate with SP too. Blimey. Get the config stuff at Mike Ammerlaan's blog.
http://sharepoint.microsoft.com/blogs/mike/default.aspx

Understanding ASP.NET Internals
This session went through the architecture of IIS and ASP.NET, and gave me enough information to realise it would be relatively straightforward to do an implementation of Equinox for IIS. However there would be a bit of a decision to make - whether to convert the necessary modules to managed code (in C#), or use ISAPI natively, which is a bit more ropey in terms of documentation and simplicity of implementation. Quite interesting in any case. Can host anything eg PHP, Equinox! The main ways to extend are via ISAPI filters and extensions (ie filename extensions). You can use aspnet_regiis.exe to register asp.net extensions if you install iis and asp.net in the wrong order. IIS 5 uses inetinfo.exe which talks to aspnetwp.exe which has the thread pools. IIS 6 has inetinfo again, but seeparates out the i/o into http.sys, which is a kernel level driver, so cached responses are lightning quick. There are no upgrade issues.
HttpContext object controls the entire lifetime of the request/response. HttpRuntime can use any .Net language, even VB. There's an interesting Cassini demo project which peeks into the webserver. Interception events can be either in global.asax or compiled IHttpModule components. Sessionstate make a hit both on input and output so turn it off if possible, or mark the page readonly. Can improve the performance of the server by running background events in a wake up every so often background thread. Sample available. Get example code from http://weblogs.asp.net/rhoward/

Build your own IDE with Visual Studio
VS 2008 will ship with a redistributable package that allows you to deploy your development environment as an add-on to VS. In principle this is quite exciting, as it means that for a little work, ok possibly more than a little, you can leverage all the effort that went into developing the VS IDE. There appears to be considerable control over the look and feel, and there is a Visual Studio Industry Partner Program that you can join. An alternative to taking over the product completely is to build add-in packages for the development environment. The team have a stand in the product exhibition hall, and I intend to try and have a chat with the presenter guy later today or tomorrow. The possible products that you could imagine are a replacement for (parts of) Equinox, which would probably communicate with a non-VS standard Equinox program running in the background, some kind of on-top-of-VS development environment which maybe encapsulated the common code library and added extra tools and functionality to speed up Consultancy development, or an ESP editor, maybe in conjunction with an IIS runtime version. Who knows.

Developing with Exchange Web Services
MS is making a considerable effort with OL 2007 and subsequent versions to improve on the current rather poor and disparate set of services from MAPI onwards. Thegeneral principle is that all coding and parameters will be compatible with the Outlook GUI, which should radically simplfy the programming task. Web Services run on IIS, and use HTTPS and full authentication by default. OL 2007 includes a new algorithm for finding the best OL server for a given client, via an AutoDiscover service. A server on every site is recommended. There is a push or pull subscription service for notifications, and a delegate system which allows applications to impersonate users, via a user/mailbox/application authorisation mechanism. Powershell is a separate utility which manages OL resources, create / delete etc, and is also usable programmatically.

0 Comments:

Post a Comment

<< Home