Developing secure mobile apps for Microsoft Dynamics AX 2012

Size: px
Start display at page:

Download "Developing secure mobile apps for Microsoft Dynamics AX 2012"

Transcription

1 Microsoft Dynamics AX Developing secure mobile apps for Microsoft Dynamics AX 2012 White Paper This document describes how to develop mobile client apps to communicate with Microsoft Dynamics AX from phone or tablet platforms. Authors: Jagruti Pandya and Rob Drollinger, Software Engineers May

2 Table of Contents Introduction... 4 Technical overview... 4 An Application Integration Framework custom service... 5 Active federation for claims-based authentication to the Windows Azure Service Bus by using ACS and ADFS on the client... 6 Outline of the walkthroughs... 6 Design and create the AIF service in Microsoft Dynamics AX Overview... 7 Development requirements... 7 Create the data contract... 8 Create the data members for the data contract... 8 Create the service class... 9 Create the service operations... 9 Create the service contract...10 Create a privilege to secure the service operation...11 Create a basic inbound integration port...11 Verify that the service has been correctly deployed...12 Establish a listener to the Windows Azure Service Bus A middle-tier WCF service...13 AIF Windows Azure Service Bus Adapter...14 Comparing the Middle-tier WCF Service and the AIF Windows Service Bus Adapter...14 Create the middle-tier WCF service...15 Prerequisites Overview Development requirements Create the service contract and operation contract Add a service reference of the AIF service Call the AIF service operations Set up the Service Bus relay and deploy the listening endpoint for the middle-tier WCF service.. 22 Validate and extract contents from incoming messages Build and deploy the middle-tier WCF Windows service Deploy the AIF service using the AIF Windows Azure Service Bus Adapter Prerequisites Overview Authentication Overview Create Custom Authentication Classes Registering the authentication component Encryption Key Containers Publish AIF Service using the Service Bus Adapter

3 Develop the client to communicate data to the middle-tier WCF service Development requirements...38 Overview...38 Create a Windows Phone application...38 Add the middle-tier WCF service reference Lay out and set up the UI controls for required user input Implement active federation and claims-based authorization for the mobile client Prerequisites (configuring the trusts)...42 Overview...43 Development requirements...44 Implementation...44 Setup Get user input Create and send the request for security token Create the ACS payload Additional notes and guidelines Authenticate the user and send the data to the service Developing RESTful JavaScript mobile apps for Microsoft Dynamics AX Design and create the AIF service in Microsoft Dynamics AX Create the middle-tier RESTful service...61 Prerequisites Development requirements Create the data contract, service contract, and operation contract Add a service reference of the AIF service Call the AIF service operations Configure the RESTful service bindings and deploy the listening endpoint on Service Bus Validate and extract contents from incoming JSON messages Create an HTML5/JavaScript app to communicate data to the WCF middle-tier RESTful service...71 Implement active federation and claims-based authorization for the mobile client by using JavaScript...71 Send the request payload to the REST service...74 Additional resources

4 Introduction This document describes how to create mobile client applications (apps) that enable Microsoft Dynamics AX users to communicate information with Microsoft Dynamics AX Microsoft offers applications for key mobile scenarios on certain platforms and devices that are compatible with Microsoft Dynamics AX Microsoft Dynamics customers and partners have a rich ecosystem and powerful story for customizing and extending Microsoft Dynamics AX for the needs of individual organizations and industries. One important goal of this document is to empower our customers and partners to use Microsoft Dynamics AX to create delightful user experiences from any device that works with their customizations. This document provides walkthroughs of a solution that addresses the simple user scenario of an employee capturing information about expenses that the employee incurred while traveling. The document is only meant to teach you the fundamentals of getting devices anywhere in the world talking to Microsoft Dynamics AX. The scenarios you can choose to implement with these lessons are up to your business requirements and your imagination. You can easily envision several exciting scenarios, such as time management, access to customer information while traveling to a customer site, creating sales orders, managing your projects on the road, or just checking up on the factory from across town on your phone or tablet. Technical overview The solution architecture described in this document lets users receive information and send transactions to Microsoft Dynamics AX 2012, even if they are not in the same domain or network as the on-premises instance of Microsoft Dynamics AX. For example, the solution lets clients access a Microsoft Dynamics AX service that is running behind a firewall. The solution has the following requirements: An Application Integration Framework (AIF) service communicates data to and from Microsoft Dynamics AX Users provide their corporate credentials in the mobile client to interact with Microsoft Dynamics AX 2012 services created for their scenarios. Only authenticated and authorized users can communicate with Microsoft Dynamics AX services by using client applications. 4

5 The following diagram illustrates how different components interact to enable the mobile app to communicate with Microsoft Dynamics AX. SERVICE BUS Windows Azure HTTP RELAY BINDING SHARED SECRET ACCESS CONTROL SERVICE (ACS) FIREWALL MIDDLE-TIER WCF SERVICE OR IIS 7.5 AIF ROUTING SERVICE MOBILE CLIENT APPLICATION AX 2012 AOS, SQL + AIF service RST: REQUEST FOR SECURITY TOKEN RSTR: REQUEST FOR SECURITY TOKEN RESPONSE Active Directory Federation Services TOKEN SIGNING (ADFS) CERTIFICATE AD DOMAIN CONTROLLER Figure 1 Architectural overview of the entire mobile solution An Application Integration Framework custom service Design an AIF service that can be consumed for the necessary business scenario. To do this, you will need to do the following: Create AIF service and data contracts, and deploy a basic inbound port to expose the service operations for consumption. Implement the service methods in an X++ classes to perform data operations with Microsoft Dynamics AX The AIF service alone works well for clients who want to consume the service when they are in the same network or domain. However, for mobile scenarios, this would not be useful, because the mobile client will need to communicate with the AIF service hosted on an Application Object Server (AOS) instance that is deployed behind a corporate firewall. Instead of configuring changes in the firewall, such as exposing an Internet Information Services (IIS) server externally to expose the on-premises service, we make use of a secured Service Bus relay. The Microsoft Windows Azure Service Bus and its relayed messaging capability enable applications on other networks to communicate with a system or application that reside on-premises on another network or behind a firewall. 5

6 We provide two development patterns that leverage the Service Bus s relayed message capability: A custom-built middle-tier WCF service This pattern involves building a middle-tier WCF service that establishes a listener for the Service Bus and routes messages to Microsoft Dynamics AX services according to the routing behavior that the developer chooses. Publishing a service using the AIF Windows Azure Service Bus Adapter This pattern leverages the AIF Windows Azure Service Bus Adapter, which provides a Service Bus listener, hosts the listener in IIS, and routes messages to the AIF service that was deployed using the adapter. You have the flexibility to decide which pattern best fits your application and business requirements. The development patterns are described in Establish a listener to the Windows Azure Service Bus. A table comparing their features is included. Note: The example mobile application described in this document uses the middle-tier WCF service. A service deployed with the AIF Windows Azure Service Bus Adapter can be consumed by following the same guidance. Active federation for claims-based authentication to the Windows Azure Service Bus by using ACS and ADFS on the client The Service Bus s dedicated Access Control Service (ACS) plays a very important role in this solution, controlling the authorization to call a service registered on the Service Bus. It enforces authorization by requiring that the client provide a security token that is issued by a trusted identity provider that authenticates the user. We use active federation to authenticate the user and acquire the user s identity claims. This involves the mobile client actively requesting a security token (containing a set of claims identifying the user) from the corporate Active Directory Federation Services (AD FS) 2.0 by using the WS-Trust protocol. The client will then present this security token containing the claims to the ACS, which will then grant a simple web token (SWT) as a form of authorization for the client to securely send messages via the Service Bus. For the mobile solution, you will need to use an existing corporate AD FS as an identity provider (IdP) to authenticate the user credentials originating from the app. The AD FS will also be used as the security token service (STS) to provide identity claims about the user that will eventually be consumed by the Microsoft Dynamics AX We will walk you through implementing the described solution in detail. We will also provide sample code and configuration guidance to help you develop mobile applications for Microsoft Dynamics AX 2012 by using services. Outline of the walkthroughs The rest of the document will walk you through the components that you need to implement to create secure mobile applications for Microsoft Dynamics AX In these walkthroughs, we will be using a simple unreconciled expense capture scenario to illustrate a sample mobile application. In this scenario, an employee of a company that uses the Microsoft Dynamics AX 2012 Time and expense management feature will use the mobile application to capture details of an expense that the employee incurs when on the move. We will use this scenario in all our services, and also in client code samples. You will need to do the following walkthroughs in this document: 1. Design and create the AIF service in Microsoft Dynamics AX Establish a listener to the Windows Azure Service Bus 6

7 3. Develop the client to communicate data to the middle-tier WCF service 4. Implement active federation and claims-based authorization for the mobile client 5. Authenticate the user and send the data to the service Design and create the AIF service in Microsoft Dynamics AX 2012 Overview As mentioned in earlier, our example illustrates how a Microsoft Dynamics AX user employee can submit expenses from a mobile client when the user is on the move. When the expense makes it into Microsoft Dynamics AX, the expense shows up in the system as an unreconciled expense, which the employee can then add to an expense report. We need to implement an AIF service that accepts this expense data coming from the middle-tier WCF Service, processes it, and then pushes it into the Microsoft Dynamics AX 2012 database. In this walkthrough, we will guide you through the implementation and deployment of the custom AIF service for our mobile example. We will be using some of the existing expense data types and also the existing TrvUnreconciledExpenseTransaction table (which comes with the Travel and expense module in Microsoft Dynamics AX 2012). We will create a service contract for the AIF service that will be exposed to the clients consuming this service. In our expense capture example, the middle-tier WCF service will consume the AIF service that we create (named UnreconciledExpenseService). For more guidance about creating custom AIF services, see Walkthrough: Exposing an X++ Class as a Data Contract [AX 2012]. Note: The following example uses a standard implementation of custom AIF service functionality. If you are already familiar with this, you can skip this section. Note: Although this example walks you through exposing a custom AIF service, you can apply the same principles to utilize Microsoft Dynamics AX document services or system services, such as the query service. The following points summarize the walkthrough article mentioned earlier: 1. Create the data contract. This is the data object that is passed into the service call. 2. Create the data members that will be exposed as part of the data contract. 3. Define the service class. 4. Implement the service operations offered by the service contract. 5. Add the service class to the Application Object Tree (AOT). 6. Create a basic inbound port for the service to deploy the service. 7. Activate the port to make it consumable by external clients. Development requirements To complete this walkthrough, you will need the following: Microsoft Dynamics AX 2012 installed and configured, together with the Active Directory server A development license for Microsoft Dynamics AX

