Business logic in Database layer or in Middle layer.

I am converting my form 6i client server application to .net 3 tier web architecture application using oracle 10g database.
My application is a very data centric, millions of records calculations happen in many processes.
I have a problem while presenting my design approach to engineering board in my company.
Approach 1
Put business logic in backend database layer.
I proposed to put business logic in backend packages rather than putting it in middle .net layer and create web shell services in middle layer which would call these packages and show the data on screens.
Approach 2
Put business logic in middle tier .net layer.
My company engineering board are more keen for this approach because they think this is the latest approach and now days nobody put business logic in database and moreover we would be having clear separation between data and logic.
But my concern is we may have network latency issues in approach 2 because we need to move millions of records data back and forth between database and application server.
Could you please suggest, which approach is best and why?

My views:
1. If it is a data centric operation, like you have mentioned, it will be a bottleneck to transfer the required data to middle tier for processing
2. If you are going to support one and only one RDBMS as a backend ever, I don't see a reason to take an approach which is mostly taken in case one needs to support databases from different vendors as back end.
3. If you are convinced that yours is the only application that would ever connect to this database, then you can add the business logic in the middle tier; If not, let it be in the database in form of triggers/procedures/functions/packages etc.
4. Last but not the least, having business logic in the database would call for faster processing and that you can use all features of that particular RDBMS to full extent, in case needed.
I always support having the business logic in the database layer (not that I hate business logic in application/middle tier) but there can be exceptions.
Just my two cents :-)

