Where is WF in the .Net Services July CTP

28 באוקטובר 2009

One of the most frequent feedbacks the .Net services got about WF in the .Net services was why do you use WF 3.5 and not WF 4.0? So they won't. The .Net services will use WF 4.0 but they cannot do that until WF ships (22 March 2010) so until then WF was simply removed. Here is the formal announcement. Let us wait. There is no doubt that this was the right thing to do.
no comments

WCF Advantages

27 באוקטובר 2009

It is time for the big customers to move to WCF. WCF is 5 years in the market. We are moving into the third version (WCF 4.0)  and there is no doubt that WCF is mature enough for the big customers (who hate to take risks). The managers ask me: Why WCF ? So I wrote this short summary for executives to read: WCF is a unified framework for rapidly building service oriented applications.WCF is the most powerful of all distributed applications frameworks, yet it is the simplest to work with. WCF introduce the following...
tags:
no comments

Critical Changes from WF 4.0 Beta 1 to Beta 2

22 באוקטובר 2009

There are very important changes between the two beta versions as was just published by the WF and WCF team blog. I would like to summarize the most critical updates. (There more changes I will describe in future posts) 1. The activity class hierarchy changed dramatically. From : To: WorkflowElement goes away, and is replaced with Activity.  Activity is the root type for all units of execution within the world of WF Addition of...
no comments

Live services resource model

21 באוקטובר 2009

Live services as you all knows allows you to access share and synchronize your data. Once you add your devices to the mesh you can synchronize your data and application between your devices. share your data with your friends and family and access the data from anywhere using the live desktop. This is remarkable. To enable that there must be a shared data model between all your devices and the cloud. In this post I want to describe the Live services resource model. The following famous diagram describes the model: Let...
no comments

Reading ETW tracing using Event Viewer

12 באוקטובר 2009

I was looking for a tool to read ETW tracing data. It turned out that the tool I need is right under my nose. Event Viewer. The problem was that ETW (using the logman tool) produces etl files that are not readable by Event Viewer. Fortunately there is a trick. I tried to load the etl file by Event Viewer using open saved log and it failed to load. Event Viewer I saved the etl file as an evtx file and now I could see the tracing data. For WCF and WF you do...
tags: ,
one comment

ListenUriMode.Unique

It basically solves the challenge of generating a "unique" address for an endpoint when you don't know what's already in use. Here's how it works:     <system.serviceModel>     <services>       <service name="WcfTests.MathService">         <endpoint listenUriMode="Unique"                   address="net.tcp://localhost/math"                   binding="netTcpBinding"                   contract="WcfTests.MathService"/>       </service>     </services>   </system.serviceModel>   Using this configuration with TCP endpoints causes WCF to automatically choose a "free" port number -- it also appends a unique GUID to the end of the address to ensure uniqueness. For HTTP...
2 comments

Data Contract topology in WCF 4.0 – DataContractResolver

11 באוקטובר 2009

In WCF 3.x, type resolution was done using the “known types” mechanism. During deserialization, when the serializer encounters an instance that isn’t of the same type as the declared type, it inspects the list of declared “known types” to figure out what type to use. As the author of the service, you could annotate your types/methods with the or attributes to define the list of possible substitutions. (in code or config) Unfortunately, WCF 3.x doesn’t provide an easy way to override the type-mapping algorithm used by DataContractSerializer when performing this type of dynamic type...
tags: , ,
one comment

Event Tracing for Windows (ETW)

7 באוקטובר 2009

In WF and WCF 4.0 there are new logging (tracking) mechanisms that uses the ETW. What is ETW? Event Tracing for Windows (ETW) is a general-purpose, high-speed tracing facility provided by the operating system. Using a buffering and logging mechanism implemented in the kernel, ETW provides a tracing mechanism for events raised by both user-mode applications and kernel-mode device drivers. Additionally, ETW gives you the ability to enable and disable logging dynamically, making it easy to perform detailed tracing in production environments without requiring reboots or application restarts. The logging mechanism uses per-processor buffers that are written...
2 comments

Reporting and SOA

SOA is an architectural style that promises agility, scalability and reuse. The bottom line is SOA can save you money. There are many definitions to SOA. The best definition I found states that a service is something that exposes functionality by accepting data and maybe returning data. Service is simple. Data in - Data out. To achieve all the SOA advantages a service must be autonomous.  The problem starts with reporting and ETL. The traditional two tier or three tier architecture had the reporting engine connected strait to the database. Simple and efficient...
tags: ,
no comments

PersistenceParticipant

6 באוקטובר 2009

I am looking at WF 4.0 lately and I found out that there is no clear documentation on PersistenceParticipants. Well The idea is simple: If you want to add some state to your workflow persistence data or in other words save some more data with your workflow, you can use a PersistenceParticipant. The PersistenceParticipant is a class that holds your data but also implements IPersistenceParticipant interface. This interface makes it possible to load and unload the data. PersistenceParticipant is a great extensibility point with which you can hook extra work to...
no comments