SAP Ariba Application On a Functional Level
The below image represents the big picture of SAP Ariba applications on a functional level, with the main components and connections, including external systems. SAP Ariba offers two types of solutions called Sourcing and Procurement. These solutions include SAP Ariba, SAP Ariba Buying and Invoicing and SAP Ariba Invoice Management.
The Sourcing solutions cover what is sometimes called strategic procurement. This includes collaborative sourcing (finding suppliers for a given need), collaborative contract management, supplier lifecycle and performance, and spend analysis. The Sourcing solutions are sometimes referred to as Shared Services Strategic Sourcing (S4).
The Procurement solutions cover the operational procurement processes. This includes, managing buyer catalogs, creation, and approval of purchase requisitions, creating, and sending purchase orders, receiving items, and invoice reconciliation and approval. The Procurement solutions are sometimes referred to as Shared Services Procurement (SSP).
Those who use both Sourcing and Procurement solutions can access functions from both areas from one integrated dashboard User Interface. Depending on the purchased solutions and on the user’s permissions, different Sourcing functions such as sourcing, supplier management, and procurement, appear as tabs in the dashboard. To enable the integration, data is synchronized between the Sourcing and Procurement applications. One example of such data is supplier data, which is stored in the databases of both the Sourcing and the Procurement applications.

The Class Structure and their relationships
Basics of Java Classes and Objects
A Java class is essentially a blueprint from which individual Java objects are created. A Java class contains attributes and methods that are common to all objects of one type.
Let's use a dog as an example. A dog is a representation of a class. Its attributes are breed, size, age, and color. Its methods or behaviors include eat, sleep, sit, and run.

In Java, an object is an instance of a class. Your dog would be an instance of a class. Your neighbor's dog would be a different instance.