WCF Services

Release 1.0 - ...

Smartsite iXperion includes several Windows Communication Foundation (WCF) services. WCF is a service-oriented messaging system which allows programs to interoperate locally or remotely similar to Web services. WCF is an integral part of the .NET Framework 3.0.

It provides integration and interoperability with existing .NET Framework distributed systems technologies such as Message Queueing (MSMQ), COM+, ASP.NET Web services, Web Services Enhancements (WSE), and is also compatible with other platforms that support the SOAP standard, such as J2EE-based application servers.

To allow more than just basic (SOAP) communication, WCF implements Web services technologies defined by the WS-* specifications, such as WS-Security, WS-Trust, WS-Federation, WS-MetadataExchange using WSDL (Web Services Description Language), WS-Reliable Messaging, etc.

The WCF services included in Smartsite iXperion provide e.g. the means to:

  • Exchange state information between the cms server instance and the publication engine.
  • Pass a render request from the cms to the publication engine to be able to (pre)view items within the manager.
  • Perform Schema validation of the (SXML) content from within the manager.
  • Exchange state information between the publication engine and its subscribers, i.e. Smartsite Developers Console instance(s).

When developing your own WCF service Smartsite iXperion provides a base class, SmartService, to inherit from, which gives you full access to the Site object. Then all you need to do is add your service to the smartsite.config configuration file (the services section) and include the specific WCF configuration of your service in the web.config.

Notes

Since the (WCF) services, which areĀ initializedĀ and started when the Site starts, are a critical part of iXperion, the startup behaviour of the services has been changed.

Since iXperion RC2 and higher the Site itself will fail to start whenever one of the services fails to start (e.g. due to insufficient access rights or an "address already in use" exception).

This default behaviour, although not recommended, can be altered by adding a required' attribute to one or more of the services configured within the smartsite.config configuration file. When this attribute is omitted, its value defaults to true.

When you do specify this attribute with the value false, the Site will not fail to start when that particular service (on which required="false" has been specified) fails to start. However, when the next service fails to start and that service does not specify required="false", the Site will fail to start nevertheless.

If the Site fails to start due to the fact that one of the services fails to start, iXperion will retry starting the Site upon the next request.

Topics