Evaluate :ESB vs ODI

Oracle 10G Datawarehouse - Need to evaluate both the products ESB vs ODI . Our incoming message sizes are less . We were previoulsy in OII . But now we need to move to any one of them .
Is there any throughput limit in both the products? I checked out oracle website but it gives a ppt where it sayd ODI is best for large data sizes.
What are the major differences between thes two .

Hi,
The major differences would be :
ESB is suitable for message sizes between 1-10 MB.
ESB can be used for only XML datatypes whereas ODI can talk to heterogeneous datasources also.
ODI will also be more efficient when larger data sizes are concerned.
thanks
Saurabh

Similar Messages

  • Exception handling in ODI - common exception handling framework

    Hi,
    I need to come up with a common exception handling framework in an environment where ESB and ODI are being used for interfacing and ELT operations. I am of the opinion that
    1. I am not able to find any documentation wrt exception handling when ODI is used? Can some one help me with some pointers?
    2, When I come up with a common exception handling framework using BPEL, will I be able to invoke the same from ODI.
    Thanks,
    Mahesh

    Thanks for the reply Allan. I haven't used BusinessWorks.
    I did go through this thread before and here's my understanding.
    1. ESB provides the ability of error handling (client management API) but not the exception handling i.e. I can't redirect the flow in case there is an exception in my primary flow. Am I right with my understanding?
    2. Error handling ability of ESB is limited to retryable exceptions viz-a-viz asynchrounous ESB processes (e.g. database listener not up) where in the process can be retried. Am I right here?
    Thanks,
    Mahesh

  • Exception handling - Common exception handling framework

    Hi,
    I need to come up with a common exception handling framework in an environment where ESB and ODI are being used for interfacing and ELT operations. I am of the opinion that
    1. A generic exception handling framework can be built using BPEL and can be invoked from ESB. Is my understanding correct?
    2. Are there any ways that we can build this framework using ESB itself? I opinion that it's not possible as there is no concept of try-catch?
    3. I am not able to find any documentation wrt exception handling when ODI is used? Can some one help me with some pointers?
    4, When I come up with a common exception handling framework, will I be able to invoke the same from ODI.
    Thanks,
    Mahesh

    Thanks for the reply Allan. I haven't used BusinessWorks.
    I did go through this thread before and here's my understanding.
    1. ESB provides the ability of error handling (client management API) but not the exception handling i.e. I can't redirect the flow in case there is an exception in my primary flow. Am I right with my understanding?
    2. Error handling ability of ESB is limited to retryable exceptions viz-a-viz asynchrounous ESB processes (e.g. database listener not up) where in the process can be retried. Am I right here?
    Thanks,
    Mahesh

  • How to link ODI with ESB???

    Hi,
    I need to know how to link ODI with ESB(Enterprise Service Bus)....
    should i expose ODI as a web service or is there any other way to link these two...
    please reply me asap its very urgent...
    Regards,

    I'm also interested on this.
    I don't know very much about ODI, but could point the following:
    1 - Your datasource could be exposed as a web service, as you suggested, and be exposed for ESB to consume.
    2 - ESB can connect to your data source (not ODI, but the datasource the ODI act on) using a DBAdapter.
    3 - ESB can send a JMS message that can be consumed by an ODI JMS based datasource (I'm not sure)
    4 - ODI can have a Web Service based datasource that points to a web service exposed by ESB.
    When I see ODI Topology Manager, I can identify these options.
    Denis

  • Comparison between ODI and Enterprise Service Bus (ESB)

    Hi,
    As per my knowledge Oracle has provided two infrastructures, namely ODI and ESB for migrating data across applications.
    My query is where I should use ESB and where ODI. Is there any comparison document available? I heard that for bulk data movement ODI is suggested by Oracle. Is there any benchmark exists for comparing these two tools?
    I also want to map these tools with Oracle E-Business suite's conversion process. Is it possible to map each stage of a traditional Conversion Process (Data Loading, Validating, Importing to Oracle EBusiness Suite) using these tools?
    Any kind of help/idea will be very much appreciated.
    Regards.
    Tapas

    I also think that same way. I do not know what is so apecial about BEA Aqualogic ESB and other market matured ESB products such as TIBCO & SONIC. The samples which BEA has given in their evaluation guide are very simplistic. BEA should do more to provide extensive knowledge/features about their Aqualogic line of products.

  • Look up ESB Cross-Reference within ODI

    We have a need to look up ESB cross reference table that is populated by AIA PIPs. I saw ESB Cross-Reference KM mentioned in "Oracle Data Integrator Knowledge Modules Reference Guides 10.1.3". My question is that can this KM be used to do ESB cross reference table look up. We don't need to populate xref table, just need to look up.

    Hi Ace2-
    Thanks for your quick response!
    I can able to reterive unmatched records by using “Left outer join” but it will multiple the record counts for “matching condition”.
    PRODUCT_ID,PRODUCT_NAME,SALES_QTY,SALES_AMT
    101,SEGATE-HD,10,100
    101,SEGATE-HD,10,100
    102,TOSHIBA-HD,20,5000
    103,TRANSCEND-PENDRIVE,10,2000
    104,SONY ERICSSON,10,100000
    105,NOKIA-7710,20,20000
    106,TOSHIBA-HD,10,9000
    107,NULL,NULL,NULL
    The above records will be the output of outer join. If you see the 2nd record it is getting duplicated as 1st record. I have to exclude the 2nd record as it increases the record count of “PRODUCT_SALES.csv” file.
    Thanks, Prabhu

  • ODI evaluate variable

    Hi everyone,
    I have a question about evaluate variable:
    Now For example I have a variable:
    Name:#VAR_FILE_NAME
    --Text
    -No history
    İn select -----Select first_name from hr.employees where employee_id=106 (it returns 'Valli')
    Then Second variable:
    Nanem=#VAR_CONTROL
    --Text
    --No history
    Select--- SELECT '#VAR_FILE_NAME' from dual where substr('#VAR_FILE_NAME',1,1)='V'
    Now in my package #VAR_FILE_NAME is refreshing variable
    #VAR_CONTROL is evaluate variable and compare condition is ='#VAR_FILE_NAME'
    if true then write a table else write false table.
    I want to compare two string.
    But always it is going to false table
    Where Did I made mistake?
    Thanks your reply
    Regards

    Remove the single quotes in evaluate variable and then test

  • How to use CrossReference and DVM in ODI &how to populate data into Xref

    Can any one tell how to use Domain Value Maps and Cross Referencing in ODI?
    DVM or Domain Value Map are created and used in ESB console of SOA suite.
    My actual requirement is as follows:
    The below steps describe loading data from ERP Application 1 to ERP Application 2.
    1. The Source Application ERP APP1, populates the interface table using their native technology.
    2. A job scheduler invokes the Source side ODI Package.
    3. ODI then extracts the data from Source Interface table and populates the Target Interface table.
    4. After populating the Target interface table the ODI populates the X-ref table with App 1 ID and generated common ID.
    5. The ODI either deletes or updates the rows that were processed from the Source interface table.
    6. On the Target Application ERP APP2, the native application extracts data from target interface table and populates target database there by generating ERP Application 2 ID.
    7. A job scheduler on the Target application invokes the ODI package to populate the Application 2 ID onto the Xref table matching on the Common ID.
    I just want to know :
    1. How to populate data into the Xref table from Source datastore
    2. And if data is successfully laoded from target datastore to actual base table of target then how to populate the target id into the cross reference table.

    can anyone suggest me some answer, then it would be of great help?

  • Get the file name into a Odi variable

    Hi,
    I need to get the file name into odi variable like ..A/ETC/file.txt
    For eg.the filename file.txt should get store in a variable.
    Then i want to compare the file name stored in the variable with some other value.
    Please suggest.
    Thanks.

    in package,
    declare the variable, then evaluate it with another variable, generally using # syntax
    if the variable is date type, suggest to use : syntax, because # will treat the variable value as text value
    in loadplan
    use case when syntax,

  • Passing Dynamic File Name to ODI nterface for processing to another system

    Hi,
    I need help regarding passing a Dynamically Name changing fixed length Flat File in ODI Interface. This interface is built for taking the Flat File as Input and process it to SQL Server by applying Data Mapping and transformations... The input Flat File Name is sequence generated for eg: OEORD1123.txt and next file will be OEORD1124.txt and it sits in Oracle Conc tier. How to pass the latest file name to ODI interface for processing
    Regards,
    Anil..

    Hi Guys...
    I would like to suggest a way.
    a) create a single interface with dynamic resouce name (a ODI variable) with a filter to the month column like:
    month_column = '#vCountMonth'
    b) in the refresh tab of a first variable (I named "vMonth"), use the following query: (varialbe should be alphanumeric, "not persistent")
    select to_char(to_date('#vCountMonth','MM'),'month') from dual
    c) create one more ODI variable (I named "vCountMonth"), alphanumeric, not persistent and at its refresh tab write:
    select lpad(to_char(#vCountMonth + 1), 2, '0') from dual
    d) now just create a package, drag and drop the objects in the following order:
    d.1) vCountMonth in set mode and set = 0 (zero)
    d.2) vCountMonth in refresh mode
    d.3) vMonth in refresh mode
    d.4) the interface
    d.5) vCountMonth in evaluate mode, evaluating "= 12"
    ==> if NO (KO, red line) link the KO line to d.2 step
    ==> a OK line is not necessary unless you have others steps after finish the evaluating
    Make any sense? That is a single loop to have the interface developed only one time.
    Please, remember to check each thread reply as Useful or Correct if they are useful to you...

  • Using Variables in ODI

    I am attempting to insert 20 years of data into our Data Warehouse using ODI.
    The Problem is that the query to retrieve the data takes upwards of 48+ hours. That is just the query running in a query tool.
    So what i would like to do is to run the query by quarters...
    ie: 1/1/1991 to 3/31/1991, 4/1/1991 to 6/30/1991, 7/1/1991 to 9/30/1991, 10/1/1991 to 12/31/1991, etc...
    I was attempting to create the begin and end dates as variable and use a loading package as my package to get the data into the warehouse.
    I set it up as the two beginning interfaces are Set Variables: my_start_date default value '10/1/1990' and my_end_date default value of '12/31/1990'.
    The 3rd and 4th are to be the incrementors, Refrech Variable:
    my_start_date Refreshing tab has a select query of : Select to_char(ADD_MONTHS(to_date(#my_start_date, 'MM/DD/YYYY'), 3), 'MM/DD/YYYY') from dual
    my_end_date Refreshing tab has a select query of : Select to_char(ADD_MONTHS(to_date(#my_end_date, 'MM/DD/YYYY'), 3), 'MM/DD/YYYY') from dual
    The 5th step is my ODI Interface with my source table (MY_SRC) that has a Filter of MY_SRC.TRANSACTION_DATE between to_date(#my_start_date, 'mm/dd/yyyy') and to_date(#my_end_date, 'mm/dd/yyyy')
    The last step is the Evaluate Variable to check to see if the my_start_date is greater than today.
    ~~~~~~~~~~~~~~~~~
    The problem i am getting is the 5th step fails with an error of:
    1843 : 22008 : java.sql.SQLException: ORA-01843: not a valid month
    ORA-02063: preceding line from #######
    Has anyone out there attempted to do this? I have been able to do this type of package with a single numeric variable, but i am having dificulties with the dates. Any ideas would be extremely helpful. Thanks.
    Tom Cusick
    Systems Programmer

    Ahh, ok now i see the Variables, looked right over them before.
    And I think i see the problem. My variables are being set to the correct date but as a date and not a string so when i am putting them into the filter it is not seeing the variable as a stirng and thus causing the problem.
    Ok so now i need to figure out how to make sure it is a string going to my interface and not a number.
    Thanks for pointing out where i can find the history information.

  • How to assign ODI Proc out parameter value to an ODI variable

    hi,
    Can someone kindly help me on assigning ODI Procedure's output parametr to an ODI variable.
    My ODI Proc is:
    proc p_name (e_code varchar2(100), o_num number(50))
    is
    type tab_e is table of xxx%rowtype index by varchar2(100);
    l_tab_type tab_e;
    begin
    select e_no into o_num from xxx where e_name=e_code;
    next 2 steps to populate table type variable
    Step1
    step28/
    end;
    i want to store the value of o_num in an ODI variable so that I can use that in a ODi package to evaluate its value and change the flow.
    Now i tried to include the above code in ODi proc , but its showing error while executing it .
    'Invalid SQL statement'.
    Kindly advice or help on this issue.
    Thanks,
    Hema

    Hellow,
    I am new to ODI.
    I ahve a data base query which returns more than one rows. Each row has more than one column.I wanted to assign these values to a variable . Finally this varibale values i wanted to write into a file in a package. What steps i need to follow to achieve this.
    Regards,
    Ranjan
    Edited by: user12112389 on Jul 16, 2012 2:55 PM

  • Error Handling in BPEL & ESB - Rejection Handlers

    Hi guys
    I have been trying to evaluate various ways for handling errors/exceptions in BPEL and ESB in Oracle SOA Suite 10.1.3.4 (Basic installation).
    What i have found is that in ESB, errors can be handled at two levels: ESB routing service errors using ERROR_TOPIC and Adapter errors using RejectionHandlers. AND
    in BPEL errors can be handled using in built try/catch (calling error hospital from the catch) and adapter erros using RejectionHandlers.
    I tried using Rejection handlers (bpel, wsif, file) in BPEL and ESB. In BPEL they all are working fine when registered in bpel.xml.
    But in ESB only the file handler is working. What i did in ESB is:
    I set up an ESB which is polling a file adapter and simply putting the data into a table in database.
    Then i created a BPEL (or a Webservice) which is based on http://localhost:8888/orabpel/xmllib/jca/RejectionMessage.wsdl file, taking
    {http://xmlns.oracle.com/pcbpel/errorHandling}RejectedMessage as input.
    Then I registered Rejection Handler in ESB's file adapter's .esbsvc (or Enpoint property- rejectedMessageHandlers):
    "wsif://http//localhost8888/Error_Service/RejectionHandlerPort?wsdl|handleRejection|message"OR "bpel://default:welcome1|BPEL_Error_Handler|handleRejection|message"
    I generated error in ESB by changing a column name of the table
    For bpel rejection handler:
    i was getting error: "<ERROR> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Rejection handler failed
    Error while trying to hand off bad message to Rejection handler bpel://default|BPELProcess2|handleRejection|message due to: java.lang.Exception: Failed to create "ejb/collaxa/system/DeliveryBean" bean; exception reported is: "javax.naming.NameNotFoundException: ejb/collaxa/system/DeliveryBean not found
    at com.evermind.server.rmi.RMIServerContext.lookup(RMIServerContext.java:207)
    at com.evermind.server.ApplicationContext.unprivileged_lookup(ApplicationContext.java:256)
    at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:196)
    at javax.naming.InitialContext.lookup(InitialContext.java:351)"
    It was solved by adding in server.xml - <application-server ... global-jndi-lookup-enabled="true">. But now i am getting
    "Error while trying to hand off bad message to Rejection handler bpel://default:welcome1|BPEL_Error_Handler|handleRejection|message due to: java.lang.LinkageError: duplicate class definition: com/oracle/bpel/client/ejb/interfaces/IDeliveryBeanHome. Please address the underlying issue or correct/redeploy the process."
    *For wsif rejection handler*:
    getting error: "Error while trying to hand off bad message to Rejection handler wsif://http//localhost8888/Error_webservices/RejectionHandlerPort?WSDL|handleRejection|message due to: exception on JaxRpc invoke: serialization error: java.lang.IllegalArgumentException: getSerializer requires a Java type and/or an XML type
    Please address the underlying issue or correct/redeploy the process."
    I followed: Link:[http://www.oracle.com/technology/products/integration/adapters/pdf/Adapter_TN_004_Adapter_ErrorManagement.pdf]
    Same bpel/wsif handlers pointing to same BPEL/J2EE services, if configured for BPEL adapters, works absolutly fine and gives proble in ESB.
    Am i missing something in ESB or is there any patch need to be applied? Please help me there.
    Thanks in advance.
    Inder

    Hi
    I even installed SOA Suite 10.1.3.4 MLR#5 Advanced installation with Oracle Express dehyderation store.
    I was able to use WSIF rejection handler with this upgrade... but bpel rejection handler was still a failure.
    So basically i re-visited ESB documentation. it says that ESB will not support bpel rejection handler.
    At least not upto now.
    So Summary:
    For BPEL we can use - file, wsif, bpel & aq rejection and fatal message handler.
    For ESB we can use file, WSIF (10.1.3.4 with MLR#5) & aq rejection and fatal message handler.
    Thanks
    Inder
    Keep going...

  • ESB error handling and notification features

    Hello everyone,
    I am newbie to oracle SOA ESB. I am an oracle apps guy.
    This being my first post to this forum, I have a lot of questions. :-)
    For a small intergration requirement, we are looking for a good integration tool
    Some requirements are:
    1) Flat files will be generated by concurrent programs on oracle apps which need to be transferred to legacy systems.
    2) Pick the data from apps tables and insert them into another database. Not much translation required.
    After some research, found ESB to be a good fit.
    Before actually start using it, we wanted to do a couple of POCs.
    So far we are using shell scripts for ftp process. We opted for an integration tool to have DB to DB transmission. Apart from this we need better error handling and error notification mechanism.
    Some error conditions:
    1) Unavailability of ftp server or Database server.
    2) Permission issues. Say some files may not have read, write, deletion permissions. They need to be caught and notified.
    3) Mandatory field missing while inserting data which is read from a flat file into a DB table etc..
    My initial thoughts on error handling are:
    Connection error: To retry for connection errors. If the retry fails send notification via email and also write the failed connection details into an error log file(apart from the server log file).
    Data mismatch: NOtification to be sent with the error details.
    I would like to know What happens to the file if the destination ftp server is unavailable while ESB is trying to FTP the file. Will ESB retain the file with itself and FTP the file once the ftp server is up?
    In BPEL I could see try catch blocks which can be used to handle the errors and thus send notifications.
    ESB documents introduced terms like error hospital related to error handling but I was not able to figure out a way of implementing them. As I am not well versed with XML and WSDL I am probably unable to use the fault tab which is in the routing service. I feel Oracle could have given some samples that explain about ESB error handling.
    Also to my dismay, adapter docs say that there is a limitation of 7MB size for ftping. Although our file sizes often fall below this size, I would want to know if there is any workaround to over come this size constraint.
    I think I put a lot of stuff in a single post and may be in the most haphazard way. Please bear with me.
    Please suggest me of some documents if any related to my questions.
    Would be really great if you can give me a straight forward solution to all the above problems
    Hope this forum would be a great help to me.
    Cheers,
    Robert.

    I have worked on a few SOA Apps implementations. Some successful and some not so. It really comes down to the type of integrations.
    But I would say the majority of your integration will be batch as this is what eBus is all about. If this is the case then I would recommend Oracle Data Integrator. If you go Oracle Data Integrator Suite it includes Service Bus and BPEL. ODI has an eBusiness Suite adapter as well.
    The good thing about ODI is that you can use it for data conversion, that conversion can then be reused once live, so the conversion is not throw away.
    In SOA 10.1.3.4 the limit of 7MB has been resolved but you must be using the file / FTP adapter for input and out, from the sounds of it you want to call concurrent programs so this probably wouldn't work.
    cheers
    James

  • Evaluate variable Not working properly

    Hi
    When i used Evaluate variable , It is having list of Operator (=,<>,IN etc).
    When is specified operator '=' and give one value its working properly.
    eg. Select name from table ;
    O/p = AA
    In ODI , Operator =AA its working .
    But when i specified Operator "IN" and giving value ('AA','AB') Or value (AA,AB) its not working propelry.
    Any other operator or any other option to use IN operator.
    Thanks
    Ashwini

    Hi,
    I never saw that "IN" woks!
    There is a workaround, use a at variable refresh tab a command like: (you can refresh the variable from itself)
    select case when '#project_code.my_var' in ('ab','a','x')
    then 'OK'
    else 'KO'
    end
    from dual
    put it as refresh step and add a new instance as evaluate "= OK"
    Does it help you?
    Edited by: Cezar Santos on 05/02/2009 08:59

Maybe you are looking for

  • Is it possible to tell the resolution of images in a PDF?

    I'm curious if there's a way to figure out what resolution the photographs in a PDF are saved at. I receive lots of ads from different designers. Occasionally some designer has used a low-res image in an ad, but I don't find this out until I get the

  • AS81 Legacy group asset

    Hi Experts, Now we are implementing group asset concept in the implementation. So, when ever I am giving takeover values in to legacy group asset AS81, I am getting higher NBV. suppose the Acquisition value is 50000 and Acc ord depn is 10000 and I am

  • Colors faded and dots lost in plots when exporting to PPTX

    Upon exporting a PDF file to PPTX, the images, which contained plots with colored dots, were reduced in quality and certain colors were faded and some dots were lost. Any settings that could be changed to avoid the loss in quality and also color pres

  • Circular reference during serialization error

    I am getting the following error when invoking an operation on my web service that returns a 'Make' object: ERROR OWS-04046 circular reference detected while serializing: com.edmunds.vehicle.definition.Make circular reference detected while serializi

  • Acrobat 8, "Highlight Fields" color change

    Hi, I'm trying to help a friend trace a random change in the color of form fields when you select highlight fields. Previously it was the same as mine, a light, opaque blue. Now it's changed to a dark gray making text hard to read. The only thing I c