Programatically Business Components, what do you do?

156 views
Skip to first unread message

alejandro

unread,
Aug 25, 2014, 9:43:28 PM8/25/14
to adf-met...@googlegroups.com
Where do you look when you have decided to go for programatically Business Components? I find myself always starting in this 2 resources:

- Jobinesh Blog, Building Programmatically managed business components - Part 1 (11.1.2): http://jobinesh.blogspot.com/2011/06/building-programmatically-managed_25.html
- Jobinesh Blog, Building Programmatically managed business components - Part 2 (11.1.2): http://jobinesh.blogspot.com/2011/06/building-programmatically-managed.html

Reason why I like them is because they example comes with all classes and the abstraction design ready for you to go. As long as your requirement stays closer to the example provided things shouldn't get complicated. However, this is not always the case. For example, I created a project based on the example, where I added a programmatically view object and a viewLink with itself (Projects - Subprojects). The only way I could make it to work properly without modifying the code was to not expose the viewAccessor in the destination viewObject. This way master-detail was created accordingly but you can't make use of Tree component in the UI (no viewLink accessor).

Another thing that happened to me is that repeating the same procedure, with a viewLink between Projects and Tasks, the VO would get populated correctly for the first row and after I will get an SQL Exception: Error in SELECT FROM WHERE .....

Before pointing me to the OTN keep reading... I don't plan to ask why it is not working or what do I need to do to make it work. I only would like to ask, what do you do when you get to this point, stucked, and knowing that you need to deliver something to meet a deadline, and thinking that tomorrow I should, again, forget about programatically BC and go for a POJO DC because I need to deliver.

I wonder if this is the reason why is so little documentation about it. These examples are from 10g till 11g earlies relases. I understand that to correctly implement programatically BC you need to have a good understanding and knowledge of all the framework classes but, I also believe it is not easy or task of a day or week to do (even if you had the time just to read). 

So, if you had found yourself in this situation, my question is.. What do you do?

PS: more links regarding programatically BC are to be found in a older post: ADF best practice to give webservice calls.

Alok Ranjan

unread,
Aug 26, 2014, 2:59:08 PM8/26/14
to adf-met...@googlegroups.com
Hi,

In one of my previous project we faced similar issue and the approach which we followed that created ADF BC using tables and overridden doDML() method of the entity object. Inside the doDML()  called web-service proxy methods, by doing this we were able to leverage all the out of box functionality of ADF BC as well as  implemented additional layer of security so that data were getting updated by SOA services rather than direct access.

Thnx,
Alok


--
--
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.



--
Thnx & Rgds,
Alok

Wilfred van der Deijl

unread,
Aug 29, 2014, 8:33:41 AM8/29/14
to adf-met...@googlegroups.com
I have seen a number of projects using (or trying to use) programmatic business components. In my experience I would almost always advice against it. As you say, it is very hard to get all the nuances of ADF BC to work nicely with non-database sources. There is just too much assumption of database concepts in ADF BC.
The only reason I would consider programmatic ADF BC is if you already have a (large) database based application using ADF BC and you want to work with one (or a few) non-database sources. In such a situation keeping to ADF BC can make things easier as you know the view layer will always be talking to the same type of datacontrol.

If you are building a SOA-only application where all (or most) data-access is done through services and not directly to the database, I would advice to have a look at the upcoming ADF EMG XML DataControl. Some more details are in the other running ADF EMG thread: "Best practise on showing payload on to adf ui"
Reply all
Reply to author
Forward
0 new messages