8 For our sample code, which covers an expense capture scenario: The Travel and expense management module in Microsoft Dynamics AX 2012 The Human resources module in Microsoft Dynamics AX 2012 Microsoft Dynamics AX users added and mapped to workers, with the Employee role Create the data contract 1. In the Developer Workspace, create a class in the AOT named UnreconciledExpenseRecord. Set the RunOn property to Called from. 2. In the class declaration, define the data members. For our expense capture scenario, we want the user to send the expense amount, currency, expense date, and some notes. 3. Apply the DataContractAttribute attribute to the class. X++ [DataContractAttribute] public class UnreconciledExpenseRecord TransDate TrvFreeText AmountCur CurrencyCode transactiondate; notes; transactioncurrencyamount; transactioncurrencycode; Create the data members for the data contract Add new methods in the class, and apply the DataMemberAttribute attribute to these methods. X++ [DataMemberAttribute] public TrvFreeText parmnotes(trvfreetext _notes = notes) notes = _notes; return notes; [DataMemberAttribute] public AmountCur parmtransactioncurrencyamount( AmountCur _transactioncurrencyamount = transactioncurrencyamount) transactioncurrencyamount = _transactioncurrencyamount; return transactioncurrencyamount; [DataMemberAttribute] public CurrencyCode parmtransactioncurrencycode( CurrencyCode _transactioncurrencycode = transactioncurrencycode) transactioncurrencycode = _transactioncurrencycode; return transactioncurrencycode; 8

9 X++ [DataMemberAttribute] public TransDate parmtransactiondate(transdate _transactiondate = transactiondate) transactiondate = _transactiondate; return transactiondate; Create the service class Create a class in the AOT named UnreconciledExpenseService, and set the RunOn property to Server. The class declaration is as follows. X++ /// <summary> /// The <c>trvunreconciledexpenseservice</c> is the unreconciled /// expense transaction Web service class. /// </summary> public class UnreconciledExpenseService // These macros are used to specify the SubCode on AifFaults. // Their values will not be translated allowing the consumer // of the service to identify the cause // of the fault and take appropriate action. #DEFINE.ParameterValidationError('ParameterValidationError') #DEFINE.UnreconciledExpenseCreationFailed('UnreconciledExpenseCreationFailed') Create the service operations In the UnreconciledExpenseService class, create a public method named createrecord, which will take a reference of an unreconciled expense transaction that the user submitted and insert the data into the TrvUnreconciledExpenseTransaction table. X++ [SysEntryPointAttribute(true)] public recid createrecord(unreconciledexpenserecord _unreconciledexpenserecord) TrvUnreconciledExpenseTransaction recid recid createdrecid; workerid; unreconciledexpensetrans; if (!_unreconciledexpenserecord) // An instance of data contract class is required throw error(error::wronguseoffunction(funcname())); 9

10 X++ workerid = DirPersonUser::findUserWorkerReference(curUserId()); //Validates if user is related to a worker in AX if (workerid == 0) throw AifFault::faultList("@SYS335749", #ParameterValidationError); ttsbegin; unreconciledexpensetrans.transdate = _unreconciledexpenserecord.parmtransactiondate(); unreconciledexpensetrans.worker = workerid; unreconciledexpensetrans.notes = _unreconciledexpenserecord.parmnotes(); unreconciledexpensetrans.transactioncurrencyamount = _unreconciledexpenserecord.parmtransactioncurrencyamount(); unreconciledexpensetrans.transactioncurrencycode = _unreconciledexpenserecord.parmtransactioncurrencycode(); if (unreconciledexpensetrans.validatewrite()) unreconciledexpensetrans.insert(); ttscommit; createdrecid = unreconciledexpensetrans.recid; if (!createdrecid) //Creation of record failed throw AifFault::faultList("@SYS335750, #UnreconciledExpenseCreationFailed); return createdrecid; As you can see in the preceding code, we are fetching the worker who is associated with the expense based on a current user ID. As you will see in the Create the middle-tier WCF service section, the call to the service operation is made under the context of the mobile Microsoft Dynamics AX user submitting the request by setting the CallContext property. Therefore, the curuserid value will be the Microsoft Dynamics AX user ID of the original user submitting the request. Create the service contract To create the service contract that is made available to clients consuming the service, create a new service in the Services node of the AOT that implements the service class we created (UnreconciledExpenseService). You must also add the operation exposed by the class (createrecord). For guidance, see Walkthrough: Exposing an X++ Class as a Data Contract [AX 2012]. 10

11 Create a privilege to secure the service operation At this point, we want to create a special privilege to help provide secure access when the createrecord method is called. We require that this privilege be added to the Employee role (AOT name: HCMEmployee), so that only those users who have this privilege call the createrecord service method. Create a privilege and add the operation to the Entry Points object of the Privilege. 1. In the Development workspace go to AOT > Security > Privileges > Right click and New Privilege. 2. Add a privilege and name it UnreconciledExpenseServiceCreate. 3. Go to the Entry Point node and right click and add a New Entry point and set: Property Name ObjectType ObjectName ObjectChildName AccessLevel Value UnreconciledExpenseServiceCreate ServiceOperation UnreconciledExpenseService createrecord Invoke 4. You can now add this Privilege to the Duty TrvTravelAndExpenseServiceOperations. (AOT> Security>Duties>New Privilege) Note: This duty is already incorporated in the HCMEmployee role s list of duties. Note: If you have Dynamics AX 2012 R2 installed, you will also need to add two more privileges (LogisticsAddressCountryRegionView and LogisticsPostalAddressView) to the TrvTravelAndExpenseServiceOperations duty for the above implemented createrecord operation to work correctly. Create a basic inbound integration port The following instructions pertain to the middle-tier WCF service only. When using the AIF Windows Azure Service Bus Adapter, do not create a basic inbound integration port. Instead, go to Deploy the AIF service using the AIF Windows Azure Service Bus Adapter. In order to deploy the service we must create a basic inbound integration port. First, we need to register the service in the AOT: Go to the Service that we created in the step above: \Services\UnreconciledExpenseService. 11

12 Right-click > Add-Ins > Register service. The AIF services window will open. Verify if the service that you created is in the list of AIF services. Close the form. Next, we need to activate the port in order to make it available to external clients: Click System Administration > Setup > Services and Application Integration Framework > Inbound ports. Click New to create a new inbound port for this service. Specify a Port name for example: UnreconciledExpense Click on Service operations to add a required service operation. In our example, add operation UnreconciledExpenseService.createRecord from the list of remaining service operations and then close. Click Activate to activate the port. Verify that the service has been correctly deployed 1. In the Inbound ports form, copy the WSDL URI. 2. Open the WSDL URI in a browser to view the WSDL file. To consume the service, clients need to add the WSDL URI address as the service reference to generate the service proxy. Establish a listener to the Windows Azure Service Bus Both the AIF service that is published using the Service Bus adapter and a middle-tier WCF service will establish a listener to the Windows Azure Service Bus. This listener is an out-bound connection to the Service Bus on which incoming messages from clients are relayed. A message relayed in this manner is then routed to Microsoft Dynamics AX by a routing service hosted in IIS 7.5 (if using the Service Bus adapter) or by the routing service in the middle-tier WCF service. 12

13 A middle-tier WCF service Creating a WCF service that deploys its listening endpoint on a Windows Azure Service Bus namespace involves the following tasks: Define a service contract that is in line with the requirements of the AIF service contract (that is, clients pass data that is required by the AIF service per the business scenario). Define a URI that is used to listen on the Service Bus for example, Set up a secure channel (HTTP relay binding) with the Service Bus. Extract information from the incoming message sent by the client. (The client application creates its request by using the service proxy generated from the WCF service, and sends the request to this endpoint URI. The Service Bus will relay the message to the middle-tier WCF service). The WCF service then calls the AIF service and passes all the data the AIF service needs. It is very important that only authorized users be allowed to send and receive messages through the Service Bus. In addition, we require that only authorized users be able to make calls to the WCF service. These users exist in an enterprise s Active Directory Domain Services and can be authenticated by a deployed Active Directory Federation Service (AD FS). Furthermore, we need to call the AIF service in the context of the authorized user, and therefore need information about the user in the data that is passed from the client to the WCF service. 13

14 AIF Windows Azure Service Bus Adapter The AIF Windows Azure Service Bus Adapter extends the existing AIF functionality and uses IIS 7.5 to provide a method to deploy services by using cloud computing. The following infrastructure helps accomplish this: IIS 7.5 The Service Bus adapter leverages IIS to host Microsoft Dynamics AX services published with an HTTP adapter, or by using the new Service Bus adapter. IIS hosts the Service Bus listener and a routing service (both of which are WCF services) that work in tandem to pass messages from the Service Bus to Microsoft Dynamics AX. Authentication Classes Each call to Microsoft Dynamics AX services through the Service Bus must be authenticated. With the Service Bus adapter hotfix, the AIF now allows registering authentication classes to authenticate inbound Service Bus messages and extract the user s Microsoft Dynamics AX credentials. Registering authentication classes is a one-time configuration step, and the authentication classes can be used across multiple Service Bus namespaces and published services after they are registered. AIF Service Bus Namespace Registration Registering a Service Bus namespace is a one-time step for each namespace you wish to use. Registration includes supplying the namespace name, access key credentials, authentication classes, and X.506 signing certificate that is used to sign the ADFS SAML token. The AIF uses all of these in order to establish trust with the Service Bus before opening a connection. AIF Windows Azure Service Bus Adapter After you have registered a Service Bus namespace with AIF, you can begin publishing Microsoft Dynamics AX services by using the AIF Windows Azure Service Bus Adapter. The process of publishing Microsoft Dynamics AX AIF services has not changed. Create a new port (using the form AifInboundPorts form), select the AIF Windows Azure Service Bus Adapter, and then select the service operations to expose on the port. After you activate the port, your service will be accessible from the cloud. For more information about adapters, see All of these items are described in detail in Deploy the AIF service to the Azure Service Bus. Comparing the Middle-tier WCF Service and the AIF Windows Service Bus Adapter Use the following table to compare the capabilities and requirements of the Middle-tier WCF service and the AIF Windows Azure Service Bus Adapter. Both options provide solutions for mobile application development, but they differ in implementation, infrastructure, and technical capabilities. The following table highlights the differences. Configuration and Setup Middle-tier WCF Service Requires developing the Middle-tier WCF service. AIF Windows Azure Service Bus Adapter Can be configured by an administrator. Configuring custom authentication may require a developer. Failover Support IIS Does not require IIS Requires IIS 7.5 to host the Service Bus listener. Failover is handled by installing multiple middle-tier WCF services on separate machines. Failover is handled through available IIS failover strategies. 14

