Welcome to International Workshop on Open Component Ecosystems 

Java Platform, Enterprise Edition 

Java Enterprise Edition (Java EE), formerly Java 2 Platform, Enterprise Edition (J2EE), currently Jakarta EE, is a set of specifications, extending Java SE 8 with specifications for enterprise features such as distributed computing and web services. Java EE applications are run on reference runtimes, that can be microservices or application servers, which handle transactions, security, scalability, concurrency and management of the components it is deploying.

Java EE is defined by its specification. The specification defines APIs (application programming interface) and their interactions. As with other Java Community Process specifications, providers must meet certain conformance requirements in order to declare their products as Java EE compliant.
Examples of contexts in which Java EE referencing runtimes are used are: e-commerce, accounting, banking information systems.
Java EE was maintained by Oracle under the Java Community Process. On September 12, 2017, Oracle Corporation announced that it would submit Java EE to the Eclipse Foundation. The Eclipse top-level project has been named Eclipse Enterprise for Java (EE4J). The Eclipse Foundation was forced to change the name of Java EE because Oracle owns the trademark for the name "Java." On February 26, 2018, it was announced that the new name of Java EE will be Jakarta EE.
Java EE includes several specifications that serve different purposes, like generating web pages, reading and writing from a database in a transactional way, managing distributed queues.
The Java EE APIs include several technologies that extend the functionality of the base Java SE APIs, such as Enterprise JavaBeans, connectors, servlets, JavaServer Pages and several web service technologies.
Unified Expression Language (EL) is a simple language originally designed to satisfy the specific needs of web application developers. It is used specifically in Java Server Faces to bind components to (backing) beans and in Contexts and Dependency Injection to name beans, but can be used throughout the entire platform.
Enterprise JavaBean (EJB) specification defines a set of lightweight APIs that an object container (the EJB container) will support in order to provide transactions (using JTA), remote procedure calls (using RMI or RMI-IIOP), concurrency control, dependency injection and access control for business objects. This package contains the Enterprise JavaBeans classes and interfaces that define the contracts between the enterprise bean and its clients and between the enterprise bean and the ejb container.
Java Transaction API contains the interfaces and annotations to interact with the transaction support offered by Java EE. Even though this API abstracts from the really low-level details, the interfaces are also considered somewhat low-level and the average application developer in Java EE is either assumed to be relying on transparent handling of transactions by the higher level EJB abstractions, or using the annotations provided by this API in combination with CDI managed beans.







Member of IWOCE RC PBC 2019:


Roberto Di Cosmo

Definitions of different ecosystems

Research Proposal

Software Component Definition

History alternative energy

Enabling  technologies

Renewable energy vs non-renewable energy

Relatively new concepts for alternative energy

Research alternative energy

Disadvantages alternative energy