Similar Messages

  • Business logic in PL/SQL?

    Hello,
    I am designing a 3-tier, web-based intranet application for my client. It's going to be a WebSphere portal app with Struts, running on Oracle 8.1.7.
    One of the requirements is to implement the business logic in the back-end (PL/SQL), not in Java (although that is what I'm used to do). The reason probably has something to do with fear of performance issues ("the more code runs in Oracle, the faster") and resource planning ("more people here know Oracle better than Java").
    This unusual (?) choice in my humble opinion leaves me with two major issues; how to cache database results and how to perform the O/R mapping.
    I know how to use CallableStatements and JDBC, but I'd really like to avoid such a solution now we have EJB 2.1 and Hibernate and everything. And without caching as done by any sensible app server I fear performance issues.
    Does anyone know a tool that can perhaps generate Java code and performs the O/R mapping? Or a tool that avoids me having to implement up to a hundred (!) CallableStatements and ResultSet-To-JavaBean mappings. I've seen Apache's commons-dbutils that seems to do this.
    Does anyone have experience implementing business logic in PL/SQL and calling procedures from Java? Is performance really an issue here?
    Thanks in advance for any input,
    regards,
    Bram Rooijmans

    This unusual (?) choice in my humble opinion leaves me
    with two major issues; In non-trivial applications excluding all business logic from the database is usually an architecture or design bug. Businesses do use the database directly due to legacy, tools, comfort level, etc. And in those cases the data still needs to be consistent. Not to mention that for some business logic the database can be orders of magnitude faster in running it versus external logic.
    On the other hand I would consider it a bug as well if someone told me that all the business logic must be in the database and no where else. (At the very least I would suspect and question their definition of business logic in that case.)
    I know how to use CallableStatements and JDBC, but I'd really like to avoid such a solution now...How are you going to implement any non-trivial business logic in oracle without using stored procs?
    Does anyone have experience implementing business logic in PL/SQL and
    calling procedures from Java? Not sure of the question. Certainly I have implemented business logic in PL/SQL. And many people have used stored procs via java.
    Is performance really an issue here?No idea. That is a dependency of your system, not of java/databases in general.
    I have seen java only solutions that even with scalling take hours to do operations that could be done in much less time using the database itself.
    I have seen requirements which would have taken hours even in the database and changing the requirements meant it took less than 2 minutes. (It had nothing to do with java nor the database.)
    I have seen code implementations which took significant database processing time where the entire solution could have been done without the database at all.
    I have seen solutions where, due to business requirements, the same business logic was implemented in different languages and in slightly different ways in each. Implementing the logic in stored procs meant that all of the systems that used it now would be using the same rules. In that case it is possible that the solution was actually slower. But if it was it was not noticed and the consistency was much more important.

  • Accessing LCDS Persistence Layer for use in Server-Side Business Logic

    Within server-side business logic, I want to be able to get a persisted object from LCDS, manipulate  that object, and then use LCDS to persist those changes to the database  as well as send those changes to the client.
    Is it possible to access LCDS' persistence layer (Hibernate) to be used by server-side business logic?
    I have attempted to use DataServiceTransaction.getItem(...).  However, for objects that contain a collection of other objects I get this error:
    [LCDS] Runtime exception while trying to fetch a property from hibernate: flex.data.DataServiceException: There is no current message broker to return.
    When calling DataServiceTransaction.updateItem(...) for objects that contain a collection of other objects, I get this error:
    org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.sd.pojo.Book.chapters, no session or session was closed
    Also, it appears that DataServiceTransaction.updateItem does NOT update the database?
    I have resorted to building my own Hibernate SessionFactory, but that seems unnecessary.
    One other piece of information is that I am using the Fiber modeling tool to build and deploy the model to the server.  I am generating the Java classes with Fiber and making them available to be used on the server.
    Thanks,
    Collin

    Thanks for the help guys.
    I guess what I'm really trying to get straight in my own mind is whether supporting interraction and control of eJB database interraction is still using the same functionality as having a stand alone app interracting with a db.
    I'm thinking about; the implications of using eJBs specific query language and the different way in which eJBs use db connections (either for the period of their lifetime or just for the duration of one interaction) compared with a stand alone app, which would maintain a connection to the database(s) while it is open.
    Connection pooling and caching of DB objects is often quoted as being a middle tier activity, but what does this mean when all 3 tiers reside on the same machine?
    Once again thanks for your comments and advice.
    Mark

  • Future support for using PL/SQL core business logic with ADF BC

    We want to migrate our large Forms client/server (6i) application to ADF, possibly using a migration tool like Ciphersoft Exodus.
    One scenario could be to use ADF BC and ADF-Faces or a different JSF-Implementation for presentation and business layer but keep our heavy PL/SQL-businesslogic inside the Oracle database in packages, triggers, functions and procedures.
    This scenario could be chosen due to the huge amount of interconnected logic inside the database (10 years of development; no technical components; any package may access any table and more of this kind of dependencies). The business logic nowadays held in Forms client will be moved mainly into the database as a prerequisite to this scenario.
    Choosing this "keep-logic-in-DB"-scenario we need a good support by ADF BC to do so. We know and prototyped that it is possible to call some PL/SQL via JDBC from ADF BC and it is possible to use stored procedure calls for standard business entity data access (ins, del, upd, ..). But this does not solve our problems. We want to reuse core business logic coded in PL/SQL. This is much more than change the ADF standard behavior for an update with an own PL/SQL-call.
    Now my question:
    Will there be a kind of sophisticated support to use ADF BC in combination with database-kept logic?
    If so, when will this happen and how will the common problems of transactional state inside the database and inside the ADF BC be solved? Any plans or ideas yet?
    Many other clients do have similar applications built in Forms and PL/SQL and would be glad to hear about a path of direction.
    I've read the technical article 'understanding the ADF BC state management feature' which you have contributed to. One current limitation is pointed out there: Using PL/SQL with ADF BC limits ADF AM pooling to 'restricted level' which reduces scalability.
    Are you aware of additional main problems/tasks to solve when using PL/SQL heavily with ADF BC, which we have to think about?
    Thank you for any response.
    Ingmar

    My main problem is two 'concurrent' areas holding state in an application system based on DB-stored PL/SQL-logic in combination with ADF BC.
    For a new System everything can be made ok:
    Sure, it is possible to build a new system with the business logic included in ADF BC only. All long-living state will be handled in the BC layer ( including support for UnitsOfWork longer than the webside short HTTP-requests and HTTP-sessions and longer than the database transactions.
    For an old system these problems arise:
    1. DB data changes not reflected in BC layer:
    Our PL/SQL-logic changes data in tables without notifying the ADF BC layer (and its cache). To keep the data in ADF BC entity objects identical to the changed database content a synchronization is needed. BC does not know which part of the application data has been changed because it has not initiated the changes through its entity objects. Therefore a full refresh is needed. In a Forms4GL environment the behavior is similar: We do frequently requeries of all relevant (base)tables after calling database stored logic to be sure to get the changed data to display and to operate on it.
    -> Reengineering of the PL/SQL-logic to make the ADF BC layer aware of the changes is a big effort (notifying BC about any change)
    2. longer living database transactions
    Our PL/SQL-logic in some areas makes use of lengthy database transactions. The technical DB-transaction is similar to the UnitOfWork. If we call this existing logic from ADF BC, database state is produced which will not be DB-committed in the same cycle.
    This reduces scalability of ADF BC AM pooling.
    Example:
    a) Call a DB-stored logic to check if some business data is consistent and prepare some data for versioning. This starts a DB-transaction but does not commit it.
    b) Control is handed back to the user interface. Successful result of step a) is displayed
    c) User now executes the versioning operation
    d) Call another DB-stored logic to execute the versioning. DB-transaction is still open
    e) Business layer commits the transaction automatically after successful finishing step d). Otherwise everything from a) to e) is rolled back.
    -> redesign of this behavior (= cutting the 1to1 relation between LogicalUnitOfWork and the technicalDatabaseTransaction is a big effort due to the big amount of code.

  • Urgent: how to really seperate business logic class from data access class

    Hello,
    I've this problem here on my hand and i really need help urgently. so please allow me to thank anyone who replies to this thread =)
    Before i go any futhur, let me present a scenario. this will help make my question clearer.
    "A user choose to view his account information"
    here, i've attempted to do the following. i've tried to seperate my application into 3 layers, the GUI layer, the business logic layer, and the data access layer.
    classically, the GUI layer only knows which object it should invoke, for example in the case above, the GUI would instantiate an Account object and prob the displayAcctInfo method of the Account object.
    here is how my Account class looks like:
    public class Account
    private acctNo;
    private userid;
    private password;
    private Customer acctOwner;
    the way this class is being modelled is that there is a handle to a customer object.
    that being the case, when i want to retrieve back account information, how do i go about retrieveing the information on the customer? should my data access class have knowledge on how the customer is being programmed? ie setName, getName, setAge, getAge all these methods etc? if not, how do i restore the state of the Customer object nested inside?
    is there a better way to archieve the solution to my problem above? i would appriciate it for any help rendered =)
    Yours sincerely,
    Javier

    public class AccountThat looks like a business layer object to me.
    In a large application the GUI probably shouldn't ever touch business objects. It makes requests to the business layer for specific information. For example you might have a class called CustomerAccountSummary - the data for that might come entirely from the Account object or it might come from Account and Customer.
    When the GUI requests information it receives it as a 'primitive' - which is a class that has no behaviour (methods), just data. This keeps the interface between the GUI and business layer simple and makes it easier to maintain.
    When using a primitive there are four operations: query, create, update and delete.
    For a query the gui sets only the attributes in the primitive that will be specifically queried for (or a specialized primitive can be created for this.) The result of a query is either a single primitive or a collection of primitives. Each primitive will have all the attributes defined.
    For a create all of the attributes are set. The gui calls a method and passes the primtive.
    For an update, usually all fields are defined although this can vary. The gui calls a method and passes the primitive.
    For a delete, only the 'key' fields are set (more can be but they are not used.) The gui calls a method and passes the primitive.
    Also keep in mind that a clean seperation is always an idealization. For example verify that duplicate records are not created is a business logic requirement (the database doesn't care.) However, it is much easier and more efficient to handle that rule in the database rather than in the business layer.

  • Where to implement my Business Logic in ADF?

    Hi,
    I am new to Oracle ADF. I found this forum very useful to get my queries and doubts answered. Thanks to the participants.
    I am basically from Struts background,
    Where i design my UI in jsp pages using Struts tags,
    Actions and some utility classes handles my most of the business logic (generally called as Business Layer)
    Then i have custom DAOs or Data Layer to query or update the data in database.
    Now as I am into new Project and I have to learn Oracle ADF.
    I started learning this by following some questions in the forums and various sites (from Google).
    I got info on How to create Entity Objects, Value objects etc.
    But my major doubt is where shall i write my Business Logic in this stack?
    I can easily drag and drop my data controls into my JSF page and create table, forms or charts. But if i have a multi line business logic, say for a Submit button, In which i may be doing the following steps -
    a.  Get data pertaining to user role , department, his tenure in the department etc
    b. On submit do processing based on data collected in above step.
    c. update data in data base.
    d. initiate an approval process
    e. call some business process for Approval
    f. Audit Trail
    g. Transaction handling
    and so many other steps (I know most of you will have gone through these situation before starting work on ADF)
    Now, in the above scenario in Oracle ADF layers where shall i write this whole bunch of logic or steps and then forward the user the page depending upon the outcome of this logic.
    Please let me know where to write all this??
    Thanks a lot,
    Amit
    Edited by: ur.amit on May 13, 2010 4:58 PM

    Generally speaking all of that code would reside in the app module Impl classes or the View object Impl classes - for VOs and AMs you can expose subclasses and add code in there - you can then define whether any of your methods should be exposed to the client, in which case they appear in the Data Controls panel as operations.
    General word of advice -keep business logic code in the Model - don't be tempted to start trying to access your AMs and do any of this stuff from the ViewController project. Keep it nice and simple and just access ALL the business logic code through ADF Model.
    Hope this helps
    Grant

  • Business Logic in Oracle Applications (General Question)

    Hello everyone!
    I am relatively new to Oracle Apps and interested in learning and joining this community.
    I was trying to figure out how is the Business Logic programmed in E-Business Suite. Is it just PL/SQL or is it BC4J? Is there anyone who could help me answer this question or point me in the right direction (I went through the documentation very quickly (it is rather large so it was only "briefly") and could not find anything that would answer my question exactly)
    By Business Logic I mean business-related tasks such as "enter a journal entry" or "issue sales order" (with a higher or lower level of granularity of course)
    Any help is much appreciated !

    Just to expand on Bala's answer, it depends on how your application is architected.
    If you have a Forms based application, then your Business Logic (BL) resides in PLSQL. The forms tier performs the basic validation and partial BL execution and passes the data to the handlers in the database to perform the DMLs and initiate required Business Process.
    If you have a OA Fwk based application, then your BL could reside either in BC4J or PLSQL. There are OA Fwk applications that are written that performs some business logic execution within the middle tier and passes the rest to underlying PLSQL code. Take for example an application that was originally written in Forms but later on extended or migrated to OA Fwk. Since most of the BL was already written in PLSQL and some of the forms would still be using the same PLSQL APIs, it essential that the OA Fwk based application too uses those APIs to be in synch.
    If you are designing a new application to be based on OA Fwk, it is strongly recommended that you go with your BL as much as on the middle tier.
    So it all depends... :)
    Thanks
    Vijay

  • ORaMTS Support of Multiple Business Logic Servers

    Does the 8.1.7.4.0 of Oracle Services For MTS beta support multiple business logic servers connecting to a single Oracle database instance using MTS DTC coordinated transactions without a single point of failure?
    We would like to ensure that if any business logic server goes off line, that they will not effect any of the other business logic servers.
    In the previous version of OraMTS, if the machine running OraMTS went down, no other machines were able to perform MTS distributed transactions. Does 8.1.7.4.0 of Oracle Services For MTS beta remove this dependency?

    Mark, we came out with 8.1.7.4.0 precisely for the reasons you have stated. There is no longer a Windows NT Oracle Service For MTS per database. The logic to enlist Oracle connections in MTS transactions, and the logic to subsequently commit/abort these transactions is fully contained within the middle-tier dlls i.e. ORAMTS.DLL. This removes the single point-of-failure in pre 8.1.7.4.0 versions, and also makes the solution more scalable.

  • JSF(front WebGUI)+Spring(Business Logic)+Hibernate(Persistence service)??

    To implement a well designed product with module decoupling,some friends suggest me to use the following architecture:
    JSF(front WebGUI)+Spring(Business Logic)+Hibernate(Persistence service)?
    I was puzzled that whether Spring needed or not??What's especial feature does Spring own that JSF does not have?What's the benefit of integration of JSF and Spring?
    Your reply will be appreciated greatly.
    Thanks a lot!

    Using Spring provides some major benefits; among these are:
    - Spring provides an abstraction layer for easy integration of different persistence layers (e.g. Hibernate, which comes integrated out of the box) and for easy database access
    - It provides an easy-to-use AOP framework based on dynamic proxying and byte code enhancing via CGLIB
    - IMHO most important: Spring provides an Inversion of Control container (see http://martinfowler.com/articles/injection.html) which enables you to remove references to implementation classes from your code and thus facilitates component based architectures.
    By the way, we developed a Spring/JSF integration solution (for source code, documentation and an example application see http://sourceforge.net/projects/jsf-spring). It wraps the JSF context into a Spring context and thus merges them. This way, the JSF context becomes part of Spring and vice versa. This is done in a implementation independent way so that it can be used with any JSF implementation.

  • BC4J - Big Project - Business Logic

    What is the suggested best practice on where to locate business logic in a big application?
    It would appear that entity objects are good for table/domain level validation.
    View objects are good to ensure that the data between multiple tables is copesthetic.
    But where would one place business process logic that could potentially span multiple views and even multiple application modules?
    Also what is the difference between retrieving an application module using the ApplicationModuleHome.create function and from the applicationpool?
    Thanks,
    Marty
    null

    re: "duplicate"
    You betchya. This is mimicing a SmallTalk implementation I worked with years back.
    In some cases, the checks are not duplicated because they share "objects" instantiated for those entities. And in the case of 3 frames all with the same field.. only one check fires ( the active frame where they entered the data ) and all the others don't fire.. they just clean up when the user corrects the data.
    In some cases putting validation in the EO appears to just add work at both ends, and adds another layer of confusion for programmers. ( I.E. A programmer is looking at the code.. it is NOT apparent without complete knowledge of the EO code what is and is not being checked. Is that maintainable? maybe, maybe not )
    Here's an example of an edit check... confirming that a part number is valid for a custom Find Panel.. and while we're at it, let's turn * to % for a LIKE statement so all our Access users don't get confused:
    String oldPart = ((ImmediateAccess)partNumber_tf.getDataItem()).getValueAsString().toUpperCase();
    String wildPart = new String();
    if (oldPart.indexOf("*") > 0)
    { wildPart = oldPart.substring(0,oldPart.indexOf("*"))+"%"+
    oldPart.substring(oldPart.indexOf("*")+1);
    oldPart = wildPart;
    try { ((ImmediateAccess)partNumber_tf.getDataItem()).setValue(oldPart); }
    catch ( Exception e0 ) { System.out.println(e0.toString()); }
    if (oldPart.indexOf("%") < 0)
    if (!isValidPartNumber(oldPart) )
    try { ((ImmediateAccess)partNumber_tf.getDataItem()).setValue(""); }
    catch (Exception e0) { System.out.println(e0.toString()); }
    boolean isValidPartNumber( String partNumber )
    boolean isValid = true;
    if (!partNumber.equals("") )
    try
    Statement call= OpenDBConnections.myJdbcConnection.createStatement();
    ResultSet rset=call.executeQuery("SELECT getPartDescription('"+
    partNumber+
    "') AS PART_DESC FROM DUAL");
    rset.next();
    if (rset.getString("PART_DESC").startsWith("ERROR") )
    statusLine_tf.setText("USER ERROR: Invalid Part Number!");
    Toolkit.getDefaultToolkit().beep();
    isValid = false;
    else
    { status_tf.setText(""); }
    rset.close();
    call.close();
    catch (SQLException esql)
    {System.out.println(esql.toString());}
    return isValid;
    Notes:
    1. I do a JDBC call cuz I don't want a lock on my target records. It's a bloody read only request. ( Or is there a way to set that up..as far as I can tell UPDATABLE seems to affect the UI when defined in the View Object.. it has nothing to do with locking? The EO may be updatable by the application... by read only for this particular purpose... )
    2. If I understand you right, you are saying to do the IsValidPartNumber code in the validateEntity() method. I want it NOW.. not at commit time.. or is validateEntity "run" on any change to the EO? Or should it be put on the impl setr so that the try catch around the setValue() of the DACF element will catch it? ( I like that )
    3. The status line and beeping is managed by the try catch around the dacf setValue(), as well as the clearning of the appropriate DACF control and refocus (if needed ).
    4. And that the validation should REALLY be applied to a DOMAIN of "PartNumberDomain".. since it really applies to many EOs with attributes that are of domain "PartNumberDomain".
    That last item is VERY interesting to me. I used such stuff in Rdb in the database. Catch is that domain and their power and implementation is scantily described in training and in the online Help.
    I'm guessing that when I do a DACF entry that the setr in the EO can be used to validate.. and that the DOMAIN edit gets automatically executed as well.. and that it shows up as a JBOException to the try/catch at the application source level for the programmer to deal with, right?
    Note that when Dec/Rdb started on this sorta course 10 years ago, it was clear to everyone that it was a house of ravioli code.. and that without a POWERFUL object repository it was very, very difficult for la rge projects to be built so that programmers would have clear visibility to all the conditions/issues.
    Want to bet that you can count on one hand (or less) the number of customers outside of Oracle who have implemented domain validation code and applied it to Entity Object attributes?
    Note that in all these cases, I still need to implement the same checks in my triggers to protect the database against ALL comers. So everything gets checked twice.
    re: BC4J, wrappers, and java stored procedures. All interesting ideas. I booted that option out during this implementation because the goal was to implement the application... I estimated we'd extend the project another 2-3 months by taking the approach you imply, due to learning curve, conceptual errors on our part during implementation, bugs in the Oracle code awaiting fixing, ad nauseam. That rough estimate has been born out by the fact that JDEV issues of implementation has caused my project to slide over 2 months. Simple, easy things I had alotted a short effort for based on experience with MS Access, Delphi, Forms and other tools turned out to wildly off base. ( Example: the imageControl that simply doesn't work, but is documented as being so easy and quick to put in ).
    Thanks again. BTW. If you don't know, I'll be at Oracle HQ on Friday the 16th. Hope to see you again, if just to say hi.
    null

  • Push messages from business logic into backing bean

    In my simple web application a table with the contents of a database table is shown to the client. Now I want this table in the browser to be updated each time the db table is updated. In my business logic a jms message is fired to a specified topic each time the db table is updated. The reverse ajax stuff needed for the client update is provided by the Icefaces jsf implementation. There is a backing bean for each session which is responsible for the server side rerendering of the client. Now my question is: How do I connect the bussiness logic firing a jms message if the db table is updated, with the backing bean?
    My thoughts:
    1. Create a message listener for the topic. Each time the message listener receives a message it notifies the backing beans of each session to rerender the client. But how does the message listener know about the backing beans?
    2. The backing bean responsible for rerendering the client adds itself as a listener. But where? As I understand it cannot be a backing bean and a jms MessageListener at the same time.
    Has anyone an idea/pattern for this problem?

    You could keep a list of beans that need to be notified in the application scope. (You should probably use weak references so that they may be garbage collected.) Then you JMS listener could get access to them.
    Somebody posted a thread recently where they were doing something very similar, you might want to try to find it.

  • Bean containing both UI components and business logic

    Hello  ADF design experts,  please guide me.   I came across a critical design aspects.  I have main page having bunch of UI components,   Region 1,  Region 2. I will have to bind the UI components of the page to a managed bean having session scope and the reason is,  when control goes to region 1 or region 2, I will be doing lot of  processing of business logic  and then based on this,  I will have to update the UI components of the page.   Same thing with region 2 also.  And then,  I should be able to access the information    across regions and also across other UI components etc.
    I am seeing only  session scoped bean will be able to help me here to get my tasks done across regions and across all other UI components of the page because I am not in a position to pass too many parameters across regions.     Now the problem is,  I can not serialize this bean  because as I mentioned  lot of UI components are updated based on logic. 
    If I do not serialize the bean, I may have problem in future when application has to be deployed to cluster envt.
    I do not know how should I go with my design now.   Please provide me brilliant ideas and very thankful to your guidance.
    thanks

    Hi ADF,
    I dont want to disturb the discussion with you and Alej. I'm rising some question from your first post.
    I have main page having bunch of UI components, 
    ok fine.
    Region 1,  Region 2. I will have to bind the UI components of the page to a managed bean having session scope
    1.why need to do this binding for all ui components .?
    2.this question lead ask another question are you using ADFBc.? if so binding layer will take care why you bind all those things.
    3.why you need to put session scope.?
    if you are using region. the region can only be bounded TF right, then communicate with help of pageflow. inside the bounded you may have jsff/jspx,
    reason is,  when control goes to region 1 or region 2, I will be doing lot of  processing of business logic  and then based on this,  I will have to update the UI components of the page.   Same thing with region 2 also.
    from the reason i have question? why you need to communicate between two region instead of using Taskflow communication.
    And then,  I should be able to access the information  across regions and also across other UI components etc.
    ok fine.
    I am seeing only  session scoped bean will be able to help me here to get my tasks done across regions and across all other UI components of the page because I am not in a position to pass too many parameters across regions.     Now the problem is,  I can not serialize this bean  because as I mentioned  lot of UI components are updated based on logic. 
    from my point of view. your are using all powerful feature session bean, region communication to do your requirement.
    mixing all those things so only you can't able to get consistent results.
    I do not know how should I go with my design now.
    could you please explain your usecase.
    Please provide me brilliant ideas and very thankful to your guidance.
    yeah sure. people will do.
    thanks

  • What can be considered as the business logic of simple data entry form

    Hi all,
    I want to separate my applications logic into layers. It is a simple data entry form and doesn't contain any complex business logic. So I want to get this simple business logic to different layer. But the problem is, I cannot clearly identify what are business logic of this kind of simple data entry form.
    How do I separate business logic of this simple data entry form to another layer?
    any help is appreciated,
    Thanks in advance,
    Dil.

    dcminter wrote:
    It is a [form] and doesn't contain any complex business logic. So I want to get this simple business logic to different layer. But the problem is, I cannot clearly identify what are business logic of this kind of [form].Are you asking which bits are business logic?
    Suppose that the data comes into your system immaculate from some external system. Imagine that it will go out into some other system. The bits that you would still have to write are your business logic.That's a nice practical definition. Thank you, I'm stealing it.
    Also interesting to note that validation falls into that category... say you're recieving data from a magical external source... you still have to validate it.
    And of course you'd still have to store it somewhere, ans retrieve it.
    Yep, I definately like that definition.
    Cheers. Keith.

  • Oracle EBS R12 - 11.2.0.2 - Logical Standby Database & RMAN backups

    Hi all,
    I have Oracle EBusiness Suite R12 running on 11.2.0.2. Our organization used to have most of the business in North America, South America and Europe; but now we are also in Australia, China and Indonesia. Previously running large reporting batch jobs and RMAN backups at night time in USA was feasible but now that is beginning to show up as performance issue for some countries.
    I was thinking would it make sense to have a Active Data Guard logical standby database on a separate server in the same US based data center where we have our main servers and use that logical standy database for reporting and RMAN backups. I am especially concerned about RMAN backups. Would I be able to make RMAN backups from the logical standy database and somehow use those to recover our primary database if some issue happens?
    Any thoughts/suggestions?
    Thanks all,

    Active Data Guard only deals with physical standbys. If you are using a logical standby you can always open the database without using Active Data Guard option.
    http://docs.oracle.com/cd/E11882_01/server.112/e25608/rman.htm#sthref846 says that:
    >
    Backups of logical standby databases are not usable at the primary database.

  • Where is the best place to implement business logic in ADF application?

    I am using jdeveloper 11g R2 , JSF Facelet
    Where is the best place to implement business logic in ADF application?
    I mean something like service layer in Spring
    Appreciate your comments
    Regards
    Mohsen

    Depends on what your logic does and what data it deals with, but in general business logic is in the ADF BC layer.
    Some goes into entity objects - for things like attribute or row validation.
    Some goes into view objects - for things like calculation.
    Some goes into AM - for things like service methods for UI clients.

Maybe you are looking for

  • PSE8: Rotated picture isn't saved in folder of the original

    I have encountered a strange problem (for me). Whenever I rotate a picture in the PSE8 Organizer which is located on my NAS, the rotated picture is saved in the local folder (which you can define in the preferences dialog). This is really annoying. I

  • E71x gprs access point not shown in internet desti...

    Hi All, I am having problems with gprs in my e71x. It used to work fine earlier but now when on using the web browser it just shows wifi under the internet destinations. I have gprs configured as an accesspoint inside internet destination and it work

  • Re: Applet can't get an InitialContext in sp8 5.1

    Here's the latest on this issue... CASE_ID_NUM: 212375 I had a talk with one of our engineer here, he said the patch that was given earlier, works for un secure protocols(http,t3). For secure protocols already two cases are field(CR42423,CR42598). I

  • Delimited report errors

    has anyone gotten the following error on a report run in delimited format: REP-1814: Report cannot be formatted. Object 'horizontally' can never fit within 'M_FOOTER'. thanks.

  • Is there a limit of the number of pages for an org chart in Visio 2013?

    I created an org chart in Visio 2013 by importing data from an Excel file.  It created 300 pages.  Besides opening & saving the file very slowly, it functioned as I expected (i.e. layed out the chart properly & links worked to drill between pages).