OCI REST API

OCI-REST-API

Application Programming Interface (API) is a formalized set of software-controlled calls and computer routines that an application can use to access available network services. RPC (Remote Procedure Call) and SOAP APIs (Simple Object Access Protocol) are the origins of APIs, and it was Roy Fiedling’s PhD dissertation published in 2000 that originally coined the acronym REST (Representational State Transfer).

The abbreviation REST refers to how a server responds to a request by returning a representation of a resource, which today is typically an HTML, XML, or JSON document. This resource also includes hypermedia links that can be used to alter the system’s state. Each such request will return a representation of the resource and so on. Ideas that came after REST are Websocket API but also GraphQL, which is a query language for APIs.

Fiedling determined the criteria that must be met when developing an Internet-based application while using the REST style. The low entry barrier, such as caching and client-server architectural elements, as well as those specific to REST, like the concept of resources, reflect the requirements. The primary focus of existing REST services is on resource lifecycle events (creation, update, deletion, and read access), which are represented by the proper HTTP methods (PUT, POST, DELETE, GET). The standard for REST API design is OpenAPI6 and is based on Swagger.

The REST paradigm is ideal for cloud computing because cloud capabilities are easily viewed as first-class REST resources. Direct API calls are rarely used while managing cloud resources. Generally, the API is consumed through the OCI console, an SDK for several languages, a command-line interface (OCI CLI), or infrastructure-as-code software such as Terraform. API requests are created and sent in the background in each of these scenarios. The user provides only the required input.

OCI SDK je biblioteka za određeni programski jezik koja omogućava vašem softveru interakciju sa područjem za upravljanje oblakom Oracle Cloud Infrastructure. SDK izlaže OCI API pozive kao funkcije ili metode koje je programeru lakše koristiti i sa kojima se brže može raditi. Na ovaj način, prilagođena logika koja upravlja i nadgleda OCI resurse mogu biti ugrađeni u vaše aplikacije.

OCI CLI (interfejs komandne linije) je uslužni program komandne linije koji vam omogućava interakciju sa Oracle Cloud Infrastructure REST API-jima na skriptovan način. CLI je bogatiji opcijama u odnosu na OCI konzolu jer možete pronaći funkcije dostupne kao CLI komande koje nisu implementirane u OCI konzoli.

Terraform, an infrastructure-as-code provisioning tool, keeps track of the condition of the infrastructure it manages in order to support a declarative approach. Terraform allows you to specify the anticipated state of your infrastructure rather than specifying and sequencing activities within a command line interface. Terraforms task becomes to find out what activities and in what order should be performed to get the cloud resources to the expected condition. There aren’t any intermediary states to be concerned about. Only the outcome counts.

Terraform supports a wide range of cloud providers through a set of plugins called providers. When you use the terraform init command to start a new project, Terraform reads your configuration files in this directory, determines which vendor you should use, and downloads the most recent plugin from that vendor. Dodatak dobavljača je taj koji je odgovoran za interakciju sa, u ovom slučaju, In this scenario, the provider plugin is responsible for interacting with Oracle Cloud Infrastructure’s REST APIs.

Oracle Cloud Infrastructure (OCI)

Oracle Cloud Infrastructure first became freely accessible in 2016 under the name “Oracle Bare Metal Cloud Services”, then in 2018 changed its name to Oracle Cloud Infrastructure (OCI).

OCI is a powerful service that contains Infrastructure as a Service (IaaS) resources and offers computing, storage and networking capabilities. Moreover, it has a number of platform-as-a-service (PaaS) features, including fully managed Oracle autonomous databases, ATP and ADW, managed container orchestration using the open-source Kubernetes engine, and an integrated Docker registry container. The open-source provisioning tool Terraform is used by a wide range of different templates in the OCI ecosystem to deploy systems including multiple NoSQL databases, data integration platforms, and more.

OCI is designed with key cloud technologies to fulfill the needs of business applications. With bespoke security chips, it supports full user isolation for the cloud, full instance isolation for increased security and performance, L2 network virtualization, RDMA cluster networking, and flexible, scalable architecture.

The OCI platform enables rapid application development, which offers a DevOps platform for CI/CD, API management, an AI platform, and integration with SaaS and on-premise applications.

You can also access business analytics on the cloud, and produce insights from data in different apps, data warehouses, and data lakes. Analytics cloud, business intelligence, big data discovery, big data preparation, data visualization, and Essbase are among the services provided.

Oracle ADF

Oracle ADF is an end-to-end application development framework.

The framework’s initial release, which was called JBO (Java Business Objects) rather than ADF at the time, happened in 1999. Its name was quickly changed to BC4J (Business Components for Java). Oracle began creating a complementary IDE (Interactive Development Environment) called JDeveloper in line with BC4J. The tool kept up with database versions, and shortly, in version 10g, the name “ADF” was first used.

Oracle ADF is based on J2EE standards and open-source technologies and significantly sped up the development of service-oriented applications. Oracle ADF is suitable for developers who create so-called CRUD (Create, Read, Update, Delete) applications using a web, mobile or desktop interface.

These Java classes communicate with the database using the JDBC interface, where the implementation details of accessing the database are hidden. Using JDeveloper for development of Oracle ADF applications, implies that the developer has the ability to design using visual diagrams and wizards.
Moreover, JDeveloper gives the developer the opportunity to at any time directly alter the source code.

Oracle ADF provides a lot of flexibility. It is built on the Model-View-Controller (MVC) design pattern, which separates the business logic (Model) from the client’s View and control flow logic (Controller).

The first layer, the Business Service, is responsible for the interaction between the database and the Model layer but also for the majority of the business logic. ADF Business Components (ADF BC) provide business services that are responsible for communicating with database tables and validating user input to the database. It is followed by the Model layer, connecting the user interface to the business service and allowing for its alteration without affecting other parts of the application. The user interface’s flow is managed by the Controller layer, which is also frequently used for side-to-side ADF task flow navigation. The View layer is the presentation layer and is used by the end user to interact with the application.

ADF BC (Business Components) are one of the most important parts of ADF. They enable the creation of a piece of the database logic that needs to be passed to the application layer with knowledge of relational database theory and the SQL language. An entity, one of the three most important components, represents a table in the database. Entity objects can be related by associations, links that represent foreign keys, and other constraints in the database.

A view is created on one or more entity objects or on a SQL query. Just as entity objects can be connected by associations, view objects can be connected by links, which reflect the so-called master-detail connection between objects. The application module encapsulates instances of view objects and methods of business services that are contained within and required for its operation.

By enabling visual and declarative development, ADF lessens the complexity of J2EE application development. This strategy cuts down on the amount of coding necessary and shortens the learning curve.
The components that developers choose to use in their applications are entirely up to them.