Thursday, March 22, 2007

TechDays 2007: WF Extensibility With Custom Activities

The second session I delivered at the event was more lively than the first, and also much simpler. A level 300 session, but focused on beginner developers in .Net 3.0's WF.

There are two features of WF, which I was unfortunately unable to demonstrate at the session, which I really love: first, dynamic  instance update - the ability to modify a running workflow in runtime, adding new activities and modifying its behavior. I can think of several uses for this, some on a professional level, some for fun. :-) The second is using custom activities together with WF to define Domain-Specific languages. Simpler than the DSL toolkit (and also  with distinct applicabilities), and given the fact that you can run your declarative XAML workflows without recompilation, it's something I'm really looking into.

Wednesday, March 21, 2007

TechDays 2007: BizTalk R2 Session

I delivered my first session at TechDays today, an overview of the new features of BizTalk Server R2. Topics I covered included:

  • BizTalk RFID (I can't wait for the Phidgets provider to come out, so I can test it with a simple setup -- apparently this will happen soon after beta2 comes out);
  • WCF adapter, with the ability to expose BizTalk Artifacts in IIS and consuming services using the WCF stack. This will make us BizTalkers learn at least the basics of Wcf :-)
  • WCF Lob Adapter SDK, which allows you to develop adapters to Line Of Business applications (which can range from a SAP-like system to a simple database). One of my favourite features.
  • BAM Interceptors for WCF and WF. Another nice feature, this allows you create BAM Activities that span not only orchestrations, but also things happening in the transport and workflows. The most interesting thing is that you don't need to change your existing Wcf/Wf developments, it's all done in config. You inject a Tracking Service, in the case of WF, or a Behaviour, in the case of WCF. The down side? the events are handled synchronously.
  • EDI/AS2 adapter: not the most exciting of the new features of R2, the truth is that EDI usage is still growing, so this replacement to the simple "Base Edi Adapter" is welcome, especially giving the pricing of the Covast adapter.

Although not a new feature in R2, but rather a set of developments and guidance on top of it, I also very briefly mentioned Microsoft's ESB Guidance, due to come out at about the same time as R2, and ended the session with Microsoft's take on this whole "BizTalk vs .Net Framework" issue.

It was a tough session to deliver, because I had a lot of materials, and little time for demos, which always give some life to presentations like these.

Right at end, I left the dates people were waiting for: the first public beta of R2 (beta2) will come out around the end of March/start of April, and the final version in the second semester (from what I've seen, and since the SOA conference is in October, I'd probably bet on Q3).

Changing subjects: fellow MVP Charles Young has a good overview of the sessions we attended at the Summit. Check them out: day 1, 2, 3 and 4.

Sunday, March 18, 2007

Mvp Summit: it's over

Turns out I couldn't post that much. Anyway, I really enjoyed the deep dive sessions included in the "Connected Systems" track, at Microsoft building 43. Clemens Vasters did the introduction to an agenda that would span topics such as BizTalk, Wcf, Wf, Identity (CardSpace+MIIS/ILM), and even POX/Rest/Ajax. Session's durations ranged from 30min to 1 hour, and some had to be cut short or the overal agenda would be delayed.

One of the sessions that was most active was by Paul "Workflow" Andrew, on the topic of BizTalk vs .Net (specifically, WF+WCF). Paul pointed out that all of these are being developed by CS people (the only part of the .Net framework not being developed by the C.S.Division is WPF), and that while .Net is a framework, BizTalk is a premium server. Some structural parts of BizTalk are being replaced, that much is true, but that also means the resources can be invested in other areas. Very little is known (by us :-)) about where exacly evolution will happen, but the information was there, for those listening atentivelly. :-)

Like I said in the previous posts, the Summit is in a big part a "networking" event, and I did get to meet several BizTalk Mvp's, as well as several other Mvps from random competencies. My program included a Q&A and a dinner with people from the CSD/BizTalk teams. Both proved to be very interesting. One interesting note on this was the MVPs proved to be very demanding of Microsoft, which was interesting to see. Most of us are MVP's because we have a passion for technology, but that doesn't make us less demanding «customers».

As to information I can share: BizTalk R2 will be released in the second half of 2007, and the first public beta (beta2?) will probably come out near of little after the end of this month.

Finally, Seattle: the city is located in a great place, geographically, the only problem is really the weather, makes you wonder if it affects the software Microsoft produces :-). My favourite spots were the Pike Street Market, the amazing-amazing-amazing Elliot Bay Book Company (photos: 1, 2), and obviously the Space Needle. No time to see more or drive around. Maybe next year if I am nominated again (the next summit will he held 14-18/April), or at the SOA & Business Processes Conference later this year.

Monday, March 12, 2007

