Thursday 1 December 2016

A Vision for the Microservice Revolution

Is there only one way to develop Microservices? Or is there another that can take us even further?

We at the Jolie team believe that there is a second way. We have started piecing together a presentation of what makes us think so. See it here: http://jolie-lang.org/vision.html

Jolie 1.6.0 released

Jolie 1.6.0 has been released!

Important: This is the first stable release of Jolie that requires Java 8. A Java 6 compatible branch is still available on GitHub, to support contributors with the possibility of backporting important bug fixes. A link to the latest stable version of Jolie supporting Java 6 is provided in the download page of the Jolie website.


Changelog from Jolie 1.5.0

New from Jolie 1.6.0 beta1:
  • Improved error message compatibility with Windows (now the Jolie plugin for Atom works correctly in Windows 10).
  • New for-loop construct for iterating over arrays without explicit indexes: for( x in array ) { ... }.
  • Bug fix for interface extenders affecting OneWay operations.
  • Improved support for HTTP methods.
  • Added pi@MathService
  • Fix null pointer in TimeoutHandlers.
  • Improved File service for handling absolute paths.
  • Added replaceFirst@StringUtils
  • Add support for sqlite in Database.
  • Bug fix in alias replacement in HTTP.
  • Fix race condition in ValueVector.
New from Jolie 1.5.0 (already posted as part of Jolie 1.6.0 beta1):
  • 3000th commit reached!
  • Lots of improvements to the handling of concurrent data structures, using lambdas.
  • Codebase ported to make use of the new features and libraries found in Java 8.
  • Various performance improvements: objects for tracing are not allocated if --trace is not in use, type checking runs faster thanks to safe sharing of string builders, improved management of sockets, faster evaluation of logical conditions by using lambda-based implementations.
  • New asynchronous implementation of AbstractCommChannel for simpler handling of solicit-responses.
  • Improved performance of the interpreter test suite.
  • Support for type choices (also known as type sums)! This merits its own blog post, to be written.
  • Numerous bug fixes and minor improvements.
  • Fix a race condition on the usage of internal links.

Tuesday 11 October 2016

Jolie now available on Docker

Jolie is now available also on Docker, a container tool for deploying microservices. Using the Jolie image for Docker allows for trying out or installing Jolie in production faster, by using the Docker tool. More information about Docker can be found at http://www.docker.com.

To install a Jolie docker container, follow these steps:
  • Install Docker (if not already installed)
  • Run the following command for pulling the Jolie Docker image:

    docker pull jolielang/jolie1.6.0beta1
  • Create a container starting from the downloaded image, by adding a local volume where the Jolie files should be stored:

    docker run -it -v /your-host-folder-path:/your-container-path --name CONTAINERNAME jolielang/jolie1.6.0beta
    where
    • -it : starts the container with a command shell enabled
    • --name CONTAINERNAME : gives a name to the container
    • -v /your-host-folder-path:/your-container-foldercreate an internal folder  /your-container-folder mapped to folder /your-host-folder-path in the host machine which will be used for sharing files between the container and the hosting machine. Thanks to this option, it is possible to edit Jolie files from the host machine preferred editor and then running them inside the container.

    Once the container is started, it is possible to run Jolie from inside the container instance shell with the usual command:

    jolie your_file.ol

Note that you can open several shells in your running container, by using following command from the host:

docker exec -it CONTAINERNAME bash


Wanna try Jolie out? Use the Docker container with Jolie examples!

For those who are interested in running some of the examples discussed in the documentation of the Jolie website, it is possible to pull the following Docker image instead of the basic one:

docker pull jolielang/jolie-examples

In the image, the folder /examples contains the whole set of examples. The examples can also be  downloaded separately from this git repository: https://github.com/jolie/examples.

Friday 13 May 2016

Jolie 1.6.0 beta1 released

In honour of the Jolie repository reaching a count of 3000 commits, Jolie 1.6.0 beta1 has been released!

This is a beta release, meant for early adopters and testers. Do not use it in production! For this reason, the download link is reported only here and not in our main download page.

Download link: http://www.jolie-lang.org/files/releases/jolie-1.6.0_beta1.jar

Important: This is the first release of Jolie that requires Java 8. A Java 6 compatible branch is still available on GitHub, to support contributors with the possibility of backporting important bug fixes.


Changelog from Jolie 1.6.0

  • 3000th commit reached!
  • Lots of improvements to the handling of concurrent data structures, using lambdas.
  • Codebase ported to make use of the new features and libraries found in Java 8.
  • Various performance improvements: objects for tracing are not allocated if --trace is not in use, type checking runs faster thanks to safe sharing of string builders, improved management of sockets, faster evaluation of logical conditions by using lambda-based implementations.
  • New asynchronous implementation of AbstractCommChannel for simpler handling of solicit-responses.
  • Improved performance of the interpreter test suite.
  • Support for type choices (also known as type sums)! This merits its own blog post, to be written.
  • Numerous bug fixes and minor improvements.
  • Fix a race condition on the usage of internal links.

Tuesday 19 April 2016

Jolie package "atom-jolie" for the Atom editor

We now have a new package for the Atom editor, atom-jolie, that automatically installs all the recommended Atom packages for developing Jolie code in Atom (syntax highlighting, linting, and execution).

There have also been some improvements to the Jolie packages for Atom lately, including a release of the script package that now supports running the currently opened Jolie program directly in Atom.

Screenshot:


Monday 4 April 2016

Jolie 1.5.0 released

Jolie 1.5.0 has been released.
This is mainly a stabilisation release (albeit it contains some new conservative features). It is meant as a transition release towards the future release that will require Java 8. So this one still requires just Java 6, but efforts will now be directed towards stabilising the next version requiring Java 8 (java8 branch on git). Get it while it's still hot: http://jolie-lang.org/downloads.html.

Changelog

  • The HTTP extension now supports sending custom user headers in request messages.
  • Improvements and bugfixes to SSL extensions (e.g., HTTPS).
  • Better handling of the service shutdown sequence.
  • Fixed a race condition in channel selectors.
  • Bugfixes regarding channel handling in aggregation.