15 Multiplicity Routing to multiple AX instances REST support Protocol support Logging and eventing Authentication Can listen to multiple Service Bus namespaces simultaneously from one middle-tier WCF service instance. Each middle-tier WCF service can serve multiple AX instances. The WCF service developer creates this routing behavior. Can be configured to expose a RESTful endpoint, or any other service contract type and binding that is possible in WCF as a façade for the backing AIF service. Endpoints hosted on Service Bus can support any transport (such as HTTP andnet.tcp) or messaging (such as SOAP and JSON) protocols available for a WCF service, including custom message encoders or other service behaviors (enabling compression or other message manipulation or inspection, for example). As part of configuring the Middle-tier WCF service, a developer must write a logging service. Endpoints can be either authenticated or unauthenticated (to allow client bootstrapping traffic, for example). Each Service Bus namespace must be registered with exactly one IIS website. An IIS instance can host multiple websites. Each IIS website can serve a different Microsoft Dynamics AX instance. Each website is tied to exactly one Service Bus namespace within a Microsoft Dynamics AX instance. We recommend that you do not share a website across Microsoft Dynamics AX instances. Not currently supported. The SOAP service contract exposed to the client on Service Bus is always identical to the service contract as defined in Microsoft Dynamics AX. Supports only HTTPS for service calls. Logs connection status in IIS event log. Endpoints must always be authenticated, so it is the client s responsibility to know which identity provider to authenticate against. Choosing between the two approaches is primarily a matter of balancing customizability with development costs. The middle-tier WCF service has higher development costs because it requires you to manually create and install a WCF service that listens to the Service Bus and routes service calls to Microsoft Dynamics AX. However, with the middle-tier WCF service you can use the messaging protocols of your choice, expose different contracts to your clients, provide custom message routing behavior, and serve multiple installations of Microsoft Dynamics AX or other back-end systems. The Service Bus adapter has a lower development cost because automatically creates a WCF service and hosts it in IIS. By using the Service Bus adapter, your only development costs are in configuration: providing Service Bus information (namespace, access key), AD FS information (certificate thumbprint), and registering authentication classes. However using the Service Bus adapter does not allow customization of the WCF service that is hosted in IIS. The WCF service hosted in IIS can perform only the action of authenticating and routing service calls. The routing behavior only supports routing relayed messages to the installation of Microsoft Dynamics AX that the service was published from. Next, we will walk through the steps that are necessary to build the middle-tier WCF service, followed by the steps that are necessary to publish a service using the AIF Windows Azure Service Bus Adapter. Create the middle-tier WCF service Prerequisites An X.509 token signing certificate is installed on the AD FS 2.0 server and on the machine running the WCF service, in the Trusted Root Certification Authorities store. For guidance, see Microsoft Dynamics AX Connector for Mobile Applications. You have the thumbprint from that certificate. 15

16 A Windows Azure Service Bus namespace has been created, and the shared secret and issuer name for the namespace are available. For guidance, see Microsoft Dynamics AX Connector for Mobile Applications. The machine that the middle-tier WCF service runs on should be in the same domain or on the same network as the Microsoft Dynamics AX 2012 AOS machine (which can be the same machine or a different one). Overview The following steps are required to create the WCF SOAP-based service that will receive service requests from the mobile client, relayed by the Service Bus. For the following example, we will create the WCF service as a Windows service. Development requirements Microsoft Visual Studio 2010 and the Microsoft.NET Framework version 4. The Service Bus component (Microsoft.ServiceBus.dll), which is included with the Windows Azure Libraries for.net. To install it, visit the Windows Azure SDK download page. The Windows Identity Foundation runtime, which can be downloaded from Windows Identity Foundation (WIF) SDK. Download the 4.0 version for Visual Studio 2010 and the.net Framework version 4.0. For more information about the WIF SDK, see Windows Identity Foundation SDK. Create the service contract and operation contract 1. Open Visual Studio, and create a new Windows Service.NET Framework version 4 project named ExpenseConnectorService. 16

17 2. Rename the Service1.cs class ConnectorService.cs. This class contains the OnStart and OnStop methods for the Windows service, which we will use to open a listening endpoint. using System.ServiceModel; using System.ServiceProcess; namespace ExpenseConnectorService public partial class ConnectorService : ServiceBase private ServiceHost host; public ConnectorService() InitializeComponent(); protected override void OnStart(string[] args) // Deploy the endpoint protected override void OnStop() // Close the endpoint connection 3. Add the System.ServiceModel reference to the project, and include the System.ServiceModel namespace in all the following classes. 4. Add a new interface for the service contract, named IExpenseService, to the project, and create the service contract and operation contract as shown here. [ServiceContract(Name = "ExpenseServiceContract", Namespace = " public interface IExpenseServiceContract [OperationContract] long CreateExpense(DateTime datetime, decimal amount, string currency, string comments); 17

18 5. Create another class for the service operation implementation. Per the contract we created, create a class named ExpenseService, which implements the IExpenseServiceContract interface. [ServiceBehavior(Name = "ExpenseService")] public class ExpenseService : IExpenseServiceContract public long CreateExpense(DateTime datetime, decimal amount, string currency, string comments) // Implementation Any client consuming this service will make a call to the service s CreateExpense operation and will be required to pass information as stated in the method parameters. Later, we will add code to this method that will process the incoming SOAP message in the following way: Extract the Security Assertion Markup Language (SAML) token from the header of the message. The token is issued by the identity provider (the corporation s Active Directory Federation Service). Perform token validation. Extract the claim assertion that was requested (the windowsaccountname claim). Use the expense data embedded in the SOAP message body, and make a call to the AIF service operation. All the processing, validating, and extracting of claims from the token is facilitated by the Windows Identity Foundation libraries. Add a service reference of the AIF service We need to generate a client proxy of the AIF service to gather the service contract, bindings, and address for the AIF endpoint. To add the service reference, we use the WSDL exposed by the inbound port that was activated in the Design and create the AIF service in Microsoft Dynamics AX 2012 section. 18

19 1. Go to Solution Explorer, right-click References, and then select Add service reference. In the Add Service Reference form, enter the WSDL address You will see the createrecord operation exposed by the service. Edit the namespace, naming it AXExpenseServiceReference, and then click OK to add the reference to the project. The reference shows up in the Service References node in Solution Explorer. Also observe that the client proxy file named Reference.cs is generated within the project in a folder (\Service References). 2. Observe that several changes have automatically been made to the app.config file in the project with regard to the bindings, security protocols, and so on, and also the URI of the endpoint deployed to enable the middle-tier service to communicate with the AIF endpoint on Microsoft Dynamics AX. Verify that the following configuration values are created in the app.config file. 19

20 NetTcpBinding specification for connecting to the AIF endpoint exposed on the AOS server APP.CONFIG <system.servicemodel> <bindings> <nettcpbinding> <binding name="nettcpbinding_unreconciledexpenseservice" closetimeout="00:01:00" opentimeout="00:01:00" receivetimeout="00:10:00" sendtimeout="00:01:00" transactionflow="false" transfermode="buffered" transactionprotocol="oletransactions" hostnamecomparisonmode="strongwildcard" listenbacklog="10" maxbufferpoolsize="524288" maxbuffersize="65536" maxconnections="10" maxreceivedmessagesize="65536"> <readerquotas maxdepth="32" maxstringcontentlength="8192" maxarraylength="16384" maxbytesperread="4096" maxnametablecharcount="16384"/> <reliablesession ordered="true" inactivitytimeout="00:10:00" enabled="false"/> <security mode="transport"> <transport clientcredentialtype="windows" protectionlevel="encryptandsign"/> <message clientcredentialtype="windows"/> </security> </binding> </nettcpbinding> </bindings> </system.servicemodel> Definition of the endpoint address, binding configuration, and contract of the AIF service APP.CONFIG <client> <!-- This address should be set to the URI of the endpoint deployed on AX. It should be of the form: "net.tcp://<aos_machine_name>:8201/dynamicsax/services/<inbound_port_name>" --> <endpoint address="net.tcp://aosmachine:8201/dynamicsax/services/unreconciledexpense" binding="nettcpbinding" bindingconfiguration="nettcpbinding_unreconciledexpenseservice" contract="axexpenseservicereference.unreconciledexpenseservice" name="nettcpbinding_unreconciledexpenseservice"> </endpoint> </client> As shown in the <client> element, the endpoint address can be configured to point to a machine that hosts the AOS machine on which the AIF service is deployed and activated. In this way, the middle-tier service can be run on any machine, provided that it is on the same network as the AOS machine, to make the service call by using the NetTcp binding. Call the AIF service operations After you have added the service reference, the next step is to use its operation contract and make the necessary method call. 20

21 1. Include the AIF service namespace ExpenseConnectorService.AXExpenseServiceReference in the ExpenseService class. using ExpenseConnectorService.AXExpenseServiceReference; 2. Create a new private method named SubmitExpenseToAX, which will do the following: 1. Populate the values of the UnreconciledExpenseRecord data member of the UnreconciledExpenseService AIF service 2. Call UnreconciledExpenseService s createrecord operation 3. Return the result (the RecID value returned by the AIF service operation) Later, we will call this method in the exposed service operation (CreateExpense). private long SubmitExpenseToAX(DateTime datetime, decimal amount, string currency, string comments, string windowsaccountname) UnreconciledExpenseRecord record = new UnreconciledExpenseRecord() ; parmnotes = comments, parmtransactioncurrencyamount = amount, parmtransactiondate = datetime, parmtransactioncurrencycode = currency using (UnreconciledExpenseServiceClient client = new AXExpenseServiceReference.UnreconciledExpenseServiceClient()) UnreconciledExpenseRecord expenserecord = record; CallContext callcontext = new CallContext() LogonAsUser = windowsaccountname ; return client.createrecord(callcontext, expenserecord); The preceding method creates an instance of the service s client, sets the data member values, and then makes the final call to the createrecord operation. Also notice the CallContext object that is passed into the service call. In Microsoft Dynamics AX, values such as the user, company, and so on can be used when the service call is executed and are sent in the message header from the service client by using the CallContext object. In our example, we want to pass the mobile user s information when making the createrecord call, so that the unreconciled expense is created in the context of the user. LogonAsUser has been set to windowsaccountname. This is the value of the claim that was requested from the AD FS (in the form domain\useralias) and identifies the user who submitted the request from the client. Remember that this user must exist in the Microsoft Dynamics AX system, and because Microsoft Dynamics AX uses the same Active Directory service as the identity provider, it will recognize and then be able to authorize this user. 21

22 Set up the Service Bus relay and deploy the listening endpoint for the middle-tier WCF service To configure the middle-tier service s endpoint to listen on the Service Bus, we need to update the app.config file as follows: Add a BasicHttpRelayBinding binding for communicating with the Service Bus. Provide the service contract name and the service endpoint address. Set up the required binding configuration by specifying Service Bus credentials. 1. Define the BasicHttpRelayBinding configuration by adding the following under the <bindings> element in the <system.servicemodel> section. APP.CONFIG <basichttprelaybinding> <binding name="basichttprelaybinding_servicebus"> <security mode="transport" relayclientauthenticationtype="relayaccesstoken"/> </binding> </basichttprelaybinding> The preceding configuration sets the binding to have end-to-end transport security. We also set the value of the relayclientauthenticationtype parameter to RelayAccessToken, which forces clients of the service to authenticate to the Service Bus before sending across any messages. As shown in Figure 1, to connect to the Service Bus, the client presents the Service Bus with the security token (SWT) issued by the ACS. 22

