# Wednesday, August 24, 2005

Today we woke up and visited Mao’s Tomb. A brutal reminder that while economically free China is still a one party state without any elected government.


Climber the Great Wall, visited the Forbidden City and Summer Palace (which rocks), of course a visit to a Buddhist Lama temple rounded out some time in Beijing.


Now I am in Datong, where no English is spoken at all. Visiting some old Buddhist Caves and Monasteries tomorrow before off to Xiam to see the warriors.

(This does not suck)

posted on Wednesday, August 24, 2005 9:52:46 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [2] Trackback
# Tuesday, August 9, 2005

SQL Server 2005 Notification Services is what you would traditionally call “middle ware” or part of an application server. SQL Server is traditionally a “back end” or an infrastructure component to your architecture. SSNS is middleware provided by Microsoft as part of the SQL Server 2005 package. Microsoft has not traditionally provided a lot of middleware, but ever since the success of “Viper” or Microsoft Transaction Server (MTS), Microsoft has been providing more and more reliable and scalable middleware. Since SSNS is middleware and not part of the core database engine, SSNS is a separate setup option that is turned off by default when you initially set up your SQL Server 2005 server. You will need to select SSNS to install it at initial setup. 

If you choose to install SQL Server 2005 Notification Services, all of its components and support files install in a separate subdirectory (typically the \Notification Services subdirectory of your default SQL Server installation.). If you are like me and need to know what everything is, you can see by inspecting the subdirectory that SSNS is made up of a few components, the important ones are explained here:

microsoft.sqlserver.notificationservices.dll-this is the actual guts of Notification Services. A managed .NET assembly that contains the core code for SSNS and the built-in providers you use to retrieve data and create notifications and subscriptions.

NSService.exe-the executable shell of microsoft.sqlserver.notificationservices.dll used for running as a Windows Service. Each instance of NSService.exe runs as a Windows Service and can be managed by SQL Management Studio. Instances of NSService.exe are independent of SQL Server 2005 instances.

Providers-is the extensible framework that SSNS is built around: event providers, formatters and delivery protocol providers.

Nscontrol.exe-this is a utility program that is used when you compile your application and generates the SQL Server Database and objects that the Windows Service application uses to retrieve data and create notifications.

XML Schemas-When you generate a SSNS application, you use configuration files that are XML based. The schemas provided as part of the framework validate those documents.

Sample applications-more than most other tools, the community has used the sample applications to fully show the power of Notification Services. We will explore them as well.

This is good stuff. More later..

posted on Tuesday, August 9, 2005 4:03:48 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Wednesday, August 3, 2005

My friend in Pakistan thinks 10 million people read my blog. Somehow I don’t think so, but I did get a lot of email asking if I were dead. I also discovered that my parents keep track of me via my blog and called the day of the London bombings asking if I was in London. So I hopefully will keep the blog up to date. So where have I been?


July was a busy month.


First there was the Tour de France. Enough said.


The gang then traveled over to Ohio to visit the whole crew over the July 4th Holiday. Jack brought us all out Lance Armstrong “LiveStrong” wristbands. I know that you hate Lance Billy but that is just because your coach, Greg Lemond, is jealous. We are wearing them for Michelle, our close friend who is being very brave and faces cancer (and surgery on August 11th).


After the Ohio gang threw us out, we traveled down to Savannah, Georgia for a while to visit Jimmy on leave from his duties in Iraq. Jimmy is a LT and leads a mission every day, takes small arms fire and faces car bombs. We got the inside scoop on what is really happening over there. He looks well and headed back and will be home in January from his tour of duty.


Next flew in Lara and we made it official, she is a member of the inner circle of the anti-suckieness club by performing the ritual on 4 continents in the calendar year.  Inner members are now at: Malek, Goksin, Clemens, Stephen, Kathleen, Kimberly and Lara. (I think Alex and Adam qualify?) We took her around to the MOMA and the Circle Line. Any of my friends from Pakistan, Egypt, Algeria, Morocco, etc who come visit me in New York, I will take you to the MOMA and the Circle Line (and maybe to the top of the Empire State Building).


After a disappointing Mets game and some beach weekends, I am finally back into the swing of things. Work has been crazy but I am now back from the black hole.


Off to China in 2 weeks, lots of photos of course will be posted.

posted on Wednesday, August 3, 2005 9:01:28 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [8] Trackback

In October 2003, Microsoft released Visual Studio Tools for the Office (VSTO). This new group of class libraries brings .NET Framework-based development to Word and Excel 2003 by enabling developers to write managed code in C# or VB .NET that responds to events within the Word and Excel automation models. While not as integrated as Visual Basic for applications (VBA), building on the tradition of Visual VBA and COM-based automation, VSTO)provides developers with significant benefits for building Office solutions, including a familiar coding experience, improved deployment, and improved security.

