Futurama Logo

Welcome to the Futurama Support Site

The Futurama Support Site is the website where you can find Futurama and Futurama Vision documentation. If you have any questions about the support pages or if you want to provide us feedback please send us an e-mail.




Index Overview - Futurama Server
Previous  |  Next

 1      About Futurama
 1.1        Version information
 1.2        Getting Started
 1.2.1          Futurama Website
 1.2.1.1            Behavior of Futurama regarding TimeOuts, Login and Logoff
 1.2.1.2            Replacing an existing Futurama Session
 1.2.2          Futurama Webservice
 1.2.2.1            warmUpDocuments
 1.2.3          Futurama Export
 1.3        Overview - Futurama Modules
 1.3.1          Overview - Futurama Accounts
 1.3.2          Overview - Futurama Server
 1.3.3          Overview - Futurama Monitor
 1.3.4          Overview - Futurama Insight
 1.3.5          Overview - Futurama Console
 1.3.6          Overview - Futurama Webservice
 1.4        Loadbalancing Futurama applications
 1.4.1          Getting the most out of Futurama Web using the Load-Balancer
 1.4.2          Application Request Routing
 1.5        Text management and Multi-language
 2      Installation – Configuration – Testing
 2.1        Installation - Futurama Website Edition
 2.1.1          Installation Futurama HTML
 2.1.2          Installation Futurama Monitor
 2.1.3          Installation Futurama Insight
 2.1.4          Installation Futurama Accounts
 2.1.5          Installation SAML2LoadBalancer
 2.2        Installation - Futurama Export Edition
 2.2.1          Installation Futurama Console
 2.2.2          Installation Futurama Server
 2.3        Installation - Futurama Webservice Edition
 2.3.1          Installation Futurama Webservice
 2.4        Installation Futurama Editor
 2.5        Configuration
 2.5.1          Configuration - Cache
 2.5.2          Configuration - Calculation
 2.5.3          Configuration - Debug
 2.5.4          Configuration - File manager
 2.5.5          Configuration - Fileproviders
 2.5.6          Configuration - Format
 2.5.7          Configuration - History
 2.5.8          Configuration - Identity Provider
 2.5.9          Configuration - Log
 2.5.10           Configuration - Mail
 2.5.11           Configuration - Mapping
 2.5.12           Configuration - Monitor
 2.5.13           Configuration - PlugIns
 2.5.14           Configuration - Rendering
 2.5.15           Configuration - ScenarioRecording
 2.5.16           Configuration - Security
 2.5.17           Configuration - Server
 2.5.18           Configuration - Vision
 2.5.19           Configuration - WebAPI
 2.6        Logging
 2.7        Troubleshooting
 2.8        Security - hardening
 3      Updating and file compatibility
 3.1        Updating Futurama - Compatibility behavior
 3.2        Converting Futurama documents
 3.3        12819 - DataTable file updates
 3.4        12889 - DataTable file updates
 3.5        Conversion web.config to .NET Framework 4
 3.6        Deprecated conversion formulas
 4      Futurama Editor - How to
 4.1        At first glance
 4.2        Developing in the Futurama Editor
 4.2.1          Working with objects
 4.2.2          Evaluating objects
 4.2.3          Finding objects
 4.3        Transferring objects
 4.4        Testing objects
 4.5        Validating objects
 4.6        Troubleshooting objects
 4.7        Advanced/special functionality
 4.8        Checking the layout of objects
 5      Futurama - Formulas
 5.1        Futurama Formulas - Date and time
 5.1.1          Date
 5.1.2          Day
 5.1.3          Days360
 5.1.4          Days360Excel
 5.1.5          DaysInMonth
 5.1.6          DaysInPeriod
 5.1.7          Min
 5.1.8          Max
 5.1.9          Month
 5.1.10           Now
 5.1.11           WeekDay
 5.1.12           Year
 5.2        Futurama Formulas - Math
 5.2.1          Abs
 5.2.2          Add
 5.2.3          Divide
 5.2.4          Floor
 5.2.5          Ln
 5.2.6          Log
 5.2.7          Log10
 5.2.8          Mod
 5.2.9          Multiply
 5.2.10           Pi
 5.2.11           Power
 5.2.12           Rand
 5.2.13           Round
 5.2.14           RoundDown
 5.2.15           RoundUp
 5.2.16           SquareRoot
 5.2.17           Subtract
 5.3        Futurama Formulas - Statistical
 5.3.1          AverageDeviation
 5.3.2          Beta
 5.3.3          Binomial
 5.3.4          Covariance
 5.3.5          Factorial
 5.3.6          Gamma
 5.3.7          GeometricMean
 5.3.8          Lognormal
 5.3.9          Max
 5.3.10           Median
 5.3.11           Min
 5.3.12           Normal
 5.3.13           StandardDeviation
 5.3.14           Uniform
 5.3.15           Variance
 5.4        Futurama Formulas - Text
 5.4.1          CalculateBase64Hashcode
 5.4.2          CalculateXmlHashcode
 5.4.3          Concatenate
 5.4.4          ConcatenateBase64
 5.4.5          ContainsText
 5.4.6          Convert.CSV.2.XML
 5.4.7          ConvertFromBase64
 5.4.8          ConvertToBase64
 5.4.9          ConvertXml
 5.4.10           DecodeURL
 5.4.11           DecryptXml
 5.4.12           EncodeURL
 5.4.13           EncryptXml
 5.4.14           Find
 5.4.15           HashBase64EncodedFile
 5.4.16           HashBase64EncodedFileWithBase64
 5.4.17           HashText
 5.4.18           HashTextWithBase64
 5.4.19           Left
 5.4.20           Len
 5.4.21           Linefeed
 5.4.22           Lower
 5.4.23           Mid
 5.4.24           Proper
 5.4.25           ReadConfigKey
 5.4.26           ReadDirectoryNames
 5.4.27           ReadFile
 5.4.28           ReadFileAsBase64
 5.4.29           ReadFileNames
 5.4.30           ReadFileWithEncoding
 5.4.31           ReadXPathScalar
 5.4.32           ReadXPathVector
 5.4.33           Repeat
 5.4.34           Right
 5.4.35           Substitute
 5.4.36           Trim
 5.4.37           TrimLeft
 5.4.38           TrimRight
 5.4.39           Upper
 5.4.40           ValidatePattern
 5.4.41           XsdMessages
 5.5        Futurama Formulas - Logical
 5.5.1          And
 5.5.2          IsEmpty
 5.5.3          If
 5.5.4          IsEqual
 5.5.5          IsEven
 5.5.6          IsGreater
 5.5.7          IsGreaterEqual
 5.5.8          IsIBANChecksumValid
 5.5.9          IsLess
 5.5.10           IsLessEqual
 5.5.11           IsMemberOfGroup
 5.5.12           IsNotEqual
 5.5.13           IsOdd
 5.5.14           IsValidXml
 5.5.15           Not
 5.5.16           Or
 5.5.17           ValidateNPR
 5.6        Futurama Formulas - Table
 5.6.1          FindNextRow
 5.6.2          FindPreviousRow
 5.6.3          FindRow
 5.6.4          Sort
 5.6.5          VLookUp
 5.7        Futurama Formulas - Document
 5.7.1          CountErrors
 5.7.2          GetPathToDataFiles
 5.7.3          GetPortNumber
 5.7.4          GetRelativePathToDataFiles
 5.7.5          GetSessionID
 5.7.6          IsLicenceAvailable
 5.7.7          ReadError
 5.7.8          ReadIdentityProviderResult
 5.7.9          ReadRequestIP
 5.7.10           ReadRequestParameter
 5.7.11           ReadUserAgent
 5.7.12           ReadVersionNumber
 5.7.13           SessionTimeOut
 5.7.14           URL
 5.7.15           UserName
 5.8        Futurama Formulas - Conversion
 5.8.1          Convert.Excel.to.XML
 5.8.2          ConvertJSONtoXml
 5.8.3          ConvertTextToDate
 5.8.4          ConvertTextToNumber
 5.8.5          ConvertToBoolean
 5.8.6          ConvertToDouble
 5.8.7          ConvertToLong
 5.8.8          ConvertToString
 5.8.9          FormatDate
 5.8.10           FormatNumber
 5.8.11           Value
 5.9        Futurama Formulas - Matrix
 5.9.1          AddMatrices
 5.9.2          AddScalarToMatrix
 5.9.3          Cumulative
 5.9.4          CumulativeProductMatrix
 5.9.5          Distinct
 5.9.6          DivideMatrices
 5.9.7          DivideMatrixScalar
 5.9.8          DivideScalarMatrix
 5.9.9          Exponent
 5.9.10           First
 5.9.11           Floor
 5.9.12           If
 5.9.13           Index
 5.9.14           Inverse
 5.9.15           IsEqual
 5.9.16           IsGreater
 5.9.17           IsGreaterEqual
 5.9.18           IsNotEqual
 5.9.19           IsLess
 5.9.20           IsLessEqual
 5.9.21           Join
 5.9.22           Last
 5.9.23           Length
 5.9.24           MatrixProduct
 5.9.25           Max
 5.9.26           MaxScalarMatrix
 5.9.27           Mean
 5.9.28           Mid
 5.9.29           Min
 5.9.30           MinScalarMatrix
 5.9.31           MultiplyMatrices
 5.9.32           MultiplyMatrixVector
 5.9.33           MultiplyScalarMatrix
 5.9.34           Percentile
 5.9.35           PowerMatrix
 5.9.36           PowerMatrixScalar
 5.9.37           PowerScalarMatrix
 5.9.38           ReadMatrixFromXml
 5.9.39           Repeat
 5.9.40           Replace
 5.9.41           Reshape
 5.9.42           ReverseCumulativeProductMatrix
 5.9.43           ReverseMatrix
 5.9.44           Size
 5.9.45           Split
 5.9.46           SquareRootMatrix
 5.9.47           Step
 5.9.48           SubtractMatrices
 5.9.49           SubtractMatrixScalar
 5.9.50           SubtractScalarMatrix
 5.9.51           Sum
 5.9.52           Transpose
 5.9.53           UnitMatrix
 5.9.54           Vector
 5.10         Creating custom formulas in Futurama
 6      Futurama - Objects
 6.1        Action
 6.2        Aggregation
 6.3        Button
 6.4        ChangeValue
 6.5        CheckBox
 6.6        ClearCache
 6.7        DatabaseField
 6.8        DatabaseView
 6.9        DataTable
 6.10         DateBox
 6.11         DocConverter
 6.12         Document
 6.13         Download
 6.14         DropDownList
 6.15         EmailConverter
 6.16         ExcelConverter
 6.17         FileSaver
 6.18         FileUploader
 6.19         Fixed
 6.20         Formula
 6.21         GraphConverter
 6.22         HTMLInclude
 6.23         InterfacesNode
 6.24         LogMessage
 6.25         Navigator
 6.26         Node
 6.27         RadioButton
 6.28         RadioGroup
 6.29         Range
 6.30         Reference
 6.31         SubDocument
 6.32         TextBox
 6.33         UserTable
 6.34         UserVariable
 6.35         WebLabel
 6.36         WebListBox
 6.37         WebPage
 6.38         WebPanel
 6.39         WebReference
 6.39.1           WebReference - WCF Configuration
 6.40         WebService
 6.41         WebSlider
 6.42         WordConverter
 6.43         XmlBuilder
 6.44         XmlConverter
 6.45         XmlField
 6.46         XmlNode
 7      Futurama - Vision References
 7.1        Data
 7.1.1          ReadData
 7.1.2          WriteMessage
 7.1.3          GetPersonIdentifiers
 7.1.4          CreatePerson
 7.2        DataStore
 7.2.1          DeleteDataItem
 7.2.2          DeleteDataItemHierarchy
 7.2.3          DeleteDataItems
 7.2.4          GetDataItem
 7.2.5          GetDataItemHierarchy
 7.2.6          GetDataItems
 7.2.7          StoreData
 7.3        Accounts
 7.3.1          Activate Account
 7.3.2          Change Account
 7.3.3          Create Account
 7.3.4          GetQuestion
 7.3.5          GetQuestions
 7.3.6          Login
 7.3.7          ReadData
 7.3.8          ReinitializeAccount
 7.4        General
 7.4.1          TestConnection
 8      Futurama Vision
 8.1        Installation Futurama Vision
 8.1.1          Installation Futurama Vision Management Site
 8.1.2          Installation or Upgrade of the Futurama Vision Database
 8.2        Futurama Vision Management Site
 8.2.1          Futurama Vision Management Site - Admin
 8.2.2          Futurama Vision Management Site – Security
 8.2.3          Futurama Vision Management Site – Skinning
 8.2.4          Importing data into Futurama Vision
 8.2.4.1            Importing data by webservice
 8.2.4.2            Importing data from a Zip-file
 8.2.4.3            Importing data with Futurama Vision Batch
 8.2.4.4            Futurama Vision Webservice Security
 8.2.5          Further processing of data into Futurama Vision
 8.3        Futurama Vision File manager
 8.4        Activity overview
 8.5        Storing data in Vision from a Futurama application
 8.6        Futurama Vision – Data
 8.7        Futurama Accounts - Management Site
 8.7.1          Futurama Accounts - Table in Vision Database
 8.8        Futurama Server - Management Site
 8.8.1          Special Futurama Server Jobs
 8.9        Futurama Register - Management Site
 8.9.1          Configuration - Futurama Register
 8.10         Retrieving AppEvents from Futurama Vision
 8.11         Adding CustomPages to Vision
 9      Futurama Intermediate Control Output (FICO)
 9.1        FICO example - Change/Add HTML headers
 9.2        FICO example - Change Graph
 9.3        HTML5 Template
 10       Futurama Web API
 10.1         Postbacks of Futurama webcontrols
 10.2         Retrieving Resources using Web API
 10.3         WebAPI Session management
 11       Tutorials - Overview
 11.1         Tutorials - Examples and Downloads
 11.2         Beginners
 11.2.1           Creating formulas with Futurama
 11.2.1.1             Exercise 1: Pythagorean Theorem (Easy)
 11.2.1.2             Exercise 2: Newspaper stall (Medium)
 11.2.1.3             Exercise 3: Recursive functions (Difficult)
 11.2.1.4             Exercise 4: Leap Year (Difficult)
 11.2.1.5             Exercise 5: The Guessing Game I (Medium)
 11.2.2           Creating a Website Application
 11.2.2.1             Exercise 1: Creating a Website (Easy)
 11.2.3           Styling your website with CSS
 11.2.3.1             Exercise 1: Adding CSS (Easy)
 11.2.4           Adding interactivity to your website
 11.2.4.1             Exercise 1: Summation (Easy)
 11.2.4.2             Exercise 2: The Guessing Game II (Medium)
 11.2.4.3             Exercise 3: Nationality (Medium)
 11.2.4.4             Exercise 4: Nationality - RepeatTarget (Medium)
 11.2.4.5             Exercise 5: Reversed Guessing (Difficult)
 11.2.5           Working with Tables
 11.2.5.1             Exercise 1: Average (Easy)
 11.2.5.2             Exercise 2: Boundary values (Difficult)
 11.2.5.3             Exercise 3: Standard Deviation (Medium)
 11.2.6           Reading and processing XML-data in Futurama
 11.2.6.1             Exercise 1: Shares (Medium)
 11.2.7           Adding Graphs in Futurama
 11.2.7.1             Exercise 1: World Population (Easy)
 11.2.8           Working with Actions in Futurama
 11.2.8.1             Exercise 1: Changing Colors (Easy)
 11.2.8.2             Exercise 2: On and Off (Medium)
 11.2.8.3             Exercise 3: The ChangeValue object (Difficult)
 11.2.8.4             Exercise 4: The Guessing Game III (Medium)
 11.2.8.5             Exercise 5: CheckBox (Medium)
 11.2.9           Multiple Pages and Navigation
 11.2.10            Using XSLT to display data
 11.2.10.1              Exercise 1: Overview Summation (Easy)
 11.2.10.2              Exercise 2: Persons (Medium)
 11.2.10.3              Exercise 3: Leap Year Overview (Difficult)
 11.2.11            Webservices in Futurama
 11.2.11.1              Exercise 1: Example (Easy)
 11.2.12            Creating a Webservice Application
 11.2.12.1              Exercise 1: Add (Easy)
 11.2.12.2              Exercise 2: Webservice Nationality (Medium)
 11.2.13            Creating a Console Application
 11.2.13.1              Exercise 1: Adding extra fields (Easy)
 11.2.14            Generating Documents
 11.2.14.1              Exercise 1: Tax Rate (Medium)
 11.2.14.2              Exercise 2: Tax Rates Table (Difficult)
 11.3         Advanced
 11.3.1           Responsive Design
 11.3.1.1             Exercise 1: Orientation
 11.3.1.2             Exercise 2: Target different screen sizes
 11.4         Older Tutorials (Futurama Version 3.2)
 11.4.1           Futurama Editor Tutorial 1: The first sum
 11.4.2           Futurama Editor Tutorial 2: An annuity
 11.4.3           Futurama Editor Tutorial 3: Working with tables
 11.4.4           Futurama Editor Tutorial 4: Modelling a DB pension plan
 11.4.5           Futurama Editor Tutorial 5: Working with XML
 11.4.6           Futurama Web Tutorial 1: Hello world
 11.4.7           Futurama Web Tutorial 2: Buttons and Actions
 11.4.8           Futurama Web Tutorial 3: Textboxes
 11.4.9           Futurama Web Tutorial 4: DropdownLists
 12       Miscellaneous
 12.1         Responsive website
 12.2         Reducing memory usage for XmlNodes and XmlFields
 12.3         Explaining caching for websites and webservices
 12.4         Certificates - basic information
 12.5         Performance XML operations
 12.6         Creating XSD files and using them in combination with Futurama
 13       Templates
 14       Safe2Save WebAPI Sample