23 2. Define configuration values for the endpoint behavior. APP.CONFIG <behaviors> <endpointbehaviors> <behavior name="sharedsecretclientcredentials"> <transportclientendpointbehavior credentialtype="sharedsecret"> <clientcredentials> <!-- The issuername & issuersecret here should be set to the values for the service account on Service Bus you wish to use to listen. By default, the namespace will come with an admin user (issuername) of "owner" with a 256-bit secret key (issuersecret) available in the Windows Azure management portal.--> <sharedsecret issuername="owner" issuersecret="xxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxx="/> </clientcredentials> </transportclientendpointbehavior> </behavior> </endpointbehaviors> </behaviors> As shown in the preceding configuration, transportclientendpointbehavior is used to specify the Service Bus credentials for the endpoint that will be deployed on the Service Bus. The shared secret values of issuername and issuersecret are values of Default Issuer and Default Key of your namespace that was set up in Windows Azure Management Portal. Note: If you want to collect the necessary information from the user at run time via a UI, System.ServiceModel and Microsoft.ServiceBus provide APIs to set all these configuration values programmatically. 3. Deploy the listening endpoint. To specify the service contract for the middle-tier service, the binding, and the behavior configuration (all of which were defined in the preceding points), add the following code snippet in the app.config file, under the <services> element. APP.CONFIG <services> <service name="expenseconnectorservice.expenseservice"> <endpoint address="" behaviorconfiguration="sharedsecretclientcredentials" binding="basichttprelaybinding" contract="expenseconnectorservice.iexpenseservicecontract"/> <host> <baseaddresses> <!-- This baseaddress should be set to the URI you intend to listen to on the Service Bus. It should be of the form: " --> <add baseaddress=" </baseaddresses> </host> </service> </services> 23

24 4. Deploy the metadata endpoint for the service. To generate a client proxy for our mobile client, we will need to expose a metadata endpoint address. Under the <behaviors>/<servicebehaviors> node, add the following. Make sure that you enable the servicemetadata node. APP.CONFIG <servicebehaviors> <behavior name="servicemetadata"> <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information --> <servicedebug includeexceptiondetailinfaults="false"/> <!--Enable this element when publishing metadata--> <servicemetadata /> </behavior> </servicebehaviors> We now need to update the <services> section that we used to specify the service contract, binding, and behavior configurations. Set behaviorconfiguration to servicemetadata, and then add a local MEX endpoint. APP.CONFIG <services> <service name="expenseconnectorservice.expenseservice" behaviorconfiguration="servicemetadata"> <endpoint address="" behaviorconfiguration="sharedsecretclientcredentials" binding="basichttprelaybinding" contract="expenseconnectorservice.iexpenseservicecontract"/> <endpoint contract="imetadataexchange" binding="mexhttpbinding" address=" /> Bus <host> <baseaddresses> <!-- This baseaddress should be set to the URI you intend to listen on the Service It should be of the form: " --> <add baseaddress=" </baseaddresses> </host> </service> </services> The client proxy that consumes this service can then be generated by using the metadata URI. 24

25 5. We also need to update the app.config file to register the preceding Service Bus behavior and binding extensions. APP.CONFIG <extensions> <behaviorextensions> <add name="transportclientendpointbehavior" type="microsoft.servicebus.configuration.transportclientendpointbehaviorelement, Microsoft.ServiceBus, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </behaviorextensions> <bindingextensions> <add name="basichttprelaybinding" type="microsoft.servicebus.configuration.basichttprelaybindingcollectionelement, Microsoft.ServiceBus, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </bindingextensions> </extensions> 6. Finally, open the Service Bus connection, and start listening on the endpoint. Note: The on-premises service connects to the relay service over ports ; however, if these are unavailable, the service will try to call back to port 80 (HTTP) or 443 (HTTPS). Add the following code snippets to the OnStart method in the ConnectorService class. protected override void OnStart(string[] args) // Note that all binding, endpoint, service, behavior configuration // for this ServiceHost is located in the app.config host = new ServiceHost(typeof(ExpenseConnectorService.ExpenseService)); WriteToEventViewer("Opening the Service endpoint connection " + host.baseaddresses[0].tostring()); try host.open(); WriteToEventViewer(string.Format("Listening on: 0", host.description.endpoints.find( typeof(expenseconnectorservice.iexpenseservice)).address)); catch (Exception e) WriteToEventViewer(e.Message); 25

26 private void WriteToEventViewer(string eventmessage) string source = "Expense WCF Service"; if (!EventLog.SourceExists(source)) EventLog.CreateEventSource(source, "Application"); EventLog.WriteEntry(source, eventmessage, EventLogEntryType.Information); protected override void OnStop() host.close(); You can also close the connection in the OnStop method. There are several events you may want to hook into and log, so that you can monitor the status of the relay binding and other such events. You can log events in the event viewer by using System.Diagnostics. 26

27 Validate and extract contents from incoming messages The next step is to inspect the message coming from the client. The incoming SAML message contains a header that holds the windowsaccountname claim in the security token. This claim is issued by the AD FS 2.0. For more information about requesting claims, see the Implement active federation and claims-based authorization for the mobile client section. Windows Identity Foundation is used to validate the security token and the issuer, after which we extract the claim that we need to make the AIF service call. 27

28 1. Update the app.config file, adding configuration values for handling the SAML security token issued by the AD FS. APP.CONFIG <microsoft.identitymodel> <service> <securitytokenhandlers> <securitytokenhandlerconfiguration> <audienceuris mode="never"/> <issuernameregistry type="microsoft.identitymodel.tokens.configurationbasedissuernameregistry, Microsoft.IdentityModel, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35"> <trustedissuers> <!-- The STS that issues the SAML token exchanged at ACS must be added as a trusted issuer here. The thumbprint & name values should be obtainable from the public signing certificate exposed on the STS' federation metadata --> <add thumbprint="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" name=""/> </trustedissuers> </issuernameregistry> </securitytokenhandlerconfiguration> </securitytokenhandlers> </service> </microsoft.identitymodel> APP.CONFIG <configsections> <section name="microsoft.identitymodel" type="microsoft.identitymodel.configuration.microsoftidentitymodelsection, Microsoft.IdentityModel, Version= , Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </configsections> The issuer (also known as the identity provider in our case, the corporate AD FS) uses a token signing certificate to digitally sign the SAML token. Therefore, the thumbprint of the token signing certificate must be specified in the service s configuration as shown in the first code snippet, in the <trustedissuers> section. This will be used to validate the digital signature when the token is validated. 2. Add Microsoft.IdentityModel and System.IdentityModel references to the project, and add the following namespaces to the ExpenseService.cs file. using System.IdentityModel.Tokens; using Microsoft.IdentityModel.Claims; using Microsoft.IdentityModel.Configuration; 3. Add an implementation to the CreateExpense service operation to do the following: 1. Extract the security token from the custom SOAP header PassthroughBinarySecurityToken. This header information is passed by the mobile client calling the service. 28

29 2. Inspect the SAML token. 3. Use WIF to validate the token by using the thumbprint and other configuration values from the service configuration. 4. Extract the required claim (windowsaccountname) from the token. 5. Make the call to the SubmitExpenseToAX method, which will make the AIF service call. public long CreateExpense(DateTime datetime, decimal amount, string currency, string comments) string samltokenheader = (string)operationcontext.current.incomingmessageheaders[operationcontext.current.incoming MessageHeaders.FindHeader("PassthroughBinarySecurityToken", "")].ToString(); string encodedsamltoken = samltokenheader.split('<', '>')[2]; byte[] bintoken = Convert.FromBase64String(encodedSamlToken); string samltoken = new string(encoding.utf8.getchars(bintoken)); // Load the app.config settings where we specify the audience & issuer that we'll // accept in a token var config = new ServiceConfiguration(); var handler = config.securitytokenhandlers[ Microsoft.IdentityModel.Tokens.SecurityTokenTypes.Saml11TokenProfile11]; ClaimsIdentityCollection claimsidentity = null; // Convert the raw token into something that can be inspected using (XmlReader reader = XmlReader.Create(new StringReader(samlTokenString))) SecurityToken token = handler.readtoken(reader); // This is the primary WIF call that // 1) Performs all the token validation // a. Format, token type, key type, version, etc. // b. Expiration // c. Audience/AppliesTo/Relying party // d. Issuer // e. Signature // 2) generates a ClaimsIdentityCollection that contains what the app actually // cares about claimsidentity = handler.validatetoken(token); IPrincipal principal = new ClaimsPrincipal(claimsIdentity); IClaimsIdentity identity = (IClaimsIdentity)principal.Identity; windowsaccountname = identity.claims.single(claim => claim.claimtype == " 29

30 return SubmitExpenseToAX(expenseData, windowsaccountname); Build and deploy the middle-tier WCF Windows service 1. Build the entire project. 2. Add the ProjectInstaller.cs file, and create an installer (Setup project) for the Windows service by following the guidance at Walkthrough: Creating a Windows Service Application in the Component Designer. 3. Make sure that you add the primary output from the ExpenseConnectorService project to the installer and all its dependencies (Microsoft.ServiceBus.dll, Microsoft.IdentityModel.dll, and the.net Framework dependencies). The user account that the service is deployed and run should be the.net Business Connector proxy account. By using a proxy, you guarantee that.net Business Connector can connect on behalf of Microsoft Dynamics AX users when it authenticates with an AOS instance. For more information about how to create and set up the.net Business Connector proxy account, see Specify the.net Business Connector proxy account [AX 2012]. Also, note the following requirements for the.net Business Connector proxy account: It must be a Windows domain account. It must be a dedicated account (used only by.net Business Connector). It must have a password that does not expire. It must not have interactive logon rights. It must not be a Microsoft Dynamics AX user. In addition, it is important that the.net Business Connector proxy user account be added as an Administrator on the machine running the service (so that it has access to the ports required to deploy listening endpoints on the Service Bus). 4. Run the installer, and provide the.net Business Connector proxy user s user name and password, which will run the WCF Windows service. Deploy the AIF service using the AIF Windows Azure Service Bus Adapter Prerequisites The Service Bus component (Microsoft.ServiceBus.dll v1.8), which is included with the Windows Azure Libraries for.net. To install it, visit the Windows Azure SDK download page. (The Microsoft.ServiceBus.dll must be placed in the Bin folder of the website that the service is deployed to) You have installed the AIF Windows Azure Service Bus Adapter Hotfix: You have installed the AX Web Services on IIS 7.5. An X.509 token signing certificate is installed on the AD FS 2.0 server and on the machine that is running the WCF service, in the Trusted Root Certification Authorities store. For more information, see Microsoft Dynamics AX Connector for Mobile Applications. You have the thumbprint from that certificate. 30