The Visual Studio 2005 release of VSTO brings significant enhancements to the development of solutions based on Excel and Word 2003. Building on top of VSTO 2003, Visual Studio 2005 Tools for Office will address some of the biggest hurdles facing Office solution developers today, including separation of data and view elements, deployment of Office solution assemblies, server-side and offline scenarios, and seamless integration with the Visual Studio toolset.

One of the primary successes of VSTO 2005 is the separating of “data” from “view” in Office documents in order to simplify the creation of Office-based solutions. Today, Excel spreadsheets and Word documents consist of an amalgamation of either cell values or text (representing the data) and descriptive information about that data, such as the font (representing the view). Because Word and Excel have no built-in concept of programmatic data like Microsoft Access does, developers are limited in their ability to effectively develop solutions around the data stored within the documents.

VSTO 2005 will separate the data from the view in Office documents by enabling data to be embedded as an independent XML data island. This provides a well understood and easily addressable structure that developers can rely on when programming in addition to the benefit of offline support for views of the data. The developer is able to separate presentation (view) and data, and is thus able to update the data directly without concern of writing presentation code. Typed data sets will be used to provide a schema-oriented programming model for interacting with the data island, ensuring IntelliSense support for the managed code being written. Data binding will be used between the data island and the view to keep these two in sync. The developer will also be able to add validation code to the data that is independent from the document view components. Typed DataSets are now exposed as partial classes so you can add validation code very easily and encapsulate it as part of the DataSet itself.

Programming directly to data by way of an XML schema-based model provides improved productivity for developers over previous coding paradigms. Code that works with data does not need to address the Excel and Word object models at all. This simplifies much of the code involved in building Office solutions as well as shields your data code from changes in the document. The resulting code is loosely coupled because it does not rely on hard coded references to specific cells, ranges and tables that can be arbitrarily moved around by end users, rather, your code directly accesses XML data islands.

Working with XML Data Islands enables new server-side opportunities. Most importantly, the data island embedded in the document can be manipulated without starting the individual Office application. This is a major shift from the current model, by which, in order for code to manipulate the contents of the document, Excel or Word must be installed and running. This limitation blocked many solutions from being created such as programmatically creating Office documents from within an ASP.NET application.

The VSTO 2005 runtime will support instantiation on a server without the need to instantiate and run Excel or Word. The data island in a document can then be manipulated from the server-side code as any XML data can. When the user opens the associated Office document the view would be re-synchronized with the data island and the user would be automatically presented with the updated data. In this scenario, Excel and Word are not needed to write to the data on the server, but rather only to view it on the client, limiting potential security holes. This updated model will also provide higher scalability and the ability to perform high performance batch processing of multiple documents (such as T&E documents) containing data islands on the server.

Storing the data in a data island also provides a way to enable rich offline scenarios. When a document is first requested from the server or first opened by the user, the data island will be filled with the most recent data. The data island can then be cached in the document and made available offline. The data could then be manipulated by the user and by code without a live connection. When the user reconnects, the changes to the data could be propagated back to a server data source by code that you provide.

In addition to improving the data programming model, VSTO 2005 introduces enhancements to the way developers programmatically access user interface, elements, such as ranges, lists, and bookmarks. Developers can write code today to manipulate these elements, but they are impacted by the extent to which the Office object models expose events, properties, and methods. For example, the Excel object model provides a WorkSheet_Change event, but does not provide similar events for individual cells or ranges, creating the need for additional code to handle the occurrence of a change to a specific element. VSTO 2005 introduces enhancements to the Excel and Word object models in the area of these user interface elements. Elements, such as cells, ranges, lists, and bookmarks will become first class controls that can be easily accessible in your code. Each control will be uniquely identified and will enable data binding and will provide a more complete event model, making it easier for the developer to manipulate Word and Excel.

VSTO 2005 will also makes it much easier to develop applications with Excel and Word with Visual Studio. With VSTO 2003, developers wrote managed code in Visual Studio .NET then they had to switch to Excel or Word in order to create the user interface. In VSTO 2005, Excel and Word will be hosted directly in the Visual Studio 2005 IDE as designers as live documents. Developers will be able to design Office documents within the Visual Studio environment using the full collection of Windows Forms controls in Excel and Word by simply dragging and dropping managed controls, including third-party controls, from the Toolbox. Just like in other Visual Studio environments, double-clicking on a managed control in Excel or Word will invoke the code view in which customizations can be written inside the auto generated event handler for that control.

Managed control hosting within Word and Excel documents, combined with Excel and Word integration within the Visual Studio IDE, will make Office just another target platform for Visual Studio developers in addition to Windows Forms, ASP .NET, Mobile and Web Services.

What does this mean for InfoPath? Not sure?


posted on Wednesday, August 3, 2005 8:49:29 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [92] Trackback
# Monday, August 1, 2005
July was a crazy month. Too much work and major deadlines, but the end is near. Just wanted to pop in and say hi, will be back shortly.
posted on Monday, August 1, 2005 11:05:32 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] Trackback