This documentation supports the 20.08 version of BMC Helix Platform. 
To view an earlier version, select 20.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 BMC Helix Innovation Studio. As powerful as that is, one of the great features of BMC Helix Platform 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 BMC Helix 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 Creating a custom service in Java; 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 BMC Helix Platform 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 BMC Helix Platform 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 BMC Helix 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  this is the tutorial as of the point where all the codeless development of the application is complete.


    To download the ZIP file, right-click the URL > Save link as. The ZIP file will get downloaded to the default download location of your web browser. You must use the 7-Zip utility to extract the contents of the ZIP file, and view the install package components. The contents of the install ZIP file cannot be extracted by using the Windows Zip utility or Mac archive utility.

  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