MVP Summit: Sleepy and Wet In Seattle

Seattle is known for its rain. And it's justified.

Two portuguese mvp's at the summit tihs year are known for being sleepy and wet from the rain. :-) Went to Palermo's party tonight, where we met some of the 40 Brasilian MVPs attending. An estimated 1900 MVPs and RDs from almost 90 countries are comming to be biggest summit ever. There are few BizTalk Mvp's, but I already managed to bump into four. Geekland. :)

Sunday, March 11, 2007

MVP Summit: Getting Ready

My second trip to USA's East Coast will be to Seattle/Redmond, where the MVP Summit is being held. My agenda, the Connected Systems Track ("BizTalk, WCF and WF experts will all be “Connected Systems experts” in the future"), includes a day and an half of in-depth technical sessions held in Redmond, 14 sessions on BizTalk, WCF, WF and Identity Management.

Short sessions, several of them of level 400, and most of all the oportunity to learn, and meet other BizTalk MVPs from around the world and the Product Group. The general part of the event will include talks by BillG, as well as Don Box and Chris Anderson.

I'll let you know what the "mothership" looks like. :-)

Friday, March 9, 2007

Excel Services v1

I have been doing some tests/prototypes using Excel Services (included in MOSS2007). Excel Services is a new product, a server-side implementation of Excel. Its big selling point is that it allows business users to keep their excel sheets, where logic has accumulated over the years, but now expose it on the server, where it can be shared enterprise-wide.

The product includes 2 main components: Excel Web Access (EWA) and Excel Web Services (EWS). EWA is in essence a web part that displays a mostly read-only view of an Excel spreadsheet. You can input single-valued parameters and see the calculations being updated. EWS is a web services layer in the front of an Excel spreedsheet. You can input values, individual cells or ranges, and get both results of a binary snapshot of the spreadsheet.

I was really surprised about how much I can do with the product, and how easily. The ability to save a spreadsheet I half filled with Web Service calls, the ability to use Ajax to invoke the web services (with some sample code availablle on the net) on the browser, the power of the User Defined Functions, developed in C# and which can access databases or whatever, etc. It IS a very interesting product, and I strongly recommend it.

This said, I think this first version, included in MOSS 2007, still has space to evolve in a couple of different areas, improving it's fit to several more design/architecture problems.

First, EWA has to be improved to support full read-write, instead of simple single-cell input, using ranges, lists-of-values, etc. While this doesn't happen, it's usefullness is mostly in data display and very simple usage scenarios.

The second is more strategic: the Excel "client" is not really a Client App to Excel Services. They are different applications. If would be nice if one could have Excel (client) open a spreadsheet and do the calculations and data access on the server only.

Let me give an example, related to the product's main selling point: imagine you have an Excel spreadsheet initially developed in the 80's. It has hundreds of formulas, some 20 sheets, reference data, dozens of input fields/ranges, charts, etc. A living nightmare to IT, not necessarily so to the business users. Now I can store this spreadsheet on the server, true, but what do use as a client? I know I can interact with it using EWS, but the development of a specific Smart Client to access it, replicating some of the rules, is clearly an expensive option. This should be done directly in Excel Client, because that is the application the the business users love and know how to use, and because that's what minimizes development effort. I can use VSTA and develop in Excel Client to do this, and this is probably the best option at the moment.

Developing this idea, two more thoughts: it would be nice to have a "Excel Click-Once" functionallity, where a spreadsheet open in Excel (client) could be updated with the latest information from the server spreadsheet. Also, one of the problems with current Excel spreadsheets build up over the years, is that they get lost in people's hard drives. Some kind of mechanism could be in place to avoid or control this, so that people are always using the most up-to-date version of the logic.

Two further aspects, non-technical: when a business user is presented with a solution based on Excel Services, the reaction can easily be of surprise: "is this it?!". They are used to IT giving them apps, web sites, etc., not saying: "Just use Excel". People still have the impression that, to be good, you have to pay for it.
Which brings me to the second aspect: licensing (which is where you do pay). To use Excel Services, one has to fully license MOSS2007 Enterprise. That is, to use Excel Services, you have to pay for SharePoint Server, Forms Services, BDC, etc. All the components of SharePoint Server. Interestingly, this does not happen with Forms Services: you can simply license WSS 3.0 + Forms Services.

Anyway, these were just some ideas. Excel Services is an excelent start for a new product, and will surelly have very interesting developments in the following years.

Most of the information I've used while developing my prototypes where based the SharePoint 2007 SDK, but I also recommend LuisBE's blog, and Cum Grano Salis (where you can find the Ajax library I mentioned). Also, this ExcelPackage CodePlex project seems very promising (don't get me started in the power of the new formats :-)).