Enterprise Services is an application development platform for building TM1-based systems.
The product comprises of four components:
- TM1 Web Services layer (ESWeb)
- Web forms converter (ESForms)
- Management tool (ESManager)
- SharePoint list synchronizer (ESBridge)
ESWeb provides web services access to all TM1 objects, many of the native TM1 API calls, and access to what is termed "Published" views, subsets and processes. Published views, subsets and processes are defined as customized (and enhanced) versions of the TM1 objects, but reside outside of TM1. This is done so that applications do not have to depend upon objects in TM1 in order to operate (to avoid the accidental deletions!).
For example, ESWeb allows you to take a view, and publish it as a web method. It looks like an ordinary function call: i.e.
Financials( Version, BusinessUnit, Year, Month, Account )
When you call the function with all parameters empty, you get the contents of the view as you defined it. If you call the function with the a business unit filled in, you will get the same view back, but specfic to that business unit. Basically you can now use a function to drive the definition of a view. You can also pass MDX statements instead of element names in the funciton and it knows how to render it.
The most important part of ESWeb is that it performs writebacks. Not only will it write back the data you give it, but it will also add dimension elements and attributes at the same time (if desired). So now you can create line item detail style input screens and not have to worry about pre-building dimension elements or executing scripts to add new elements when they are needed. It also takes care of data spreading, knowing when to spread proportionally, and when to spread when there is no basis.
Basically, Enterprise Services takes all the heavy lifting off of you, so that you can concentrate on creating the application.
Everything is done using XML using ESWeb. Including access to the APIs, such as:
- and many others
If you are not a programmer, but still want to take advantage of this capability, we offer ESForms. ESForms operates much in the same manner as TM1 web. With TM1, you use MS Excel to develop web sheets. In Enterprise Services, you use Microsoft InfoPath to develop input forms and ESForms converts these document templates into native HTML web pages. No add-ins or downloads required for the client. Just pure HTML.
What makes ESForms much better for creating input forms that Excel is:
- You can include many controls such as date pickers, combo-boxes, rich text boxes, list boxes and many others right in your web form.
- You can format the screen any way you like. You are not restrictied to cell-based screens. You can hide and show sections of your forms dynamically based on user input. Text boxes can span multiple lines. Sections can be repeated based on data content. All using a drag and drop interface.
- No coding is needed for many basic forms, but if you have some complicated forms to create, you can actually use .NET code right in your form and it works on the web! No more action buttons that restrict what you can do. The sky is the limit.
- Only raw data is sent back and forth to the client, so speed can be significantly faster than TM1 Web and even Excel, in some cases.
ESManager is the administration tool that allows you to control which objects are published as a web service. It is also used to create customized versions of the TM1 object which incorporate additional functionality.
For example, with views, some of the options you can enhance TM1 views with are:
- Enable Sandboxes
- Write updates only
- Spread Consolidations
- Auto Add New Members (by ID, auto numbering by dimension, or by parent)
HREmployees( CostCenter, Level )
ActiveProjects( Division )
And best of all, you can use them when you access a view.
You can even publish processes as web services and give them different names and parameters. For example, if you had a process called AddDimensionMember( dimName, parentElem, newElem ), you could actually publish the same process as different functions, by defaulting the dimName and parentElem parameters to a specific value:
AddHourlyEmployee( newEmp )
AddSalaryEmployee( newEmp )
AddCostCenter( Division, newCostCenter )
Under the covers, these two process call the same AddDimensionMember process, but pre-set the dimName and/or the parentElem name to the appropriate value for the function, as well as re-naming the parameters. This allows you to cut down on number of similar processes, and make them more robust and generic.
Lastly, but not least important, is ESBridge. This service allows you to define views, and subsets that can be synchronized with lists in SharePoint. You can schedule how often the list is to be updated and what fields are to be mapped.
ESBridge takes care of the rest and ensures your SharePoint portal has the latest information in TM1, ready for the users to work with. We use this capablity to place important information on SharePoint portals that tie directly in with TM1, so that there is truly only one stop shopping for users.
Well, that was sort of long winded answer to your questions, but perhaps it will shed some light on what it is used for.
You can find out more about it at http://www.carpedatuminc.com/products.