Search

 

Version: 5.3.1 +

Applicable to: Futurama Webservice

 

Description

WarmUp is a Futurama functionality that makes the first request to a webservice faster. Mostly webservices that has lots of data, the first call takes longer than the following calls. This is because at the first request all data has to be loaded. With the warmUp functionality the data will be pre-loaded at the start of the webservice. Before you can make this work, there are a few steps to take.

Configuration

For the WarmUp functionality to work settings in IIS have to be configured and the "warmUpDocuments" setting has to be defined in the configuration-file. For detailed instruction about this configuration, see the page about Cache Configuration, chapter warmUpDocuments.

After the configuration you have to create a “WarmUpXmlBuilder” in the Futurama document(s) that contains the data you want to preload. In this XmlBuilder you have to define actions that evaluates the xml-data that will be used in the webservice calls. For instance you can use the formula "Length" to get the number of XmlFields. With this action the xml-data is evaluated. You have to define this actions in the XmlBuilder for all xml-data that you want to pre-load in the webservice request. You have to set a reference to the XmlBuilder in the document property "WarmUpXmlBuilder".

Example

Download files

To test the warmUp functionality you can download a sample of a Futurama document that uses the warmUp functionality described on this page. For instruction about how to install the sample document, please see the page about Webservice Installation.

To get the warmUp functionality of the sample document working, you have to define "savingsaccountwebservice.xml" as warmUpDocument in the configuration-file of the webservice:

<cache enabled="true" expirationInMinutes="100">
    <warmUpDocuments>
      <file pattern="^(savingsaccountwebservice.xml){1}$"></file>
    </warmUpDocuments>
</cache>

To test the webservice you can use the following request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.ActuIT.nl/Futurama/WebService">
	<soapenv:Header/>
	<soapenv:Body>
		<web:GetWebServiceResult>
			<web:location>
				<web:Document>savingsaccountwebservice.xml</web:Document>
				<web:Folder>SavingsAccountWarmUp</web:Folder>
				<web:WebServiceName>GetSavings</web:WebServiceName>
			</web:location>
			<web:inputxml>
				<data xmlns="http://www.futurama.eu/Safe2SaveWebservice">
					<cashbalance>10000</cashbalance>
					<interest>3</interest>
					<years>25</years>
					<percentile>95</percentile>
				</data>
			</web:inputxml>
		</web:GetWebServiceResult>
	</soapenv:Body>
</soapenv:Envelope>

To see if the warmUp actions were executed properly you can check the log-file (for instructions about logging, see page Log Configuration, the value of "messages" has to be "true"). If everything is set properly there will be a new log-file at every IIS restart. In this log-file you will see the following info messages:

<info message="Performing application startup actions. 1 warmUp expressions are defined."></info>

If everything is set properly, you will see that the first call to the webservice is much faster.

Related Topics

- Cache: Settings regarding the caching of Futurama documents

Feedback

If you have any questions about this subject or if you want to provide us feedback please send us an e-mail.

Updated: 2015-11-25