Design Opinions regarding ViewController projects interacting together

Using JDeveloper 11.1.1.4.0
I have a set of ViewController (VC) projects that are deployed as ADF Library jars separately. These projects are consumed in a single Project which uses the taskflows in the modularized projects.
Now a new requirement was introduced where i need to have two libraries consume each other.
VC1 = ViewController1 (ViewController1ADFLibrary.jar)
VC2 = ViewController2 (ViewController2ADFLibrary.jar)
So, when VC1 consume VC2, VC1 inherits VC2's classpath including its Databindings.cpx.
What happens is that when VC2 consumes VC1 as well, VC2 gets a runtime exception saying that there are 2 Databindings.cpx in its classpath.
I know this is a classic case of library dependency, and we've been thinking that the only way to solve it is via contextual events or launching a url call for both of them to communicate. But i'm wondering if there is a much better approach to take when such requirements comes into the picture.
-Marvin

I briefly went through the blog and this is what i grasp real quick hehe, and forgive me if i missed something critical =)
The approach is basically using a bean as reference to trigger both regions since they share the same bean reference.
In this approach, it will even be cooler if the buttons using the event has a rendered property to only show up if the bean(interface) is not null that way it has even lesser coupling.
But a small drawback here is that you're introducing a specific interface in the taskflow input parameters that is meant for such use case only.
While this approach has that little documentation to keep things straight in the specification of the taskflow, it does indeed relieve the situation with the use of the binding layer for the event mapping.
The real complexity comes in when two regions needs to ppr specific areas of each other's region, which in my opinion, is a design flaw to begin with as to why bother separating them for the complexity being introduced.
I guess, in that sense, it is always better to start with simple code even if it means being repeated at the beginning before wrapping it to its full reusable state since adding a lot of condition in a reusable component is harder to maintain in the long run.
In your example, you are tapping more on the simplicity of using java beans as reference oppose to event handling, which really gives more control in my opinion and also easier to document.
Thanks for the article on the Chaperone Chris, interesting read for my Saturday.

