Friday, July 27, 2007

UML Composition and Aggregation

To try and remember the difference between composition and aggregation the following articles are quite useful

Where should the business logic live?

The following article says it all.

Monday, July 23, 2007

Property Collection Serialization, Part 3

A full description and example of what I wanted to accomplish with my designer serialization is available here.

Property Collection Serialization, Part 2

I managed to accomplish what I intended doing with the Designer Serialization. The following articles helped me along the way. I still only barely scratched the surface of CodeDOM but it was sufficient enough for what I wanted to accomplish.

The articles are:

Thursday, July 19, 2007

Property Collection Serialization

I have problems serializing my collection properties. I want to specify exactly how the collection must be serialized and the following article might help in this regard.

Also to do custom designer serialization this article might help. Some more information is available in this article.

Currently is it like a lot of pieces of a puzzle I need to assemble. Very tedious and frustrating.

WWF Serialization

I am experiencing a lot difficulty using WWF and its serialization mechanism. I am going to study the following articles, maybe it proofs to be helpful

  1. Workflow custom designer, nothing to do with serialization but interesting still
  2. GetWorkflowDefinition, explanation surrounding the workflow definition class
  3. Serialization Part One
  4. Serialization Part One and a Half
  5. General WWF thoughts
I hope this will help in my serialization dilemma.

Workflow and ASP.NET

A very in depth article about Workflow and ASP.NET is available here.

It is an article in the MSDN Magazine.

Matevz Gacnik also has some tips on publishing a workflow as a web service.

Workflow tracking

To get workflow runtime properties Matt Milner suggest making use of a tracking service.

It sounds good but there is a performance overhead related to tracking.

Wednesday, July 18, 2007

XPath syntax

For a quick reference to the XPath syntax just go over to w3schools.

To actually get some values from an XML using XPath the following code snippet might help:

Cider is still CTP

I also just realized that Cider is a CTP release and there will be no more releases of Cider. The new version of Cider will be released with Orcas.

References
John Rayner
WCF, WPF VS 2005 RTM Extension

XAML Window inheritance

The XAML window inheritance is proving to be a challenge. I changed my XAML to inherit from my base window, but now Cider refuses to open my Window. It gives the following error:




Microsoft's Expression Blend has no problem opening, compiling and running my XAML window.

WPF Window Inheritance

I tried the inheritance suggested by this article but unfortunately my base window may not be XAML defined apparently.


This is a bit of disappointment but I guess I can work around this somehow.

Tuesday, July 17, 2007

WPF Windows inheritance

I need a base WPF window with common functions inside of it and then all my WPF windows will derive from this window. It is a bit of a hassle to say the least. This article explains it in more detail.

WPF and XAML coding options

There are three ways of coding WPF windows:
  1. Code only
  2. Code + Markup, runtime parsing and
  3. Code + Markup, compiled binary
This article has more detail with some pros and cons.

Monday, July 16, 2007

Instantiate Generic Types via Reflection

I recently had to instantiate an instance of a generic type at runtime via reflection. The following article was quite useful.

Friday, July 13, 2007

WPF performs slow with Office 2003 Updates

According to Rob his WPF started performing poorly after he installed some Windows updates relating to Office 2003. Read more about this over here.

WPF does not support MDI

According to Chris Anderson1, WPF does not support MDI and if you want to use MDI he recommends using Windows Forms rather. Very interesting, I had a discussion with a colleague of mine back in 2004 and he insisted SDI is better than MDI. At that point I did not agree and I still prefer MDI over SDI in many cases but I am guessing it is time to go with the main stream then.

1. p52 Essential Windows Presentation Foundation, Chris Anderson

Thursday, July 12, 2007

Custom WPF controls

A small introductory article about custom WPF controls.

WPF Commands

WPF controls has something called a Command which links to an ICommand interface. For a better in depth explanation this article is quite useful.

Wednesday, July 11, 2007

DepencyObject and DependencyProperty explanations

I am still a bit new to the DependencyObject and DependencyProperty concept so for later reference these articles may proof useful

Monday, July 9, 2007

Install components in VS 2005

The following article has a link to a helpful library to install components as part of the Installshield setup process.

Synchronous WWF

To use synchronous WWF with ASP.NET this article seems to give a solution.

To use synchronous WWF with standard .NET this article seems to have the solution and it has some explanations surrounding dependency properties and WWF.

Some more detail WWF example over here.

An outdated article explaining a custom activity to allow synchronous workflow is available here.

Saturday, July 7, 2007

10 usability heuristics

This article has some informative points regarding usability heuristics. The 10 heuristics is platform independent and to the point. Very good guidelines when designing new applications.

Wednesday, July 4, 2007

Online Analytic Processing (OLAP)

When considering OLAP two points may be of help to increase speed
  • OLAP does not require the latest version of the data, so OLAP services do not need to run on a live transactional database
  • Execute OLAP services on a centralized repository or datawarehouse
For more information refer to p848-p854 of Database Management Systems by Ramakrishnan.

Tuesday, July 3, 2007

Distributed Database Concepts

A distributed database should have the following desired attributes1
  • Distributed data independence, users should be able to ask queries without specifying the referenced relations
  • Distributed transaction atomicity, users should be able to update and access data across sites
When a slow connection is used between sites these attributes may not be achievable or desirable.

Data storage across multiple databases can use one or both of the following techniques2
  • Fragmentation
  • Replication
to increase speed and responsiveness.

Fragmentation may use
  • Horizontal or
  • Vertical fragmentation
Replication allows
  • Increased availability of data
  • Faster query evaluation
The current approach we are considering is fragmentation paired with replication. We will fragment the data to manage ownership of data to avoid the sync problems associated with multiple changes to the same record of data from multiple sites. Read only queries will be executed on the local replicated data because this will allow better data availability and faster query evaluation.

References:
  1. p736 Database Management Systems, Ramakrishnan
  2. p739-p741 Database Management Systems, Ramakrishnan

Introduction to Windows Workflow Foundation

The following article has a nice introduction to the WWF.

Some interesting features of WWF includes

  • The BPEL library that allows the WWF workflow to be exported as BPEL to be used by any standard BPEL engine.
  • Custom Activities has themes.
  • Workflow can be dehydrated and rehydrate using SQL Express.
Hosting sections of a workflow on multiple machines is acceptable.