[ESB Tooling] Automation of adding .jars to "ESB/lib" directory

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[ESB Tooling] Automation of adding .jars to "ESB/lib" directory

Sangeeth Karunaratne

Hi All,

ESB tooling requires adding of required dependencies such as ".jars" to "ESB/lib" directory, where the user has to search for the relevant jar & download it, copy it to the lib directory.
Due to some license constrains we can't ship & redistribute those 3rd party jars with the developer studio.

In order to improve the developer experience, we are planning to embed new feature to download the relevant .jars using maven.

The steps are as follows
  1. The user has to select the relevant database driver (eg: mysql , mssql).
  2. The user can select a version from a list of supported versions provided to the user.
  3. A download button is provided to download the driver.
  4. Once the download button is clicked the relevant dependency is added to the pom.xml file and it is built.
  5. The relevant dependencies are downloaded and copied to the "ESB/lib" directory.
  6. A test connection button is provided so that the user can check the connectivity to the relevant database.

When deploying the "CApp" to development environment the dependent .jars would be compressed as a zip file and the user would be notified, that he has to copy the created zip file and extract it to the lib directory of the "ESB/lib". If users trying out the scenario inside the EI Tooling, all relevant jars will automatically copy to Micro Integrator & run accordingly.

The same approach could be extended to configure ESB's JMS transport, to download required dependent  ".jars" to the "ESB/lib" directory. (eg : configuring ActiveMQ, JBossMQ).

Sample view of the download window is given below.

Screenshot from 2019-02-11 16-45-07.png


Thanks,
--
Sangeeth Karunaratne
Software Engineering Intern | WSO2 Inc.

Mobile: +94767031534


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [ESB Tooling] Automation of adding .jars to "ESB/lib" directory

Hasitha Hiranya
Hi Sangeeth,

One thing we can do is to template the approach for pre-defined scenarios. Eg: Read a file like below and user can select and download, then it go through dependencies under the section and present as a zip/automatically put to internal micro ESB. 

<ActiveMQ_Integration>
 <dependencies>
  <dependency>
 </dependency>
  <dependency>
 </dependency>
</dependencies>
</ActiveMQ_Integration>
<IBMMQ_Integration>
 <dependencies>
  <dependency>
 </dependency>
  <dependency>
 </dependency>
</dependencies>
</IBMMQ_Integration>
<datasources>
<MySQL_Integration>
 <dependencies>
  <dependency>
 </dependency>
  <dependency>
 </dependency>
</dependencies>
</MySQL_Integration>
</datasources>
<Groovy_Scripting>
 <dependencies>
  <dependency>
 </dependency>
  <dependency>
 </dependency>
</dependencies>
</Groovy_Scripting>
<Kafka>
<dependencies>
  <dependency>
 </dependency>
  <dependency>
 </dependency>
</dependencies>
</Kafka>

Thanks

On Mon, Feb 11, 2019 at 4:52 PM Sangeeth Karunaratne <[hidden email]> wrote:

Hi All,

ESB tooling requires adding of required dependencies such as ".jars" to "ESB/lib" directory, where the user has to search for the relevant jar & download it, copy it to the lib directory.
Due to some license constrains we can't ship & redistribute those 3rd party jars with the developer studio.

In order to improve the developer experience, we are planning to embed new feature to download the relevant .jars using maven.

The steps are as follows
  1. The user has to select the relevant database driver (eg: mysql , mssql).
  2. The user can select a version from a list of supported versions provided to the user.
  3. A download button is provided to download the driver.
  4. Once the download button is clicked the relevant dependency is added to the pom.xml file and it is built.
  5. The relevant dependencies are downloaded and copied to the "ESB/lib" directory.
  6. A test connection button is provided so that the user can check the connectivity to the relevant database.

When deploying the "CApp" to development environment the dependent .jars would be compressed as a zip file and the user would be notified, that he has to copy the created zip file and extract it to the lib directory of the "ESB/lib". If users trying out the scenario inside the EI Tooling, all relevant jars will automatically copy to Micro Integrator & run accordingly.

The same approach could be extended to configure ESB's JMS transport, to download required dependent  ".jars" to the "ESB/lib" directory. (eg : configuring ActiveMQ, JBossMQ).

Sample view of the download window is given below.

Screenshot from 2019-02-11 16-45-07.png


