Reuse ADF Business Components to develop web services?

151 views
Skip to first unread message

Michael Koniotakis

unread,
Sep 11, 2015, 8:40:15 AM9/11/15
to ADF Enterprise Methodology Group

According to the documentation  “the same application module can support interactive web user interfaces using ADF data controls and web service clients”.

I had an 'unpleasant' experience trying to to the above, that is described here.

Do you have a relevant experience or best practice?

If the re-usability of Business Components  in order to develop web services is limited, is there any other reason why to use ADF-BC to expose Data Services instead of JPA, and java annotations?

Thanks


Shay Shmeltzer

unread,
Sep 11, 2015, 5:16:47 PM9/11/15
to adf-met...@googlegroups.com

There are differences in the way UI interaction (which should be done with ADF binding directly to the AM) and service interactions operate.
Web services interactions are stateless and this is a key difference compared to the ADF Binding interaction pattern.

If you are exposing AM as SOAP services in order to build UIs directly on top of them, you are probably going on the wrong way.
We recommend that ADF UIs that need to access AMs will use the binding layer and not go through SOAP services.

Some of the patterns mentioned in the blog such as PPR are not things that are used in a SOAP WS usage scenario.
For the point about DBSequence for example, its intention is to allow you to submit a row without specifying the value of the key, and the assumption is that the user doesn't actually care about what key is created. The follow up search for such a record in a another web service call will probably be based on one of the attributes that were filled in.
As you mention LOVs are meant mostly for direct UI help, they might not be the right choice for validation technique if you building a WS based interaction.

In terms of tuning - there is actually a separate AM configuration that is created and being used when you expose your AM as a service - it has its own tuning parameters for you to play with.

The benefit of ADF BC with a Web Service interface is that it allows you to leverage existing EOs you created and the logic that you implemented along with them from remote systems.
While you might be able to leverage existing VOs also, you might want to consider creating specific VOs that address the interaction patterns of a stateless Web Service architecture.

Just my 2 cents,
Shay
--
--
You received this message because you are subscribed to the ADF Enterprise Methodology Group (http://groups.google.com/group/adf-methodology). To unsubscribe send email to adf-methodolo...@googlegroups.com
 
All content to the ADF EMG lies under the Creative Commons Attribution 3.0 Unported License (http://creativecommons.org/licenses/by/3.0/). Any content sourced must be attributed back to the ADF EMG with a link to the Google Group (http://groups.google.com/group/adf-methodology).

---
You received this message because you are subscribed to the Google Groups "ADF Enterprise Methodology Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to adf-methodolo...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Oracle
Shay Shmeltzer | Director of Product Management
Oracle Mobility and Development Tools
200 Oracle pkwy, Redwood Shores, CA, 94065, USA

Michael Koniotakis

unread,
Sep 14, 2015, 8:08:51 AM9/14/15
to ADF Enterprise Methodology Group
Hello Shay,

Thank you for your prompt response.

The business case is that we have existing ADF Applications and we need to expose similar functionality as services to support SOA and BPM processes and Mobile Applications.

I think that we agree that reusing the existing View Objects, View Links and AM is not recommended.

The re-usability is limited to Entity Objects and Associations that will still need additional coding for supporting web services; entity validations instead of LOVs, additional property in associations etc.

I am just stating the fact that it is not a walk in the park.

Thanks.

Tomas Sokorai

unread,
Sep 22, 2015, 4:53:22 PM9/22/15
to ADF Enterprise Methodology Group


On Friday, September 11, 2015 at 9:40:15 AM UTC-3, Michael Koniotakis wrote:

If the re-usability of Business Components  in order to develop web services is limited, is there any other reason why to use ADF-BC to expose Data Services instead of JPA, and java annotations?



IMHO, if your ADF BC model is just a trivial wrapper over DB tables, then it doesn't make much sense to re-use them by exposing them as WSs, but remember that your model can be much more complex than just wrapping DB tables; if you have complex business logic and multi-sources for your data, all woven with the ADF BC model, then re-using by exposing as WS is a lifesaver.

As Shay also said, the issues you state about the current row and security could also be solved by using a bit of custom code on the model side which you then expose as a WS, which manages the state and you can set up the security context progragrammatically to also programmatically invoke securitized ADF BC logic ...
Also, SOAP might not the best way when you need direct UI interaction; you could also take a look at exporting your ADF model via RESTful WSs.

If it is worth to go through the hassles of custom "glue" code development? It depends on the point of my first paragraph ;-)

--
Tomas J. Sokorai Sch.
Reply all
Reply to author
Forward
0 new messages