View  |  Print  |  PDF

451 documents found.


Overview - Futurama Server

Futurama-Server
Developer
User-ManagementSite
Futurama-Export

 

Edition: Futurama Export

Module: Futurama Server

User: User Management Site, Developer

Prerequisites

- not applicable

Introduction

Overview of the Futurama Server module.

 

Description

Futurama Server is the Futurama component that is responsible for running batch jobs. Futurama Server provides a way to run tasks that take a long time in a way that allows monitoring the progress and allows the user to stop the tasks.

Futurama Server consists of the following parts:

Futurama Service

Futurama Service is a Windows Service. When the service is started (on computer startup) the service starts listening for commands on a HTTP address. This address is self-hosted without IIS. The default address the service listens on is http://localhost:8080/FuturamaService/. The WSDL for the service is available on http://localhost:8080/?singleWSDL

Futurama Service is responsible for

  • starting tasks
  • keeping track of the running tasks and their status
  • stopping tasks
  • reporting the status of the tasks to the Management site

Futurama Batch

Futurama Batch is a console application that is used to run batch jobs. It is started by the Futurama Service. As soon as a job is finished, the Futurama Batch application closes itself.

Futurama Batch runs in the same identity as the identity of Futurama Service.

The communication between Futurama Service and Futurama Batch is via a WCF connection with a WSDualHttpBinding binding. Futurama Service calls Futurama Batch to send commands. And Futurama Batch calls Futurama Service to report the status of the running job.