31 A Windows Azure Service Bus namespace has been created, and the shared secret and issuer name for the namespace are available. For more information, see Microsoft Dynamics AX Connector for Mobile Applications. Overview The following steps enable publishing an AIF service that listens to messages incoming from the Azure Service Bus, without a middle-tier WCF service. You must register your Windows Azure Service Bus namespace with the AIF before you can publish services to the Service Bus. Registration requires that you supply the X++ and WCF authentication classes that will authenticate incoming Service Bus messages. Go to Create the authentication classes, and then go to Register your Service Bus namespace with the AIF. Next, see Publish your AIF service. Authentication overview The Service Bus requires each on-premises service to be authenticated and authorized to listen on a particular address before establishing a new relay connection. Clients must also be authenticated and authorized before the Service Bus will relay messages on their behalf. The Service Bus relies on ACS for authenticating services and clients. Service authentication Microsoft Dynamics AX services use a shared secret token provider to authenticate with the Service Bus. The shared secret is provided to the AIF when you Register your Service Bus Namespace. Client authentication The following two types of client authentication are required: Service Bus authentication Clients are required to provide a send claim in order to be able to send messages to a service on the Service Bus. The ACS must trust the identity provider used by the client. This must be set up as described in Microsoft Dynamics AX Connector for Mobile Applications. Microsoft Dynamics AX authentication When the Service Bus relays a message to the on-premises service, the caller identity is used to log on to Microsoft Dynamics AX. This caller identity is determined by calling a custom authentication component to parse the incoming message token and to provide a valid claims identity. The user specified by the claims identity must be a valid Microsoft Dynamics AX user. Sample authentication component A sample ADFS authentication component is provided here: You can use it as it is or modify it to suit your needs. This component searches for an ADFS token in a custom message header titled PassthroughBinarySecurityToken. If this token is found, the token is validated by using the trusted issuer thumbprint of the ADFS STS and the claims that are extracted. A Windows Account Name claim type identifies the user account. For more information, see Create custom authentication classes A custom authentication component has two parts: An X++ class that implements the AifAuthenticationManager interface and provides configuration information. A.NET class that implements the System.ServiceModel.ServiceAuthenticationManager interface to provide runtime authentication. 31

32 AifAuthenticationManager interface This X++ interface must be implemented by an X++ authentication manager class. This interface is used by the services framework to get information that is used to configure and deploy the custom authentication runtime component. X++ interface AifAuthenticationManager AifAuthenticationManagerName getname(); str getauthenticationmanagertype(); str getauthorizationpolicytype(); AifAssemblyName getauthenticationmanagerassemblyname(); Map getappsettings(); MenuItemNameDisplay getconfigurationdisplaymenuitem; Interface methods: AifAuthenticationManagerName getname() Returns the friendly name of the component. This is displayed for selection in the ServiceBus configuration form. str getauthenticationmanagertype() Returns the.net type of the WCF custom authentication class in the runtime assembly. str getauthorizationpolicytype() Returns the.net type of the WCF authorization policy class in the runtime assembly. AifAssemblyName getauthenticationmanagerassemblyname() Returns the name of the authentication assembly that contains the WCF custom authentication class. Map getappsettings() Returns custom settings that are required by the.net authentication component at authentication time. These settings are available in the AppSettings section of the web.config file, which is located in the IIS website directory. Returns null if app settings are not required. MenuItemNameDisplay getconfigurationdisplaymenuitem Returns the name of the display menu item for the configuration form of this component. Returns the empty string if no configuration form is available. 32

33 Custom authentication component A class that implements the following interfaces can perform custom authentication: System.ServiceModel.ServiceAuthenticationManager System.IdentityModel.Policy.IAuthorizationPolicy The System.ServiceModel.ServiceAuthenticationManager interface contains the ReadOnlyCollection method. ReadOnlyCollection<IAuthorizationPolicy> Authenticate( ReadOnlyCollection<IAuthorizationPolicy> authpolicy, Uri listenuri, ref Message message) The implementation of this method can inspect the request message and headers, perform the custom authentication, and set the authenticated principal on the message as a property. The System.IdentityModel.Policy.IAuthorizationPolicy interface has a the properties and the Evaluate method shown in the following example: bool Evaluate( EvaluationContext evaluationcontext, ref Object state ) The implementation of the Evaluate method sets the authenticated principal and identity on the security context of the message. Registering the authentication component Before an authentication component can be used, it must be registered with the Services framework. The registerauthenticationmanager and unregisterauthenticationmanager methods on the AifAuthenticationHelper class must be used to register and unregister the authentication component. Create an X++ job that calls these X++ methods to register/unregister the authentication components. When a component is registered, the.net assembly is uploaded to the database so that it is accessible to all AOS instances. The file path that you use must grant read permissions to the AOS service account. For more information about the AOS service account, see and and The following code shows the methods and describes the parameters: X++ static public void registerauthenticationmanager( AifAuthenticationManagerClass authenticationmanagerclass, FilePath assemblyfolder, boolean updateexisting = false) 33

34 AuthenticationManagerClass is class ID of the X++ authentication manager class AssemblyFolder is the path of the folder that contains the.net authentication manager assembly. UpdateExisting is the flag indicating that any existing assembly in the database should updated with the assembly in the folder. X++ static public void unregisterauthenticationmanager( AifAuthenticationManagerClass authenticationmanagerclass) authenticationmanagerclass is the class ID of the X++ authentication manager class Encryption key containers Encryption is used to protect confidential data in the web.config file. This requires a machine-level key container to be created and configured on all the involved machines. We have provided scripts for this process. Download the scripts here: These scripts use the IIS configuration utility aspnet_regiis.exe to manage the key containers. 1. Create an exportable machine-level key container on the IIS computer. Go to the directory where you want to export the container before running this script. In this example we use the root of the C drive. Windows Command Prompt C:\> CreateKeyContainer MyKey 2. Export the key container to an XML file. The following script will export the key container to MyKey.xml. Windows Command Prompt C:\> ExportKeyContainer MyKey 3. Import the key container into each machine (machine running IIS and machine running the AOS). Windows Command Prompt C:\> ImportKeyContainer MyKey MyKey.xml 4. On each machine, grant the appropriate users access to the key containers. For the IIS Machine, this user is the AppPool identity (which is the same as the BC proxy account). For the AOS machine, this is the AOS account (Network Service or domain account). For a Domain account: Windows Command Prompt C:\> GrantAccessToKeyContainer MyKey domain\user 34

35 For a Network account: Windows Command Prompt C:\> GrantAccessToKeyContainer MyKey 5. Delete the exported MyKey.xml files. In this example, we exported the MyKey file to the root of the C drive. This is important to prevent unauthorized access to the key container. Publish AIF Service using the Service Bus Adapter We are now going to publish the UnreconciledExpense service operation that we created in Create the service operation. Register your Service Bus namespace 1. Open the Microsoft Dynamics AX Client. Click System administration > Setup > Services and Application Integration Framework > Azure Service Bus Configuration. 2. Provide Service Bus details in the Azure Service Bus Configuration form: a. Supply your Azure Service Bus namespace, which was created when you registered the namespace by following instructions in Microsoft Dynamics AX Connector for Mobile Applications. b. Supply your Azure Service Bus issuer name and issuer secret. c. For Deployment website, select the IIS website to deploy the service on. d. For Class name, specify the authentication class that you registered. e. Click Configure. The Mobile Authentication Configuration form is shown. i. Enter the certificate thumbprint (from your ADFS). ii. Click Close. f. For the RSA key container name, type the name of the key container that you created previously in the Encryption key containers section. g. For a description, provide a description for the Service Bus namespace, as shown in the following illustration: 35

36 h. Click Close. Deploy your AIF service to the Azure Service Bus To create a new port to publish your service on: 1. Click System Administration > Services and Application Integration Framework > Inbound Ports. 2. Click New to create a new port. 3. Type the name of the port. It is a best practice to incorporate the name that you used for the Azure Service Bus namespace on the Azure Service Bus Configuration form (2- a). 4. Type a description of the port to provide a description of the services that this port hosts. 5. Select Azure Service Bus for Adapter. 6. Click the button beside the URI field to open the Select Azure Service Bus Namespace form, and select the namespace that you created. 7. Click OK. 36

37 8. Click the Service Operations button, which is located below Service Contract customizations. 9. Find the UnreconciledExpense service from Create the expense service operations in the right-hand pane. i. Select all of the operations on your service that you want to publish by highlighting each one, and then clicking the < button. ii. Click Close. 10. In the Inbound Ports form, highlight your port in the left-hand pane. 11. Click Activate. 12. The UnreconciledExpense Service is now published to IIS 7.5. The URL to access the Microsoft Dynamics AX service through the Service Bus is displayed in the URI: field, as shown in the previous illustration. For the example in this document, the URI field should be: You may now refer to the remainder of this document to develop the client that will communicate with Microsoft Dynamics AX using the AX service that you have published to the Windows Azure Service Bus. 37

38 Develop the client to communicate data to the middle-tier WCF service In this example and the sample code provided, we have made use of a Windows Phone application to represent a client for the backend service, but you are by no means limited to that. Clients could be anything ranging from Windows 8 apps in or JavaScript to.net services to websites. Development requirements Visual Studio 2010 with Windows Phone SDK 7.1 with the 7.8 update installed, or Visual Studio 2012 with Windows Phone SDK 8.0 installed. The Service Bus component (Microsoft.ServiceBus.dll), which is included with the Windows Azure Libraries for.net. To install it, visit the Windows Azure SDK download page. Overview This section will guide you through creating a Windows Phone client application that will consume the hosted Expense service on the Service Bus. First, you will create a Windows Phone application project and generate a client proxy to consume the middle-tier service. Then you will lay out the controls on the UI for accepting the required input from the user and handling all the control and page events. Create a Windows Phone application Open Visual Studio, and create a Windows Phone app project for example, ContosoMobileApp. For more information about Windows Phone development, see Getting started with developing for Windows Phone. A recommended way for developing Windows Phone apps is to use the MVVM pattern for Windows Phone apps. See Developing a Windows Phone Application using the MVVM Pattern. Add the middle-tier WCF service reference 1. Right-click References, and add a service reference. You will need to enter the MEX URL that was specified in the Create the middle-tier WCF service section. Note: The middle-tier service must be running at this point, and its metadata endpoint must be enabled, so that the client can fetch the metadata of the service and generate the client proxy file (Reference.cs). 38

39 2. Notice that a ServiceReferences.Clientconfig file is created. Make sure that the following binding information for the client exists. APP.CONFIG <configuration> <system.servicemodel> <bindings> <basichttpbinding> <binding name="basichttprelaybinding_expenseservicecontract" maxbuffersize=" " maxreceivedmessagesize=" "> <security mode="transport" /> </binding> </basichttpbinding> </bindings> <client> <endpoint address=" binding="basichttpbinding" bindingconfiguration="basichttprelaybinding_expenseservicecontract" contract="expenseservicereference.expenseservicecontract" name="basichttprelaybinding_expenseservicecontract" /> </client> </system.servicemodel> </configuration> 39

Ektron in the Azure Cloud. Doc. Rev. 1.6 (Mar. 2012)

Ektron in the Azure Cloud. Doc. Rev. 1.6 (Mar. 2012) Ektron 8.5 Ektron, Inc. Ektron, Inc. 542 Amherst St. Nashua, NH 03063 Tel: +1 603-594-0249 Fax: +1 603-594-0258 Email: sales@ektron.com http://www.ektron.com 2012 Ektron, Inc. All rights reserved. For

