Posts

Showing posts with the label WSO2

Dockerizing WSO2 hospital service from source

In this blog post, we are going to build the hospital service backend jar used in WSO2 Enterprise Integrator samples from the source and bundle it inside a Docker container. Sources for this project are available in this GitHub repo . Steps to create, run and test the hospital service docker container Clone the GitHub repo to the local machine. Open a Powershell window and navigate to the folder where the cloned project is located. Execute “ docker build -t hospitalserviceagent:v2 . ” to create the Docker image. Execute “ docker run -p 9090:8080 hospitalserviceagent:v2 ” to run a container based on the created image. Navigate to http://localhost:9090/healthcare/surgery in a browser window and you should see an output as in step 5 in Sending requests to the ESB . Explanation   This Docker file used two docker images in a two-step process to build this final Docker image.  The first step is the build stage which uses the maven:3-openjdk-8 image as the build image. This image h...

Dockerizing WSO2 hospital service jar

In this blog post, we are going to build a Docker container to run the hospital service backend jar used in WSO2 Enterprise Integrator samples. Sources for this project are available in this GitHub repo . Steps to create, run and test the hospital service docker container Create a new folder and download the Hospital-Service-2.0.0-EI7.jar file and Dockerfile into the folder. Open a Powershell window and navigate to the folder where files are downloaded to. Execute “ docker build -t hospitalserviceagent:v1 . ” to create the Docker image. Execute “ docker run -p 9090:9090 hospitalserviceagent:v1 ” to run a container based on the created image. Navigate to http://localhost:9090/healthcare/surgery in a browser window and you should see an output as in step 5 in Sending requests to the ESB . This Hospital-Service-2.0.0-EI7.jar file in the above repository is downloaded from the WSO2 Docs GitHub repo. Instead of using the jar file link from above step 1, you can use the jar file from the ...

WSO2 carbon building process

WSO2 carbon [1] server which serves as the base for all the WSO2 products is built based on OSGi technology [2]. This blog post aims to briefly explain the code spaces that involves when building carbon server from source. Steps to be followed to build WSO2 carbon 4.2.0 code base is explained in "Building from source" page [3]. After building kernel code space you can find the working carbon server pack at the <local-kernel-directory>/distribution/product/modules/distribution/target directory. User do not have to build platform code space to get the base carbon server, platform space needs to be built only if user needs another specific product like WSO2 ESB. When user issues maven command with necessary build phases (Ex - mvn clean install) in their terminal from location <local-kernel-directory>, maven build process starts building checked out code in the following order. dependencies parent service-stubs core features samples distribution Thes...

Structure of WSO2 code repository

Image
This blog post targets explaining the structure of WSO2 code repository used until release of WSO2 carbon 4.2.0 release. Until carbon 4.2.0 release, WSO2 maintained code repository [1] based on svn. Carbon code repository is consist of 3 spaces named, orbit kernel platform Orbit Orbit space [2] contains 3rd party libraries that are not maintained by WSO2, but are used by WSO2 products in operations. Kernel Kernel space [3] builds the base of all WSO2 products, WSO2 carbon server [4]. All other WSO2 products are produced by adding some specific functionality to generic WSO2 carbon server. Kernel space contains generic functionality shared by all WSO2 products such as caching, clustering, management console UI and 3rd party libraries that are necessary to support these generic functionalities. Unlike 3rd party libraries included in orbit space these 3rd party libraries are maintained by WSO2. Therefore these 3rd party libraries have two part version numbers like X.Y...