Skip to content

Getting started a development

Mariusz Kumor edited this page Apr 18, 2017 · 26 revisions

Setup development IDE

This tutorial aims at showing you, how to setup a development IDE in order to start development process. For development work may start all microservices in the development environment, following below steps. Since we uses InteliJ IDEA, the all instructions are prepared using this software. However you can do it similarly in other IDE, i. e. Netbeans and Eclipse.

Build the project

At the first open the project in IntelliJ IDEA.

Set Maven version

InteliJ IDEA by default uses Maven in version 3.0.5. The Abixen Platform project requires version 3.1.0 or newest. Let's configure the Maven version in InteliJ IDEA. Open preferences window:

Abixe Platform architecture

Go to the Maven section and indicate location to Maven's directory on your system.

Abixe Platform architecture

Install

In the Lifecycle section click on position of creation a new configuration like in the below screenshot:

Abixe Platform architecture

There are two ways to build the project. The first one is with docker images, because Abixen Platform has been dockerized. However in order to build with docker images you must have installed and running docker's daemon. If you don't have Docker or don't want to build its images, add a parameter -DskipDocker in the command line field, like in the below screenshot:

Abixe Platform architecture

Click Apply and OK. Now click run button showed in the below screenshot:

Abixe Platform architecture

Maven should download all required dependencies, both java libraries and using Maven Frontend Plugin triggering the bower ones downloading process.

Run particular microservices

Run Eureka

Click a right mouse button on the option selected in the below screenshot (spring-boot:run):

Abixe Platform architecture

From the context menu click option Run 'abixen-platform-eureka'. In a browser go to address http://localhost:8761 and if you can see the Eureka's page, go to the next step.

Run Configuration Server

Similarly as Eureka, start Abixen Platform Configuration microservice. Click a right mouse button on the option selected in the below screenshot (spring-boot:run):

Abixe Platform architecture

From the context menu click option Run 'abixen-platform-configuration'. Refresh the Eureka's page and check if the ABIXEN-PLATFORM-CONFIGURATION has been registered. (the section Instances currently registered with Eureka) If yes, go to the next step.

Run Hystrix Dashboard

This microservice is not required and may be omitted, taking into account the Hystrix Dashboard allows to monitor a network traffic between microservices. In order to run Hystrix Dashboard, click a right mouse button on the option selected in the below screenshot (spring-boot:run). Here is a difference compared to running previous microservices. From the context menu click option Create 'abixen-platform-hystrix-dashboard'.

Abixe Platform architecture

In the opened window set parameters presented in the below screenshot:

Abixe Platform architecture

Next, from the dropdown showed in the below screenshot select abixen-platform-hystrix-dashboard [spring-boot:run] and click the Run button.

Abixe Platform architecture

Refresh the Eureka's page and check if the ABIXEN-PLATFORM-HYSTRIX-DASHBOARD has been registered. If yes, go to the next step.

Run Gateway

Gateway requires Redis installed and running. On the below URL address there is a sample how to install Redis on Mac OS X http://jasdeep.ca/2012/05/installing-redis-on-mac-os-x And here there is a source of Redis for Windows https://github.com/MSOpenTech/redis/releases

In order to run Gateway, click a right mouse button on the option selected in the below screenshot (spring-boot:run). From the context menu click option Create 'abixen-platform-gateway'.

Abixe Platform architecture

In the opened window set parameters presented in the below screenshot:

Abixe Platform architecture

Next, from the dropdown showed in the below screenshot select abixen-platform-gateway [spring-boot:run] and click the Run button.

Abixe Platform architecture

Refresh the Eureka's page and check if the ABIXEN-PLATFORM-GATEWAY has been registered. If yes, go to the next step.

Run Modules

For now Abixen platform has two functional modules:

  • Business Intelligence Service
  • Web Content Service (still under development)

In order to run all modules use a bellow procedure for each of them replacing a keyword Modules existing in the screenshots to the module name you are interested in. E.g. replace Modules to Business Intelligence Service or replace Modules to Web Content Service. You can run all modules in the same time.

In order to run Modules, click a right mouse button on the option selected in the below screenshot (spring-boot:run). From the context menu click option Create 'abixen-platform-modules'.

Abixe Platform architecture

In the opened window set parameters presented in the below screenshot:

Abixe Platform architecture

Next, from the dropdown showed in the below screenshot select abixen-platform-modules [spring-boot:run] and click the Run button.

Abixe Platform architecture

Refresh the Eureka's page and check if the ABIXEN-PLATFORM-MODULES has been registered. If yes, go to the next step.

Run Core

In order to run Core, click a right mouse button on the option selected in the below screenshot (spring-boot:run). From the context menu click option Create 'abixen-platform-core'.

Abixe Platform architecture

In the opened window set parameters presented in the below screenshot:

Abixe Platform architecture

Next, from the dropdown showed in the below screenshot select abixen-platform-core [spring-boot:run] and click the Run button.

Abixe Platform architecture

Refresh the Eureka's page and check if the ABIXEN-PLATFORM-CORE has been registered. If yes, go to the next step.

Run Web Client

In order to run Web Client, click a right mouse button on the option selected in the below screenshot (spring-boot:run). From the context menu click option Create 'abixen-platform-web-client'.

Abixe Platform architecture

In the opened window set parameters presented in the below screenshot:

Abixe Platform architecture

Next, from the dropdown showed in the below screenshot select abixen-platform-web-client [spring-boot:run] and click the Run button.

Abixe Platform architecture

Refresh the Eureka's page and check if the ABIXEN-PLATFORM-WEB-CLIENT has been registered. If yes, in a browser go to the address http://localhost:8080 and sign in to the platform. There are three initial users:

Dealing with static resources

The are static resources in the Web Client and the Modules microservices. A developer have to modify files in the web directory. Once some changes has been done, running a gulp task processing resources are putting into static directory. Don't modify a content of the static directory - it is overwritten every time, once the gulp task is performed. Refresh a browser after the gulp task is finished.

Setup a gulp dev task for the Web Client microservice.

Click a right mouse button on the gulpfile.js and select Show Gulp Tasks from a context menu.

Abixe Platform architecture

Then configure your Node interpreter and Gulp package paths. Click the OK button.

Abixe Platform architecture

Now on the list of gulp tasks click a right mouse button on the dev task a from a contact menu select 'Run dev'.

Abixe Platform architecture

You have to see a console of running gulp task.

Abixe Platform architecture

Setup a gulp dev task for the Modules microservice.

Similarly like in section https://github.com/abixen/abixen-platform/wiki/Getting-started-a-development#run-modules replace Module keyword to the module name you are interested in.

Repeat all steps presented for the Web Client microservice, but for the gulpfile.js placed in the Modules microservice.

Abixe Platform architecture