Oracle
Integration
1- What is integration?
When there is a
requirement to share/transfer/exchange a data between two different
application/system which is having same database (Oracle database) then this
can be done with help of integration. i.e To connect two different application
integration is used.
2- Different Type Of
Integration ?
-
Oracle Advance Queue (AQ/MQ) based
integration: It is purely based on oracle plsql & used in oracle database
only.
-
File Integration: This can be done by sharing the data in different files format like
(DOC/TXT/EXCEL/CSV/) , Files can be
sharee on server of two system by multiple programing language. (in oracle it
can be done using Unix Schell Script/ UTL File Packages which is PLSQL based.)
3- Oracle Advance Queue
(AQ/MQ):
-
This is oracle PLSQL based
Integration which is based on advance Queuing concept.
-
In this method data can be
shared with the help of oracle QUEUE & QUEUE Tables.
-
Data shared by using this
method is called PAYLOAD whose data type is XML TYPE.
-
This is more Secure method of
integration.
4- How Oracle Queueing works?
It contains below component:
- Gateway
- QUEUE Table
- QUEUE
- Foreign QUEUE
-SUBSCRIBER
-Propogation Scheduler.
Steps:
Note: Before creating any integration, it is mandatory to open the
firewall port between two system. If Firewall port/Connection doesn’t open then
Queues will go in error.
- Then CREATE_QUEUE_TABLE In source & destination system.
- Then Create CREATE_QUEUE on queue table.
- Then START_QUEUE
- Then Register_Foreign_Queue
- Then Add_Subscriber
- Then Schedule_Propagation
- Then Enable_Propagation_Schedule
-------------------------------------------------------------------------------------------------------------------
PLSQL Code to create/Configure Queue (This is only for reference No
need to Remember Code in interview.):
Configure LINK:
DECLARE
v_options SYS.mgw_properties;
v_prop SYS.mgw_mqseries_properties;
BEGIN
v_prop :=
SYS.mgw_mqseries_properties.construct ();
v_prop.max_connections := 10;
v_prop.queue_manager := 'QMEIBS1';
v_prop.hostname := '10.87.205.70';
v_prop.channel := 'QMEIGS1.CRM.SVRCONN';
v_prop.port
:= '7111';
v_prop.outbound_log_queue :=
'ENTCRM.LOG.OUT';
v_prop.inbound_log_queue :=
'ENTCRM.LOG.IN';
DBMS_MGWADM.create_msgsystem_link
(linkname => BAJAJAL_TO_BAJABFIN_LINK', --
link name
properties => v_prop, -- mqseries driver properties
options => v_options -- options
);
END;
----------------------------------------------------
--unconfigure Link
begin
dbms_mgwadm.remove_msgsystem_link (linkname => 'CRM_ENT_TO_EAI_LINK');
end;
/
1- begin DBMS_AQADM.CREATE_QUEUE_TABLE
(queue_table =>'XXBAJAJALIANZ_INSURANCE_INTBL', queue_payload_type =>
'SYS.MGW_BASIC_MSG_T', multiple_consumers => FALSE ); end;
2- begin DBMS_AQADM.CREATE_QUEUE
(queue_name => 'XXBAJAJALIANZ_INSURANCE_INQ', queue_table =>'XXBAJAJALIANZ_INSURANCE_INTBL');
end;
3- begin DBMS_AQADM.START_QUEUE (queue_name
=> 'XXBAJAJALIANZ_INSURANCE_INQ'); end
4- begin dbms_mgwadm.register_foreign_queue(name
=>'XXBAJAJALIANZ_INSURANCE_INFQ', linkname
=>'CRM_ENT_TO_EAI_LINK',provider_queue
=>'DOX.CMCOLLSRV.ECRM.ESB.RPO.02',domain => dbms_mgwadm.DOMAIN_QUEUE);
end;
5- begin dbms_mgwadm.add_subscriber(subscriber_id
=>'XXBAJAJALIANZ_INSURANCE_INSUB', propagation_type =>
dbms_mgwadm.inbound_propagation, queue_name =>'XXBAJAJALIANZ_INSURANCE_INFQ@CRM_ENT_TO_EAI_LINK',destination
=>'apps.XXBAJAJALIANZ_INSURANCE_INQ');end;
6- begin dbms_mgwadm.schedule_propagation(schedule_id
=>'XXBAJAJALIANZ_INSURANCE_INSCH' ,propagation_type
=>dbms_mgwadm.inbound_propagation,source =>'XXBAJAJALIANZ_INSURANCE_INFQ@CRM_ENT_TO_EAI_LINK',destination
=>'apps.XXBAJAJALIANZ_INSURANCE_INQ' , latency => 2); end;
7- begin dbms_mgwadm.enable_propagation_schedule('XXBAJAJALIANZ_INSURANCE_INSCH');
end;
-------------------------------------------------------------------------------------------------------------------
No comments:
Post a Comment