Thanks,
--
Sangeeth Karunaratne
Software Engineering Intern | WSO2 Inc.

Mobile: +94767031534



--
Hasitha Abeykoon
Associate Technical LeadWSO2, Inc.; http://wso2.com


_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
Reply | Threaded
Open this post in threaded view
|

Re: [ESB Tooling] Automation of adding .jars to "ESB/lib" directory

Sangeeth Karunaratne
Hi Hasitha,

There are some constraints in creating a template for pre-defined scenarios :
  1. The user wouldn't be aware of the fact that a 3rd party dependent library is downloaded.
  2. If we are to download dependencies based on pre-defined scenarios there are some instances where the user is required to download some proprietary dependencies which we do not have the write to redistribute.
  3. There maybe some version specific dependencies the user requires then pre-defining the version would cause problems.
Therefore the user would be prompted with a dialog box when, the required driver is selected whether to download the relevant driver for him
or the user can download the relevant dependency and put it in to "ESB/lib" directory.

Also when the CApp is deployed again the user is prompted with a dialog box, requiring the user whether he wishes to zip the dependent libraries to a zip
or the user can navigate to "ESB/lib" directory and copy the relevant dependencies to the development environment.


Thanks,

On Mon, Feb 11, 2019 at 5:03 PM Hasitha Hiranya <[hidden email]> wrote:
Hi Sangeeth,

One thing we can do is to template the approach for pre-defined scenarios. Eg: Read a file like below and user can select and download, then it go through dependencies under the section and present as a zip/automatically put to internal micro ESB. 

<ActiveMQ_Integration>
 <dependencies>
  <dependency>
 </dependency>
  <dependency>
 </dependency>
</dependencies>
</ActiveMQ_Integration>
<IBMMQ_Integration>
 <dependencies>
  <dependency>
 </dependency>
  <dependency>
 </dependency>
</dependencies>
</IBMMQ_Integration>
<datasources>
<MySQL_Integration>
 <dependencies>
  <dependency>
 </dependency>
  <dependency>
 </dependency>
</dependencies>
</MySQL_Integration>
</datasources>
<Groovy_Scripting>
 <dependencies>
  <dependency>
 </dependency>
  <dependency>
 </dependency>
</dependencies>
</Groovy_Scripting>
<Kafka>
<dependencies>
  <dependency>
 </dependency>
  <dependency>
 </dependency>
</dependencies>
</Kafka>

Thanks

On Mon, Feb 11, 2019 at 4:52 PM Sangeeth Karunaratne <[hidden email]> wrote:

Hi All,

ESB tooling requires adding of required dependencies such as ".jars" to "ESB/lib" directory, where the user has to search for the relevant jar & download it, copy it to the lib directory.
Due to some license constrains we can't ship & redistribute those 3rd party jars with the developer studio.

In order to improve the developer experience, we are planning to embed new feature to download the relevant .jars using maven.

The steps are as follows
  1. The user has to select the relevant database driver (eg: mysql , mssql).
  2. The user can select a version from a list of supported versions provided to the user.
  3. A download button is provided to download the driver.
  4. Once the download button is clicked the relevant dependency is added to the pom.xml file and it is built.
  5. The relevant dependencies are downloaded and copied to the "ESB/lib" directory.
  6. A test connection button is provided so that the user can check the connectivity to the relevant database.

When deploying the "CApp" to development environment the dependent .jars would be compressed as a zip file and the user would be notified, that he has to copy the created zip file and extract it to the lib directory of the "ESB/lib". If users trying out the scenario inside the EI Tooling, all relevant jars will automatically copy to Micro Integrator & run accordingly.

The same approach could be extended to configure ESB's JMS transport, to download required dependent  ".jars" to the "ESB/lib" directory. (eg : configuring ActiveMQ, JBossMQ).

Sample view of the download window is given below.

Screenshot from 2019-02-11 16-45-07.png


Thanks,
--
Sangeeth Karunaratne
Software Engineering Intern | WSO2 Inc.

Mobile: +94767031534



--
Hasitha Abeykoon
Associate Technical LeadWSO2, Inc.; http://wso2.com



--
Sangeeth Karunaratne
Software Engineering Intern | WSO2 Inc.

Mobile: +94767031534




_______________________________________________
Architecture mailing list
[hidden email]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture