Provision and Deploy a UCMA Workflow Application

Provisioning and deployment for communication workflow applications using Microsoft Unified Communications Managed API (UCMA) is similar to provisioning and deployment for other UCMA applications. Workflow developers should choose between automatic and manual provisioning as explained in the following bullets.

  • If you have a Microsoft UCMA 2.0 Workflow SDK application running on Microsoft Lync Server 2010 without recompiling with Microsoft Unified Communications Managed API (UCMA) 3.0 Workflow SDK, use manual provisioning as in UCMA 2.

  • If you have a UCMA 2.0 Workflow SDK application running on Lync Server 2010, and recompiled on UCMA 3.0 Workflow SDK without code changes, also use manual provisioning.

  • If you have a UCMA 2.0 Workflow SDK application running on Lync Server 2010, and recompiled on UCMA 3.0 Workflow SDK with code changes, use automatic provisioning.

  • If you have a UCMA 3.0 Workflow SDK application, use auto automatic provisioning.

For information on manual and automatic provisioning, in the UCMA 3.0 Core SDK Help file (UCMA3CoreSDK.chm) see the section ‘Deploying and Administering UCMA Applications’. The following section describes manual provisioning steps that are unique to communication workflow apps.

Add the values described earlier to a configuration file and retrieve them in code at run time when establishing a connection to Lync Server 2010.

Manual Provisioning for UCMA Workflow Applications

The following application activation steps are unique for communication workflow applications.

Create an Application Pool Using Topology Builder

Use Lync Server 2010 Topology Builder to add your application server to the Lync Server 2010 topology and publish that information to the Central Management Store. All computers on which the application is to run must be added to the Lync Server 2010 topology document. It is recommended that you create a separate computer pool for a trusted application instead of running the application in the same pool where other Lync Server 2010 services are running.

To create an application pool using Topology Builder

  1. Install Topology Builder on the application server.

  2. See the UCMA 3.0 Core SDK Help file (UCMA3CoreSDK.chm) for details on how to add the application server to the Lync Server 2010 topology.

Create a Certificate for the Application Computer

See the UCMA 3.0 Core SDK Help file (UCMA3CoreSDK.chm) for information on how to create a certificate for the application server.

Add a Trusted Server Port

To add a trusted service port for the application

To add a trusted service port for the application

  1. On the computer where Lync Server Management Shell is installed, on the Start menu, select All Programs. Select Microsoft Lync Server 2010, and then select Lync Server Management Shell.

  2. Use the Powershell commandlet New-CsTrustedApplication to add the application to the application pool. See the following example.

    New-CsTrustedApplication –ApplicationID a074a123-8f35-4f5a-a232-53a1754fe93d –TrustedApplicationPoolFqdn a01-cs.contoso.com –Port 6000
    

Get the Application GRUU Value

Use the Powershell commandlet Get-CsTrustedApplication to get the application’s GRUU value. See the following example. Optionally, redirect the output to a text file. For information on redirecting command output, see the topic Using command redirection operators.

Get-CsTrustedApplication –identity “a01-cs.contoso.com/urn:application:a074a123-8f35-4f5a-a232-53a1754fe93d”

Pass the GRUU to the CollaborationPlatform Class

Pass the GRUU value to the Microsoft.Rtc.CollaborationPlatform class. See the following example code.

//Set the ServerPlatformSettings applicationUserAgent parameter value.
string applicationUserAgent = "";

//Set the ServerPlatformSettings localhost parameter value.
string localhost = "a01-cs.vdomain2.rtmp.selfhost.corp.microsoft.com";

//Set the ServerPlatformSettings port parameter value.
Int32 port = 6001;

//Set the ServerPlatformSettings gruu parameter value.
string a = "sip:a01-cs.vdomain2.rtmp.selfhost.corp.microsoft";
string b = ".com@vdomain2;gruu;opaque=srvr:a074a123-8f35-4f5a-";
string c = "a232-53a1754fe93d:48C3n4Nb01SwEa1wJeeBBgAA";
string gruu = a + b + c;

//Create a ServerPlatformSettings object.
ServerPlatformSettings platform = new ServerPlatformSettings(applicationUserAgent, localhost, port, gruu);

//Create a CollaborationPlatform object.
CollaborationPlatform collPlatform = new CollaborationPlatform(platform);

Conclusion

Add the values described earlier to a configuration file and retrieve them in code at run time when establishing a connection to Lync Server 2010.

For more information about provisioning and deployment for UCMA applications, see the Microsoft Unified Communications Managed API (UCMA) 3.0 Core SDK documentation.

See Also

Other Resources

Unified Communications Managed API 3.0 Workflow SDK Documentation