Oracle ADF Business Component - Various data source...

As part of our recent design effort we are evaluating how ADF Binding/Data Control and Business Components can be leveraged for different data sources for an instance, we need to support Oracle Database (i.e. leveraging all goodies like ADF View/Entity objects) but along with it we also need to support legacy file data source (note archival of data to file store is already in place). From legacy file data source we will get data via Java interfaces which will be massaged/formatted the same way as data from DB.
Are there existing examples/best practices listed that we can look at, so that we can design the application with minimal code duplication.

Regarding best practices / real-world usecases, you might want to keep a few things in mind:
1. If you need to display data from different databases/data sources in a dashboard like page, you can make use of regions.
Each region can display a task-flow, and each task-flow can point to different databases.
This is nice and easy with ADF.
2. The challenging part is when you need to combine two different data sets into a single collection (such as a table).
Your only 'efficient' option would then be a programmatic VO where you take care not to make too many network round-trips to fetch data and handling connections /file descriptors properly...
Other options include:
Expose a web-service on one of the data sources and use a service based entity in your 'main' application.
You could access this via a ViewAccessor in your 'main' VO, fetch a large data set, then filter in-memory using a ViewCriteria or RowMatch etc. etc.
Hope that helps..
Regards,
Jang Vijay Singh

Similar Messages

  • How to make ADF Business Component Connection which is using XATransaction?

    Hi all,
    I'm using ORACLE 10.1.3 ADF business component, how to set this component using XA transaction? Is that possible to use xa transaction manually from application module?
    thanks

    I believe you mean to ask whether ADF BC uses XA Transaction.
    You can use a JDBC datasource based on XA Transaction for ADF BC. You might find this link useful for an overview: [XA Data Source Interface and Oracle Implementation|http://download-uk.oracle.com/docs/cd/B10501_01/java.920/a96654/xadistra.htm#1058741]
    What do you mean by "+Is that possible to use xa transaction manually from application module?+" - Do you mean exposing the transaction of ADF BC outside its AM..? If so, I'm afraid that its not supported.
    Thanks,
    ~Krithika

  • ADF Business Component problem

    Hello,
    I am trying to Setting Up ADF Business Component Data Sources, pass all steps. Deployed oracle.bi.integration.adf.ear on WLS, added OBIEEBroker proggect to an application and so on. But when I deploy my application I am getting exception.
    [08:45:51 AM] weblogic.management.DeploymentException: [J2EE:160149]Error while processing library references. Unresolved application library references, defined in weblogic-application.xml: [Extension-Name: adf.oracle.domain, exact-match: false], [Extension-Name: oracle.bi.integration.adf, Specification-Version: 11.1.1.2, exact-match: false], [Extension-Name: oracle.applcore.model, Specification-Version: 11.1.1, exact-match: false].
    I have Oracle Business Intelligence 11.1.1.5.0, WebLogic Server Version: 10.3.5.0 and Studio Edition Version 11.1.1.5.0
    Thanks,
    SNikiforov

    Check this Doc ID 947921.1
    If helps pls mark

  • Error while adding ADF Business Component

    Hi All,
    I am using JDev 11.1.1.3 and trying to create a new Application.
    Under the Model Project of this Application when I am trying to add Business component I am getting following error:
    " *Wizard Open Error*
    *Illegal name. It is either a reserved word or an object of a given name already exists within the project.*
    *com.java.DemoApp.Model*
    *Exception: oracle.jbo.dt.objects.JboException* "
    Steps I followed:
    New Application --> Fusion Web Application (ADF) --> Gave App name and hit Finish Button.
    Model and View Controller Projects got created.
    Now when I am trying to add ADF Business Component I am Getting above error.
    Please Help

    Hi John ,
    Please find details and steps below:
    1. Open Jdev
    2. Click New Application
    3. Create Fusion Web Application (ADF)
    wizard will come up
    Details entered:
    Application Name: DemoApp
    Directory: D:\Jdev\mywork\DemoApp
    Application Package Prefix com.java.Demo
    4. Hit Next Button
    Project 1Name come (Step 2 of 5)
    Project Name Model (Default Project Name)
    Directory D:\Jdev\mywork\DemoApp\Model (Automatically Populated)
    No changes done
    5. Hit Next Button
    Project 1 Java Settings come (Step 3 of 5)
    Below values automatically populated
    Default package com.java.Demo.model
    Java Source Path D:\Jdev\mywork\DemoApp\Model\src
    Output Directory D:\Jdev\mywork\DemoApp\Model\classes
    No changes done
    6. Hit Next button
    Project 1Name come (Step 4 of 5)
    Project Name ViewController (Default Project Name)
    Directory D:\Jdev\mywork\DemoApp\ViewController (Automatically Populated)
    No changes done
    7. Hit Next Button
    Project 1 Java Settings come (Step 4 of 5)
    Below values automatically populated
    Default package com.java.Demo.view
    Java Source Path D:\Jdev\mywork\DemoApp\ViewController\src
    Output Directory D:\Jdev\mywork\DemoApp\ViewController\classes
    No changes done
    8. Click Finish Button
    9. Select Model Project under Application Navigator
    10. Right Click and select New --> ADF Business Component --> Application Module --> Ok
    Error Thrown..
    Please let me know if more details required
    Thanks and Regards
    Manav Ratra

  • Oracle ADF Calendar Component Customization

    Hi,
    I am starting my journey to learn ADF. I am using Oracle ADF Calendar component as read only calendar. We need to further customize the calender to incorporate CUD operations. I am using ADF BC @ business layer and which in turns talk to DB for Calendar entries.
    I am able to implement UI facets (like Hover effect, Detail Calendar Entry, Delete Entry) but I am not clear about how to implement the corresponding events (like delete event, edit event etc).
    I am using Dialog and which refers to a managed Bean component for listeners (e.g Delete Dialog refers to dialogListener="#{CustomCalendarBean.deleteListener}").
    My Question is,
    In the bean, to implement the listener, i would need to make use of Delete operation available in my Data Control (Exposed by ADF BC VO). I am not sure how to do the same. My managed bean is POJO and not sure how it can call Delete operation available in data control.
    Appreciate your help.
    Thanks, Mihir Parekh

    I am able to achieve this functionality with Operation Binding.

  • 11g ADF Business Component Browser + ADF BC security

    Hi gang
    I was hoping somebody could help me out with the ADF BC security features as outlined section 28.4.3 of the Fusion Developer's Guide for JDev 11g.
    1) I note once you've defined a Policy Store via the ADF Security wizard, each time you run the ADF Business Component Browser a login dialog then shows requiring a user to be authenticated. Is there anyway to turn this off for the ADF BC model project for testing purposes without removing the whole Policy Store set of files?
    2) The EO + EO attributes allow the role "unauthenticated-role" as a permission, documented online as:
    "Select when you want to grant access privileges to unauthenticated users. All users, including unauthenticated users, for example, those *not*required* to log on to the application, are automatically considered by Oracle Platform Security to be a member of the anonymous-role."
    (Note my emphasis in the quote)
    Given this, once the ADF Security is enabled, the login dialog always appear for the ADF Business Component Browser. How do you login in an unauthenticated fashion to test an unauthenticated user's privileges against an authenticated privileges?
    Hope you can help with thanks,
    CM.

    Chris,
    you should be able to switch it on/off by setting
    authorizationEnforce="false"
    authenticationRequire="false"/>
    in the .adf\META-INF\adf-config.xml file
    you can edit this file from within JDeveloper
    Frank

  • Using Oracle BI Server as a Data Source for Third Party Tools

    I have been researching how to use the Oracle BI Server as a data source for two days now. I have not yet found a solution to my problem.
    We have a remote user who is pulling data from one of our Oracle databases using automated tools. This data base is essentially being replaced by Oracle Analytics. However, we do not want this user to get at the physical tables of Analytics, rather, we want the user to be able to connect to the Oracle BI Server itself, and issue Logical SQL to pull data.
    Here are the requirements which I need to be fulfilled:
    1) The ability for a remote user to connect to the BI Server as a data source.
    2) The remote user must be able to do this on a Unix box.
    3) The remote user must be able to automate the process of issuing SQL to the BI Server. (Command line interface is preferable)
    4) The solution needs to be easily implementable, that is, this solution will be implemented many times over.
    I found many articles explaining how to set up a Windows box to connect to the BI Server in this way. However, these articles outline how to use tools like Excel and Microsoft Query to pull data from the BI Server. Our current user is using SQLplus.
    If possible, I would like the user to continue using SQLplus as the tool for connecting to and retriving information from our BI Server. I have tested using SQLplus many different ways to no avail. I have also tried using other tools, such as Oracle SQL Developer.
    Is there a program out there that will fulfill the needs I have outlined above? Or, does someone know of a way to use SQLplus to connect to the Oracle BI Server as a data source? Or, is there a series of solutions which will fulfill the needs outlined above?
    Edited by: user11177366 on Jun 11, 2009 11:46 AM

    I agree it would be inefficient but only because you are using OBIEE for something it was not designed to do. You are basically asking for a "DB feed" and that should designed using PL/SQL, DB Links, Web Services or whatever is your entreprise standard to send data from one system to another. Using OBIEE for this seems a bad architecture decision to me.You are correct, the BI Server is not really intended to be queried like another Oracle Database remotely. However, the reason we are trying to do it this way is twofold:
    1) We want to enforce data level security.
    2) The BI Server has been fine tuned for high performance.
    Forcing the end users to go through the BI Server rather than directly to the physical tables or other sorts of systems built on top solves both of these issues.
    I think you are wrong. I don't see why SQLPlus should be able to query the BI Server. The BI Server can sit on top of many different DBs not just Oracle, even flat files etc. So you can't really expect the BI Server to able to translate all that into Oracle SQL output so you can query it using SQLPlus. The BI Server is not an Oracle RDBMS.You're right again. The BI Server isn't an Oracle RDBMS, and I have been wanting to treat it like one. From the data I have gathered SQLPlus can't query the BI Server.
    However, my research has led me to realize that the BI Server supports the JDBC API. Therefore, (I should have went down this route in the first place) one can use the JDBC driver provided by Oracle (bijdbc14.jar) to interface with the BI Server. There are many programs and applications out there that support the JDBC API and let us connect to BI Server the way we want to. Furthermore, these programs are mostly platform independent, as they are mostly written in Java.
    Lastly, from what I understand the NQCMD program can be installed on any platform as well (provided by Oracle). This is another option to connect to the BI Server as well.
    Thanks for your help and your comments as I went through this process of discovery.

  • Column Modification impact to Data foundation, Business layer and Data source in DS 1.2

    Issue
    An existing Business Layer that is consumed by a Data Source definition in Design Studio 1.2 Version: 12.0.2.201311041742 seems to invalidate the entire Data Source object after modification to the base tables DDL (data definition).  Information Design Tool used is Information Design Tool 4.1, Build:14.1.1.1036, Version: 4.1 Support Pack 1.
    Background
    A modification was needed a base tables DDL (data definition).  Specifically a column that stores the Date value as a varchar needed to update to a Date data type.  After the modification was completed the Data Foundation and Business Layer in the Information Design Tool (IDT) needed
    modification as well to reflect the updated column data type.  Refreshing the Data Foundation and/or the Business Layer did not update the column Data Type.  The step of dropping and re-inserting the updated table in the Data Foundation and subsequently the Business Layer updated
    the expected columns Data Type as expected. All the existing Data Source definitions that were in use throughout the application (Design Studio) were invalidated causing the following error after the DDL update.
    After rebuilding the Data Source definition in Design Studio, the issue was no longer there however, the existing Data Sources were still non-functional and were subsequently deleted.
    In Sum
    Is there another way to make changes to the base table(s) without negatively impacting the Data Foundation (IDT)àBusiness Layer (IDT)àData Source Definition (Design Studio) to the point where Data Sources on the Design Studio have to be redone preceded with similar effort at the IDT level?  Is there a step(s) that I missed?
    Any insight would be appriciated.
    Regards,
    Kris

    Hi Kris - it looks like you have not downloaded the latest SP's for Design Studio 1.2
    http://service.sap.com/sap/support/notes/1954748
    I recall in late May SAP issues SP2, and earlier in the year they issued SP1 - could you apply both SP's, client-side and platform-side?

  • How execute pl/sql command from Oracle ADF Business Components

    can't find examples for how execute pl/sql command from Oracle ADF Business Components and how call pl/sql package procedure from ADF Business Components.
    insert,update,delete rows in view object instance cache is good but if i must do some complex operations while insert,update,delete rows..it's more better for me to call
    pl/sql procedure from oracle db.Am i wrong ????

    Roman,
    this should be similar to how it worked in JDeveloper 9.0.3. hava a look at <JDev903 Home>\BC4J\samples\StoredProc for a code example.
    Frank

  • Oracle ADF Business Service Layer Technologies

    Hello,
    We are building an online shopping mall/site that is expected to receive order volume of 50-60 thousand orders per week. So obviously, data traffic generated by the site will be pretty heavy. The technology set we are supposed to use is Jdeveloper 10g with ADF. Currently ADF business service layer offers following set of technologies. The question is which of following technologies meets these four criterias the BEST? (1) Security, 2)24x7 Reliability and Maintenace overheads (3)Speed /Performance of the server response to client requests (4) integration with Oracle database.
    Please advise. Any technet/metalink oracle document that compares these various business layer technology would be great indeed.
    Business service technologies that I am talking about is mentioned below
    Enterprise JavaBeans (EJB) Session Beans
    Since most J2EE applications require transactional services, EJB session beans are a logical choice because they offer declarative transaction control. Behind the EJB session bean facade for your business service, you use plain old Java objects (POJOs) or EJB entity beans to represent your business domain objects. JDeveloper offers integrated support for creating EJB session beans, generating initial session facade implementations, and creating either Java classes or entity beans. You can also use Oracle TopLink in JDeveloper to configure the object/relational mapping of these classes.
    JavaBeans
    You can easily work with any Java-based service classes as well, including the ability to leverage Oracle TopLink mapping if needed.
    Web Services
    When the services your application requires expose standard web services interfaces, just supply Oracle ADF with the URL to the relevant Web Services Description Language (WSDL) for the service endpoints and begin building user interfaces that interact with them and present their results.
    XML
    If your application needs to interact with XML or comma-separated values (CSV) data that is not exposed as a web service, this is easy to accomplish, too. Just supply the provider URL and optional parameters and you can begin to work with the data.
    ADF Business Components.
    These service classes are a feature of the ADF Business Components module, and expose an updateable dataset of SQL query results with automatic business rules enforcement.
    Thanks
    Ruchir

    So the quote says "technologies Oracle recommends to J2EE developers" which is correct - if you are an experience Java EE developer the TopLink/JPA/EJB stack should be your choice however if you are coming from a 4GL/Enterprise developer background then the recommendation is here:
    http://download.oracle.com/docs/html/B25947_01/intro002.htm#sthref21
    For enterprise 4GL developers building new web applications, Oracle recommends using JavaServer Faces for the view and controller layers, and ADF Business Components for the business service implementation. This combination offers you the same productive J2EE technology stack that over 4000 of Oracle's own enterprise 4GL developers use every day to build the Oracle E-Business Suite. Since its initial release in 1999, several thousand external customers and partners have built and deployed successful Oracle ADF-based applications as well. Both now and in the future, Oracle and others are betting their business on Oracle ADF with ADF Business Components.
    And yes ADF BC can be exposed as EJB - but this is usually only used for remote deployment of ADF BC when they are on another server than the UI code - for example when using Swing.

  • Programmatic ADF Business Component Work

    Is there any documentation on advanced usages of ADF Business Components at the programmatic level? Oracle supplies a lot of documentation (i.e ADF Developer's Guide for Forms/4GL Developers) regarding the programmatic use of business components at the individual component level (i.e. a single entity object, view object, etc). But I cannot seem to locate any good resources for aiding in the programmatic use and development of already defined business components. I have gone through Part II "Building Your Business Services" and Part IV "Advanced Topics" of the Dev Guide trying to develop an understanding, but I find there is just too much content to sift through to collate the information that I think I need (if it is even present in the Dev Guides to begin with).
    I am at the point where I know how to define, customize and extend my business components. My problem is now that I need to USE the business components to create methods and processes as required by my project. To be specific, I essentially have to write a process that uses a specific ViewObject and the ViewObjects linked to it (through ViewLinks) to redefine the parent's PK, copy it and it's originally associated child rows

    Programmatic manipulation of components are covered in:
    5.6 Working Programmatically with View Object Query Results
    6.8 Working Programmatically with Entity Objects and Associations
    7.8 Working Programmatically with Entity-Based View Objects
    The application module class has generated getter methods to access any view object intstance in the data model.
    See section "8.3.2 What Happens When You Generate a Custom Class for an Application Module"
    View object rows have view link attributes you can use to access child collections:
    See section "5.10.4.2 How to Access a Detail Collection Using the View Link Accessor"

  • Error JBO-33003 ADF Business component as an EJB remote

    Hi,
    I need to deploy an ADF application (model in business component and view in ADF Faces) in a multi-tier architecture. I deployed the MODEL project (bc4j) in an OAS’s OC4J instance. Now, when I try to test de application I get the following error:
    oracle.jbo.ConfigException: JBO-33003: Connection name <my_conn_to_oas> not defined.
    Also, I tried to connect to de EJB session from my VIEW project, so I changed the file DataBindings.cpx. I changed the line Configuration="AMProyectosLocal" to Configuration="AMProyectosAS_DS".
    When I run the view project I get the same error:
    500 Internal Server Error
    oracle.jbo.ConfigException: JBO-33003: Connection name AppServerPenny not defined
         at oracle.jbo.client.Configuration.initializeFromConnectionName(Configuration.java:1103)
         at oracle.jbo.client.Configuration.getConfiguration(Configuration.java:538)
         at oracle.jbo.client.Configuration.getConfiguration(Configuration.java:461)
         at oracle.jbo.client.Configuration.getConfiguration(Configuration.java:436)
         at oracle.jbo.common.ampool.PoolMgr.createPool(PoolMgr.java:287)
         at oracle.jbo.common.ampool.PoolMgr.findPool(PoolMgr.java:539)
         at oracle.jbo.common.ampool.ContextPoolManager.findPool(ContextPoolManager.java:165)
         at oracle.adf.model.bc4j.DataControlFactoryImpl.findOrCreateSessionCookie(DataControlFactoryImpl.java:136)
         at oracle.adf.model.bc4j.DataControlFactoryImpl.createSession(DataControlFactoryImpl.java:222)
         at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:76)
         at oracle.adf.model.BindingContext.get(BindingContext.java:457)
    What is the problem?
    Where can I find the process to deploy in a multi-tier platform?
    Please, help me.

    Thank for your help.
    I reviewed the datasource configuration and it is Ok.
    The connection’s name isn't a datasource name. It is the connection’s name to the APPLICATION SERVER. I reviewed the bc4j.xcfg file and it has the following definition:
    <ConnectionDefinition name="AppServerPenny">
    <ENTRY name="remote-oracle-home" value="/home/oracle/OAS/10.2.0/middle"/>
    <ENTRY name="ConnectionType" value="Oracle_AS_10g_UNIX"/>
    <ENTRY name="HOSTNAME" value="penny.asesoftware.com"/>
    <ENTRY name="DeployPassword" value="true"/>
    <ENTRY name="oc4j-instance-name" value="OC4J_ARES"/>
    <ENTRY name="user" value="ias_admin"/>
    <ENTRY name="ConnectionName" value="AppServerPenny"/>
    <ENTRY name="ormi-username" value="admin"/>
    <ENTRY name="ormi-client-url" value="ormi://penny.asesoftware.com:23791"/>
    <ENTRY name="IIOP_PORT" value="1810"/>
    <ENTRY name="password">
    <![CDATA[{904}05B4D7F42A8C91433599EDC9FDE9B9B249A698997ABBAAAD13]]>
    </ENTRY>
    <ENTRY name="ormi-password" value="manager123"/>
    <ENTRY name="DeployPassword" value="true"/>
    </ConnectionDefinition>
    Why does the test utility not found the AppServerPenny connection?

  • ERROR WHEN USING JHEADSTART TO GENERATE ADF BUSINESS COMPONENT FROM DESIGNE

    Use JDeveloper to generate a ADF Businness component using Jheadstart from
    Designer the following error is thrown
    oracle.jmig.source.ExtractorException: Caught SQL exception:ORA-01795: maximum number of expressions in a list is
    1000
    at oracle.jmig.source.designer.DesignerExtractor.extract(DesignerExtractor.java:136
    at oracle.jmig.MigrationRunnable.extract(MigrationRunnable.java:349)
    at oracle.jmig.MigrationRunnable.migrate(MigrationRunnable.java:183)
    at oracle.jmig.MigrationRunnable.run(MigrationRunnable.java:122)
    at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:551)
    at java.lang.Thread.run(Thread.java:595)

    Yes, this is a known issue. We will fix this for the next release.
    Having said that, the next release will contain the JHeadstart Forms2ADF generator which directly reads Oracle Forms .fmb files to ADF, without the need to use Oracle Designer, avoiding problems like this alltogether.
    Steven Davelaar,
    JHeadstart Team.

  • Create a new dimension in business layer from Data source: text file on the web

    Hi,
    I have a text data source which is published every few hours that is accessible from a certain URL. I follow the instruction given in this http://scn.sap.com/docs/DOC-43144 - where it shows in great detail how to create the connection, data foundation as well as business layer to create a universe for this type of data.
    All is well - I can use this universe in my WEBI doc and display the data.
    However, in order for me to merge the data from this universe with another universe, I need to create  new dimension based on the data from the text file. The new dimension value is simply the first 4 characters of the Subject found in the text file. The "Subject" dimension is of variant type: varchar.
    Following the guide mentioned earlier, the connection is using SAP BO OpenConnectivity driver. And this driver limits severely the SQL statement that I can use to extract a substring of another string. Here's the screenshot of the SQl expression that I can use with this driver
    After hours of searching, I cannot find any other connection driver for a text file that's published on a certain URL. The BO OpenConnection driver is the best that I could find.
    So here are my problems
    1. one of my data source is a text file published on a web
    2. the only connection I can create does not allow me to create  new dimension in the universe to create an important column "subject ID"
    3. I can create the column in webi as a variable. But when I do so, I cannot merge it with existing dimension (webi not allowing to merge these 2 types). And without the merge, the flat file universe with my database universe can't be combined.
    I'm using WEBI Rich client version 4.1 SP3 Patch 1. Build 14.1.3.1300
    Is there any other idea that you can suggest without requiring to change the extracted data?
    Thanks.
    With warm regards

    Hi Bala,
    Were you able to find out a solution for the problem with uploading values for a variable from a text file on the web?  I am confronted with the same request from users.
    Thanks,
    BQ

  • Can Informatica use Oracle 7.3 as a data source?

    We have a client with a legacy system in Oracle 7.3.
    They want to know if they can use Informatica 8.1.1 and access their legacy data using Informatica.
    The Informatica documentation is silent on the versions of Oracle that are supported as a data source.
    Thanks for any insight!
    Gene

    I think connecting with informatice is not the issue...
    But the issue will be if you want to use BIA.
    Because you don't have adapters for this source...
    Or perhaps you can take an older version of BIA?
    But is this system legacy because they have a new system, which they using with BIA and they want to report on this old eBS as well?

Maybe you are looking for