ADF against the REST business components to access data

Hello

JDeveloper 12.2.1

We are about to build a custom application of ADF that must run completely on the site.

Given that we build it from scratch, we want to start with last 12.2.1

There is also no specific use cases where another application has consumed our application services.

With the recent versions of JDeveloper and ADF, there was a lot of improvements made to REST etc. and other industry standards

I came across some discussions about to consider the use of these new features

https://groups.Google.com/Forum/#! Searchin'/adf / methodology/repairman$ 20services/adf-methodology/u0dz4x4w2xU/15xrimlxQaYJ

https://groups.Google.com/Forum/#! Searchin'/adf / methodology/repairman$ 20services/adf-methodology/zpMv4PqOKhI/Qws0C4IBBYAJ

We plan to use the default ADF Business components to access data, because our requirements and I am more inclined to the use of these.

That is to say, using the ADF business components based on database objects directly (using a thin driver for data source)

But I also want to determine if there is any other good reasons to use other ways to talk to the database (such as RESTful services) as shown in the links above.

I believe, if we must use RESTful services to access the data, then it should be in the following scenarios.

a. If the database is on a cloud (as if we use DaaS)

b. There are already services available for the access to these data, and just build the user interface

But if we build the application from scratch, which is supposed to be running on site, then I would choose the ADF business components to access data via a thin driver for the data source.

Someone can correct me if I am wrong in my thinking?

Thanks for any help.

Sameer

Without knowing your situation, I would say that it seems that the use ADF BC is the right way to go.

It will allow you not only to access your database, but also add logic and to create complex data structures and relationships – all in a layer that is outside your database.

Your ADF UI can then link directly to this ADF BC layer.

If in the future you will need other interfaces to access the same logic through REST services - then that in 12.2.1 you can expose ADF BC as REST services will give you this ability.

Tags: Java

