Thursday, June 15, 2023

Exam 1Z0-1042-23: Oracle Cloud Infrastructure 2023 Application Integration Professional

Exam Topics

The following table lists the exam objectives and their weightings.

Objectives% of Exam
Getting Started with OIC Integrations18%
Using OIC Connections and Adapters21%
Creating Orchestrated Integrations40%
Creating Scheduled Integrations11%
Testing, Monitoring, and Troubleshooting Integrations16%

 

Getting Started with OIC Integrations [18%]

  • Describe the Key Components of the OIC Integration Feature
  • Explain OIC Integrations Concepts
  • Understand How Integrations Work
  • Understand Web Services Fundamentals (WSDL, SOAP, REST, JSON)

Using OIC Connections & Adapters [21%]

  • Define Connections
  • Configure Trigger Connections
  • Configure Invoke Connections
  • Understand the Connectivity Agent

Creating Orchestrated Integrations [40%]

  • Manage OIC Lookups
  • Use the OIC Data Mapper
  • Use Custom JavaScript Libraries
  • Add and Configure Orchestration Flow Actions
  • Understand and Use File Handling Options
  • Understand and Use the Fault Handling Framework

Creating Scheduled Integrations [11%]

  • Define an Integration Schedule
  • Convert a Scheduled Integration to App-Driven
  • Using Scheduled Parameters

Testing, Monitoring and Troubleshooting Integrations [16%]

  • Activate & Deactivate Integrations
  • Test REST Trigger Connection-Based Integrations
  • Import & Export Integrations
  • Monitor & Troubleshoot Integration Instances

Tuesday, June 13, 2023

Oracle Integration Cloud - OIC Basic Questions

 

1.       What are the Differences between Connection and Adaptor?

Connection is the Starting Point before creating any integration. This is the Place where you specify whether it is an Invoke or Trigger or Both. Connection Always Leverages an Adaptor; it could be an Application Specific or Technology Adaptor. For Instance, ERP cloud, Sales force, Workday adaptors are Application Specific whereas FTP, REST, SOAP are Technology Adaptors.

2.    What are Different Types of Integrations are Available?

       OIC – Gen2

                                                   i.      App Driven Orchestration

                                                 ii.      Scheduled Orchestration

                                               iii.      File Transfer

                                                iv.      Basic Routing

                                                 v.      Publish to OIC

                                                vi.      Subscribe to OIC

 

        OIC – Gen3

                                                   i.            App Driven Orchestration

                                                 ii.            Scheduled Orchestration

 

3.    How are Versions Handled in OIC

Versions syntax is major.minor.patch

Example: 01.00.0001 – Initial Version

                 01.01.0001-New Major Version

                 01.01.0002- New Patch Version

Creating and activating a new minor or patch version over an existing version will result in this new version of the integration be the active version. There can be only one version of an integration flow with same major version active at any time .Major versions can run Side by Side

4.    What is a package in the OIC?

Packages gives a convenient way to Group Similar kind of Integrations into one Package. This is very help full at the time of deployment. Instead of individual integrations deployment, we can simply deploy the respective package to target instance.

5.    What are Different Integration Actions available?

Using integration actions, you can view, Edit, Clone, and Create new Version,

Update Property Values*, Export, API Management*, Insight Designer*,

Tracing, Configure*

6.    What is the use of Update Property value Action?

This Action gives the developer an ability to update the design time values outside of the integration. For Instance, In an Email notification activity, you specify an email address to use in the "To" Field during run time which overrides the email address at the design-time. To put it Simply, This option enables you to configure the value without editing the integration design

7.    What is the Maximum integration properties can be added?

10

8.    In which state the Integration has to be in order to update the properties

App Driven Orchestration has to be in configured state to update Properties whereas Scheduled Integration supports even if it the integration is active.

9.    What are Agents?

When you need to integrate with an application behind firewall, you need to configure the agent on the Server where the application is installed .OIC Connectivity agent registers with oracle integration over SSL using the provided oracle integration credentials

10. Tell me more about agents.

No Ports are opened on the target system for communicating between the connectivity agent and OIC

All communications are secured using SSL

11. What is the use of Libraries?

OIC Libraries option will give you an ability to import external JavaScript library to perform any calculation or transformation of your data in the OIC. This comes to a rescue especially  when OIC inbuilt functions not able to cater your needs.