Futurama Batch listens for communication on port http://localhost:port/FuturamaBatch. The port number that is used is default 8081, and can be changed in the config files. If you have multiple processes running, each process uses a subsequent port number.

Futurama Vision Management site

The Management Site for Futurama. See Futurama Server Management Site for more information. This site contains pages to monitor, start and stop the running tasks. The communication from Futurama Vision Management Site to Futurama Service is via WCF with a basicHttpBinding.

The endpoint is defined in the default config as follows:

      	<endpoint address="http://localhost:8080/FuturamaService" 
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_FuturamaService" 
contract="FuturamaServerReference.Service" name="BasicHttpBinding_Service"/>

Workflow

The process of running a task consists of the following actions:

  • The user clicks on the start button of a job definition in the screen in the Vision Management site.
  • The Vision Management site tells Futurama Service to start a job.
  • Futurama Service start an instance of Futurama Batch and passes the port that it will use for communication as a parameter
  • Futurama Batch starts to listen to commands on that port
  • Futurama Service sends the command to start a job to Futurama Batch. 
  • Futurama batch starts a different thread to run the job.
  • If defined in the job definition, Futurama batch reports the status of the job, to Futurama Service by calling the WCF Service.
  • When the job is finished, Futurama Batch reports the final status to Futurama Service and exits.