More information

Configure Microsoft Dynamics AX Connector for Mobile Applications

Configure Microsoft Dynamics AX Connector for Mobile Applications Microsoft Dynamics AX 2012 Configure Microsoft Dynamics AX Connector for Mobile Applications White Paper April 2013 www.microsoft.com/dynamics/ax Send suggestions and comments about this document to adocs@microsoft.com.

More information

This module provides an overview of service and cloud technologies using the Microsoft.NET Framework and the Windows Azure cloud.

This module provides an overview of service and cloud technologies using the Microsoft.NET Framework and the Windows Azure cloud. Module 1: Overview of service and cloud technologies This module provides an overview of service and cloud technologies using the Microsoft.NET Framework and the Windows Azure cloud. Key Components of

More information

Workflow approval via email

Workflow approval via email Microsoft Dynamics AX Workflow approval via email White Paper This document highlights the functionality in Microsoft Dynamics AX 2012 R2 that allows workflow to be configured so that a user can take approval

More information

MS 10978A Introduction to Azure for Developers

MS 10978A Introduction to Azure for Developers MS 10978A Introduction to Azure for Developers Description: Days: 5 Prerequisites: This course offers students the opportunity to learn about Microsoft Azure development by taking an existing ASP.NET MVC

More information

Course 10978A Introduction to Azure for Developers

Course 10978A Introduction to Azure for Developers Course 10978A Introduction to Azure for Developers Duration: 40 hrs. Overview: About this Course This course offers students the opportunity to take an existing ASP.NET MVC application and expand its functionality

More information

Perceptive Connector for Microsoft Dynamics AX

Perceptive Connector for Microsoft Dynamics AX Perceptive Connector for Microsoft Dynamics AX Installation and Setup Guide Version: 2.3.x Written by: Product Knowledge, R&D Date: October 2015 2015 Lexmark International Technology, S.A. All rights reserved.

More information

MOC 20487 DEVELOPING WINDOWS AZURE AND WEB SERVICES

MOC 20487 DEVELOPING WINDOWS AZURE AND WEB SERVICES ONE STEP AHEAD. MOC 20487 DEVELOPING WINDOWS AZURE AND WEB SERVICES Length: 5 Days Level: 300 Technology: Microsoft Visual Studio 2012 Delivery Method: Instructor-led (classroom) COURSE OUTLINE Module

More information

Setup Guide for AD FS 3.0 on the Apprenda Platform

Setup Guide for AD FS 3.0 on the Apprenda Platform Setup Guide for AD FS 3.0 on the Apprenda Platform Last Updated for Apprenda 6.0.3 The Apprenda Platform leverages Active Directory Federation Services (AD FS) to support identity federation. AD FS and

More information

Attacking WCF Web Services. AppSec DC. The OWASP Foundation. Brian Holyfield Gotham Digital Science http://www.gdssecurity.com labs@gdssecurity.

Attacking WCF Web Services. AppSec DC. The OWASP Foundation. Brian Holyfield Gotham Digital Science http://www.gdssecurity.com labs@gdssecurity. Attacking WCF Web Services AppSec DC November 12, 2009 Brian Holyfield Gotham Digital Science http://www.gdssecurity.com labs@gdssecurity.com The Foundation http://www.owasp.org Attacking WCF Web Services

More information

Introduction to Mobile Access Gateway Installation

Introduction to Mobile Access Gateway Installation Introduction to Mobile Access Gateway Installation This document describes the installation process for the Mobile Access Gateway (MAG), which is an enterprise integration component that provides a secure

More information

10978A: Introduction to Azure for Developers

10978A: Introduction to Azure for Developers 10978A: Introduction to Azure for Developers Course Details Course Code: Duration: Notes: 10978A 5 days This course syllabus should be used to determine whether the course is appropriate for the students,

More information

Microsoft MB6-872 Exam Questions & Answers

Microsoft MB6-872 Exam Questions & Answers Microsoft MB6-872 Exam Questions & Answers Number: MB6-872 Passing Score: 800 Time Limit: 120 min File Version: 40.4 http://www.gratisexam.com/ Microsoft MB6-872 Exam Questions & Answers Exam Name: Microsoft

More information

Contents. 1010 Huntcliff, Suite 1350, Atlanta, Georgia, 30350, USA http://www.nevatech.com

Contents. 1010 Huntcliff, Suite 1350, Atlanta, Georgia, 30350, USA http://www.nevatech.com Sentinet Overview Contents Overview... 3 Architecture... 3 Technology Stack... 4 Features Summary... 6 Repository... 6 Runtime Management... 6 Services Virtualization and Mediation... 9 Communication and

More information

Introduction to Azure for Developers

Introduction to Azure for Developers CÔNG TY CỔ PHẦN TRƯỜNG CNTT TÂN ĐỨC TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC LEARN MORE WITH LESS! Course 10978: Introduction to Azure for Developers Length: 5 Days Audience: Developers Level: 300 Technology:

More information

Safewhere*ADFS2Logging

Safewhere*ADFS2Logging Safewhere*ADFS2Logging User Guidelines Version: 1.0 Date: 18-06-2013 Globeteam A/S AD FS 2.0 HTTP Logging Module & Trace Logging, version 1.0 P a g e 1 Contents Introduction... 4 HTTP Logging Module...

More information

enterprise 'jroic'ssiona!

enterprise 'jroic'ssiona! Microsoft BizTalk 2010: Line of Business Systems Integration A practical guide to integrating Line of Business systems with BizTalk Server 2010 Kent Weare Richard Seroter Sergei Moukhnitski Thiago Almeida

More information

Developing Windows Azure and Web Services

Developing Windows Azure and Web Services Course M20487 5 Day(s) 30:00 Hours Developing Windows Azure and Web Services Introduction In this course, students will learn how to design and develop services that access local and remote data from various

More information

Introduction to Building Windows Store Apps with Windows Azure Mobile Services

Introduction to Building Windows Store Apps with Windows Azure Mobile Services Introduction to Building Windows Store Apps with Windows Azure Mobile Services Overview In this HOL you will learn how you can leverage Visual Studio 2012 and Windows Azure Mobile Services to add structured

More information

Microsoft Corporation. Project Server 2010 Installation Guide

Microsoft Corporation. Project Server 2010 Installation Guide Microsoft Corporation Project Server 2010 Installation Guide Office Asia Team 11/4/2010 Table of Contents 1. Prepare the Server... 2 1.1 Install KB979917 on Windows Server... 2 1.2 Creating users and groups

More information

OAuth 2.0 Developers Guide. Ping Identity, Inc. 1001 17th Street, Suite 100, Denver, CO 80202 303.468.2900

OAuth 2.0 Developers Guide. Ping Identity, Inc. 1001 17th Street, Suite 100, Denver, CO 80202 303.468.2900 OAuth 2.0 Developers Guide Ping Identity, Inc. 1001 17th Street, Suite 100, Denver, CO 80202 303.468.2900 Table of Contents Contents TABLE OF CONTENTS... 2 ABOUT THIS DOCUMENT... 3 GETTING STARTED... 4

More information

CLAIMS-BASED IDENTITY FOR WINDOWS

CLAIMS-BASED IDENTITY FOR WINDOWS CLAIMS-BASED IDENTITY FOR WINDOWS TECHNOLOGIES AND SCENARIOS DAVID CHAPPELL FEBRUARY 2011 SPONSORED BY MICROSOFT CORPORATION CONTENTS Understanding Claims-Based Identity... 3 The Problem: Working with

More information

Microsoft Dynamics CRM Event Pipeline

Microsoft Dynamics CRM Event Pipeline Microsoft Dynamics CRM Event Pipeline White Paper Published on: January 2014 2012 Rödl Consulting AG. All rights reserved Pipeline MS CRM 2011/ 2013 Event Table of Contents Introduction... 3 Event Pipeline

More information

Colligo Engage Windows App 7.0. Administrator s Guide

Colligo Engage Windows App 7.0. Administrator s Guide Colligo Engage Windows App 7.0 Administrator s Guide Contents Introduction... 3 Target Audience... 3 Overview... 3 Localization... 3 SharePoint Security & Privileges... 3 System Requirements... 4 Software

More information

CLOUD COMPUTING & WINDOWS AZURE

CLOUD COMPUTING & WINDOWS AZURE CLOUD COMPUTING & WINDOWS AZURE WORKSHOP Overview This workshop is an introduction to cloud computing and specifically Microsoft s public cloud offering in Windows Azure. Windows Azure has been described

More information

ADFS Integration Guidelines

ADFS Integration Guidelines ADFS Integration Guidelines Version 1.6 updated March 13 th 2014 Table of contents About This Guide 3 Requirements 3 Part 1 Configure Marcombox in the ADFS Environment 4 Part 2 Add Relying Party in ADFS

More information

widely available Windows Azure Service Bus 260 pages

widely available Windows Azure Service Bus 260 pages Windows Azure Service Bus Reference Seth Manheim and Ralph Squillace Summary: The Windows Azure Service Bus provides a hosted, secure, and widely available infrastructure for widespread communication,

More information

Microsoft 10978 - Introduction to Azure for Developers

Microsoft 10978 - Introduction to Azure for Developers 1800 ULEARN (853 276) www.ddls.com.au Microsoft 10978 - Introduction to Azure for Developers Length 5 days Price $4389.00 (inc GST) Version A Overview This course offers students the opportunity to take

More information

AVG Business Secure Sign On Active Directory Quick Start Guide

AVG Business Secure Sign On Active Directory Quick Start Guide AVG Business Secure Sign On Active Directory Quick Start Guide The steps below will allow for download and registration of the AVG Business SSO Cloud Connector to integrate SaaS application access and

More information

Contents. Overview 1 SENTINET

Contents. Overview 1 SENTINET Overview SENTINET Overview 1 Contents Introduction... 3 Customer Benefits... 4 Development and Test... 4 Production and Operations... 5 Architecture... 5 Technology Stack... 8 Features Summary... 8 Sentinet

More information

Introduction to Directory Services

Introduction to Directory Services Introduction to Directory Services Overview This document explains how AirWatch integrates with your organization's existing directory service such as Active Directory, Lotus Domino and Novell e-directory

More information

Single Sign-On Implementation Guide

Single Sign-On Implementation Guide Salesforce.com: Salesforce Winter '09 Single Sign-On Implementation Guide Copyright 2000-2008 salesforce.com, inc. All rights reserved. Salesforce.com and the no software logo are registered trademarks,

More information

Developing Microsoft Azure Solutions

Developing Microsoft Azure Solutions Course 20532A: Developing Microsoft Azure Solutions Page 1 of 7 Developing Microsoft Azure Solutions Course 20532A: 4 days; Instructor-Led Introduction This course is intended for students who have experience

More information

Developing Microsoft Azure Solutions 20532A; 5 days

Developing Microsoft Azure Solutions 20532A; 5 days Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc Developing Microsoft Azure Solutions 20532A; 5 days Course Description This