12. What are OIC Lookups?

Lookups help you to configure the static values and use them at run time, eliminates the need of hardcoding the same at the mapping level

13.    What are different tools available in OIC?

                                 i.            Application Integration

                               ii.            Process Automation

                             iii.            B2B

                              iv.            Visual Builder

                               v.            Integration Insights

14.    What are an Accelerators and Recipes?

Accelerators: They are two types.

1. Business accelerators...They provide an end to end Business process or a use case

2. Technical Accelerators –They provide a common technical solution like sending alert notification when integrations error or failure to email, Pager or Jira ..

Accelerators can be paid at times and are available in the Market place . All  the subsequent updated taken care by vendor .

 

Recipes are sample Templates that give you a Heard start... For Example you can use the Existing Recipe to integrate between Oracle ERP-Cloud and Amazon S3 and modify as per your requirements.

Sunday, June 4, 2023

What is API First?

API First is very much linked to strategy and how you want to merge your business model with the emerging technology model. To think about API First, you really have to start thinking about your business. How are you reimagining your business? If you have a new business, what is that business going to look like?

For most companies, you are going to think of that in terms of creating a digital platform where you can take your world-class products and services and make them consumable. You might also think about how you want to extend your products out so that you can make them all easier to work with.

This is where API First comes in.

Why API First?

There is a lot of confusion around “What is API First,” how is it different from “API First Design,” and how all this fits into the Full API Lifecycle Management process. API First takes the view of your business as capabilities, with products and services that you are going to deliver. Using API First, you would then be able to imagine those as a set of API Products or APIs working together to get the data, provide the access, and make it secure.

This is the API First way. Instead of starting by building the applications or looking for backend systems of record, you start with API First. This can be a big strategic move for an organization.

The API-first approach: prioritizing APIs

The most farsighted companies take an API-first approach to their software development. Before writing a single line of code, developers, in partnership with the business, first design or build the API. This ensures the underlying app can seamlessly connect with internal and external applications. Doing so expands the app's capabilities and makes it accessible to partners and end-users.

Being API-first means prioritizing the APIs that support your application and focusing on the value they can deliver to your business, rather than just scrambling to deliver a single application and creating an API as an afterthought. This forward-thinking approach allows the application to be adopted by different parts of the business for multiple uses, through the API.

APIs are not one-and-done projects. APIs are key building blocks that need to be maintained and improved. Companies are recognizing this and building teams to support it.

Top Stages of API Lifecycles

  1. Designing and planning your APIs
  2. Creating your APIs

  3. Securing your APIs
  4. Documenting your APIs
  5. Testing your APIs
  6. Versioning your APIs
  7. Deploying or Publishing your APIs
  8. Monetizing your APIs
  9. Observing and Managing your APIs
  10. Scaling your APIs
  11. Making your APIs Discoverable
  12. Retiring (or Sunsetting) your APIs

Throughout the Full API Lifecycle Management process, you will view your APIs through the lens of your business strategy.

SOAP adapter in Oracle Integration Cloud - OIC

Simple Object Access Protocol(SOAP) adapter in one of the powerful adapter provided by Oracle Integration Cloud Service(ICS). The SOAP adapter can consume any external SOAP API in an ICS. 

Service can be passed as payload to an external SOAP endpoint by the SOAP Adapter. Any response received from the endpoint can be sent to the next action in the integration for further processing.

Capabilities of SOAP Adapter

SOAP Adapter as a trigger

  • Supports only HTTPS protocol-based SOAP endpoints for accepting incoming SOAP requests.
  • Supports following securities policies:
    • HTTP Basic Authentication
    • WS-Username token-based authentication
    • Security Assertion Markup Language (SAML)
  • Supports the following exchange pattern:
    • Synchronous request/response
    • One-way request
    • Asynchronous request with callback support
  • Supports accessing of standard and custom SOAP/HTTP header properties present in the incoming SOAP request and making them available as part of an Oracle ICS message for any processing in subsequent actions
 