Steps to use Futurama Server

To use Futurama Server follow the next steps:

  1. Installation of Futurama Server
  2. Configuration Futurama Server
  3. Definition Futurama Server jobs
  4. Start Futurama Server job
  5. Monitor Futurama Server job
  6. Stop Futurama Server job
  7. Delete Futurama Server job
  8. Error handling
  9. Scheduling

Installation Futurama Server

See the support page Installation Futurama Server how to install Futurama Server. To install Futurama Server both the Futurama Service code and the Futurama Batch code has to be downloaded and installed.

Configuration Futurama Server

After the installation of both Futurama Service and Futurama Batch the configuration can be done. See the configuration paragraphs at the the support page Installation Futurama Server how to do the configuration of Futurama Service and Futurama Batch. In the release of these components default configuration files are available to be used to do the configuration.

Definition Futurama Server jobs

After the installation and configuration of Futurama Server jobs can be defined with the definition of the export process to be performed with Futurama Server. See the chapter 'Define Futurama Server jobs' how to define a Futurama Server job.

Start Futurama Server job

Futurama Server jobs can be started by using the Futurama Management Site, by a POST HTTP request to Futurama Service, or by using a Futurama Document where a Futurama Server job can be started by using an WebReference. The start of a Futurama Server jon can be scheduled. See the paragraph 'Scheduling Futurama Server job' for more information.