More information

PI Cloud Connect Overview

PI Cloud Connect Overview PI Cloud Connect Overview Version 1.0.8 Content Product Overview... 3 Sharing data with other corporations... 3 Sharing data within your company... 4 Architecture Overview... 5 PI Cloud Connect and PI

More information

Bentley CONNECT Dynamic Rights Management Service

Bentley CONNECT Dynamic Rights Management Service v1.0 Implementation Guide Last Updated: March 20, 2013 Table of Contents Notices...5 Chapter 1: Introduction to Management Service...7 Chapter 2: Configuring Bentley Dynamic Rights...9 Adding Role Services

More information

GOA365: The Great Office 365 Adventure

GOA365: The Great Office 365 Adventure BEST PRACTICES IN OFFICE 365 DEVELOPMENT 5 DAYS GOA365: The Great Office 365 Adventure AUDIENCE FORMAT COURSE DESCRIPTION STUDENT PREREQUISITES Professional Developers Instructor-led training with hands-on

More information

Introduction to the Mobile Access Gateway

Introduction to the Mobile Access Gateway Introduction to the Mobile Access Gateway This document provides an overview of the AirWatch Mobile Access Gateway (MAG) architecture and security and explains how to enable MAG functionality in the AirWatch

More information

Tenrox. Single Sign-On (SSO) Setup Guide. January, 2012. 2012 Tenrox. All rights reserved.

Tenrox. Single Sign-On (SSO) Setup Guide. January, 2012. 2012 Tenrox. All rights reserved. Tenrox Single Sign-On (SSO) Setup Guide January, 2012 2012 Tenrox. All rights reserved. About this Guide This guide provides a high-level technical overview of the Tenrox Single Sign-On (SSO) architecture,

More information

Managing trust relationships with multiple business identity providers (basics) 55091A; 3 Days

Managing trust relationships with multiple business identity providers (basics) 55091A; 3 Days Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc Managing trust relationships with multiple business identity providers (basics)

More information

Setup Guide Access Manager 3.2 SP3

Setup Guide Access Manager 3.2 SP3 Setup Guide Access Manager 3.2 SP3 August 2014 www.netiq.com/documentation Legal Notice THIS DOCUMENT AND THE SOFTWARE DESCRIBED IN THIS DOCUMENT ARE FURNISHED UNDER AND ARE SUBJECT TO THE TERMS OF A LICENSE

More information

This chapter describes how to use the Junos Pulse Secure Access Service in a SAML single sign-on deployment. It includes the following sections:

This chapter describes how to use the Junos Pulse Secure Access Service in a SAML single sign-on deployment. It includes the following sections: CHAPTER 1 SAML Single Sign-On This chapter describes how to use the Junos Pulse Secure Access Service in a SAML single sign-on deployment. It includes the following sections: Junos Pulse Secure Access

More information

Flexible Identity Federation

Flexible Identity Federation Flexible Identity Federation Quick start guide version 1.0.1 Publication history Date Description Revision 2015.09.23 initial release 1.0.0 2015.12.11 minor updates 1.0.1 Copyright Orange Business Services

More information

Sentinet for Windows Azure SENTINET

Sentinet for Windows Azure SENTINET Sentinet for Windows Azure SENTINET Sentinet for Windows Azure 1 Contents Introduction... 2 Customer Benefits... 2 Deployment Topologies... 3 Isolated Deployment Model... 3 Collocated Deployment Model...

More information

The Great Office 365 Adventure

The Great Office 365 Adventure COURSE OVERVIEW The Great Office 365 Adventure Duration: 5 days It's no secret that Microsoft has been shifting its development strategy away from the SharePoint on-premises environment to focus on the

More information

Colligo Briefcase for Windows 6.0. Administrator s Guide

Colligo Briefcase for Windows 6.0. Administrator s Guide for Windows 6.0 Administrator s Guide Contents Introduction... 3 Target Audience... 3 Overview... 3 Localization... 3 System Requirements... 4 Software Requirements... 4 Client Software Requirements...

More information

Enabling SSL and Client Certificates on the SAP J2EE Engine

Enabling SSL and Client Certificates on the SAP J2EE Engine Enabling SSL and Client Certificates on the SAP J2EE Engine Angel Dichev RIG, SAP Labs SAP AG 1 Learning Objectives As a result of this session, you will be able to: Understand the different SAP J2EE Engine

More information

IBM Campaign Version-independent Integration with IBM Engage Version 1 Release 3 April 8, 2016. Integration Guide IBM

IBM Campaign Version-independent Integration with IBM Engage Version 1 Release 3 April 8, 2016. Integration Guide IBM IBM Campaign Version-independent Integration with IBM Engage Version 1 Release 3 April 8, 2016 Integration Guide IBM Note Before using this information and the product it supports, read the information

More information

PingFederate. Windows Live Cloud Identity Connector. User Guide. Version 1.0

PingFederate. Windows Live Cloud Identity Connector. User Guide. Version 1.0 Windows Live Cloud Identity Connector Version 1.0 User Guide 2011 Ping Identity Corporation. All rights reserved. Windows Live Cloud Identity Connector User Guide Version 1.0 April, 2011 Ping Identity

More information

New Features in Neuron ESB 2.6

New Features in Neuron ESB 2.6 New Features in Neuron ESB 2.6 This release significantly extends the Neuron ESB platform by introducing new capabilities that will allow businesses to more easily scale, develop, connect and operationally

More information

Secret Server Installation Windows 8 / 8.1 and Windows Server 2012 / R2

Secret Server Installation Windows 8 / 8.1 and Windows Server 2012 / R2 Secret Server Installation Windows 8 / 8.1 and Windows Server 2012 / R2 Table of Contents Table of Contents... 1 I. Introduction... 3 A. ASP.NET Website... 3 B. SQL Server Database... 3 C. Administrative

More information

Cloud Powered Mobile Apps with Azure

Cloud Powered Mobile Apps with Azure Cloud Powered Mobile Apps with Azure Malte Lantin Technical Evanglist Microsoft Azure Agenda Mobile Services Features and Demos Advanced Features Scaling and Pricing 2 What is Mobile Services? Storage

More information

Security Best Practices for Microsoft Azure Applications

Security Best Practices for Microsoft Azure Applications Security Best Practices for Microsoft Azure Applications Varun Sharma Principal Security Engineer, Information Security & Risk Management (ISRM), Microsoft IT Service Lines Application Security Infrastructure

More information

Hybrid for SharePoint Server 2013. Search Reference Architecture

Hybrid for SharePoint Server 2013. Search Reference Architecture Hybrid for SharePoint Server 2013 Search Reference Architecture 2014 Microsoft Corporation. All rights reserved. This document is provided as-is. Information and views expressed in this document, including

More information

Course 20532B: Developing Microsoft Azure Solutions

Course 20532B: Developing Microsoft Azure Solutions Course 20532B: Developing Microsoft Solutions Five Days, Instructor-Led About this Course This course is intended for students who have experience building vertically scaled applications. Students should

More information

Developing Windows Azure and Web Services

Developing Windows Azure and Web Services CÔNG TY CỔ PHẦN TRƯỜNG CNTT TÂN ĐỨC TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC LEARN MORE WITH LESS! Course 20487: Developing Windows Azure and Web Services Length: 5 Days Audience: Developers Level: 300

More information

Centrify Cloud Connector Deployment Guide

Centrify Cloud Connector Deployment Guide C E N T R I F Y D E P L O Y M E N T G U I D E Centrify Cloud Connector Deployment Guide Abstract Centrify provides mobile device management and single sign-on services that you can trust and count on as

More information

Single Sign-On from Active Directory to a Windows Azure Application

Single Sign-On from Active Directory to a Windows Azure Application Single Sign-On from Active Directory to a Windows Azure Application December 16, 2010 Authors: Vittorio Bertocci, David Mowers Reviewers: Stuart Kwan, Paul Beck Abstract This paper contains step-by-step

More information

Configuring. Moodle. Chapter 82

Configuring. Moodle. Chapter 82 Chapter 82 Configuring Moodle The following is an overview of the steps required to configure the Moodle Web application for single sign-on (SSO) via SAML. Moodle offers SP-initiated SAML SSO only. 1 Prepare

More information

AVG Business SSO Connecting to Active Directory

AVG Business SSO Connecting to Active Directory AVG Business SSO Connecting to Active Directory Contents AVG Business SSO Connecting to Active Directory... 1 Selecting an identity repository and using Active Directory... 3 Installing Business SSO cloud

More information

Oracle Service Bus Examples and Tutorials

Oracle Service Bus Examples and Tutorials March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan

More information

BlackBerry Enterprise Service 10. Version: 10.2. Configuration Guide

BlackBerry Enterprise Service 10. Version: 10.2. Configuration Guide BlackBerry Enterprise Service 10 Version: 10.2 Configuration Guide Published: 2015-02-27 SWD-20150227164548686 Contents 1 Introduction...7 About this guide...8 What is BlackBerry Enterprise Service 10?...9

More information

Installation & Configuration Guide

Installation & Configuration Guide Installation & Configuration Guide Bluebeam Studio Enterprise ( Software ) 2014 Bluebeam Software, Inc. All Rights Reserved. Patents Pending in the U.S. and/or other countries. Bluebeam and Revu are trademarks

More information

Enabling Single-Sign-On between IBM Cognos 8 BI and IBM WebSphere Portal

Enabling Single-Sign-On between IBM Cognos 8 BI and IBM WebSphere Portal Guideline Enabling Single-Sign-On between IBM Cognos 8 BI and IBM WebSphere Portal Product(s): IBM Cognos 8 BI Area of Interest: Security Copyright Copyright 2008 Cognos ULC (formerly Cognos Incorporated).

More information

Microsoft Dynamics CRM Server 2011 software requirements

Microsoft Dynamics CRM Server 2011 software requirements Microsoft Dynamics CRM Server 2011 software requirements This section lists the software and application requirements for Microsoft Dynamics CRM Server 2011. Windows Server operating system: Microsoft

More information

Installing and Configuring vcenter Multi-Hypervisor Manager

Installing and Configuring vcenter Multi-Hypervisor Manager Installing and Configuring vcenter Multi-Hypervisor Manager vcenter Server 5.1 vcenter Multi-Hypervisor Manager 1.1 This document supports the version of each product listed and supports all subsequent

More information

ENABLING RPC OVER HTTPS CONNECTIONS TO M-FILES SERVER

ENABLING RPC OVER HTTPS CONNECTIONS TO M-FILES SERVER M-FILES CORPORATION ENABLING RPC OVER HTTPS CONNECTIONS TO M-FILES SERVER VERSION 2.3 DECEMBER 18, 2015 Page 1 of 15 CONTENTS 1. Version history... 3 2. Overview... 3 2.1. System Requirements... 3 3. Network

More information

PROVIDING SINGLE SIGN-ON TO AMAZON EC2 APPLICATIONS FROM AN ON-PREMISES WINDOWS DOMAIN