SOAP Adapter as a invoke
  • Supports invocation of an HTTPS protocol-based external SOAP endpoint, thereby encrypting the communications using transport layer security (TLS)
  • Supports invocation of HTTP protocol-based SOAP endpoints
  • Allows invocation of external SOAP endpoints that are unprotected and protected using HTTP Basic Authentication and WS-Username token-based authentication.
  • Supports following TLS versions:
    • TLS v1
    • TLS v1.1
    • TLS v1.2
  • Supports configuration of standard and custom SOAP/HTTP header
  • Supports invocation of external SOAP endpoints that implement the following message exchange patterns: 
    • Synchronous request/response
    • Oneway request
    • Asynchronous request with callback support
Let’s see how to create a SOAP connection in Oracle Integration Cloud Service.
 
SOAP Connection as a trigger
  • Login into the Oracle ICS
  • Select Connection tile from home page and select Create button from upper right side corner
  • Search SOAP and Select SOAP adapter
  •  
    • Enter below information and click Create button
      • Enter Name
      • Identifier would be automatically picked up based on name entered however we can edit it.
      • Select Role as Trigger
      • Enter Description
     
     
    • Click on Configure Connectivity button, enter following information and click on OK button:
      • WSDL URL: Enter WSDL URL or select WSDL from local computer by selecting the Upload File checkbox
      • Suppress insertion of timestamp into request(Optional)
     
     
    • Click on Configure Security button and choose any one of the following:
      • Basic Authentication: Basic authentication is used in HTTP where user name and password will be encoded and passed with the request as a HTTP header
      • Username Password Token: Secure webservices using WS-Security username/password authentication mechanism that is a simple mechanism to secure services. It enforces user to provide Username Token security header in the SOAP requests.
      • No Security Policy: If don’t want to secure your service.
      • Security Assertion Markup Language(SAML)
     
    Let’s select Basic Authentication and move forward
     
    • Select Test button from upper right corner. If all the details are correct then we will see the connection is successful and progress bar will reach to 100%
     
    • Select Save & Close button from upper right corner
    SOAP Connection as a invoke
    • Login into the Oracle ICS
    • Select Connection tile from home page and select Create button from upper right side corner
    • Search SOAP and Select SOAP adapter
    • Enter below information and click Create button
      • Enter Name
      • Identifier would be automatically picked up based on name entered however we can edit it.
      • Select Role as Invoke
      • Enter Description
    • Click on Configure Connectivity button and enter following information
      • WSDL URL: Enter WSDL URL
      • Select TLS version(Optional)
      • Suppress insertion of timestamp into request(Optional)
      • Ignore timestamp in the response message(Optional)
      • Enable two way SSL for outbound connection(Optional)
      • Identify keystore alias name(Optional)
     
    • Click on Configure Security button and choose any one of the following depending on how external SOAP service is secured
      • Basic Authentication
      • Username Password Token
      • No Security Policy:If external service is not secured
    As external service is secured via Username Password Token policy so select the Username Password Token and enter User Name and Password to authenticate the service
     
     
    • If the external service is deployed on premise environment then select Agent. In my case service is on cloud so don’t require to select Agent.
    • Select Test button from upper right corner. If all the details are correct then we will see the connection is successful and progress bar will reach to 100%
    • Select Save & Close button from upper right corner

Monday, May 22, 2023

Oracle Apps 12.2.x - Copy Responsibilities of one user account to another user

 /* Formatted on 2021/02/04 09:38 (Formatter Plus v4.8.8) */
/*******************************************************************************
 *PURPOSE: To copy responsibilities of one user account to another user account *
 *AUTHOR: Bharat Bhatia                                                         *
 *******************************************************************************/
--
--
DECLARE
   --
   resp_count   NUMBER := 0;
   --
   CURSOR src_user_resp_details
   IS
      SELECT DISTINCT fa.application_short_name, fr.responsibility_key,
                      fsg.security_group_key
                 FROM fnd_application fa,
                      fnd_responsibility fr,
                      fnd_user fu,
                      fnd_user_resp_groups_all furga,
                      fnd_security_groups fsg
                WHERE 1 = 1
                  AND fu.user_name = 'SYSADMIN'
                  AND fu.user_id = furga.user_id
                  AND fa.application_id = fr.application_id
                  AND furga.responsibility_id = fr.responsibility_id
                  AND furga.responsibility_application_id = fa.application_id
                  AND fsg.security_group_id = furga.security_group_id
                  AND furga.end_date IS NULL;