Futurama Management Site

After the definition of a Futurama Server job, you have to choose a file location where the XML-files with the job definition will be saved. After saving the definition of the Futurama job at this location it is possible to select this job in the Management Site and start the job. See the paragraph 'Management Site' for more information.

Futurama Service request

It is also possible to start a Futurama Server job by doing a POST HTTP request to Futurama Service. This can be used in the situation that it is preferred to start export processes automatically instead of manually within the Management Site. To start the Futurama Server job with the POST HTTP request the next parameters are important:

Definition in Futurama document

A Futurama Server job can be started using a Futurama document. Create this document in the Futurama Editor using the object WebReference. In the Properties Window of this WebReference an URL and Input (the request) has to be defined. Enter the URL of Futurama Service. The request can either be build in the Futurama Editor by using XmlBuilders (see example in the paragraph 'Example request' for the structure of the request to be build in the Futurama Editor) or by reading a file with the job definition. See the chapter 'Scheduling Futurama Server job' for a download example of a Futurama Document where the job defintion is read from a file. With this download it is also possible to schedule your Futurama Server job. 

Monitor Futurama Server job

After a Futurama Server job is started the status of this job can be viewed using the Futurama Management Site. See the paragraph Management Site for more information how to monitor the status. It is also possible to do POST HTTP request to Futurama Service to obtain the status of a Futurama Server job. To get the status of the Futurama Server job the next parameters are important:

The request of the POST HTTP request to obtain the status of the job is:

<GetJobs xmlns="http://www.ActuIT.nl/Futurama/Server"></GetJobs>

Stop Futurama Server job

After a Futurama Server job is started the job can be stopped using the Futurama Management Site. See the paragraph Management Site for more information how to stop a Futurama Server job. It is also possible to do POST HTTP request to Futurama Service to stop a Futurama Server job. To stop a Futurama Server job the next parameters are important:

The request of the POST HTTP request to stop a job is:

<StopJob xmlns="http://www.ActuIT.nl/Futurama/Server">
	<args>1</args>
</StopJob>

The value of <args> is the ID of the job to be stopped. This ID is part of the response of the POST HTTP request to obtain the status of the job (see described above).

Delete Futurama Server job

After a Futurama Server job is stopped or completed this job can be deleted using the Futurama Management Site. See the paragraph Management Site for more information how to delete a job. It is also possible to do POST HTTP request to Futurama Service to delete a Futurama Server job. To delete a Futurama Server job the next parameters are important:

The request of the POST HTTP request to delete a job is:

<DeleteJob xmlns="http://www.ActuIT.nl/Futurama/Server">
	<args>1</args>
</DeleteJob>

The value of <args> is the ID of the job to be deleted. This ID is part of the response of the POST HTTP request to obtain the status of the job (see described above).