Similar Questions

  • The use of components bootstrap - access denied.

    Good Morning-

    I created a page that uses the built in components DW CC2015 Bootstrap.  Downloads page, but the bootsrap.css, the jquery and the bootstrap.js do not have.  It says access denied, or it could be a permission problem.  Is there something special at the server end which would prevent me to download these components?

    Then, I happened to get out of a button from the model "bootstrap" included with DW and replaced by another type.  Turns out she needed to generate a new updated bootstrap 3.3.4.css and a new 3.3.4 bootstrap js.  All I know is the blue and green buttons that I removed a path for success!   I was able to download without any error.

  • fix vs useful answer against the rest

    How are defined the answers 'correct' and 'useful '?

    Kind regards

    Peter Larsen

    At present, it seems that what is 'correct' is defined by the applicant to the question! And that seems completely wrong for me. It would be wise in some ways that a 'correct' answer must provide a final sequence of events which overcomes the original difficulty entirely - but in another way, a response that provides all the clues you need to fix something for yourself and allows you to learn something on the way could certainly be described as "useful" - and I would say that in fact it was probably much more use than just the "correct" answer

    And what happens if someone comes up with an answer that is incorrect, and they get points 'correct '? Or someone else comes along and adds useful information to the correct answer? And there is no point left to distribute?

    The idea sucks big time - as most of the rest of the new forum software. It sucks because you could make a strong case to say that point scoring back to the front - but why must we point scoring anyway, all of a sudden? They should spend this off - along with all what post crappy County, which is also completely wrong, both conceptually and in practice.

  • How to use bind variable to update the DB 11 GR 2 access data

    Hello Experts,

    By DB version 11 GR 2

    Operating system Windows Server 2012 - 64 bit

    I want to update some data base record Access to oracle with database link. Here is my SQL, which works.

    UPDATE Transaction@DB_LINK
    SET "WorkCode"=1
    WHERE "WorkCode"=0; 
    

    But, I need to change that to

    UPDATE Transaction@DB_LINK
    SET "WorkCode"=1
    WHERE "DateTime"=:VARIABLE_DATE_TIME; 
    

    and a 2nd does not.

    Any code help or example?

    Ask2Learn

    Hello

    Use DBMS_HS_PASSTHROUGH

    try something of

    DECLARE
      c       BINARY_INTEGER;
      nr      NUMBER;
    BEGIN
    
      c := DBMS_HS_PASSTHROUGH.OPEN_CURSOR@DB_LINK;
    
      DBMS_HS_PASSTHROUGH.PARSE@ATTD_ENVOYF(c,'UPDATE Transaction@ATTD_ENVOYF SET "WorkCode"=1
      where "DateTime" = '||''||VARIABLE_DATE_TIME||'');
      nr:=DBMS_HS_PASSTHROUGH.EXECUTE_NON_QUERY@DB_LINK(c);
      DBMS_HS_PASSTHROUGH.CLOSE_CURSOR@DB_LINK(c);
    
    END;
    

    Hope this helps

    Hamid

  • Creation of business components of Teradata tables

    I am using the wizard 'business components of the tables' using a connection to a Teradata Database. Business components created without attributes. I get an error where JDeveloper think that Teradata table is a primary key. But I created the primary of the table (not to be confused with a primary index, which is a different primary key object in Teradata) explicitly. Am I really not supposed to use ADF to deal with Teradata databases? I was hoping that ADF would be able to work with databases other than Oracle. Maybe is there something special that needs to be done for the Assistant to business components to recognize the primary key of the table of Teradata? If we need create all objects manually Teradata company ADF is not an option of goo for Teradata.

    This page documents the DBs we certify with:

    http://www.Oracle.com/technology/products/jdev/htdocs/11/database.html

    If Teradata is SQL92 compliant this should work in theory, but that their JDBC driver is missing certain aspects of a correct application of metadata interfaces, it could break the functioning of our assistants in design time.

    You may need to create the EO attributes by hand in this case.

  • How to get the user name of the user logged into the E-Business Suite in OFA

    Hi all

    I developed a few screens in OPS and recorded also in Oracle applications. I need to enter the user name of the user who has logged in to the E - Business Suite to access my Application OFA, so that depends on his user name I will post a welcome Message on my screen.

    Can someone please suggest how to achieve?

    With our thanks
    Gerber

    Use pagecontext.getuserId or pageContext.getUserName in your controller

    Thank you
    Kassy

  • Foreground of Oracle process to access data under Linux files

    As far as I know, processes user in an Oracle database running the application code, but the processes of database running Oracle database server code (server process analyze and execute the SQL statements issued through the app, read data of data files blocks and return the results to the application.) Background treats the archive logs, update the headers of all the data files to save the details of the control point, written content of the buffers of data files, runs the recovery if necessary, etc.)

    However, I could see the oracle user processes to access data files in my Oracle database. When I look for the processes to access data belonging to the tablespace files "recprov", I get the following:

    [root@ymir ~] # lsof | grep recprov
    Oracle Oracle 465 11u REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658
    Oracle Oracle 465 13u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 465 15u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 964 11u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 964 13u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 964 14u REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658
    Oracle Oracle 13364 14u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 13364 76u REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658
    Oracle Oracle 16445 17u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 16445 18u REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658
    Oracle Oracle 20522 REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659 82uW
    Oracle Oracle 20522 REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658 122uW
    Oracle Oracle 20532 44u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 20532 75u REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658
    Oracle Oracle 20534 17u REG 8.18 4823457792 /ora2/oradata/essepr3/recprov_tb_02.dbf 48496659
    Oracle Oracle 20534 79u REG 8.18 6291464192 /ora2/oradata/essepr3/recprov_tb_01.dbf 48496658

    As you can see, there are 7 oracle processes that access data files: 4 processes user and 3 background processes:

    [root@ymir ~] # ps - ef
    ...
    Oracle 465 1 Jan27 0? 00:00:23 oracleessepr3 (LOCAL = NO)
    Oracle 964 1 Jan27 0? 00:00:25 oracleessepr3 (LOCAL = NO)
    Oracle 13364 1 0 Jan13? 02:45:02 oracleessepr3 (LOCAL = NO)
    Oracle 16445 1 0 Jan21? 00:00:05 oracleessepr3 (LOCAL = NO)
    20522 1 0 2009 Oracle? 00:09:59 ora_dbw0_essepr3
    20532 1 0 2009 Oracle? 00:04:24 ora_ckpt_essepr3
    20534 1 0 2009 Oracle? 00:04:10 ora_smon_essepr3
    ...

    And I confirmed this information from the data base repository:

    SQL > select p.SPID, SSE. TYPE, SSE. Username, SSE. MACHINE, SSE. PROGRAM
    session $ v ESS, v$ process p
    where p.SPID (465, 964, 13364, 16445, 20522, 20532, 20534) and SES. PADDR = p.ADDR;

    USER NAME OF TYPE SPID MACHINE PROGRAM
    ----- ----------- --------------- --------------- ---------------------------------------------------------
    20522 BACKGROUND dbserver (DBW0) oracle@dbserver
    20532 BACKGROUND dbserver oracle@dbserver (CKPT)
    20534 BACKGROUND dbserver oracle@dbserver (SMON)
    13364 USER DBSNMP dbserver emagent@dbserver (TNS V1 - V3)
    964 RECPROV USER appserver JDBC Thin Client
    16445 USER SYSTEM userPC PlSqlDev.exe
    465 RECPROV USER appserver JDBC Thin Client

    * RECPROV is the name of the user of the application database.

    My question is, why are there user processes to access data files? I think that it does not match the process architecture defined by Oracle. And most importantly, it does not mean a security leak in the database?

    DB version: 10.2.0.3, dedicated
    The Linux Version: Linux 2.6.18 - 53.el5xen #1 SMP Sat Nov 10 19:46:06 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

    Thanks in advance

    Hello

    There seems to be some confusion, even in the Oracle documentation, in terms of nomenclature.

    Think of it this way. There is the client program that connects to Oracle, such as SQL * Plus, Toad, custom, etc. written application. This program runs on the client. This may or may not be on the database server.

    Then there's the Oracle database server process. They run always on the database server. These processes are of two types, the USER and the background.

    You can see:

    SQL> select background,count(*) from v$process group by background;
    
    B   COUNT(*)
    - ----------
              65
    1         37
    

    Here are copies of the file binary oracle attach directly to the SGA and interact with database files. The binary oracle works with several different "personalities" based on the different purposes, he is currently serving. The type of background process, are divided into different specific methods for specific purposes.
    Yet once, observe:

    SQL> select pname from v$process where background = 1;
    
    PNAME
    -----
    PMON
    VKTM
    GEN0
    DIAG
    DBRM
    PING
    PSP0
    ACMS
    DIA0
    LMON
    LMD0
    
    PNAME
    -----
    LMS0
    LMS1
    RMS0
    LMHB
    MMAN
    DBW0
    DBW1
    LGWR
    CKPT
    SMON
    RECO
    
    PNAME
    -----
    RBAL
    ASMB
    MMON
    MMNL
    MARK
    LCK0
    RSMN
    GTX0
    SMCO
    W000
    RCBG
    
    PNAME
    -----
    QMNC
    Q001
    CJQ0
    Q005
    
    37 rows selected.
    

    Thus, each background process serves a different purpose. For example. DBW0 concerns only to write data from the buffer cache data files and maintaining all data structures associated with it. Each background process above serves a different purpose, I will not go into all. Generally, the background processes start up time of instance startup, even though some may be started on demand, at a certain time after the start of the proceeding.

    Now, consider a dedicated server model. When you connect to the database by using SQL * Plus, for example, you run the binary "sqlplus". Assume that you are connected via SQL * Net. In this case, sqlplus connects to the listener, the listener creates an oracle server process, type 'USER '. This process always runs on the database server. It runs under the user 'oracle', and it provides your real and direct interface to the database. This user can interact with the database and read the database files directly.

    Mainly, your server processes the USER will read the data from the cache buffers and, in the case of an absence of cache, will read the data in the data files and loading into the buffer cache. In addition, according to the code path, it can directly read or write to the datafiles, bypassing the buffer cache.

    So, the bottom line, all server (USER and BOTTOM) processes, interact with the database and associated files. The code of client program (sqlplus, Toad, etc.) NEVER directly interacts with the database.

    Hope that things cleared up.

    -Mark

  • EJB or ADF (with the HELP of REST), the 12 c ADF business components

    Hi all

    I have a simple question to ask. I need to create a project to expose Web services from another project and third party possible.

    I need to use Rest services producing Json.

    So my question is: can I create my Web services using EJB or ADF business components? That who and why?

    EJB seems to be a little more simple/fast to implement.

    Best regards

    Luis Cabaco

    You have experience in the use of EJB or ADF BC in other projects? This could influence your decision.

    This moment (12.1.3) to produce the JSON ADF BC, you will need to code the solution.

    The plan should provide declaratively to expose REST JSON ADF BC in the next 12.2.1 release.

  • ADF business components: persistent negative IDs in the database

    Hello

    We use ADF 11 g with ADF BC as the model layer. All our database tables have a column ID, which is populated by a sequence and never shown to the user. ("IDs techniques".) In British Colombia ADF we have configured our entity objects with the attribute Id set as primary key. The type of the attribute is set to "oracle.jbo.domain.DBSequence". On the tab sequence, we set the name of the sequence in the sequence that corresponds to the table (we have a sequence for each table in the database).

    Our problem is the following. If we create a new record in our ADF Faces UI and a business on the database rule generates an error during validation after which correct us the error and resubmit the registration, a record with a negative identification gets in the base. If there was no error in business rule, we get an ID that corresponds to the 'nextval' in the sequence, as expected.

    Even though I know that ADF BC uses negative ID in the cache of objects entity for new records, I have no idea how and why these negative ID end up in the database. So far, they have been any problem in the database. But since this is unexpected behavior, I'm not entirely sure that the negative ID will not cause problems in the future. My questions:
    < ul > < li > is this design 'by' behavior or is it a bug? < /li >
    < li > if it is "by design": these are negative IDs guaranteed as being unique? < /li >
    < li > could it be caused by a configuration error in our model project? Where should I start looking for such a mistake? < /li >
    < li > could it be caused by a configuration error in our database? Where should we start to look for such a mistake? < /li >
    < li > would it be a bug in the ADF BC? < /li > < /ul >

    Best regards
    Bart kummel

    Bart,

    (1) it's by design
    (2) No.
    (3) No.
    (4) No.
    (5) no

    ;)

    Now for the explanation. Sequence name you set up is just for information purposes only - it is not actually cause ADF fill the value using the sequence. To do this, you must either write database triggers or you can use an extension framework class to have occur in the model layer - in my view, such an extension class is documented in the developer gude (search for DBsequence, I've not worn to hand at the moment). Negative numbers are only temporary placeholders.

    John

  • ADF business components

    Hello

    In Jdeveloper 11g from, we have many ways to create models and objects of the base entity.

    For example new slot > > ADF components we have two choices a) create table Table b) ADF entity objects ADF business components

    My question is: what is the difference between the two and which is more standard and recommended method of creating CRUD application?

    Thank you

    Rubi

    Hello

    It's like asking which way in Rome. The result is the same that you find yourself in Rome.

    The business components of table creates EO, VO, and AM only once and it is easy to start (a beginner option).

    Table OS, this is for when you want to create the template manually. If you are a developer experienced ADF BC who knows how to build from VO of entity objects, but also associations and view links manually then this option more puts you in control, so to speak. (option expertise and probably my choice)

    But as said, the end result is the same, you find yourself in Rome.

    Frank

  • Customization examples of Error Messages from the Business components

    Hi I followed this example and this: http://jobinesh.blogspot.de/2011/03/customizing-business-components-error.html, I followed the instructions but its does not work wins my request I re - create the problem, I check with the sample of work I did everything what I see in the sample of work, but mine does not always someone can check what I'm missing I download in this host file I used http://www.datafilehost.com/download-9d37bd8a.html hr diagram. am using jdeveloper 11.1.1.6.0
    I created the two class and one of them
    <Application xmlns="http://xmlns.oracle.com/adfm/application"
                 version="11.1.1.59.23" id="DataBindings" SeparateXMLFiles="false"
                 Package="view" ClientType="Generic"
                 ErrorHandlerClass="view.CustomErrorHandler"
    
    what else am i missing what have i not done,i know am mssing something but don't know what,the sample does not show step by step implementation,it just have a working solution,if somebody know step by step  implementation can you pls explain to me
    Published by: adf009 on 12/03/2013 12:09

    Published by: adf009 on 03/20/2013 14:44

    Hello

    Well, you've learned that samples should be provided on the HR diagram. Also try to put the steps to see the mentioned number.

    Anyway, here's the anwer-

    You missed a step. See link [Fusion Developer Guide | http://docs.oracle.com/cd/E14571_01/web.1111/b31974/bcadvgen.htm]... Go figure - 'Figure 37-9 project properties displays Message Resource Bundles' - this is the step failed. So just add your package customized to the ADF BC project.

    This should solve you problem... Let me know if you need examples updated the.

    Thank you
    Rajdeep

  • where to learn ADF business components?

    Hello

    can you please share a link regarding on the use of references to adf business components. all ebook titles or a book would also be appreciated. : D

    Kind regards
    Simon

    Published by: 848858 on April 24, 2011 03:27

    http://blogs.Oracle.com/Shay/2010/02/how_do_i_start_learning_oracle_adf_and_jdeveloper.html

    should give you a start.

    Timo

  • ADF business components: create a form to add a new record

    Hello

    I use Oracle JDeveloper 11g Version 11.1.1.2.0 and ADF framework to build the application. My application is using Oracle ADF (data controls) business components.

    I am trying to create a form that allows a user to enter data for a new record and then validate this record. I was able to create the shape of the ADF and CreateInsert and commit buttons doing drag and drop the opinion of the entity and its operations since the data controls. This allows to add a new record to the table using two command buttons (createInsert and validation).

    I need to do it using only one button. How can I do?

    Thanks, Alex

    Not really clear on your use case, but [url http://blogs.oracle.com/shay/2010/04/doing_two_declarative_operatio.html] This shows how two declarative actions with one click

  • Mission Control only accesses the desktop. What happened to the rest?

    Mission Control only accesses the desktop. What happened to the rest?

    What happened to the others?  What you are looking for that you do not find?  If you want to help, give us more to go than that!

  • When a user logs off Windows 7 x 64 session, the rest can not access the internet until the restart network card

    Hello! I found a problem with my system: when a user logs off Windows 7 x 64 session, the rest can not access the internet, until restarted network card. Reinstall NIC driver did not help. Problem appears on a built-in adapter, in the motherboard and a separate PCI card too.  Same router via its web interface is not accessible. Windows cannot automatically fix this problem after trying to diagnose a problem with his problem Diagnostic tool. After the diagnosis in the DETAILS window, MORE tests, it displays a message like this "computer remote can not receive a connection via the Internet (HTTP) Service Port". "Unplugging" a corresponding Local network connection and then reconnect solves the problem immediately. Switching between users, when two of them are connected do not cause this problem. Important: the problem occurs in the account of the user who was logged on the system FIRST after the PC was on, when the user disconnected on newspapers of a SECOND. If the SECOND user is logged in and the FIRST user disconnects, SECOND can still access the internet. It depends only on the sequence of the user's record, not on the particular user name. And one more interesting fact: after each user registered on and outside just for once, the problem seems to disappear until the PC is turned off and turn it back on!

    System details:

    Motherboard: ASUS P8Z77-VLK
    CPU: Intel Core i7 3770 K
    RAM: 8 GB
    OS: Windows 7 x 64

    Hi, Mahesh,

    and thank you very much for your help! Update firmware driver and router LAN did not help me get rid of my problem, but greatly improved my experience of networking in general. Anti-virus software was not guilty, also, but! I found the "iControl" network software, installed as part of Sogiciel 'AI Suite II' (that came on the CD of motherboard ASUS driverssoftware), runnning and causing not only the problem mentioned above, but would also decrease upload speed up to 0.3 MB/s, when download passes to nearly 100 Mbps! Moreover, searching the Internet, I have found a lot of complaints about the behavior of this software, so that people watch you the occasional installation of this piece... sweet ;) As "iControl network" has been uninstalled (not only turned off in the settings of 'Ai Suite II'!), I'm totally happy with my system performance.

    Best regards
    Greg

Maybe you are looking for