GUI – Graphical User Interface;
Client-Server – a distributed application architecture that divides tasks or workloads between service providers (servers) and service requesters (clients). Generally, it describes the relationship between two programs, where one makes a service request to another. In a network, multiple server programs can be run on one host, the server machine. Client programs initiate communication sessions with servers, which await (listen to) incoming requests. Opposing to Peer-to-Peer and Client-queue-Client architectures.
API - Application Programming Interface – an interface that a software program implements in order to allow other software to interact with it; much in the same way that a software might implement the GUI in order to allow humans to operate with it.
J2EE - Java Platform, Enterprise Edition;
JMS - Java Message Service API is a messaging standard that allows application components based on the A2EE to create, send, receive, and read messages. It enables distributed communication between components. Java applications that use JMS are called JMS clients; system that handles routing and delivery of messages - JMS Provider; JMS Application – a business system, composer of many JMS clients, and, generally, one JMS Provider.
EJB – Enterprise JavaBeans. A server side component architecture for Java Platform, Enterprise Edition. EJB technology enables rapid and simplified development of distributed, secure and portable applications based on Java technology. In a typical application, EJBs contain the application’s business logic and business data, and is solving many issues which appear while using the standard Java objects.