{"id":1350,"date":"2011-05-30T05:22:48","date_gmt":"2011-05-30T09:22:48","guid":{"rendered":"http:\/\/www.tridens.si\/?p=1350"},"modified":"2021-12-01T15:36:41","modified_gmt":"2021-12-01T15:36:41","slug":"oracle-advanced-queuing-e-oracle-brm","status":"publish","type":"post","link":"https:\/\/tridenstechnology.com\/it\/oracle-advanced-queuing-and-oracle-brm\/","title":{"rendered":"Oracle Accodamento avanzato e Oracle BRM"},"content":{"rendered":"<p>Nel nostro ultimo articolo, <a href=\"https:\/\/tridenstechnology.com\/integrating-oracle-brm-with-enterprise-applications\/\">Integrazione dell'Oracle BRM con le applicazioni aziendali<\/a>Abbiamo spiegato un modo per implementare un'integrazione BRM-CRM. La soluzione suggerita era quella di costruire un connettore sul lato BRM e farlo collegare a un'applicazione di terze parti. Tuttavia, \u00e8 anche possibile adottare un approccio diverso utilizzando <strong>Oracle Accodamento avanzato<\/strong>che sar\u00e0 oggetto di questo articolo.<\/p>\n\n\n\n<p>Recentemente, siamo stati coinvolti in un progetto in cui il cliente desiderava un'integrazione \"sicura\", senza la necessit\u00e0 di essere in tempo reale; una soluzione quasi in tempo reale sarebbe stata sufficiente, hanno detto. Ci\u00f2 che intendiamo per integrazione sicura \u00e8 avere una soluzione che non influisca su nessuna azione eseguita, come l'acquisto di un prodotto o la creazione di una fattura, a causa di un mancato collegamento di comunicazione (o di qualsiasi altro errore) tra Oracle BRM e il software di terze parti. Quando si implementa un connettore dm personalizzato per l'integrazione dei dati, qualsiasi operazione completata senza successo comporta il rollback dell'intera azione. Sebbene questo possa essere un comportamento desiderato, in questo caso non lo era; pertanto, abbiamo deciso di scegliere Oracle Advanced Queuing. Abbiamo identificato che il nostro scenario peggiore sarebbe stato quello dei problemi del database, ma ci sarebbero stati anche numerosi altri problemi; per cominciare, il sistema BRM non avrebbe funzionato correttamente.<br>Altri vantaggi che abbiamo identificato sono stati la persistenza dei dati (gli eventi vengono memorizzati nel database fino a quando l'applicazione consumer non \u00e8 pronta a elaborare i messaggi in coda) e una tecnologia Oracle AQ gi\u00e0 collaudata.<\/p>\n\n\n\n<p>Abbiamo distribuito con successo queste modifiche a Oracle BRM versione 7.3 e 7.3.1 con Oracle Database 10g (10.2.0.1.0 64bit) e 11g (11.2.0.1.0 64bit) con il componente Oracle Advanced Queuing (AQ).<\/p>\n\n\n\n<p>Il processo di pubblicazione degli eventi aziendali Oracle BRM utilizzando le funzioni di accodamento avanzato Oracle \u00e8 visibile nella figura seguente:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"\/\/i3.wp.com\/tridenstechnology.com\/wp-content\/uploads\/2021\/07\/Oracle_Advanced_Queuing_and_Oracle_BRM.gif\"><img fetchpriority=\"high\" decoding=\"async\" width=\"610\" height=\"402\" src=\"\/\/i3.wp.com\/tridenstechnology.com\/wp-content\/uploads\/2021\/07\/Oracle_Advanced_Queuing_and_Oracle_BRM.gif\" alt=\"\" class=\"wp-image-7185\"\/><\/a><figcaption>Figura 1: Il processo di sincronizzazione dei dati con Oracle Advanced Queuing.<\/figcaption><\/figure><\/div>\n\n\n\n<p>Per sviluppare un tale processo di sincronizzazione, \u00e8 necessario compiere alcuni passi preliminari. Questi includono:<br>1. Installazione di EAI Manager.<br>o Modulo EAI Connection Manager (CM) (include i codici op richiesti da EAI),<br>o EAI Data Manager,<br>o Modulo esterno del generatore di payload (EM) - chiamato anche EAI Java Server o eai_js.<br>2. Dopo aver completato l'installazione di EAI Manager, configuri i valori nei file di configurazione CM e EAI DM (pin.conf), nonch\u00e9 il file delle propriet\u00e0 del Generatore di Payload (Infranet.properties).<br>Configuri l'elenco di notifica degli eventi che desidera pubblicare modificando i file di configurazione per la notifica degli eventi (file $BRM_HOME\/sys\/data\/config\/pin_notify*) e li unisca prima di eseguire l'utilit\u00e0 load_pin_notify.<br>4. Definisca gli eventi aziendali nel file di configurazione del Payload Generator EM (payloadconfig.xml).<\/p>\n\n\n\n<p>Dopo aver completato le fasi preliminari, \u00e8 il momento di creare e configurare la coda avanzata Oracle. Ecco i passaggi (il terzo passaggio pu\u00f2 variare, in quanto dipende dalla sua configurazione):<br>1. Creare la coda:<br>pin_ifw_sync_oracle.pl create -l $USER\/$PASS@$DB -q TEST_QUEUE -t TEST_QUEUE<br>2. Coda di prova (fase opzionale):<br>pin_ifw_sync_oracle.pl test -l $USER\/$PASS@$DB -q TEST_QUEUE<br>3. Acceda al suo database come utente SYSTEM e imposti i privilegi di concessione appropriati per il suo 't_user':<br>exec dbms_aqadm.grant_queue_privilege('ALL', 'PUSER.TEST_QUEUE', 't_user');<br>concedere l'esecuzione su puser.pin_event_ty a t_user;<br>concedere l'esecuzione su sys.dbms_aqin a t_user;<\/p>\n\n\n\n<p>Successivamente, abbiamo bisogno di un produttore di code, un'applicazione che metter\u00e0 in coda gli eventi aziendali definiti in precedenza. Lo sviluppo di un modulo produttore \u00e8 simile alla costruzione dell'applicazione connettore personalizzata (vedere qui). \u00c8 necessario implementare un modulo personalizzato (libreria) e definirlo nel file di configurazione dm_eai sotto la voce \"plugin_name\".<br>Esiste anche un modo pi\u00f9 semplice per svolgere questo compito. Se ha gi\u00e0 installato \"Account Synchronization DM\", trover\u00e0 un'implementazione di un modulo produttore di code sotto dm_ifw_sync data manager. Tuttavia, se sceglie questa opzione, sono necessarie alcune voci aggiuntive nel file di configurazione dm_eai.<\/p>\n\n\n\n<p>Dopo aver creato un produttore di code funzionante, pu\u00f2 invocare alcuni eventi aziendali per vedere se vengono messi in coda. Le code possono essere interrogate nella tabella definita al momento della creazione della coda.<\/p>\n\n\n\n<p>Infine, avr\u00e0 bisogno di un consumatore di coda, un'applicazione che legger\u00e0 e decodificher\u00e0 i messaggi in coda. Sono disponibili diverse interfacce programmatiche per accedere a Oracle Streams AQ nei seguenti linguaggi di programmazione: Java (JMS), PL\/SQL, C (OCI), Visual Basic (OO4O), AQ XML Servlet (IDAP).<br>Con l'implementazione del suo client personalizzato, avr\u00e0 il pieno controllo della velocit\u00e0, del momento e del numero di messaggi da elaborare. Ad esempio, durante le ore non di punta, pu\u00f2 elaborare pi\u00f9 dati rispetto alle ore di punta.<\/p>\n\n\n\n<p>Speriamo di averle dato alcune indicazioni valide su come affrontare il processo di integrazione\/sincronizzazione tra Oracle BRM e sistemi e\/o applicazioni di terze parti.<\/p>","protected":false},"excerpt":{"rendered":"<p>In our last article, Integrating Oracle BRM with enterprise applications, we explained one way of implementing a BRM-to-CRM integration. The suggested solution was to build a connector on the BRM side and have it connect to a third-party application. However, it is also possible to take a different approach by using Oracle Advanced Queuing, which&hellip;<\/p>","protected":false},"author":1,"featured_media":3163,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[],"class_list":["post-1350","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oracle-billing","category-38","description-off"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Oracle Advanced Queuing and Oracle BRM - Tridens<\/title>\n<meta name=\"description\" content=\"It is also possible to take a different approach by using Oracle Advanced Queuing, which will be the subject of this article.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tridenstechnology.com\/it\/oracle-advanced-queuing-e-oracle-brm\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Oracle Advanced Queuing and Oracle BRM\" \/>\n<meta property=\"og:description\" content=\"It is also possible to take a different approach by using Oracle Advanced Queuing, which will be the subject of this article.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tridenstechnology.com\/it\/oracle-advanced-queuing-e-oracle-brm\/\" \/>\n<meta property=\"og:site_name\" content=\"Tridens\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/tridenstechnology\" \/>\n<meta property=\"article:published_time\" content=\"2011-05-30T09:22:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-01T15:36:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/d2xqcz296oofyv.cloudfront.net\/wp-content\/uploads\/2019\/08\/oracle-brm-services.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1934\" \/>\n\t<meta property=\"og:image:height\" content=\"1934\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ale\u0161\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@TridensTech\" \/>\n<meta name=\"twitter:site\" content=\"@TridensTech\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ale\u0161\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuti\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Oracle Accodamento avanzato e Oracle BRM - Tridens","description":"\u00c8 anche possibile adottare un approccio diverso, utilizzando Oracle Advanced Queuing, che sar\u00e0 oggetto di questo articolo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tridenstechnology.com\/it\/oracle-advanced-queuing-e-oracle-brm\/","og_locale":"it_IT","og_type":"article","og_title":"Oracle Advanced Queuing and Oracle BRM","og_description":"It is also possible to take a different approach by using Oracle Advanced Queuing, which will be the subject of this article.","og_url":"https:\/\/tridenstechnology.com\/it\/oracle-advanced-queuing-e-oracle-brm\/","og_site_name":"Tridens","article_publisher":"https:\/\/www.facebook.com\/tridenstechnology","article_published_time":"2011-05-30T09:22:48+00:00","article_modified_time":"2021-12-01T15:36:41+00:00","og_image":[{"width":1934,"height":1934,"url":"https:\/\/d2xqcz296oofyv.cloudfront.net\/wp-content\/uploads\/2019\/08\/oracle-brm-services.png","type":"image\/png"}],"author":"Ale\u0161","twitter_card":"summary_large_image","twitter_creator":"@TridensTech","twitter_site":"@TridensTech","twitter_misc":{"Scritto da":"Ale\u0161","Tempo di lettura stimato":"4 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tridenstechnology.com\/oracle-advanced-queuing-and-oracle-brm\/#article","isPartOf":{"@id":"https:\/\/tridenstechnology.com\/oracle-advanced-queuing-and-oracle-brm\/"},"author":{"name":"Ale\u0161","@id":"https:\/\/tridenstechnology.com\/#\/schema\/person\/ccd247e07a5e0f856ec13af63d611358"},"headline":"Oracle Advanced Queuing and Oracle BRM","datePublished":"2011-05-30T09:22:48+00:00","dateModified":"2021-12-01T15:36:41+00:00","mainEntityOfPage":{"@id":"https:\/\/tridenstechnology.com\/oracle-advanced-queuing-and-oracle-brm\/"},"wordCount":787,"commentCount":0,"publisher":{"@id":"https:\/\/tridenstechnology.com\/#organization"},"image":{"@id":"https:\/\/tridenstechnology.com\/oracle-advanced-queuing-and-oracle-brm\/#primaryimage"},"thumbnailUrl":"https:\/\/d2xqcz296oofyv.cloudfront.net\/wp-content\/uploads\/2019\/08\/oracle-brm-services.png","articleSection":["Oracle Billing"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/tridenstechnology.com\/oracle-advanced-queuing-and-oracle-brm\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/tridenstechnology.com\/oracle-advanced-queuing-and-oracle-brm\/","url":"https:\/\/tridenstechnology.com\/oracle-advanced-queuing-and-oracle-brm\/","name":"Oracle Accodamento avanzato e Oracle BRM - Tridens","isPartOf":{"@id":"https:\/\/tridenstechnology.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tridenstechnology.com\/oracle-advanced-queuing-and-oracle-brm\/#primaryimage"},"image":{"@id":"https:\/\/tridenstechnology.com\/oracle-advanced-queuing-and-oracle-brm\/#primaryimage"},"thumbnailUrl":"https:\/\/d2xqcz296oofyv.cloudfront.net\/wp-content\/uploads\/2019\/08\/oracle-brm-services.png","datePublished":"2011-05-30T09:22:48+00:00","dateModified":"2021-12-01T15:36:41+00:00","description":"\u00c8 anche possibile adottare un approccio diverso, utilizzando Oracle Advanced Queuing, che sar\u00e0 oggetto di questo articolo.","breadcrumb":{"@id":"https:\/\/tridenstechnology.com\/oracle-advanced-queuing-and-oracle-brm\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tridenstechnology.com\/oracle-advanced-queuing-and-oracle-brm\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/tridenstechnology.com\/oracle-advanced-queuing-and-oracle-brm\/#primaryimage","url":"https:\/\/d2xqcz296oofyv.cloudfront.net\/wp-content\/uploads\/2019\/08\/oracle-brm-services.png","contentUrl":"https:\/\/d2xqcz296oofyv.cloudfront.net\/wp-content\/uploads\/2019\/08\/oracle-brm-services.png","width":1934,"height":1934,"caption":"Oracle BRM Services"},{"@type":"BreadcrumbList","@id":"https:\/\/tridenstechnology.com\/oracle-advanced-queuing-and-oracle-brm\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/tridenstechnology.com\/"},{"@type":"ListItem","position":2,"name":"Oracle Advanced Queuing and Oracle BRM"}]},{"@type":"WebSite","@id":"https:\/\/tridenstechnology.com\/#website","url":"https:\/\/tridenstechnology.com\/","name":"Tridens","description":"Monetizzazione, fatturazione e ricarica EV","publisher":{"@id":"https:\/\/tridenstechnology.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tridenstechnology.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/tridenstechnology.com\/#organization","name":"Tridens","url":"https:\/\/tridenstechnology.com\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/tridenstechnology.com\/#\/schema\/logo\/image\/","url":"https:\/\/d2xqcz296oofyv.cloudfront.net\/wp-content\/uploads\/2019\/02\/tridens_logo_invert.png","contentUrl":"https:\/\/d2xqcz296oofyv.cloudfront.net\/wp-content\/uploads\/2019\/02\/tridens_logo_invert.png","width":600,"height":191,"caption":"Tridens"},"image":{"@id":"https:\/\/tridenstechnology.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/tridenstechnology","https:\/\/x.com\/TridensTech","https:\/\/www.instagram.com\/tridenstechnology\/","https:\/\/www.linkedin.com\/company\/tridens","https:\/\/www.youtube.com\/user\/TridensIT"]},{"@type":"Person","@id":"https:\/\/tridenstechnology.com\/#\/schema\/person\/ccd247e07a5e0f856ec13af63d611358","name":"Ale\u0161","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/0df040b8c52446051022ab32cd2ac1dc64d3c7eed18d5bd5ab9f2992b8935fc8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0df040b8c52446051022ab32cd2ac1dc64d3c7eed18d5bd5ab9f2992b8935fc8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0df040b8c52446051022ab32cd2ac1dc64d3c7eed18d5bd5ab9f2992b8935fc8?s=96&d=mm&r=g","caption":"Ale\u0161"},"description":"Ales Pristovnik \u00e8 il CEO di Tridens Technology, un'azienda slovena specializzata nello sviluppo di soluzioni software per l'industria automobilistica. Ha una lunga esperienza nel settore IT, avendo lavorato in passato per diverse grandi aziende. Ha una passione per la tecnologia e l'innovazione, e la sua attenzione attuale \u00e8 rivolta allo sviluppo di soluzioni che migliorino la sicurezza e l'efficienza dell'industria automobilistica. Ha un forte background di leadership e di gestione e si impegna a far progredire la sua azienda nel settore tecnologico in continua evoluzione.","url":"https:\/\/tridenstechnology.com\/it\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/tridenstechnology.com\/it\/wp-json\/wp\/v2\/posts\/1350","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tridenstechnology.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tridenstechnology.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tridenstechnology.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tridenstechnology.com\/it\/wp-json\/wp\/v2\/comments?post=1350"}],"version-history":[{"count":0,"href":"https:\/\/tridenstechnology.com\/it\/wp-json\/wp\/v2\/posts\/1350\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tridenstechnology.com\/it\/wp-json\/wp\/v2\/media\/3163"}],"wp:attachment":[{"href":"https:\/\/tridenstechnology.com\/it\/wp-json\/wp\/v2\/media?parent=1350"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tridenstechnology.com\/it\/wp-json\/wp\/v2\/categories?post=1350"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tridenstechnology.com\/it\/wp-json\/wp\/v2\/tags?post=1350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}