sorry for the mess here, these are scraps I wrote during the Indigo Part II , lot’s sessions here I’m currently at the WINFS api Part I..
a new assembly : System.Transaction, Whidbey code will still use the DTC, longhorn will use new bits and employ DTC only when necessary. Enterprise Services will be recoded to use longhorn bits, so existing code will use the improved bits.
Transaction propagation – by default nothing propagated if you are a service
The service model is the preferred one, Remoting is old style, transaction propagation depends on your style.
on the method level : [System.ServiceModel.ContextPropogation(typeof(ITransaction) – I want to propagate this type of information, InBound=UsageMode.Required – I need a transaction to come in, OutBound=UsageMode.None – when I call other people I don’t want to propagate the Transaction)
Transacted IO is not connected to the regular transaction. Transaction protection on IO.
CRM (TNG) – Log will not be on Whidbey CRM that is not connected to EnterpriseServices
Reliable Messaging – TCP is not reliable.not always the connection TCP end to end. indigo doesn’t assume TCP connection or any other medium. is my service running at the same time as me??? indigo can manage all scenario’s , there is an intermediary to handle the not connected scenario.
[ServiceContract] is for interfaces – defines the contract for a service
[Connection(DeliveryAssurances.Full)] – what reliability do I need – it’s method level attribute. it can control the order of the method usage of the service.
Security – Authentication and authorization – making sure the sender is who is claims to be, the auth stack uses SSPI, the stack is pluggable, if you can extend WSE you can extend this. most of the usage is thru attributes.
[Security] on the class level – 5 properties: do I want my message to be send as clear or encrypted – (sealing the body). Integrity- Signing. Authentication for the client is optional. Disabled – turn off security (for demos;) /SecurityProfileName – controls the authentication of the service. Authorization – which rule will apply for running the service.