About Splice

What is Splice?

Splice is an Integration As A Service platform that lets you create composite web services my mashing and transforming other web services. Using our visual designer, you can build the exact service you need to power any applications in just a few minutes.

What is Integration As A Service?

Integration As A Service means providing software and application integration functionality on-demand, that is without having to install or deploy software and infrastructure locally.

What are the benefits of Integration As A Service?

Integration is one of the most painful and least rewarding aspect of software development. Integrating multiple data sources to feed to an application often requires the deployement of hard-to-manage databases, the use of complex ETL software (Extract, Transform, Load), or the writing of hard-to-maintain custom code. With Integration As A Service, you can get this done without any infrastructure and without coding and you can share your integration works with other developers.

Why Splice?

Xignite has been delivering commercial-grade web services since 2003. Along the way our clients sometimes asked us to "customize" web services for them. As we did so, we started dreaming up a tool that could let our clients build and customize their own web services. This is how Splice was born.

How is Splice different from other mashup platforms like Yahoo! Pipes?

Most mashup platforms are designed to build applications complete with user interface and presentation. Splice is designed to build composite web services that can power enterprise applications. In addition, while most mashup platforms are used to build personal applications (custom RSS feeds, web page consolidation, etc..), Splice is designed to power enterprise applications.

What can I build with Splice?

Splice lets you build fully-loaded web services ('Splices') by mashing other web services.
Splices come ready with:
  • A complete WSDL (Web Service Definition file) for easy discovery and integration by developers
  • Support for both SOAP and REST for easy plugging into corporate SOA architectures.
  • Support for JSON for quick deployment inside web applications.

What makes Splice "industrial-strength'?

Splice is running on the same platform Xignite launched in 2003. This platform has been fined-tuned over the years to support the mission-critical operations of businesses like GE Capital, Wells Fargo, McDonald's or Legg Mason Capital Management. The platform currently serves more than 1 billion web service requests per month

Using Splice

What do I need to get started with Splice?

You only need a browser. Splice is an on-demand platform so you don't need to install any software.

Can I access my web services using SOAP, REST or JSON?

Yes, you can access your custom web services ('Splices') using SOAP or REST, POX or JSON.

Does Splice generates a WSDL for my custom web services?

Yes. Every custom web service you create gets its own WSDL. WSDL makes it easy for developers to discover and integrate your Splices.

Why do I have to test my Splice before publishing it?

Testing your Splice ensures it works as designed before you share it with the rest of the world.

What is the URL for my web service?

The Url for your web service follows the following format:
http://splices.xignite.com/<your splice username>_<your splice name>.<format>?<arguments>

Where can I find the WSDL for my web service?

The URL for the WSDL of your web service follows the following format:
http://splices.xignite.com/<your splice username>_<your splice name>.wsdl

Why can't I rename my Splice?

Once you published a Splice, you cannot rename it since the name is part of the URL and a program could be using it.

Using Splice Studio

How can I remove a Splice connection?

To remove a connection, double-click on the input or output connector for the web service to open the Connection window. You can then uncheck the checkbox for any connection you want to remove.

Why can't I create a Splice connection between an array and a single variable?

We currently only support maping between types of the same multiplicity. That is, you can only map objects to objects and arrays to arrays. With the current implementation of Splice, there is no way to indicate which element in the array to map, leading to an ambigous situation if you were to map an array to a single object. As a result we do not currently allow mappings between arrays and single variables.

Why can't I remove my parent if it is an array?

You cannot remove the parent if it is an array because it is not possible to unambigously access the children of that array. As an example: You remove the parent array, but indicate you want child object x. Which element of the array would x be retrieved from? There currently is no way to break this ambiguity in Splice Studio, so it is not allowed.

Why can't I modify my public Splice?

Once you make a Splice public other users can call it in their own applications. Any changes to the Splice, inputs or the return object in particular, could break this code by other users that calls it. In order to prevent breaking the applications that other users may have written, we don't allow the public Splices to be changed. Note that it is always possible to clone the existing Splice, and make the changes to the clone. If you have created a wonderful Splice and think other developers might use them, please consider making it public.

Why do I need to link my Xignite account and my Splice account?

Splice functions independently of Xignite: Splice merely makes calls to Xignite web services. In order for the Xignite web services to return data you must first be registered. Thus without linking your Splice and Xignite accounts, any calls to Xignite web services will fail.

What is the difference between Public and Private Splices?

A public Splice can be seen and used by any Splice user. A private Splice is only visible to you.

How do I rename my output class?

In the output panel in Splice Studio click on the first line of text that initially reads "Untitled". This is the name of the output class, and you can rename it to something other than the default "Untitled".

How do I remove a Splice input variable?

Drag the input variable from the input panel to the recycle bin.

How do I remove an input to a web service?

Click on the circle in the upper left of the web service panel. A dialog will appear with all inputs to that service. Uncheck the inputs you wish to remove.

How do I remove an output from a web service?

Click on the circle in the upper right of the web service panel. A dialog will appear with all outputs from that service. Uncheck the outputs you wish to remove.

How do I remove an output variable?

Click on the circle in the upper left of the output panel. A dialog will appear with all of the output variables listed. Uncheck those you wish to remove.

How do I remove a web service?

Drag the web service to the recycle bin.

What if the web service I want to use isn’t listed?

We are always looking for new web services to include in our Splice website. Please start a discussion in the forum or email splicerequest@xignite.com with details of the web service and we will try to add them.

How do I request a new feature or report a bug?

Please start a discussion in the forum or email splicerequest@xignite.com with details.

Why can I not create objects with the same name?

The object names are much like class names when doing traditional programming: the same names create ambigous situations, so all names must be unique.

Why wouldn’t I want to write the code on my end instead of learning Splice?

  • Our code is automatically generated, so it is less error prone.
  • There is no code to maintain on your end.
  • Once you publish your Splice it is distributed to our severs, eliminating the need for you put your own infrastructure in place.
  • All calls to Xignite web services run within our data center, increasing response time.
  • Web service calls are analyzed and automatically run in parallel when possible. This also eliminates the need for you to do complicated parallel programming in order to achieve the same result.