Error handling

During the Futurama Server process it is possible that errors occur. See the paragraph 'Monitor Futurama Server job' how to monitor the status of a Futurama Server job. For each job executed in the Futurama Vision Management Site the number of errors are given. In the situation of a POST HTTP request to Futurama Service to obtain the status of a specified job, the number of errors is given in the response of the request.

In the configuration files of Futurama Service and Futurama Batch logging can be enabled. In these files also the logging location can be defined. See Configuration - Log how to configurate logging. When errors occur check the logging information.

Scheduling

It is possible to schedule a Futurama Server job, for instance with Windows Power Shell. Below an example of powershell script that can be used to start a Futurama Server job. After defining this powershell file, this can be scheduled.

$proxy = New-WebServiceProxy -Uri  http://localhost:8080/?WSDL
$content=Get-Content C:\FuturamaServer\Jobs\InitializeAccounts.xml
$response = $proxy.StartJob("$content")  (until Futurama 2016.11 )
$response = $proxy.StartJob2("$content","username")  (from Futurama 2016.11, username is the name of the user that runs the job)
$response.StartJobResult

First define the address of Futurama Service. Second, define a parameter in order to read the XML to be used when starting the Futurama Server job. After that the parameter can be used to start the job. Below an example of a powershell script to delete a Futurama Server job.

$proxy = New-WebServiceProxy -Uri  http://localhost:8080/?WSDL
$response = $proxy.DeleteJob("1")
$response.DeleteJobResult

With this script the job with ID=1 in the status overview list will be deleted.

Example request

To do a POST HTTP request to Futurama Service it is recommendable to first define a Futurama Server job and test whether this job can be executed correctly by starting this job from the Futurama Management Site. After this the defined job can be used to compose the HTTP request. The general structure of the request is (general structure from Futurama 16.11, until this version the username parameter is not used, and the name is StartJob instead of StartJob2):

<StartJob2 xmlns="http://www.ActuIT.nl/Futurama/Server">
	<args>Escaped job XML</args>
	<username></username>
</StartJob2>

The value of <args> is the escaped XML job definition. The username is relevant I the situation the Futurama Server job is started from the Management Site. In that situation it is possible to select only your own jobs. The username element must be used, but can be empty as mentioned in the example above. If for example the job definition is:

<?xml version="1.0" encoding="utf-8"?>
<Job xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns="http://www.ActuIT.nl/FuturamaJob.xsd" Name="your export process" Version="1.0">
	<NumberOfProcesses>1</NumberOfProcesses>
	<RepeatUntilFinished>false</RepeatUntilFinished>
	<Task Name="Export">
		<File>\\servername\application\export.xml</File>
		<ActionID>
			<string>285</string>
		</ActionID>
		<OutputID>612</OutputID>
		<CheckID>149</CheckID>
		<CheckInterval>10</CheckInterval>
		<Parameter>
			<TaskParameter>
				<Name>Parameter_1</Name>
				<Value>TRUE</Value>
			</TaskParameter>
		</Parameter>
	</Task>
</Job>

then this XML can be escaped. Use CDATA to escape the XML in the request:

<StartJob2 xmlns="http://www.ActuIT.nl/Futurama/Server">
	<args>
		<![CDATA[
		<Job xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns="http://www.ActuIT.nl/FuturamaJob.xsd" Name="your export process" Version="1.0">
			<NumberOfProcesses>1</NumberOfProcesses>
			<RepeatUntilFinished>false</RepeatUntilFinished>
			<Task Name="Export">
				<File>\\servername\application\export.xml</File>
				<ActionID>
					<string>285</string>
				</ActionID>
				<OutputID>612</OutputID>
				<CheckID>149</CheckID>
				<CheckInterval>10</CheckInterval>
				<Parameter>
					<TaskParameter>
						<Name>Parameter_1</Name>
						<Value>TRUE</Value>
					</TaskParameter>
				</Parameter>
			</Task>
		</Job>
		]]>
	</args>
	<username></username>
</StartJob2>

It is also possible escaping XML without using CDATA. This will give the next escaped HTTP request:

<StartJob2 xmlns="http://www.ActuIT.nl/Futurama/Server">
	<args>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;Job xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;
 xmlns=&quot;http://www.ActuIT.nl/FuturamaJob.xsd&quot; Name=&quot;your export process&quot; Version=&quot;1.0&quot;&gt;
	&lt;NumberOfProcesses&gt;1&lt;/NumberOfProcesses&gt;
	&lt;RepeatUntilFinished&gt;false&lt;/RepeatUntilFinished&gt;
	&lt;Task Name=&quot;Export&quot;&gt;
		&lt;File&gt;\\servername\application\export.xml&lt;/File&gt;
		&lt;ActionID&gt;
			&lt;string&gt;285&lt;/string&gt;
		&lt;/ActionID&gt;
		&lt;OutputID&gt;612&lt;/OutputID&gt;
		&lt;CheckID&gt;149&lt;/CheckID&gt;
		&lt;CheckInterval&gt;10&lt;/CheckInterval&gt;
		&lt;Parameter&gt;
			&lt;TaskParameter&gt;
				&lt;Name&gt;Parameter_1&lt;/Name&gt;
				&lt;Value&gt;TRUE&lt;/Value&gt;
			&lt;/TaskParameter&gt;
		&lt;/Parameter&gt;
	&lt;/Task&gt;
&lt;/Job&gt;</args>
<username></username>
</StartJob2>

Scheduling Futurama Server job

It is possible to schedule the start of a Futurama Server job. Download the sample in order to schedule your Futurama Server job. Download files

Configuration

The sample contains two files: the Futurama Document startjob.xml and the file 'execute startjob.txt'. This last file contains the commandline parameters how to start your Futurama Server job. These command line parameters can be scheduled in order to start a Futurama Server job automatically at predefined times. The file contains the next information:

  • "\\Path to Futurama Editor\ActuIT.Futurama.Editor.exe": define the path to the location of the Futurama Editor;
  • "\\Path to Futurama Document\StartJob.xml": this is the path to the location where tje Futurama Document startjob.xml is saved;
  • Mandatory parameter JobLocation. Value: "\\Path to job definition\JobDefinition.xml": this is the path to the definition of the Futurama Server job (see also the paragraph 'Definition Futurama Server jobs' in the chapter 'Steps to use Futurama Server' how to define a Futurama Server job
  • Optional parameter JobName. Value: Name of the job. In the logging of the Futurama Editor an info message will be given with the name of the job that has started. When the job had ended also an info message will appear in the log. When this parameter is not used these messages will not be given in the log.  

Next to the configuration above additional configuration has to be done in order to define the communication between Futurama Editor and Futurama Service. First within the appSettings part of the configuration file of Futurama Editor the appSetting URL_FuturamaService has to be defined. See below for an example:

<appSettings>
	<add key="URL_FuturamaService" value="http://localhost:8080/FuturamaService"/>
</appSettings>

Here the URL of Futurama Service has to be defined. Next to this setting the binding configuration between Futurama Editor and Futurama Service has to be defined. Define this binding using the EndPointName 'FuturamaService'. See below for an example using basic Http binding:

<system.serviceModel>
	<client>
		<endpoint address="http://localhost:8080/FuturamaService" binding="basicHttpBinding"
		bindingConfiguration="FuturamaService" contract="FuturamaServerReference.Service" name="FuturamaService"/>
	</client>
	<bindings>
		<basicHttpBinding>
			<binding name="FuturamaService" maxReceivedMessageSize="1048756">
				<security mode="None"/>
			</binding>
		</basicHttpBinding>
	</bindings>
</system.serviceModel>

See also the page 'Installation Futurama Vision Management Site', chapter 'Configuration' , paragraph 'FuturamaServer' for an example of an endpoint address and binding. At this page the communication between Futurama Vision Management Site and Futurama Service is described. The same is applicable to the communication beteween Futurama Editor and Futurama Service. In this example basic Http binding is used. It is possible to use different kinds of WCF-configuration (see this page for more information).

Related Topics

- Installation Futurama Server: Description how to install and configure Futurama Server

- Futurama Server - Management Site: Description how to start and monitor Futurama Server jobs

- Definition Futurama Server jobs: Description of the structure and content of Futurama Server jobs

Feedback

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

Updated: 2014-06-27


Previous  |  Next