Nested application modules
Hi,
Is it (somehow) possible to nest an application module from another adf bc project?
Using JDev 10.1.3.3 and JHeadstart 10.1.3.2.51.
Ciao
Aino
Thanx for your quick reply.
Is it possible to include the AM from the other project on design time and have it appear in the AM editor (as it would be with nested AM's from the same project)?
Ciao
Aino
Similar Messages
-
Nested Application Module - commit behavior
Guys,
I have ADF BC in the following hierarchial manner.
AM1
-VO1
-VO2
-AM2 (nested AM)
Assume that there are pending transactions on both AM1 and AM2.
what is the behaviour for the follwing?
Q1 . Issuing commit on AM1, will it commit AM2 also?
Q2 . Issuing commit on AM2, will it alone commit?
Edited by: Dev on Apr 19, 2011 12:00 PMADF distinguish between root application module and nested application modules. A root app module has no parent whereas an nested app module has a parent. A root app module holds the transaction (and only the root app module). Nested app module share the transaction of the root app module (they are nested in).
So Q1: yes and Q2: no.
Read 9.4.2 here http://download.oracle.com/docs/cd/E17904_01/web.1111/b31974/bcservices.htm#sm0229 fro more info.
Timo -
Jclient Binding to nested application module
we use a test case of
Applications
ParrentAM & NestedAM
Forms
ParrentForm & NestedForm
We added a reference to the NestedAM datacontrol in the ParrentDatabindings.cpx
When the ParrentForm attempts to set the bindingcontext in the NestedForm we recieve a null pointer exception.
Can anyone provide some insite or an example for binding to a nested application module?
thanks.Robert,
what do you mean with "Nested Form", is it a JClient panel that is contained in another JClient panel ?
Which JDeveloper release are you working with? Can you provide me a step by step instruction on how to reproduce your testcase in JClient (assume that I have a Business Component Model that has a MasterApp and a nested NestedApp module, both based on the Scott schema).
thanks for your help
Frank
JDeveloper Product Management -
Transaction Management for Nested Application Module
Hi
I'm using Jdev 11.1.2.0
I am having nested Application Module. In that I want to separate view object data need to commit without commit the root application module view object.
Is it possible. Kindly reply me.No, the root application module controls the transaction of all need application modules. A commit will commit all changes together. You have to use different root application modules for this.
Timo -
Instantiate a nested application module programmatically
Hi, is it possible to instantiate a nested application module programmatically using Configuration class or other any other class?
The API of Configuration refers only to root application module.
The nested service has strong cohesion and is loose coupled with root application module and I want to use it in a stand alone client.
Any comment will be helpful,
Thanks
IliasHi,
+"The nested service has strong cohesion and is loose coupled with root application module and I want to use it in a stand alone client. "+
If this is the case, why don't you call it as a root Application Module ? If there is no dependency to the root AM, then it doesn't matter if you call it as a nested AM or root AM
Frank -
Nested Application Module Performance
What are the implications of nesting application modules? I am nesting them in such a way that they are defined at design-time and used by calling findApplicationModule(String) on the root ApplicationModule. Could there be any significant overhead accessing one nested app mod in this way as opposed to going to the desired app mod directly? Or is there anything else to watch out for with this type of design? I haven't had any trouble so far but my project is not too large yet.
For example, I have three ApplicationModule objects.
RootModule, Module1, and Module2. By nesting Module1
and Module2 under RootModule, I can use either once I
have an instance of RootModule by calling
findApplicationModule(String name). This is useful
when I want to do things inside both Module1 and
Module2 and still use the same connection and
transaction context.
If I only want something out of Module1 during a
request, would it be advantageous to ONLY create
Module1 directly and bypass my RootModule?
Meaning this:mod1Am =
Configuration.createRootApplicationModule("Module1","M
dule1Config");
mod1Am.myCustomOperation();As opposed to
this:rootAm =
Configuration.createRootApplicationModule("RootModule"
"RootConfig");
mod1Am = rootAm.findApplicationModule("Module1");
mod1Am.myCustomOperation();
Nick:
There are advantages to creating Module1 directly. It would be that you don't create unnecessary objects (in your case, you would avoid unnecessary creation of Module2").
However, I would make the following side comment: from your message, it sounds like you would create an AM for every request and remove it at the end. Did you consider using AppModule pool? AM pool would be better than create-remove because AM pool can keep around a number of root AM instances and manage resources for you. This way, you don't have to create any AM for each request. AM pool is also able to support stateful operations with excellent scalability.
Thanks.
Sung -
Nested application module use own connection
Hi everyone,
I'm trying to figure out how to let a nested application module use it's own connection instead of it's parent.
Any suggestions?
We're using Jdeveloper 10.1.3.3.0.
RegardsHi,
The issue is not about the data, but about the database connection. The idea is to have a general BC library (with iits Application Modules and View Objects), using its own database schema, and have that one imported in other applications, with other database schemas.
We have to use these imported BC's in the application AM, because that's the way JHeadstart works. This will result in a table not found exception, because the imported VO's are in another schema.
We were hoping that we could nest an imported Application Module and that it uses its own connection to its own database schema, but unfortuantely that does not seem possible since nested application modules inherit the connection of the parent (root) application module.
Or is there perhaps a way to achieve this; i.e. have a nested application module using its own database connection and not inherit this from its parent?
Ciao
Aino -
Nesting Application Modules from different Projects(solved).
I am wondering if there is a possibility of nesting application modules that are part of different projects?
thanks, Florin
Message was edited by:
florinmarcusI've fond myself the answer to this question.
It is explained in the documentation:
Fusion Developer’s Guide for Oracle Application Development 11g
Chapter 35.7 Working with Libraries of Reusable Business Components -
Best Practice - Bounded Task Flows, Regions and Nested Application Modules
Using JDev 11.1.1.3; understand that it's generally considered good practice to just have 1 root application module servicing model content / services for each page. In our application, we've used a number of bounded task flows and page fragments deployed as af:region's into pages as either a) views targeted in page-flow navigation, b) tab panel content inside a regular jspx, or c) af:popup / af:dialog content. As it stands, we've not engaged nesting of the application modules for this embedded region content, so these regions are no doubt instantiating new AM's if/when invoked. Should the AM's servicing these embedded regions be deployed nested within the root AM's, and then if so, does this change the way that the jsff / fragment content is actually developed (currently as per any other jspx using the DataControl pallete). Or are the best-practice directives talking about a page as being the design-time / declarative composition of content rather than the run-time aggregation of page + fragments ... in which case the fact that our embedded fragments are not using nested AM's is unlikely to concern.
Thanks,Probably a better question for the ADF EMG: http://groups.google.com/group/adf-methodology?hl=en
CM. -
How can i understand nested application module?
Is there inherit relation between root application module and child application module?
jiayu
thanksHi,
no, they are not inheriting from each other but share the same transactional context. Nested AM are also loaded lazily, which means you minimize the footprint of your app.
Check
http://radio.weblogs.com/0118231/
for good information on ADF BC
Frank -
Nested Application Module State
As I understand it Application Modules (AM) that are nested inherit the parent 'Transaction'. My question is do they inherit the Stateful/Stateless behaviour from the parent ?
yes it inherits' the complete definition.
including release_mode, which is the parameter i assume, that you mean.
hth clemens -
I have this problem, and I wish I can find a solution.
I have two application module, am1 and am2, am2 is nested in am1, and I'm using <jbo:ApplicationModule> tag to open a connection for the application module.
I have this case, I want to access page that insert into a table but this insertion should not be committed until another operation is committed, and these two operation occurred on two different views in the 2 application module, so I want to know how can I get the application module am2 using <jbo:ApplicationModule> tag, and making it using the transaction context of application module am1.Omar,
there is a getRootApplicationModule()method on the ApplicationModuleImpl class, did you try this ?
Frank -
Nested Application Module and child AM remove
Hi,
I have 2 pages. Page A and Page B.
1. Page A has root am as RootAM and child am as PageAAM1(oracle.apps.xxxx.component1.server.PageAAM).
2. page B has root am as RootAM and child am as PageBAM1(oracle.apps.xxxx.component2.server.PageBAM).
Both the pages have the same AM hierarchy. And child regions have both the AM Defination and instance specified.
Now the question:
I first come to page A. Do some transactions on this page. Now here i have a button to navigate to Page B. Click on button. Navigate to Page B. Here on Page B do some other tranactions. I have a return button on Page B. When i click on Return button, I release the PageBAM1 usiing the method am.remove(). ANd then formard immediately to PageA.
At this point of time, I am getting an error soemthing like this:
oracle.apps.fnd.framework.OAException: oracle.jbo.NoObjException: JBO-25003: Object RootAM.PageBAM1 of type ApplicationModule not found
Does any one has any idea. What might be the cause and solutiion.
Thanks,
Anandam.remove() removes the object from the rootApplicationModule, so when you navigate to the page again
the OAF will try to use the childAM and you will get this error
because you have already removed it in your previous call.
It is recommend to use am.remove() only for the Application modules create through programs.
Your really obsessed with releasing memory occupied by child AM. And you don't have any logical reasons for that.
Remove the AM only if you want to rollback or commit the transaction.
otherwise don't remove the child AM at all.
--Prasanna -
Calling custom methods from Nested Application Modules
We are having a problem with passing parameters to our nested App Modules.
We have a custom method in our nested app module and when we drag that method from our data control palette in our page everything seems to work just fine. We are binding our NamedData values to #{requestScope.<field>} where the fields are inputText controls. When we run it will execute the function but the parameters are null.
It seems to me that the Nested App Module can not evaluate the EL expression, or in other words when it gets evaluated it returns a null.
Can anyone help with this?
Thanks,
PeterIf you use an EL expression of some hard-coded value instead of #{requestScope.XXX} does that value correctly get passed to the function?
In other words, are you 100% sure that EL expression is not evaluating to null ?
If you drop an AM method as a parameter form on a page, you'll see that by default it's NamedData elements use EL expressions that reference attribute bindings that are bound to local page-def variables, rather than to #{requestScope.something} -
Transaction insensitive nested application module.
Hi,
I heave following apptication architecture:
RootAM
|
|--- NestedOneAM
|
|--- NestedTwoAM
|
|--- BPMPayloadAMBPMPayload AM has some programmaticaly poputated (when application is invoked from BPM Workspace) view objects represents hierarchical payload from BPM process. My question is: how to make transaction insensitive this module. Rollback action removes all transient data. I don't want to create separate (not nested module) because it will creates separate unnecesary db connetion. This AM is only responsible for store in session BPM payload.
KubaCan you try overriding beforeRollback() and afterRollback() and leaving empty methods in the VO
Maybe you are looking for
-
i downloaded the GV app to my iphone but i'm trying to set up the app and it says it can't connect to google when i try to sign in to my google account.... any ideas what's wrong? i can access my gmail account just fine with my gmail app on the same
-
Styles not displayed after uploading site [was: Dreamweaver CS4]
First time using CS4 Dreamweaver, just upgraded to Windows 7. I have designed several sites and never had this problem. Uploaded everything - my web site views like it is missing the Style Sheets. Whats up with this? I keep reviewing and reviewing an
-
Wily Introscope and "searchPrincipalDatabags"
We have installed Wily Introscope (downloaded from SAP support) on our sandbox and Development environment and so far so good . We have the enterprise manager installed and have agents loaded on two SAP Enterprise Portal systems and both are sending
-
How do I email a picture in iphoto in jpeg format?
How do I email an iphoto picture in jpeg format?
-
Audio format problem...how to change in FCE?
We're capturing footage to FCE from a ZR800 Canon Camcorder. After each capture we get an error message that our audio sample rate does not match the audio sample rate of our project... Both are at 48 KHz, but our audio format is 32 bit floating inte