--
--
BEGIN
   FOR user_resp_details_rec IN src_user_resp_details
   LOOP
      BEGIN
         --
         fnd_user_pkg.addresp
                 (username            => 'BBHATIA',
                  resp_app            => user_resp_details_rec.application_short_name,
                  resp_key            => user_resp_details_rec.responsibility_key,
                  security_group      => user_resp_details_rec.security_group_key,
                  description         => NULL,
                  start_date          => SYSDATE,
                  end_date            => NULL
                 );
         --
         resp_count := resp_count + 1;
      --
      EXCEPTION
         WHEN OTHERS
         THEN
            --
            DBMS_OUTPUT.put_line (   'Error while Adding Responsibility: '
                                  || SQLERRM
                                 );
            DBMS_OUTPUT.put_line (   'resp_app: '
                                  || user_resp_details_rec.application_short_name
                                 );
            DBMS_OUTPUT.put_line (   'resp_key: '
                                  || user_resp_details_rec.responsibility_key
                                 );
      --
      END;
   END LOOP;
   --
   DBMS_OUTPUT.put_line (   resp_count
                         || ' Responsibilities Successfully Copied!!'
                        );
   --
   COMMIT;
END;

Create AR Receipt - Miscellaneous (12.2.xx)

 /* Formatted on 26/09/2022 11:43 (Formatter Plus v4.8.8) By Bharat Bhatia*/

DECLARE

   l_return_status     VARCHAR2 (1);

   l_msg_count         NUMBER;

   l_msg_data          VARCHAR2 (240);

   l_count             NUMBER;

   l_cash_receipt_id   NUMBER;

   l_msg_data_out      VARCHAR2 (240);

   l_mesg              VARCHAR2 (240);

   p_count             NUMBER;

   l_receipt_number    VARCHAR (100)  DEFAULT 'SHAREORACLEAPPS';

   v_context           VARCHAR2 (10);


   FUNCTION set_context (

      i_user_name   IN   VARCHAR2,

      i_resp_name   IN   VARCHAR2,

      i_org_id      IN   NUMBER

   )

      RETURN VARCHAR2

   IS

   BEGIN

      NULL;

   END set_context;

BEGIN

   DBMS_OUTPUT.put_line ('1');

   v_context := set_context ('&username', '&resp_name', '&org_id');


   IF v_context = 'F'

   THEN

      DBMS_OUTPUT.put_line ('Error while setting the context');

   END IF;


   DBMS_OUTPUT.put_line ('2');

   mo_global.init ('AR');


   BEGIN

      ar_receipt_api_pub.create_misc

                           (p_api_version            => 1.0,

                            p_init_msg_list          => fnd_api.g_true,

                            p_commit                 => fnd_api.g_true,

                            p_validation_level       => fnd_api.g_valid_level_full,

                            x_return_status          => l_return_status,

                            x_msg_count              => l_msg_count,

                            x_msg_data               => l_msg_data,

                            p_currency_code          => 'USD',

                            p_amount                 => 500,

                            p_receipt_date           => SYSDATE,

                            p_gl_date                => SYSDATE,

                            p_receipt_method_id      => 8002,

                            p_activity               => 'Miscellaneous Cash',

                            p_misc_receipt_id        => l_cash_receipt_id,

                            p_receipt_number         => l_receipt_number

                           );

      DBMS_OUTPUT.put_line ('Message count ' || l_msg_count);

      DBMS_OUTPUT.put_line ('Cash Receipt ID ' || l_cash_receipt_id);

      DBMS_OUTPUT.put_line ('Status ' || l_return_status);


      IF l_msg_count = 1

      THEN

         DBMS_OUTPUT.put_line ('l_msg_data ' || l_msg_data);

      ELSIF l_msg_count > 1

      THEN

         LOOP

            p_count := p_count + 1;

            l_msg_data :=

                        fnd_msg_pub.get (fnd_msg_pub.g_next, fnd_api.g_false);


            IF l_msg_data IS NULL

            THEN

               EXIT;

            END IF;


            DBMS_OUTPUT.put_line ('Message' || p_count || ' ---' || l_msg_data);

         END LOOP;

      END IF;

   END;

END;

Exam 1Z0-1042-23: Oracle Cloud Infrastructure 2023 Application Integration Professional

Exam Topics The following table lists the exam objectives and their weightings. Objectives % of Exam Getting Started with OIC Integrations 1...