The data point that caught my eye was the following: To code a demo that integrated web services with IBM WebSphere using advanced protocols the Microsoft team had to do the following:
Here's an example of a web service using Indigo:
[Confidentiality]
[Reliability(Gurantees.ExactlyOnce | Guarantee.InOrder)]
[Service]
class HelloService
{
}
Note that all of the infrastructure code is abstracted in attributes and that there is a difference between a simple web service and a Service as defined in Indigo.
All the implementation details are driven through policy configured in configuration settings. Policy can specify multiple settings (i.e. security for different clients). Policy is retrieved from a remote service in a secure fashion and then cached and referenced when a call is made.
In Indigo behavior is WSDL, structure is XSD, and policy is WS-Policy and the services execute asynchronously but may explicitly synchronize. They all require explicit credentials for all communications.
One of the most interesting items is that Indigo scales down to within an app using an interprocess communication channel and can also be used for peer to peer apps as well.
Some of the Indigo terminology:
Connector: messages, services, ports, channels
Indigo also includes a [RemoteObject] attribute which is very similar to .NET Remoting.
The presenter then showed an example of an app that uses Indigo that Merck is working on. This is the same app they showed at the PDC.
No comments:
Post a Comment