PROVIDING SINGLE SIGN-ON TO AMAZON EC2 APPLICATIONS FROM AN ON-PREMISES WINDOWS DOMAIN PROVIDING SINGLE SIGN-ON TO AMAZON EC2 APPLICATIONS FROM AN ON-PREMISES WINDOWS DOMAIN CONNECTING TO THE CLOUD DAVID CHAPPELL DECEMBER 2009 SPONSORED BY AMAZON AND MICROSOFT CORPORATION CONTENTS The Challenge:

More information

Using DSC with Visual Studio Release Management

Using DSC with Visual Studio Release Management Using DSC with Visual Studio Release Management With Microsoft Release Management 2013 Update 3 CTP 1 (RM), you can now use Windows PowerShell or Windows PowerShell Desired State Configuration (DSC) feature

More information

Sentinet for BizTalk Server SENTINET

Sentinet for BizTalk Server SENTINET Sentinet for BizTalk Server SENTINET Sentinet for BizTalk Server 1 Contents Introduction... 2 Sentinet Benefits... 3 SOA and APIs Repository... 4 Security... 4 Mediation and Virtualization... 5 Authentication

More information

SharePoint 2013 - Comparison of Features

SharePoint 2013 - Comparison of Features 2013 - Comparison of Features 2013 Features User Authentication and Authorization Foundation 2013 Server 2013 Standard Server 2013 Enterprise User authentication in 2013 is the process that verifies the

More information

WCF and Windows Activation Service(WAS)

WCF and Windows Activation Service(WAS) WCF and Windows Activation Service(WAS) We have writing WCF services for the last year or so and many have remarked that these can be a pain because of the hosting requirements. In fact I think some wonder

More information

Fusion Installer Instructions

Fusion Installer Instructions Fusion Installer Instructions This is the installation guide for the Fusion NaviLine installer. This guide provides instructions for installing, updating, and maintaining your Fusion REST web service.

More information

Introduction to the EIS Guide

Introduction to the EIS Guide Introduction to the EIS Guide The AirWatch Enterprise Integration Service (EIS) provides organizations the ability to securely integrate with back-end enterprise systems from either the AirWatch SaaS environment

More information

Microsoft Office 365 Using SAML Integration Guide

Microsoft Office 365 Using SAML Integration Guide Microsoft Office 365 Using SAML Integration Guide Revision A Copyright 2013 SafeNet, Inc. All rights reserved. All attempts have been made to make the information in this document complete and accurate.

More information

Identity Providers. Technical Reference. Interactive Intelligence Customer Interaction Center (CIC) Version 2016. Last updated November 5, 2015

Identity Providers. Technical Reference. Interactive Intelligence Customer Interaction Center (CIC) Version 2016. Last updated November 5, 2015 Identity Providers Technical Reference Interactive Intelligence Customer Interaction Center (CIC) Version 2016 Last updated November 5, 2015 (See Change Log for summary of changes.) Abstract This document

More information

Integrating Siebel CRM with Microsoft SharePoint Server

Integrating Siebel CRM with Microsoft SharePoint Server Integrating Siebel CRM with Microsoft SharePoint Server www.sierraatlantic.com Headquarters 6522 Kaiser Drive, Fremont CA 94555, USA Phone: 1.510.742.4100 Fax: 1.510.742.4101 Global Development Center

More information

Setup Guide Access Manager Appliance 3.2 SP3

Setup Guide Access Manager Appliance 3.2 SP3 Setup Guide Access Manager Appliance 3.2 SP3 August 2014 www.netiq.com/documentation Legal Notice THIS DOCUMENT AND THE SOFTWARE DESCRIBED IN THIS DOCUMENT ARE FURNISHED UNDER AND ARE SUBJECT TO THE TERMS

More information

Symplified I: Windows User Identity. Matthew McNew and Lex Hubbard

Symplified I: Windows User Identity. Matthew McNew and Lex Hubbard Symplified I: Windows User Identity Matthew McNew and Lex Hubbard Table of Contents Abstract 1 Introduction to the Project 2 Project Description 2 Requirements Specification 2 Functional Requirements 2

More information

To install Multifront you need to have familiarity with Internet Information Services (IIS), Microsoft.NET Framework and SQL Server 2008.

To install Multifront you need to have familiarity with Internet Information Services (IIS), Microsoft.NET Framework and SQL Server 2008. Znode Multifront - Installation Guide Version 6.2 1 System Requirements To install Multifront you need to have familiarity with Internet Information Services (IIS), Microsoft.NET Framework and SQL Server

More information

Architecture and Data Flow Overview. BlackBerry Enterprise Service 10 721-08877-123 Version: 10.2. Quick Reference

Architecture and Data Flow Overview. BlackBerry Enterprise Service 10 721-08877-123 Version: 10.2. Quick Reference Architecture and Data Flow Overview BlackBerry Enterprise Service 10 721-08877-123 Version: Quick Reference Published: 2013-11-28 SWD-20131128130321045 Contents Key components of BlackBerry Enterprise

More information

MS 20487A Developing Windows Azure and Web Services

MS 20487A Developing Windows Azure and Web Services MS 20487A Developing Windows Azure and Web Services Description: Days: 5 Prerequisites: In this course, students will learn how to design and develop services that access local and remote data from various

More information

Configuration Guide. BES12 Cloud

Configuration Guide. BES12 Cloud Configuration Guide BES12 Cloud Published: 2016-04-08 SWD-20160408113328879 Contents About this guide... 6 Getting started... 7 Configuring BES12 for the first time...7 Administrator permissions you need

More information

IBM WebSphere Adapter for Email 7.0.0.0. Quick Start Tutorials

IBM WebSphere Adapter for Email 7.0.0.0. Quick Start Tutorials IBM WebSphere Adapter for Email 7.0.0.0 Quick Start Tutorials Note: Before using this information and the product it supports, read the information in "Notices" on page 182. This edition applies to version

More information

Enabling SSO between Cognos 8 and WebSphere Portal

Enabling SSO between Cognos 8 and WebSphere Portal Guideline Enabling SSO between Cognos 8 and WebSphere Portal Product(s): Cognos 8 Area of Interest: Security Enabling SSO between Cognos 8 and WebSphere Portal 2 Copyright Your use of this document is

More information

Microsoft Dynamics AX 2012 Installation Guide. Microsoft Corporation Published: April 2011 This content is preliminary and is subject to change.

Microsoft Dynamics AX 2012 Installation Guide. Microsoft Corporation Published: April 2011 This content is preliminary and is subject to change. 2012 Installation Guide Microsoft Corporation Published: April 2011 This content is preliminary and is subject to change. Microsoft Dynamics is a line of integrated, adaptable business management solutions

More information

Enterprise Manager. Version 6.2. Installation Guide

Enterprise Manager. Version 6.2. Installation Guide Enterprise Manager Version 6.2 Installation Guide Enterprise Manager 6.2 Installation Guide Document Number 680-028-014 Revision Date Description A August 2012 Initial release to support version 6.2.1

More information

Dynamics CRM 2011. with Azure and SharePoint a perfect match. Central and Eastern Europe

Dynamics CRM 2011. with Azure and SharePoint a perfect match. Central and Eastern Europe Central and Eastern Europe Dynamics CRM 2011 with Azure and SharePoint a perfect match Almut Tadsen Dynamics ISV Developer Evangelist atadsen@microsoft.com Agenda for today Azure Execute your out of CRM

More information

CA MDM MOBILE DEVICE MANAGEMENT

CA MDM MOBILE DEVICE MANAGEMENT CA MDM MOBILE DEVICE MANAGEMENT Introduction, Setup and Troubleshooting of the Relay server and RSOE CAMDM Versions: 2014Q1, 2014Q1 SP1 Introduction to Relay Server and RSOE (relay server outbound enabler)

More information

Installation Guide for Pulse on Windows Server 2012

Installation Guide for Pulse on Windows Server 2012 MadCap Software Installation Guide for Pulse on Windows Server 2012 Pulse Copyright 2014 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software

More information

Advanced Configuration Administration Guide

Advanced Configuration Administration Guide Advanced Configuration Administration Guide Active Learning Platform October 2015 Table of Contents Configuring Authentication... 1 PingOne... 1 LMS... 2 Configuring PingOne Authentication... 3 Before

More information

Password Reset Server Installation Guide Windows 8 / 8.1 Windows Server 2012 / R2

Password Reset Server Installation Guide Windows 8 / 8.1 Windows Server 2012 / R2 Password Reset Server Installation Guide Windows 8 / 8.1 Windows Server 2012 / R2 Last revised: November 12, 2014 Table of Contents Table of Contents... 2 I. Introduction... 4 A. ASP.NET Website... 4 B.

More information

Using RD Gateway with Azure Multifactor Authentication

Using RD Gateway with Azure Multifactor Authentication Using RD Gateway with Azure Multifactor Authentication We have a client that uses RD Gateway to allow users to access their RDS deployment from outside their corporate network. They have about 1000+ users.

More information

Single Sign-On Implementation Guide

Single Sign-On Implementation Guide Single Sign-On Implementation Guide Salesforce, Winter 16 @salesforcedocs Last updated: November 4, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

Developing Microsoft Azure Solutions 20532B; 5 Days, Instructor-led

Developing Microsoft Azure Solutions 20532B; 5 Days, Instructor-led Developing Microsoft Azure Solutions 20532B; 5 Days, Instructor-led Course Description This course is intended for students who have experience building vertically scaled applications. Students should

More information

The Trusted Technology Partner in Business Innovation PASSION DISCIPLINE INNOVATION TEAMING INTEGRITY

The Trusted Technology Partner in Business Innovation PASSION DISCIPLINE INNOVATION TEAMING INTEGRITY The Trusted Technology Partner in Business Innovation PASSION DISCIPLINE INNOVATION TEAMING INTEGRITY SharePoint Search App Custom App for Advanced Searches Ken Mears Senior Consultant, Portals & Collaboration

More information

Configuring Single Sign-On from the VMware Identity Manager Service to Office 365

Configuring Single Sign-On from the VMware Identity Manager Service to Office 365 Configuring Single Sign-On from the VMware Identity Manager Service to Office 365 VMware Identity Manager JULY 2015 V1 Table of Contents Overview... 2 Passive and Active Authentication Profiles... 2 Adding

More information

DEPLOYMENT GUIDE Version 2.1. Deploying F5 with Microsoft SharePoint 2010

DEPLOYMENT GUIDE Version 2.1. Deploying F5 with Microsoft SharePoint 2010 DEPLOYMENT GUIDE Version 2.1 Deploying F5 with Microsoft SharePoint 2010 Table of Contents Table of Contents Introducing the F5 Deployment Guide for Microsoft SharePoint 2010 Prerequisites and configuration

More information

USING FEDERATED AUTHENTICATION WITH M-FILES

USING FEDERATED AUTHENTICATION WITH M-FILES M-FILES CORPORATION USING FEDERATED AUTHENTICATION WITH M-FILES VERSION 1.0 Abstract This article provides an overview of federated identity management and an introduction on using federated authentication

More information