Similar Messages

  • Need help in design/framework of a project requirements

    Hi there.
    I need some input/design suggestion and/or comments regarding 2 projects that I'm undertaking currently. The project duration is 8 weeks starting now.
    Some background information of the current technology we are using right now. We are using weblogic 7.0 SP2 and our database is ms sqlserver 2000 and/or mysql. The persistance layer/framework we are using is a home grown JDBC framework. We are using only stateless session beans and our client which is a swing ui access the servers side thru webservices via a session facade. We use also Transfer objects on the client and our own DataObjects on the server side. Current consideration is that we can not upgrade to the current weblogic version at this time and can only use java 1.4 and use existing persistence framework we have. I've considered using Spring/Hibernate but it will involve major refactoring on our existing system, which we can not afford right now. But we can augment or add new framework to handle this 2 projects.
    1. The first project is a mass update/creation of orders and order items. In our system the update and creation of order and order items are complicated and perform several validations (e.g. vendor/client is valid; item are valid and have enough to on-hand, etc.) and lookups before we can create/update an order and it's order items. We estimated that process to be around 1.5 - 3.0 secs and typically we will be processing between a few hundreds to about 5000. The max ceiling we put is 10,000.
    Now the requirements are:
    a. Ensure that the process will be completed and in the event of failure (physical or network or power) and recovery to start where it failed and start processing from that point of failure.
    b. The transaction should be atomic on per order basis and not on whole process - meaning we will commit all changes for an order and start a new transaction on the next order. This will ensure that we have a complete order committed.
    c. Don't tie the client from this process and when the process is finished give a feedback to the client who invoke the process.
    2. The second project is related to the first, is that before they post the process above, the user will look at the set of data and do some editing and then post the data. So this project is on the UI side and would present the user a table/grid view of the data and since data set could be large, we want our swing ui to fetch only a set of rows/data so that it does not take so long to load all the data or run out of memory. A button or by the user scrolling on the scrollbar would fetch the next succeeding rows/data. The problem we have as stated on the first paragraph is these- we are using webservices and stateless session beans and there is no way that the server can recognized who the user is when that user request the next set of row/data set without querying the database again.
    So your input and help is very much appreciated and if you know an existing framework that would help me is most welcome.
    Have a blessed day.
    Jun Victorio

    Take the statistics of the tables and check again.
    begin
    DBMS_STATS.gather_table_stats(ownname=>'syslog',tabname=>'logs');
    end;
    Regards
    Asif Kabir

  • Design a network construction project of company

    design a network construction project of company
    Request:
    (1) The company has 1000 set PCs
    (2) The company has several sections totally, the different section visits to request to have restriction mutually
    (3) The company has the own internal web page and the exterior website
    (4) The company has an own OA system
    (5) The each pedestal function top Internet in the company
    Put forward a network design project according to the request elucidation of above 5s

    Hello Steven,
    Start with listing constraints and requirements. Divide the network into separate functional areas: internet access, campus LAN, internet Server area, intranet server area.
    Then look at the requirements for each area, how many ports, security, IP routing, etc.
    Once you did this have a look at the hardware: LAN switches, routers, firewall, WAN router to ISP.
    Hope this helps! Please rate all posts.
    Regards, Martin

  • How to use a resource bundle in viewcontroller project

    How can I create a resource bundle for a viewcontroller project ? Is there any way to add entries to it other than adding manually editing the property file ? so that all the key generated will be unique? How to access a message in the resource bundle in my backing bean so that I can display it in my screen ?
    Thanks
    Suneesh

    Suneesh Raman wrote:
    How to access a message in the resource bundle in my backing bean so that I can display it in my screen ?Take a look at this: http://adfcodebits.blogspot.com/2010/04/bit-5-accessing-resource-bundle-from.html

  • Two different projects spliced together over each other some how?

    Greetings everyone,
    I thought forum users might be interested in this one. I don't use the forum often so I don't know the history but has anybody ever had two different projects spliced together over each other some how? For example, I was tweaking a project and left it alone for several months. I came back today to work on it and clips from other projects were in it some how. Also the audio from the new clips were in the new project and overriding the existing project. Does anybody know how to restore the two and make them separate them without losing any info. from either one? The thing's a mess. I had 1 video track w/ some subtitles, a voice over, and some music in the background. Now it has two video clips, and two of everything else. It's crazy. I don't think it's a virus or anything. Nothing else on my machine is acting strange. I hope nobody else has experienced this yet can help.
    Peace

    If you have a backup external drive and Time Machine, I would suggest the following:
    Locate this specific clip in your Finder. Highlight it and rename it "old", or something similar.
    Launch Time Machine.
    Go back to a date in time when this clip was as you properly edited it.
    Again, make sure Finder is still open and highlight the clip.
    Click "restore" in Time Machine.
    Open iMovie and you will see your project as you had it all those months ago.
    This works for me when I have an iMovie project behaving badly.
    iMovie is a great application: but just like us, it has good days and bad days.
    Dan

  • Deploying ViewController project, problem with: OrdHttpResponseHandler

    Hi,
    I use JDeveloper 11.1.1.2.0 and I am trying to deploy a ViewController project on my integrated weblogic server.
    I get the following error:
    <15-jun-2010 17:19:17 uur CEST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1276615153140' for task '0'. Error is: 'java.lang.ClassNotFoundException: oracle.ord.im.OrdHttpResponseHandler'
    java.lang.ClassNotFoundException: oracle.ord.im.OrdHttpResponseHandler
         at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:296)
         at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:269)
         at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
         Truncated. see log file for complete stacktrace
    Does anyone know what this means? Do I need to deploy a library?
    In my ViewController-project I use JHeadstart with default options.

    Hi,
    in this case I think its better to check the JHeadstart forum here on OTN. I've not seens this eror messages in my deployments so far.
    Frank

  • How to write test case for ViewController project using JUnit ?

    Hi All,
    JDev ver : 11.1.1.5
    JUnit : 1.9 jar added.
    I am writing test cases for my ViewController project. View project contains beans and other business logic files.
    So, for that I want to write test cases.
    In lot of codes I have FacesContext instance, there I am getting null pointer error.
    ex:
    public static String getFromHeader(String key) {
    FacesContext ctx = getFacesContext();
    ExternalContext ectx = ctx.getExternalContext();
    return ectx.getRequestHeaderMap().get(key);
    How to write cases for this scenario ?
    I came to know to use mockito, But I dont know how to mock the FacesContext.
    Anyone please help.
    Thanks,
    Gopinath

    Gopinath,
    Although I've not used it and cannot therefore say anything about whether it's useful or not - have you looked at JSFUnit?
    John

  • Can I link multiple project files together?

    I'd like to link multiple project files together so that they will play one after another. Can you do that in Captivate?

    Hey Leslie,
    Yes, you can create several projects in Captivate and publish them as Flash (SWF) format. There is an aggregator project in Captivate where in you can combine all these published projects (SWF) into a single output.
    Do you have any other requirement as well?
    Thanks,
    Anjaneai

  • ADF Faces & BC: Remove unwanted 'model' dir from viewcontroller project

    Hi all,
    I would like to know how to remove the 'model' directory from our ViewController project.
    Steps to see this config:
    1. right click on your "ViewController" project from the application navigator pane
    2. Select 'Project Content'
    3. Select 'Modelers'
    You can see that there is a default 'model' directory under your ViewController directory. When I try to remove it then save, I get "Error parsing the path: The ContentSet is empty" message.
    Does anyone have any ideas on how to remove this value?
    Thanks,
    Wes

    /bump

  • Problem regarding JAVA project...

    this is the brief discussion about my project :it actually automatically fillup the application forms or other forms on net
    (on the sites mentioned).Actually the information that is to be fill up in application form is saved on the hard disk in the form of text file .N ow my project read this text file and fill up the application form on net.
    I am actually learning core java and i want to know which book to follow for JAVA regarding my project(Means i don't know which book to follow after core java . THERE ARE servlets and JSP books,or others books) .i have not started it(project) yet.i am learning "core java from Head First Java".
    and i even don't know what are servlets And JSP ,Why it is use????
    and also tell me the books to followed for core java and then for Advanced java ???.If there are any good tutorial regading them ,then plz send me the link.....or email me at [email protected]

    You need to be proficient in core Java (J2SE) before even thinking about starting on J2EE.
    But if you want to learn more about what J2EE is, why not read the tutorial: [http://java.sun.com/javaee/5/docs/tutorial/doc/JavaEETutorial.pdf]

  • Using one Viewcontroller project's taskflow in another Viewcontroller

    Hi All
    I am using jdeveloper 11.1.1.6.0.
    I have a Viewcontroller project with few taskflows.
    I have another Viewcontroller project with a menu.
    I want to use taskflows in former ViewController project in the menu of the latter one.
    While referring to Fusion Developer's guide, number of ways are given to do this,viz
    build output dependency, deployment profile dependency, importing something using resource palette...etc.
    But My question is what would be the most preferred way todo it.
    Thanks

    Reuse of task flows is best done by building a adfLib out of hte task flow and add this adfLib to the consuming view controller project.
    Timo

  • Exeception while building index for viewController Project

    Hi,
    When i work with the viewController project, i have this message in the window Messages-log :
    Aug 18, 2010 1:43:54 PM oracle.ideimpl.index.IndexRoot run
    SEVERE: Exception while building index for C:\JDeveloper\Easy\EasyPilot\Trunk\EPILOTV2\ViewController\public_html
    java.lang.ArrayIndexOutOfBoundsException: -2
    *     at oracle.ideimpl.index.IndexRoot.mergeData(IndexRoot.java:773)*
    *     at oracle.ideimpl.index.IndexRoot.saveIndex(IndexRoot.java:726)*
    *     at oracle.ideimpl.index.IndexRoot.run(IndexRoot.java:610)*
    *     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)*
    *     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)*
    *     at java.util.concurrent.FutureTask.run(FutureTask.java:138)*
    *     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)*
    *     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)*
    *     at java.lang.Thread.run(Thread.java:619)*
    which causes Jdeveloper to ask me to exit from Jdeveloper.
    What happens ? What i have to do to correct the problem cause it seems dangerous.
    Thanks for any help,
    David

    Sorry,
    i have not precised that i work with Jdev 11.1.1.1.0 studio edeition version
    hope it will help
    David

  • Implementing FSM's with Threads, soliciting design opinions

    I'm currently designing a system that has some unusual requirements and was hoping to solicit the esteemed opinions available at this forum regarding a potential design that may be interpreted as an abuse of Threads.
    This system consists of a large collection of Finite State Machines that transition from state to state based on events originating from both within and without the system.
    Each event coming into the system is targeted to a particular FSM. It is critical to the system that the events be serviced by the FSM instantaneously. The system should consume and process events as fast as they come in and not get backlogged.
    I would like to optimize the number of FSM's that can be hosted by a single instance of the system before backlogging occurs. Ideally the system should be adaptive and detect when it is not servicing events as quickly as possible and begin to shutdown FSM's until it detects that it is operating at peak efficiency.
    The design I'm considering entails using an instance of a Thread and a Queue for each FSM instance in the system. There may be as many as 3000 or so FSM's altogether. Additionally I would have a Thread servicing each event source, of which there are only a handful, and it would be this Thread's job to receive and dispatch an event to the appropriate Queue for the particular FSM for which the event is targeted.
    I envision the FSM's Thread wait()ing on the monitor on the Queue and having the event dispatcher Thread performing the notify() after enqueing the event. Using this design allows me to have yet another Thread that will periodically peek at the size of the Queues to ensure that they are consistently near empty. If the Queue's begin to get backlogged, then the Monitoring Thread can begin shutting down FSM Threads until the optimum number of active FSM's Threads is achieved.
    What I don't like about this design is the potentially large number of Threads being instantiated. I would appreciate and welcome suggestions for a better way of doing this.
    Thanks,
    -S

    Bob, Matfud,
    First I'd like to thank both of you for taking the time to reply. I must admit that I originally wanted to approach the problem in a manner similar to your respective suggestions and indeed solicited opinions here because I also was uncomfortable with the waste in having so many threads. However there are some issues which still steer me in that direction.
    If I were to use a single Queue up front as suggested then the disparate event sources would be forced to synchronize on every event thus limiting to some extent concurrency. By having separate Queues, the only time synchronization comes into play is when two or more event sources have events targeted to the same FSM at the same time. On a multiprocessor box this allows me to have disparate events dispatched simultaneously rather than sequentially in most cases. I feel that this would add a considerable degree of liveness and concurrency to the system.
    With regard to employing a Thread pool, I like the idea as it would give me better control over the number of simultaneously executing Threads as is indeed the case with Session beans. However, I'm not sure that it provides optimal utilization of resources, but rather consistent utilization of resources. Finding the Thread pool dry may not indicate that I'm already using maximum resources but may instead just be a sign that I did not allocate a sufficient number of Threads to the pool.
    Nevertheless, my main reason for considering independent Threads per Finite State Machine is also one of concurrency. Consider the following scenario: Two event sources receive two separate events, both targeted for the same FSM. If the event dispatcher were to pluck two Threads from the Thread pool and allow each to attempt to inflict their respective events on the FSM, then I'll need to provide a good deal of synchronization within the FSM as a single FSM cannot service multiple events concurrently, but by definition must service them in sequence thus triggering state transitions. On the other hand, if each FSM is a Thread of its own, then it will wait() until notified that there is an event on the Queue and will pull and process one event at a time until the Queue is drained upon which time it will return to its idle state and wait() again until notified. In this scenario the FSM's processing need not be synchronized since it is pulling the event, and only the momentary access of its Queue requires synchronization.
    Matfud, to your point the amount of work per transaction will involve a number of calculations and decision making. Overall considerably more processor effort will reside in the FSM logic as opposed to the event queueing and dispatching mechanism. With regard to interaction between FSM's, there is none.
    Again I want to thank you both for your suggestions. I look forward to your responses as I eagerly want someone to convince me to abandon the design I have so far in favor of something more elegant and performant.
    bob_boothby, matfud, mattbunch, dubwai, YATArchivist, DrClap, warnerja, sylviae, jschell, kdgregory, somebody, anybody, please talk me out of doing this.
    -S

  • Regarding Turnkey Projects Procurement

    Hi SAP Experts,
    We have a client Requirement, which is Turnkeys Project procurement, in which
    Step 1) The client awards Turnkey tender to Vendor which includes both the Materials & services,
    Step 2) The client inspects the Material Made (Quantity & Quality) at vendors warehouse, & release a payment of 60% for executing the Project.(The Client wants to capture this process in SAP, although the accounting will not happen in clients stores)
    Step 3) The Vendor then picks up the material & do installation at the required sites.(the clients needs the consumption data of material)
    Step 4) The Client checks the work executed, & Pays accordingly.
    How this process can be mapped in SAP.
    Regards
    Pankaj Verma

    hi,
    turn key project means where you start everything from scrap.
    like designing the Architechture,hardware, installations etc.
    everything  like starting from a vacant land to building a house.
    B1 is  bussiness one i think
    SAP has introduced Bussiness one software for small companies may that is B1 project.
    regards
    nalla

  • Regards new project

    hi guru's
    am being included in a new BI project which is based on SAP NW 2004s & CRM
    how to start? where to start?
    am new to development
    can any one help me in this regard?
    jeeva

    Hi,
    Start with Reports. What the client is using. What he is expecting.
    If he got existing reports map the fields with Business Content BW Fields. Go to Business content and make a list of queries which are delivered from SAP. Explain them the KPI's. This should be good to start with. Also check the Tcodes they use.
    Look for DataSources that get data from theses Tcode's.
    Project Preparation (Initial stuff -- Do a conceptual review after this phase requirements gathering)
    Collect requirement thru interviews with Business teams /Core users / Information Leaders.
    Study & analyze KPI's (key figures) of Business process.
    Identify the measurement criteria's (Characteristics).
    Understand the Drill down requirements if any.
    Understand the Business process data flow if any.
    Identify the needs for data staging layers in BW – (i. e need for ODS if any)
    Understand the system landscape.
    Prepare Final Requirements Documents in the form of Functional Specifications containing:
    Report Owners, Data flow, KPI's, measurement criteria's, Report format along with drilldown requirements.
    Business Blue print (Functional spec-- Do a design review after this phase)
    Check Business content against the requirements
    Check for appropriate
    Info Objects - Key figures & Characters
    Check for Info cubes / ODS
    Check for data sources & identify fields in source system
    Identify Master data document all the information in a file – follow standard templates
    Prepare final solution
    Identify differences (Gaps) between Business Content & Functional specification.
    Propose new solutions/Developments & changes if required at different levels such as Info Objects, Info cube, Data source etc. Document the gaps & respective solutions proposed– follow standard templates
    Design & Documentation
    Design the ERD & MDM diagrams for each cube & related objects
    Design the primary keys/data fields for intermediate Storage in ODS
    Design the Data flow charts right from data source up to Cube.
    Consider the performance parameters while designing data models
    Prepare High level / Low level design documents for each data model. --- Follow standard templates
    Identify the Roles & Authorizations required and Document it – follow standard templates
    Final review of design with core BW users.
    Sign off the BBP documents
    Realization ( Develop; Do a configuration review after this phase)
    Check & Apply Latest Patches/Packages ...in BW & R/3 systems.
    Activate/Build & enhance the cubes/ODS as per data model designs...maintain the version documents.
    Identify & activate Info objects / Master data info sources / attributes, prepare update rules
    Assign data sources .prepare transfer rules, prepare multi providers. Prepare Info packages.
    Perform the unit testing for data loads….both for master data & transaction data.
    Develop & test the end user queries.
    Design the process chains, schedule & test
    Create authorizations / Roles …assign to users..And test
    Apply necessary patches & Notes if any freeze & release the final objects to quality systems
    perform quality tests.
    Re design if required. (Document changes, maintain versions)
    Final Preparation ( QA and Other final stuff before moving to production, Do a performance Review after this phase)
    Prepare the final check list of objects to be released .identify the dependencies & sequence of release perform Go Live checks as recommended by SAP in production system
    Keep up to date Patch Levels in Production system
    Test for production scenarios in a pre-production system which is a replica of production system.
    Do not encourage the changes at this stage.
    Freeze the objects.
    Go Live and support ( to production and support)
    Keep up to date Patch Levels
    Release the objects to production system
    Run the set ups in R/3 source system & Initialize Loads in BW
    Schedule Batch jobs in R/3 system (Delta loads)
    Schedule the process chains in BW.
    Performance tuning – on going activity
    Enhancements - if any
    Implementation issues
    http://help.sap.com/bp_biv170/documentation/SolutionScope_EN.doc
    http://help.sap.com/bp_biv235/BI_EN/documentation/BWProjectPlan_EN.mpp
    Lifecycle Implementation
    Project Plan
    http://help.sap.com/bp_biv270/documentation/BWProjectPlan_EN.mpp
    http://help.sap.com/bp_biv270/index.htm
    Details on the Implementation Phase
    http://help.sap.com/saphelp_nw04/helpdata/en/2c/36177e645911d395fe00a0c94260a5/frameset.htm
    Refer
    Bw implementation phases
    /people/atin.shee2/blog/2007/12/07/the-dimension-of-changes-in-a-sap-implementation
    Thanks,
    JituK

Maybe you are looking for

  • I can't install itunes to windows 7 64 bit because of computing space requirements

    I tried to install iTunes 10.7 on my computer but it stops when the installation says :computing space requirements. Then it just says "rolling back action", "the installation was unsuccessful". I don't know what's going on because I have more than 4

  • How to create a table with auto number?

    I want to create a table with a column default to increasing integer. The first thought came up to me is to use sequence. I find in google the following create statement create table etl_stats1 (run_time date,arr_rows int,lid int default nextval('etl

  • Enable Purchase Requisition and Purchase Order for a New company Code

    How to enable Purchase Order and Purchase Requisition for a new company code.

  • Printing not straight

    When I start to print the paper turns a little and the printing isn't straight. Sometimes the left upper corner of the paper is crumpled too. I did an on-line chat with HP and all the person said was to use HP paper and let them know if that didn't w

  • Wildcard dns

    From my blog. I’m having this problem where I can’t get the CNAME *.domain.tld working on Mac OSX server 10.8 I'll illustrate my problem (presuming web service is up and running): Let’s set up a new “Primary Zone” with an “A Record”. Server.app DNS +