Developers: | IBM |
Last Release Date: | 2017/09/25 |
Technology: | Server platforms, Development tools of applications |
IBM WebSphere Liberty is the application server of the next generation.
Specific Features
- The architecture based on a core — architecture based on a core means that initially the size of the performing code is extremely small, and the code is expedited, and then its size gradually increases as required. As a rule, the Liberty server occupies about 50 MB in RAM and is started less, than in 3 seconds.
- The manager of functional groups — the application server is implemented in the form of set of functional groups which the manager loads only as required, it allows to support the server size at minimum possible level.
- WebSphere Liberty repository — functional groups are loaded as required directly from the website of IBM.
- Dynamic updates — installation of new functional groups does not require restart of the server.
- Support of Java EE 7 — Liberty supports full applications of Java EE 7.
- Simplicity of installation — to set the performing code, it is rather simple to unpack the file of archive. The complete size of the downloaded Java EE 7 distribution kit is only 94 MB (without Java Runtime Environment).
- Simplicity of deployment — the application is enough to place of it in the necessary directory, and the server will start.
- Simplicity of setup — for setup of key parameters of each server is used one simple XML file.
- The high scalability — model of administration supports work with thousands of servers. The number of participants of a cluster can be calculated by hundreds.
- Packaging of the server — a system allows to create compact archives of applications which include settings of servers for convenience of deployment in industrial infrastructure.
Scenarios of application
Liberty provides ample opportunities for use of industrial applications of Java in different scenarios:
- Permanent updates — IBM releases new versions of each functional group separately.
- Development environment — thanks to simplicity of installation, setup and updating two and more test servers of Liberty it is possible to start easily on one computer in parallel with other applications.
- Single board computers — the Liberty applications can work at microcomputers of the next generation, such as Raspberry Pi.
- The Internet of devices — applications can work on the small distributed devices (such as single board computers).
- Each application services the server — the possibility of deployment of each application on own server provides higher isolation and controllability.
- Microservices — each copy of each microservice can be started on own server.
- Containers — the full-fledged application server can be started in a small easy container.
- The cloud — a large number of servers can work at the virtualized hardware resources.
- The elasticity — scaling of clusters is performed automatically: the number of participants of a cluster increases or decreases depending on loading level.
- High performance — topology can process billions of API calls a day.
Server and profile
- The Liberty server is an application server which allows to run applications of Java, as a rule, the applications written according to the Java Enterprise Edition specifications. In Liberty the server usually configure in the form of implementation of Java of an EE compatible container, for example, Java EE 7.
- The Liberty profile is a Wednesday of runtime of the application server which is determined in computer local file system. The profile in itself is not started, but can act as Wednesday for accomplishment of one or several servers.[1]
Resources and repositories
The server will be able to load functional group only at accomplishment of two conditions: first, this functional group should be included in settings of the server, and secondly, the appropriate resource for this functional group should be set in a profile for this server.
- The Liberty resource is a set of artifacts of the code which can be added to a profile, for example, Java library which implements functionality of the server.
- The repository of Liberty is an online resource which contains a resource, available to loading to the Liberty profiles.
IBM WebSphere Liberty Repository is the main repository of IBM for the Liberty resources. By default the profile executes search of components for downloading in this repository. Utilities of resource management in a profile provide access to a repository at the programming layer.
2017: Opening of the source code
On September 25, 2017 the IBM company submitted the Open Liberty project within which source texts of the WebSphere Liberty application server with support of creation of microservices in the Java language and applications on the basis of architecture of Cloud-Native are open. The code is open under the license EPL (Eclipse Public License)[2].
Access to all main opportunities for creation of Java applications and microservices is open. Open Liberty is compatible to Java EE 7 (WebSphere Liberty implementation is used) and includes support of the additional API offered by community MicroProfile. The concept of microservices means splitting difficult monolithic applications into a set of the isolated services, each of which undertakes a certain functionality of the application. Microservices can work in parallel, adapting to change of loading. Thus the application is implemented in the form of network of the microservices connected among themselves, each of which is started in a separate cloud environment.
After opening of the WebSphere Liberty code will continue the existence as a commercial product with additional opportunities and the service contract of technical support. The code base of Open Liberty will be used as a basis for formation of releases of WebSphere Liberty. All applications working with Open Liberty will be able to be let without changes into WebSphere Liberty.
Among features there is Open Liberty:
- Modular runtime for start of microservices - only the components necessary for operation of application join;
- Delivery of runtime in the form of zip-archive and ready images of containers in Docker Hub. Also it is provided to a possibility of assembly of own images, using the assembly systems like Maven and Gradle;
- The built-in opportunities for dynamic updating of an environment are prototypes in development or the test code can be placed without restart of the server;
- Simple installation of applications and transfer between environments. Assembly, change and support of applications is made using one simple XML file of a configuration and with explicit separation between the code and settings;
- To developers use opportunity for development both usual is given it tools, and specially provided full-fledged IDE environment based on Eclipse.