This documentation supports the 18.05 version of Innovation Suite. 
To view the documentation for the previous version, select 18.02 from the Product version menu.

Module 2 - Extending your Solution in Code

Up to now, the only tool we have used to build the Lunch Tutorial solution has been Innovation Studio. As powerful as that is, one of the great features of Innovation Suite is that developers who are handy with Java or Javascript can fully use those tools to extend applications, and even create add-ons that can be used by others in Innovation Studio without writing code themselves. In this set of lessons, we will create a Library, called meal-program-lib,  that will be used to deploy custom Java and Javascript for our solution. This is not intended to replace the documentation found at Extending the platform using Java and JavaScript; rather, it illustrates some of these techniques in the context of this tutorial. 


You may be wondering about whether this module is for you, or not. This is a fair question. Up to now, there have been few assumptions about the technical skill or experience needed to complete the tutorial. However, since we are going to be working with Java and JavaScript code here, and working with standard frameworks such as Jackson (for JSON serialization) and AngularJS (for client-side JavaScript), that is not true any longer. The assumption here is that you are a developer that knows, or is learning these skills, and is interested in learning how to apply them to augment Innovation Suite applications.

The goal of this tutorial, after all, is not to teach you how to code (there are many great resources out there for that). Rather, it is meant to help you, as someone who already has coding skills (from moderate to expert) get a heads-start in how to use the Innovation Suite SDK in particular. For example, you will need to know about the standard library we provide, the API documentation, deployment tools you will use, and so on. We will also see examples of services written in Java that are designed to go hand-in-glove with the particular Lunch Tutorial solution we are building so you can hopefully get some insights about how to make these two kinds of development work together.

Before starting this module, you will need to build a lunch ordering application as described in Module 1 of this tutorial. It is highly recommended that you go through the exercise of building it yourself using Innovation Studio, at least through the end of Module 1.

If you would like to skip this, or want to be sure you are starting with a complete version of the application, you also install a pre-built version by using the following steps:

  1. If you already have an application in your sandbox called com.example.lunchtutorial, you should uninstall it from your workspace (of course, you can use Create Install Package first to keep a snapshot of it before you do this if you like). This is to make sure that you don't have a mix of definitions, because installing an application does not remove any previous definitions.

  2. Download com.example.lunchtutorial-4.0.0-INSTALL-application  - this is the tutorial as of the point where all the codeless development of the application is complete.
  3. Use the Install button from the Workspace view to install this application.


Rather than lead you step-by-step in building the code, the approach here will be to start from a fully-functional set of source code. We will build and deploy it together and you will integrate it into your application. Each area of functionality will be highlighted and explained. If you are fairly new to these technologies, reviewing this material may be a little bit mysterious, but the techniques involved are standard ones and you can learn a lot of useful concepts here that can be applied to any Java or JavaScript development.

NOTE: since the provided sample code will refer to the specific definitions in Lunch Tutorial, running it requires having completed the earlier modules of this tutorial.

  • The first set of lessons will be about creating Java-based services,exposed with their own REST-based interfaces, and/or Service Actions that show up in the Process Designer.
  • The next set will be about working with JavaScript and AngularJS to extend the User Interface with custom View Components and custom Actions, that will show up in the View Designer.

That being said, let's get started.

Was this page helpful? Yes No Submitting... Thank you


  1. Martin Holle

    Cannot open the downloaded zip file "". Seems to be corrupt.

    May 02, 2018 06:02
  2. Sayee Jadhav

    Hi Martin, thank you for reaching out to us. 

    If you want to view the install package contents, please use the 7 Zip utility to extract the contents of the ZIP file. The contents of the install ZIP file cannot be extracted by using the Windows Zip utility or Mac archive utility.

    Also, when using 7 Zip utility from the Windows Explorer, you might encounter a Windows error on selecting the ZIP file. To overcome this, select the parent folder and then use the Context menu on the ZIP file to open it in 7 Zip utility.

    Do let us know if you are still facing issues. 

    May 10, 2018 12:56
    1. Martin Holle

      Hi Sayee,

      thank you for you feedback. I tried as proposed, but I still cannot open the archive. Which version of 7 Zip utility I am supposed to use?

      Kind regards,


      May 14, 2018 04:49
  3. Sayee Jadhav

    Hi Martin,

    Are you using 7-Zip 17.01 beta version? If you are using an older version, request you to please install 7-Zip 17.01 beta version or later and then attempt to open the ZIP file.

    Do let us know if you are still facing issues.



    May 15, 2018 01:37
    1. Martin Holle

      Hi Sayee,

      I tried it with 7-Zip 18.05 and it seems to work now, even though 7-Zip shows an CRC error when unpacking the jar file.



      May 15, 2018 03:07